Tạo công tắc Bật / Tắt không dây cho PC của bạn

A Thông minh hệ thống điều khiển ánh sáng, hệ thống giải trí và các thiết bị khác có thể được thiết kế tại nhà một cách dễ dàng và cũng là khái niệm phát triển nhanh nhất của thế giới hiện đại. Hệ thống nhà thông minh là một khái niệm trong đó tất cả các thiết bị điện hoặc thiết bị được điều khiển bằng một điều khiển từ xa duy nhất. Ngày nay, một thành phần đơn lẻ như mô-đun rơ-le có thể được sử dụng để điều khiển các thông số điện tử khác nhau của ngôi nhà, ví dụ, chuyển đổi các thiết bị gia dụng, giám sát báo động an ninh, tự động hóa cửa nhà để xe, v.v. Trong dự án này, chúng tôi Máy tính cá nhân sẽ được kiểm soát bởi một Ứng dụng Android. Trong các hệ thống này, hầu hết thời gian, điều khiển từ xa là một ứng dụng di động. Vì điện thoại di động Android là phổ biến nhất trong số mọi người, vì vậy một ứng dụng android là lựa chọn tốt nhất để kiểm soát PC của chúng tôi.

Làm thế nào để tạo một bộ chuyển mạch không dây cho PC của bạn trên điện thoại di động?

Bước 1: Thu thập các thành phần

Để thực hiện bất kỳ dự án nào, người ta phải biết những thành phần cơ bản mà một người sẽ cần để hoàn thành nó là gì. Vì vậy, một cách tiếp cận tuyệt vời trước khi bắt đầu công việc là lập một danh sách đầy đủ tất cả các thành phần để tiết kiệm thời gian và tránh nguy cơ bị mắc kẹt ở giữa dự án. Dưới đây là danh sách đầy đủ của tất cả các thành phần dễ dàng có sẵn trên thị trường:

Bước 2: Phần mềm được cài đặt

Khi chúng ta sẽ tạo một công tắc không dây, chúng ta sẽ cần một nút để bật và tắt nó. Chúng tôi muốn sử dụng điện thoại di động để vận hành nút này, vì vậy chúng tôi sẽ cần phát triển một ứng dụng cho việc đó. Ứng dụng tiện lợi nhất là ứng dụng android. Chúng ta cần cài đặt hai phần mềm để sử dụng ứng dụng này. Cả hai đều được liệt kê dưới đây:

Bước 3: Cài đặt Android Studio

Trước khi cài đặt Android Studio, chúng ta sẽ cài đặt JAVA JDK trước. Để cài đặt cái này, hãy nhấp vào exe tập tin mà bạn đã tải xuống từ liên kết trên và nhấp vào tiếp theo cho đến khi nó được cài đặt thành công. Bây giờ, hãy thực hiện các bước sau để dấu nhắc lệnh của bạn nhận ra java là lệnh bên ngoài hoặc lệnh bên trong.

  1. Mở Bảng điều khiển và nhấp vào Hệ thống và Bảo mật.
  2. Bấm vào Hệ thống.
  3. Bấm vào Cài đặt hệ thống nâng cao và sau đó nhấp vào Các biến môi trường.
  4. Trong phần Biến hệ thống, nhấp vào đường dẫn và sau đó nhấp vào chỉnh sửa. Một mới Chỉnh sửa biến môi trườnghộp sẽ xuất hiện.
  5. Bây giờ đi đến C: \ Program Files \ Java trong PC của bạn. Mở thư mục JDK, nhấp vào thư mục bin và sau đó sao chép đường dẫn của thư mục đó.
  6. Bây giờ, hãy chuyển đến hộp Chỉnh sửa biến môi trường và nhấp vào mới để tạo một biến mới. Dán đường dẫn mà bạn đã sao chép ở bước trên vào biến mới và lưu nó.
  7. Bây giờ để xác nhận, nếu nó đã được cài đặt hoàn chỉnh, hãy mở dấu nhắc lệnh và nhập java –version.

Bây giờ là bạn đã cài đặt thành công Java JDK trên máy tính của mình. Bây giờ, hãy để chúng tôi cài đặt Android Studio trên máy tính của bạn. Cài đặt phần mềm này rất dễ dàng. Bạn cần mở tệp đã tải xuống và nhấp vào tiếp theo cho đến khi phần mềm của bạn được cài đặt hoàn chỉnh.

Bước 4: Kết nối với Firebase

Bây giờ chúng ta đã cài đặt xong Android Studio, hãy khởi chạy nó và tạo một dự án mới để kết nối nó với firebase. Để thực hiện việc này, hãy làm theo các bước sau.

1. Khởi chạy Android Studio và tạo một dự án mới bằng cách nhấp vào Hoạt động trống.

2. Bây giờ đặt tên cho dự án của bạn là computerSwitc,lựa chọn Kotlinlàm ngôn ngữ và chọn cấp API tối thiểu theo điện thoại di động của bạn.

3.Vì chúng ta sẽ sử dụng internet để điều khiển các chân của pi raspberry. Chúng tôi sẽ đặt quyền truy cập wifi cục bộ trong ứng dụng của mình. Để làm điều này, hãy truy cập ứng dụng> tệp kê khai> AndroidManifest.xml và thêm lệnh sau.

3. Bây giờ, hãy nhấp vào n Công cụ.Một menu thả xuống sẽ xuất hiện từ đó, hãy chọn Căn cứ cứu hỏa.

4. Một menu lớn sẽ xuất hiện ở phía bên phải của màn hình sẽ cung cấp menu của hầu hết mọi dịch vụ mà firebase đang cung cấp. Nhưng hiện tại trọng tâm chính của chúng tôi là Cơ sở dữ liệu thời gian thực. Vì vậy, hãy nhấp vào Cơ sở dữ liệu thời gian thực. Một liên kết đến “Lưu và truy xuất dữ liệu" sẽ xuất hiện. Nhấp vào liên kết đó.

5. Kết nối trên Kết nối với Firebasecái nút. Nó sẽ đưa bạn đến trình duyệt web mặc định. Đầu tiên, nó sẽ yêu cầu bạn đăng nhập vào tài khoản Gmail của mình. Sau đó bấm vào Thêm Cơ sở dữ liệu thời gian thực vào ứng dụng của bạnvà chấp nhận những thay đổi.

6. Bây giờ, hãy chuyển đến Bảng điều khiển Firebase. Ở đó bạn sẽ thấy một dự án đã được thực hiện. Biểu tượng android trên biểu tượng của projet đó có nghĩa là nó đã thuộc về một ứng dụng android.

7. Từ Phát triển, xây dựng menu xuất hiện ở bên trái màn hình, hãy chọn Cơ sở dữ liệu. Một nút của Tạo nên cơ sở dữ liệu sẽ xuất hiện ở bên phải. Bấm vào nút đó.

8. Một menu sẽ xuất hiện yêu cầu đặt chế độ cho cơ sở dữ liệu của bạn. Bấm vào chê độ kiểm travà sau đó nhấp vào Kích hoạt.

9. Bây giờ, một bước thực sự quan trọng cần nhớ là thay đổi Cloud Firestore đến Cơ sở dữ liệu thời gian thực.Để làm như vậy, hãy nhấp vào nút hiển thị trong hình dưới đây và thay đổi tùy chọn mong muốn.

10. Bây giờ hãy nhấp vào Quy tắc tab và thay đổi cấu hình thành Thật. Khi mọi thứ đã hoàn tất, hãy nhấp vào Công bố.

11. Một điều mà bạn cần làm ngoài việc kết nối firebase, là cập nhật phiên bản cơ sở dữ liệu. Đối với điều đó, hãy nhấp vào đi đến tài liệu. Bây giờ bấm vào hướng dẫnvà chọn Hướng dẫn Androidtừ danh sách xuất hiện trên màn hình. Cuộn xuống cho đến khi một bảng xuất hiện. Tìm Cơ sở dữ liệu thời gian thực trong bảng đó và tìm phiên bản của nó. trong trường hợp của tôi, nó là 19.1.0

12. Nhấp vào Tập lệnh Gradle,menu ở bên trái màn hình. Sau đó chọn được xây dựng. gradle (Mô-đun: ứng dụng). Bây giờ trong mã, hãy tìm kiếm phiên bản của cơ sở dữ liệu Thời gian thực và thay thế nó bằng phiên bản mới.

13. Bây giờ đồng bộ dự án bằng cách nhấp vào nút đồng bộ xuất hiện trên đầu màn hình.

Bước 5: Tạo bố cục

Bây giờ, khi ứng dụng Android của chúng tôi được kết nối với firebase, hãy để chúng tôi tạo bố cục ứng dụng của chúng tôi sẽ được người dùng sử dụng để bật hoặc tắt máy tính. Để tạo bố cục, hãy chuyển đến app> res> layout> activity_main.xml. nơi chúng tôi sẽ thiết kế một bố cục. Sao chép mã được cung cấp dưới đây để tạo chế độ xem văn bản.

    

Bố cục của ứng dụng của chúng tôi sẽ trông như thế này:

Bước 6: Mã hóa phụ trợ trong Kotlin

Khi chúng tôi đã tạo giao diện người dùng của ứng dụng, chúng ta hãy đi trước một bước và viết mã phụ trợ để kết nối nó với firebase. Chúng tôi đã kết nối một công tắc bật tắt sẽ gửi số 0 đến cơ sở dữ liệu firebase khi ở trạng thái tắt và nó sẽ gửi số 1 đến cơ sở dữ liệu firebase khi ở trạng thái.

Bây giờ, ở góc bên trái, hãy nhấp vào app> java> com.example.computerswitch> main_activity,và thêm mã sau vào đó trong lớp của bạn. Nếu bất kỳ lỗi nào của thư viện xảy ra, Nhấn ALT + ENTER để đưa vào thư viện đó một cách tự động.

var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Chuyển ghi đè fun onCreate (saveInstanceState: Bundle?) {super.onCreate (saveInstanceState) setContentView (R.layout.activity_main) btnSwitch = findViewById(R.id.switch2) dưới dạng Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ("switch"). SetValue ("1")} else {myRef.child ("switch"). SetValue (" 0 ")}}}

Trong hình ảnh bên dưới, bạn có thể thấy rằng nếu công tắc được bật, “1” sẽ được tải lên cơ sở dữ liệu firebase. Tương tự, “0” sẽ được thay thế ở đây khi công tắc tắt.

Bước 7: Bắt đầu với Arduino

Nếu bạn chưa làm việc trên Arduino IDE trước đây, đừng lo lắng vì từng bước thiết lập Arduino IDE được hiển thị bên dưới.

  1. Tải xuống phiên bản Arduino IDE mới nhất từ ​​Arduino.
  2. Kết nối bảng Arduino của bạn với PC và mở Bảng điều khiển. Bấm vào Phần cứng và Âm thanh.Bây giờ mở Thiết bị và Máy in và tìm cổng mà bo mạch của bạn được kết nối. Trong trường hợp của tôi, nó là COM14, nhưng nó khác nhau trong các máy tính khác nhau.
  3. Bấm vào Tệp và sau đó bấm vào Tùy chọn. Sao chép liên kết sau trong URL của Người quản lý Hội đồng Quản trị bổ sung. “https://dl.espressif.com/dl/package_esp32_index.json ”
  4. Bây giờ, để sử dụng ESP32 với Arduino IDE, chúng ta cần nhập các thư viện đặc biệt cho phép chúng ta ghi mã trên ESP32 và sử dụng nó. hai thư viện này được đính kèm trong liên kết dưới đây. Để bao gồm thư viện, goto Phác thảo> Bao gồm Thư viện> Thêm Thư viện ZIP. Một hộp sẽ xuất hiện. Tìm thư mục ZIP trên máy tính của bạn và nhấp vào OK để bao gồm các thư mục.
  5. Bây giờ goto Phác thảo> Bao gồm Thư viện> Quản lý Thư viện.
  6. Một Menu sẽ mở ra. Trong thanh tìm kiếm, hãy nhập Arduino JSON.Một danh sách sẽ xuất hiện. Tải về Arduino JSON của Benoit Blanchon.
  7. Bây giờ hãy nhấp vào Công cụ.Một menu thả xuống sẽ xuất hiện. Đặt bảng thành Mô-đun nhà phát triển ESP.
  8. Nhấp lại vào menu Công cụ và đặt cổng mà bạn đã quan sát trong bảng điều khiển trước đó.
  9. Bây giờ Tải lên mã được đính kèm trong liên kết bên dưới và nhấp vào nút tải lên để ghi mã trên Bộ vi điều khiển ESP32.

Vì vậy, bây giờ khi bạn tải lên mã, một lỗi có thể xảy ra. Đây là lỗi phổ biến nhất có thể xảy ra nếu bạn đang sử dụng phiên bản mới của Arduino IDE và Arduino JSON. Sau đây là những lỗi mà bạn có thể thấy trên màn hình.

Trong tệp được bao gồm từ C: \ Users \ Pro \ Documents \ Arduino \ thư viện \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, từ C: \ Users \ Pro \ Desktop \ smartHome \ code \ code.ino: 2: C : \ Users \ Pro \ Documents \ Arduino \ library \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: error: StaticJsonBuffer là một lớp từ ArduinoJson 5. Vui lòng xem arduinojson.org/upgrade để tìm hiểu cách nâng cấp chương trình của bạn lên ArduinoJson phiên bản 6 StaticJsonBuffer jsonBuffer; ^ Trong tệp được bao gồm từ C: \ Users \ Pro \ Documents \ Arduino \ architects \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, từ C: \ Users \ Pro \ Desktop \ smartHome \ code \ code.ino: 2: C: \ Users \ Pro \ Documents \ Arduino \ library \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: error: StaticJsonBuffer là một lớp từ ArduinoJson 5. Vui lòng xem arduinojson.org/upgrade để tìm hiểu cách nâng cấp chương trình của bạn lên ArduinoJson phiên bản 6 trả về StaticJsonBuffer() .parseObject (_data); ^ Đã tìm thấy nhiều thư viện cho "WiFi.h" Đã sử dụng: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ package \ esp32 \ hardware \ esp32 \ 1.0.2 \ thư viện \ WiFi Không được sử dụng: C: \ Program Files ( x86) \ Arduino \ thư viện \ WiFi Sử dụng thư viện WiFi tại phiên bản 1.0 trong thư mục: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ package \ esp32 \ hardware \ esp32 \ 1.0.2 \ thư viện \ WiFi Sử dụng thư viện IOXhop_FirebaseESP32-master trong thư mục: C: \ Users \ Pro \ Documents \ Arduino \ thư viện \ IOXhop_FirebaseESP32-master (kế thừa) Sử dụng thư viện HTTPClient tại phiên bản 1.2 trong thư mục: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ package \ esp32 \ hardware \ esp32 \ 1.0.2 \ thư viện \ HTTPClient Sử dụng thư viện WiFiClientSecure tại phiên bản 1.0 trong thư mục: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ package \ esp32 \ hardware \ esp32 \ 1.0.2 \ Library \ WiFiClientSecure Sử dụng thư viện ArduinoJson tại phiên bản 6.12.0 trong thư mục: C: \ Users \ Pro \ Documents \ Arduino \ architects \ ArduinoJson trạng thái thoát 1 Lỗi biên dịch cho bảng ESP32 Dev Module.

Không có gì phải lo lắng vì chúng ta có thể loại bỏ những lỗi này bằng một số bước đơn giản. Những lỗi này đang phát sinh do phiên bản mới của Arduino JSON có một lớp khác thay vì StaticJsonBuffer.Đây là lớp của JSON 5. Vì vậy, chúng tôi có thể đơn giản loại bỏ lỗi này bằng cách hạ cấp phiên bản Arduino JSON của Arduino IDE của chúng tôi. Đơn giản chỉ cần đi đến Phác thảo> Bao gồm Thư viện> Quản lý Thư viện.Tìm kiếmArduino JSON của Benoit Blanchonmà bạn đã cài đặt trước đó. Gỡ cài đặt nó trước và sau đó đặt phiên bản của nó thành 5.13.5. Bây giờ khi chúng ta đã thiết lập phiên bản Arduino JSON cũ, hãy cài đặt lại nó và biên dịch lại mã. Lần này, mã của bạn sẽ được biên dịch thành công.

Để tải xuống mã, bấm vào đây.

Bước 8: Lắp ráp mạch

Bây giờ khi ứng dụng của chúng tôi đã sẵn sàng và đầy đủ chức năng, hãy xem cách chúng tôi sẽ kết nối mạch với máy tính.

  1. Trước hết, hãy lấy một tổng đài và kết nối tất cả các phích cắm của hệ thống Máy tính trong đó, tức là Màn hình, máy in, CPU, PSU, v.v.
  2. Bây giờ lấy công tắc kết nối của bảng này và cắt ở giữa dây để có thể nhìn thấy hai dây, màu đen và đỏ, từ bên trong.
  3. Lấy dây màu đỏ ra và cắt nó từ giữa. Kết nối một đầu của dây vào điểm NO của mô-đun rơle và đầu kia vào điểm COM của điểm tiếp điện. (không làm bất cứ điều gì với dây đen)
  4. Bây giờ hãy sửa ESP32 trong breadboard và cấp nguồn cho nó bằng pin 5V. Kết nối Vcc và mặt đất của mô-đun Rơle trong bảng mạch, với các cực dương và cực âm của pin.
  5. Tạo cấu hình sau với bóng bán dẫn trên bảng mạch.

Bước 9: Mã

Mã này khá đơn giản, nhưng nó vẫn được giải thích ngắn gọn bên dưới.

1. Lúc đầu, hai thư viện được bao gồm để firebase có thể được sử dụng với ESP32.

#include #include 

2. Sau đó Thông tin về cơ sở dữ liệu firebase của bạn và kết nối Wifi được cung cấp và mã pin của ESP được khai báo sẽ được sử dụng với mô-đun chuyển tiếp.

#define FIREBASE_HOST "xxxxx" // thay thế nó bằng máy chủ firebase của bạn #define FIREBASE_AUTH "xxxxx" // thay thế nó bằng firebase auth #define WIFI_SSID "xxxxx" // thay thế nó bằng WIFI SSID #define WIFI_PASSWORD "xxxxx" // thay thế nó bằng mật khẩu wifi của bạn int swi = 34; // kết nối chân34 của ESP với mô-đun chuyển tiếp

3. void setup ()là chức năng chỉ chạy một lần khi bật nguồn hoặc nhấn nút Bật. Ở đây mã được viết t kết nối bảng ESP với WIFI. Chân của ESP được sử dụng với mô-đun rơle cũng được khai báo là OUTPUT ở đây.

void setup () {Serial.begin (115200); pinMode (swi, OUTPUT); // kết nối wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ("đang kết nối"); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); chậm trễ (500); } Serial.println (); Serial.print ("đã kết nối:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

4. void loop () là một hàm chạy lặp đi lặp lại trong một vòng lặp. Tại đây, giá trị từ firebase được đọc. Nếu giá trị này bằng “1”, thì tín hiệu CAO sẽ được gửi đến mô-đun chuyển tiếp và máy tính sẽ bật. Khi giá trị này là “0”, máy tính sẽ được tắt.

void loop () {// đọc giá trị if (Firebase.getFloat ("switch") == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // xử lý lỗi if (Firebase.failed ()) {Serial.print ("setting / number failed:"); Serial.println (Firebase.error ()); trở về; } delay (1000); }
Facebook Twitter Google Plus Pinterest