Mục lục:

KiKi the Keyboard Bot: 5 bước
KiKi the Keyboard Bot: 5 bước

Video: KiKi the Keyboard Bot: 5 bước

Video: KiKi the Keyboard Bot: 5 bước
Video: Lười học online? Bật quay màn hình lên rồi đi ngủ nà :))) #shorts 2024, Tháng bảy
Anonim
KiKi the Keyboard Bot
KiKi the Keyboard Bot

Tôi khá thường xuyên phải gắn vào máy tính của mình từ nơi làm việc, nhưng tôi không thích để nó liên tục. Vấn đề là máy tính cũ của tôi không hỗ trợ WOL. Tuy nhiên, nó có thể được đưa vào chế độ ngủ và thức dậy bằng phím nguồn trên bàn phím. Tuy nhiên, không có ai ở nhà ngoài con chó để thúc đẩy nó vào đời và vì vậy…

KiKi the KeyboardBot ra đời.

Nó sẽ liên kết với trợ lý tại nhà qua MQTT và cũng có một trang web độc lập rất đơn giản được tích hợp sẵn, nó không đẹp nhưng nó hoàn thành công việc.

Quân nhu

Máy in 3D PLA Filament

Máy cắt dây

Dụng cụ cắt dây

Sắt hàn

Wemos D1 Mini

Micro 9G Servo

Bước 1: In Hộp đựng Hộp đựng và Phần mở rộng Servo Horn

In Hộp đựng Hộp đựng và Phần mở rộng Còi Servo
In Hộp đựng Hộp đựng và Phần mở rộng Còi Servo

Trước tiên, hãy bắt đầu bằng cách in hộp đựng, tôi cung cấp tệp SKP nếu bạn muốn sửa nó trong Sketchup (Phiên bản Maker). Tôi cũng đã đóng gói tệp STL nếu bạn chỉ muốn tiếp tục và tải nó vào máy cắt của bạn và in nó ra không bị sửa đổi.

Tôi đã in vỏ mà không có hỗ trợ vì lần đầu tiên tôi in nó là một lỗi để loại bỏ chúng, thiếu hỗ trợ mặc dù hoạt động tốt, có một chút sagg nhỏ nhưng một khi tất cả đã gắn kết thì tốt.

Tôi đã in với nhiệt độ giường là 50 và nhiệt độ máy đùn là 200, được khuyến nghị cho dây tóc mà tôi đang sử dụng.

Như với trường hợp, tôi cũng cung cấp các tệp SKP và STL cho còi servo, còi servo không in đúng cách cho tôi, cuối cùng tôi chỉ cần cắt măng xông và chỉ dán, cáp buộc nó vào một trong những bản gốc sừng vì tôi đã thiếu kiên nhẫn để làm cho nó hoạt động.

Bước 2: Lắp ráp

cuộc họp
cuộc họp
cuộc họp
cuộc họp
cuộc họp
cuộc họp

Tháo tiêu đề 3 Pin khỏi phần cuối của dây dẫn Servo.

Chọc dây dẫn qua hốc servo trong trường hợp và ra qua lỗ thoát ở bên cạnh.

Bây giờ hãy cẩn thận đặt dây dẫn xuống bên cạnh của servo và đặt nó lên trên vỏ máy sao cho dây dẫn sẽ nằm trong phần lõm bên trong của lỗ cho servo, kéo chặt dây dẫn và nhẹ nhàng đẩy servo về nhà, nó sẽ rất đẹp vừa khít.

Gắn chì vào phần lõm ở bên ngoài vỏ và chọc nó qua phần lõm cho D1 Mini. Cuộn cáp lại và chọc ngược lại để nó trông khá gọn gàng trong hộp.

Trượt D1 Mini vào vỏ của nó với mô-đun WiFi ở trên cùng. Dây dẫn phải nằm trên đầu mô-đun và sau đó nạp trở lại bên dưới PCB.

Bây giờ bạn có thể cắt dây dẫn servo đến độ dài chấp nhận được.

Tháo D1 Mini bằng cách đẩy nó từ phía đối diện của PCB vào ổ cắm USB.

Khi nó được tháo ra, tách, tách và thiếc ba dây của dây dẫn.

Hàn chúng vào mặt dưới của pcb theo thứ tự sau.

Đỏ -> 5V

Màu nâu -> GND

Cam -> D4

Tất cả ba chốt đều nằm liền kề nhau nên rất dễ dàng để giữ cho dây chì gọn gàng.

Bây giờ, nhẹ nhàng gấp chì dưới bảng về phía giữa để giữ cho nó đẹp và phẳng, cuộn nó lên trên cùng của bảng và nhẹ nhàng trượt bảng về nhà. Đừng đẩy D1 vào hết mức, hãy để nó nhô ra ngoài đủ xa để bạn có thể dễ dàng cắm cáp USB vào và bạn có thể đến nút đặt lại.

Nếu bạn quản lý để in sừng sao cho nó vừa khít với nắp đậy trên servo, hãy lắp nó ngay bây giờ sao cho đỉnh của sừng ít nhiều song song với đỉnh công việc. Cố định nó vào vị trí bằng vít nhỏ đi kèm với servo.

Nếu bạn không thể in chiếc sừng, hãy cắt bỏ phần măng sông và cố định nó vào một trong những chiếc sừng được cung cấp kèm theo, keo siêu dính và một vài sợi dây cáp nhỏ đã làm công việc cho tôi.

Bước 3: Nhấp nháy

Tải xuống tệp ino xuống tệp dự án arduino của bạn vào một thư mục calle KiKi.

Mở tệp trong Arduino IDE.

Chỉnh sửa các dòng sau cho phù hợp với thiết lập Trợ lý tại nhà của bạn..

25 const PROGMEM uint16_t MQTT_SERVER_PORT = 1883; (nếu bạn đã thay đổi cổng mặc định)

26 const PROGMEM char * MQTT_CLIENT_ID = "Tên máy chủ";

27 const PROGMEM char * MQTT_USER = "MQTTUSER";

28 const PROGMEM char * 28 MQTT_PASSWORD = "MQTTPASS";

Đối với chủ đề MQTT STATE và COMMAND, tôi muốn đặt nó vị trí / thiết bị / (trạng thái / chuyển đổi) nhưng bạn có thể sử dụng bất kỳ quy ước nào bạn thích.

29 const char * MQTT_ROBOT_STATE_TOPIC = "location / pc / status"; const char *

30 MQTT_ROBOT_COMMAND_TOPIC = "location / pc / switch";

Bây giờ hãy chỉnh sửa các dòng tiếp theo này để đặt tên máy chủ thiết bị của bạn.

159 wifi_station_set_hostname ("HOSTNAME");

169 if (! WifiManager.autoConnect ("HOSTNAME")) {

Đặt tên miền Đủ điều kiện cho máy chủ MQTT của bạn.

175 WiFi.hostByName ("MQTTSERVER", MQTT_SERVER_IP);

Cắm D1 Mini vào PC của bạn và chọn cổng COM mà nó được gắn trên đó.

Mở Serial Monitor.

Tải tệp lên.

Khi quá trình tải lên hoàn tất, hãy kiểm tra màn hình nối tiếp.

Nếu là bo mạch mới, sẽ không có cài đặt nào và bạn sẽ phải kết nối với AP không dây mà nó tạo ra, sau đó chọn đúng mạng Không dây và nhập mật khẩu.

Khi bạn lưu lại các chi tiết, nó sẽ ghi chúng vào thiết bị và sử dụng lại chúng mỗi khi khởi động lại.

Bây giờ nó được kết nối với mạng không dây của bạn, bạn sẽ thấy trong màn hình nối tiếp một dòng tương tự như…

192.168.1.xxx hoặc phạm vi mạng của bạn là bao giờ.

Nếu bạn kết nối với điều này với một trình duyệt, bạn sẽ thấy một trang web rất đơn giản với một nút duy nhất mà khi nhấp vào sẽ kích hoạt cánh tay servo.

Bước 4: Điều chỉnh Trang chủ Servo và Vị trí Kích hoạt

Tôi dán một cục bluetack lớn vào mặt dưới của vỏ máy và sau đó dán nó vào máy tính để bàn của mình để còi servo nằm phía trên trung tâm của phím được nhấn.

Ban đầu tôi xếp vào một trong các phím khác, không phải phím nguồn như mọi lần tôi kiểm tra nó sẽ đặt máy tính ở chế độ ngủ.

Đối với bàn phím của tôi, Logitech K260, tôi đặt vị trí chính là 135 và vị trí này nằm ngay phía trên phím.

Tôi đặt vị trí đã kích hoạt thành 120, vị trí này sẽ đẩy nút xuống đủ xa để đảm bảo rằng nó thực sự được kích hoạt.

Rõ ràng là bạn sẽ phải mày mò các cài đặt này để chúng được thiết lập độc đáo cho bàn phím của mình, đó chỉ là trường hợp điều chỉnh cài đặt vị trí nhà trước tiên, tải lên bản phác thảo và chỉnh sửa nó.

Khi bạn hài lòng với vị trí nhà, hãy tiếp tục và đặt vị trí đã kích hoạt cho bạn, đối với bàn phím của tôi, nó sẽ giảm khoảng 15 độ so với vị trí nhà. Nếu bạn thay đổi vị trí nhà của mình, trước hết hãy thử điều chỉnh vị trí đã kích hoạt của bạn về vị trí nhà - 15. Tải lên mã cho D1 và xem nó hoạt động như thế nào. Không mất nhiều thời gian để giải quyết nó.

Lợi ích của việc sử dụng bluetack là nó sẽ giữ thiết bị ở vị trí hoàn hảo khi bạn đã điều chỉnh đúng vị trí của mình nhưng nếu vị trí được kích hoạt quá thấp, nó sẽ chỉ bật thiết bị ra khỏi bàn của bạn và không gây hư hại.

Bước 5: Kết nối nó với Home Assistant

Trên phiên bản trợ lý tại nhà của bạn, hãy mở tệp bạn lưu cài đặt công tắc của mình và thêm thông tin sau.

- nền tảng: mqtt

đặt tên cho thiết bị của bạn"

state_topic: "vị trí / thiết bị / trạng thái"

command_topic: "vị trí / thiết bị / chuyển đổi"

payload_on: "BẬT"

payload_off: "TẮT"

lạc quan: sai

Đảm bảo rằng bạn chỉnh sửa YOURDEVICE thành một thứ gì đó phù hợp và các chủ đề trạng thái / lệnh khớp với những gì bạn đã đặt trong mã ino từ bước trước.

Bây giờ bạn sẽ muốn thêm thiết bị vào cấu hình của mình để nó xuất hiện trên giao diện HA.

Tôi liệt kê tất cả các nhóm của mình và định nghĩa nhóm trong config.yaml, vì vậy, chỉ cần thêm thiết bị vào đó cùng với…

học: tên: Học

thực thể:

- switch.study_pc

Kiểm tra cấu hình của bạn có an toàn không bằng cách nhập

/ srv / homeassistant / bin / hass --script check_config -c /home/homeassistant/.homeassistant/

Nếu bạn không thấy lỗi, hãy tiếp tục và khởi động lại HA

systemctl khởi động lại home-Assistant @ homeassistant.

Sau khi mọi thứ đã tải xong, bạn sẽ thấy một nút mới trên giao diện HA sẽ bật hoặc tắt máy tính của bạn thông qua phép thuật của KiKi.

Tái bút, nếu bạn truy cập máy qua ssh, bạn có thể kích hoạt KiKi bằng wget…

wget -qO- https:// ip của kiki /? req = 1> / dev / null

hoặc dán nó vào một tệp kịch bản bash gọi tập lệnh, tiết kiệm việc phải nhớ các đối số.

Đề xuất: