Staff member
Bộ điều khiển này sẽ được gắn vào bên trong case PC giúp theo dõi trạng thái, lên lịch tự động và tắt mở máy tính từ xa. Hiện tại cũng có rất nhiều thiết bị có chức năng tương tự được bán trên thị trường nhưng có giá khá cao và chức năng nghèo nàn lạc hậu. Bộ điều khiển này sẽ là cứu cánh giúp anh em khắc phục khi máy tính PC gặp trục trặc nút nguồn bị hỏng, bộ điều khiển sắp thực hiện có rất nhiều ưu điểm so với những sản phẩm kể trên như:
- Chỉ cần có mạng là có thể theo dõi và điều khiển máy tính từ mọi nơi trên thế giới bằng điện thoại.
- Có thể hẹn giờ tắt và mở máy một cách linh động, chính xác.
- Mọi thiết lập được lưu trên EEPROM nên vẫn hoạt động bình thường sau khi mất điện, hoặc trong khi rớt mạng.
- Thiết lập dễ dàng, kết nối bảo mật cao.
- Nhỏ gọn, dễ đặt vào các case có kích thước khiêm tốn.
- Lệnh mở máy từ thiết bị giống như việc chúng ta nhấn nút nguồn trên case nên độ ổn định và tin cậy cao.
- Chi phí rất rẻ, chỉ khoảng 60.000đ.
Dự án này có 2 phần chính chúng ta cần làm, đó là phần cứng để gắn vào máy tính và phần mềm trên điện thoại dùng để điều khiển.
1. Phần cứng:
1.1. Linh kiện cần có:
- Wemos D1 mini có thể dễ dàng mua trên Shopee hoặc Lazada với giá 50.000đ
- Tham khảo tại đây:
- 2 con điện trở 20k ohm mua dễ dàng tại các tiệm linh kiện điện tử.
- Một cọng cáp micro USB ngắn.
- Một ít dây điện loại nhỏ.
Wemos D1 mini là một ESP8266 nhỏ gọn có sẵn kết nối wifi 2.4GHz, có mạch nạp và mạch nguồn đầy đủ. Chỉ cần kết nối vào máy tính qua cổng micro USB là đã có đủ nguồn cho thiết bị hoạt động, cũng như dễ dàng nạp chương trình cho chip.
Dựa vào hình ảnh trên chúng ta sẽ xác định các chân GPIO4, GPIO5 và chân GND. Trong đó chân GPIO4 sẽ được nối vào chân Power_Switch(+), chân GPIO5 sẽ được nối vào chân Power_LED(+) trên F_Panel của main. Bạn cần phải mở manual của mainboard máy tính để xác định chính xác 2 chân này.
Tiếp theo, chân GPIO4 sẽ được nối xuống GND qua một con điện trở 20k ohm, chân GPIO5 cũng được nối xuống GND qua một con điện trở 20k ohm.
Việc cấp nguồn cho mạch hoạt động bạn cũng có thể lấy trực tiếp từ cổng USB trên mainboard máy tính, hoặc cổng USB phía sau máy tính cũng được. Nên chú ý phải thiết lập chế độ luôn có nguồn cho cổng USB trong BIOS của máy để khi tắt máy thì mạch vẫn hoạt động được. Sau khi hàn dây điện và điện trở xong chúng ta sẽ có được một sản phẩm như thế này.
1.2. Nạp firmware cần chuẩn bị:
- Do Wemos D1 mini sử dụng mạch nạp CH340 nên chúng ta cần tải và cài đặt driver CH340 cho Windows (tải tại đây).
- Phần mềm NodeMCU-PyFlasher-4.0 để flash file firmware (tải tại đây).
- File firmware esp_pc_controller-d1.bin mình đã lập trình sẵn (tải tại đây) . Chú ý đây là file firmware cho Wemos D1 mini, nếu bạn dùng các ESP khác thì có thể sẽ không flash được.
Mở phần mềm NodeMCU-PyFlasher-4.0, chọn đúng cổng COM, chọn đến file firmware esp_pc_controller-d1.bin, chọn “yes, wipes all data” để xoá toàn bộ dữ liệu cũ trong EEPROM. Cuối cùng nhấn Flash NodeMCU để chương trình tiến hành nạp. Đợi đến khi có thông báo successfully như bên dưới là thành công.
Bây giờ bạn có thể rút USB của Wemos D1 mini ra và tiến hành lắp ráp vào bên trong máy tính, vào cài đặt Power Options chỉnh lại hành động “When I press the power button” thành Shutdown. Lưu ý không chỉnh sang Sleep được vì khi Sleep đèn Power Led nhấp nháy làm ESP không đọc trạng thái được, gây ra lỗi.
Xong bước này là có thể xem như đã hoàn thành được phần khó khăn nhất của dự án rồi. Nghỉ ngơi một chút, làm tách cà phê cho tỉnh táo sau đó chúng ta sẽ chuyển sang phần tiếp theo nhé.
2. Phần mềm điều khiển
2.1. Thiết kế phần mềm điều khiển trên điện thoại
Để điều khiển chúng ta sẽ dùng Blynk, tải tại:
- iOS: Blynk - IoT for Arduino, ESP32
- Android: Blynk - IoT for Arduino, ESP8266/32, Raspberry Pi
Với một tài khoản Blynk miễn phí bạn đã có được 2000 Energy vừa đủ để bạn dùng trong dự án này rồi. Bây giờ chúng ta sẽ dùng 2000 Energy đó để “mua” các Widget, gồm 1xLCD, 2xTime Input, 3xStyled Button, 1xTabs, 1xLED và 1xTerminal.
Bố trí các Widget tuỳ theo sở thích và thói quen sử dụng của các bạn là được. Mình tạo 2 tab để dễ quản lý, với tab đầu gồm các nút để điều khiển máy tính, tab 2 gồm một terminal thiết lập ESP và một đèn LED hiển thị trạng thái kết nối của ESP với ứng dụng.
Sau khi đã ưng ý với cách bố trí rồi thì chúng ta sẽ cấu hình các chức năng cho từng nút cụ thể như sau. Chú ý bạn phải đặt chính xác các chân Virtual Pins như trong ảnh thì mới hoạt động được nhé.
2.2 Kết nối phần mềm điều khiển với thiết bị.
Nếu bạn làm đến bước này thì xin chúc mừng bạn đã hoàn thành hơn 90% rồi, việc cuối cùng cần làm là kết nối ứng dụng điện thoại với thiết bị là xong. Trên điện thoại bạn vào Setting → Wifi sẽ thấy có một mạng Wifi mới được tạo ra có tên “ESP SETTING-XXXXX” (với XXXXX là 5 ký tự được tạo ra ngẫu nhiên. Khi kết nối vào Wifi đó thì ngay lập tức hiện ra trang Blynk Config, nếu đợi lâu quá mà vẫn chưa thấy hiện ra thì bạn mở trình duyệt web và nhập vào địa chỉ 192.168.1.1.
Tại trang Blynk Config bạn điền vào các thiết lập Wifi, mã Auth Key mà bạn có được tại bước tạo Project phía trên, nhấn Apply.
Cuối cùng, quay trở lại ứng dụng Blynk để nhấn vào nút Play ở góc trên bên phải để ứng dụng hoạt động. Bây giờ tận hưởng thành quả thôi nào.
3. Mở rộng chức năng của ứng dụng
Những thiết lập vừa rồi bên trên đảm bảo những chức năng cơ bản hoạt động. Để thêm nhiều chức năng hơn như thông báo notification qua điện thoại, điều khiển nhiều thiết bị cùng một lúc… thì bạn cần có thêm Energy. Bạn có thể mua thêm Energy ngay trong ứng dụng.
3.1. Các chân Virtual Pins có thể sử dụng
Sau đây là bản tổng hợp các thiết lập chân Virtual Pins mà mình đã lập trình sẵn cho bạn sử dụng.
Các chức năng không dùng Virtual Pins, chỉ cần thêm vào là tự hoạt động:
3.2. Các lệnh có thể sử dụng trong Terminal
Lưu ý việc sử dụng các lệnh trong terminal có thể gây ra tình trạng thiết bị không hoạt động, cần hiểu rõ trước khi sử dụng.
Chúc các bạn thành công. Nếu thấy bài viết của mình hay và bổ ích bạn có thể donate cho mình qua ví điện tử Momo hoặc AirPay theo mã bên dưới để làm động lực mình chia sẻ nhiều kiến thức hơn. Hẹn gặp lại các bạn trong bài viết chia sẻ tiếp theo của mình.
Cre:
Nguyễn Minh Nhựt
Nguyễn Minh Nhựt