สารบัญ:

KiKi the Keyboard Bot: 5 ขั้นตอน
KiKi the Keyboard Bot: 5 ขั้นตอน

วีดีโอ: KiKi the Keyboard Bot: 5 ขั้นตอน

วีดีโอ: KiKi the Keyboard Bot: 5 ขั้นตอน
วีดีโอ: แก้คอมค้างใน1นาที 2024, พฤศจิกายน
Anonim
KiKi บอทคีย์บอร์ด
KiKi บอทคีย์บอร์ด

ฉันมักจะต้องแนบพีซีของฉันจากที่ทำงาน แต่ฉันไม่ชอบเปิดทิ้งไว้ตลอดเวลา ปัญหาคือพีซีเครื่องเก่าของฉันไม่รองรับ WOL อย่างไรก็ตาม สามารถเข้าสู่โหมดสลีปและปลุกด้วยปุ่มเปิดปิดบนแป้นพิมพ์ได้ อย่างไรก็ตามไม่มีใครอยู่บ้านนอกจากสุนัขที่จะดึงมันเข้ามาในชีวิตและดังนั้น…

KiKi เกิด KeyboardBot

มันจะเชื่อมโยงไปยังผู้ช่วยที่บ้านผ่าน MQTT และมีหน้าเว็บแบบสแตนด์อโลนที่เรียบง่ายในตัวด้วยเช่นกัน มันไม่สวย แต่ก็ทำให้งานเสร็จ

เสบียง

3D PrinterPLA Filament

เครื่องตัดลวด

เครื่องปอกสายไฟ

หัวแร้ง

Wemos D1 Mini

เซอร์โวไมโคร 9G

ขั้นตอนที่ 1: การพิมพ์เคสเคสและส่วนต่อขยายเซอร์โวฮอร์น

การพิมพ์เคสเคสและส่วนต่อขยายเซอร์โวฮอร์น
การพิมพ์เคสเคสและส่วนต่อขยายเซอร์โวฮอร์น

ก่อนอื่นให้เริ่มต้นด้วยการพิมพ์เคส ฉันเตรียมไฟล์ SKP หากคุณต้องการปรับแต่งมันใน Sketchup (Maker Edition) ฉันได้รวมไฟล์ STL ไว้ด้วย หากคุณต้องการโหลดมันลงในตัวแบ่งส่วนข้อมูลของคุณ และพิมพ์มันโดยไม่ได้แก้ไข

ฉันพิมพ์เคสโดยไม่มีส่วนรองรับเนื่องจากเป็นเคสแรกที่พิมพ์ออกมา มันเป็นบักเกอร์ที่ถอดออก การขาดการรองรับก็ใช้งานได้ดี มีรอยย้อยเล็กน้อย แต่เมื่อติดตั้งทั้งหมดแล้วก็โอเค

ฉันพิมพ์ด้วยอุณหภูมิเตียง 50 และอุณหภูมิเครื่องอัดรีด 200 ซึ่งเป็นค่าที่แนะนำสำหรับไส้หลอดที่ฉันใช้อยู่

เช่นเดียวกับกรณีที่ฉันยังให้ไฟล์ SKP และ STL สำหรับเซอร์โวฮอร์น ฮอร์นเซอร์โวพิมพ์ไม่ถูกต้องสำหรับฉัน ในที่สุดฉันก็ตัดปลอกยึดออกและติดกาว สายเคเบิลผูกไว้กับต้นฉบับอันใดอันหนึ่ง เสียงแตรในขณะที่ฉันไม่อดทนในการทำงานนี้

ขั้นตอนที่ 2: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ

ถอดส่วนหัว 3 พินออกจากปลายสายนำเซอร์โว

ดันตะกั่วผ่านช่องเซอร์โวในเคสและออกทางรูทางออกด้านข้าง

ตอนนี้วางตะกั่วที่ด้านข้างของเซอร์โวอย่างระมัดระวังแล้วนั่งทับเคสเพื่อให้ตะกั่วนั่งในช่องด้านในของรูสำหรับเซอร์โวดึงตะกั่วให้แน่นแล้วค่อยๆดันเซอร์โวกลับบ้านน่าจะดี กระชับพอดี

ใส่สายตะกั่วในช่องที่ด้านนอกของเคสแล้วจิ้มผ่านช่องสำหรับ D1 Mini ม้วนสายเคเบิลกลับด้านแล้วดันกลับเข้าไปใหม่เพื่อให้ดูเป็นระเบียบเรียบร้อยในเคส

เลื่อน D1 Mini เข้าไปในตัวเครื่องโดยให้โมดูล WiFi อยู่ด้านบน ตะกั่วควรอยู่เหนือด้านบนของโมดูลแล้วป้อนกลับเข้าไปใต้ PCB

ตอนนี้คุณสามารถตัดเซอร์โวนำไปสู่ความยาวที่ยอมรับได้

ถอด D1 Mini ออกโดยดันจากด้านตรงข้ามของ PCB ไปที่ช่องเสียบ USB

เมื่อถอดออกแล้ว ให้แยก ลอก และพันสายไฟสามเส้นของตะกั่ว

ประสานเข้ากับด้านล่างของ pcb ตามลำดับต่อไปนี้

สีแดง -> 5V

สีน้ำตาล -> GND

ส้ม -> D4

หมุดทั้งสามตัวอยู่ติดกัน ดังนั้นจึงง่ายต่อการเก็บตะกั่วให้เป็นระเบียบ

ตอนนี้ค่อย ๆ พับตะกั่วใต้กระดานเข้าหากึ่งกลางโดยทำให้มันเรียบและเรียบ ม้วนมันทับด้านบนของกระดานแล้วค่อยๆ เลื่อนกระดานกลับบ้าน อย่าดัน D1 เข้าไปจนสุด ปล่อยให้มันแหย่ออกไปให้ไกลพอที่จะเสียบสาย USB เข้าและไปที่ปุ่มรีเซ็ตได้

หากคุณสามารถพิมพ์ฮอร์นได้เพื่อให้พอดีกับกว้านบนเซอร์โว ให้ติดตั้งตอนนี้เพื่อให้ส่วนบนของฮอร์นขนานกับท็อปเวิร์คไม่มากก็น้อย แก้ไขให้เข้าที่ด้วยสกรูขนาดเล็กที่มาพร้อมกับเซอร์โว

หากคุณไม่สามารถพิมพ์แตรได้ ให้ตัดปลอกโลหะออกแล้วยึดเข้ากับแตรที่ให้มา กาวพิเศษ และสายรัดสายไฟเล็กๆ สองสามอันทำหน้าที่ได้สำหรับฉัน

ขั้นตอนที่ 3: กระพริบ

ดาวน์โหลดไฟล์ ino ไปยังไฟล์โครงการ Arduino ของคุณลงในโฟลเดอร์ชื่อ KiKi

เปิดไฟล์ใน Arduino IDE

แก้ไขบรรทัดต่อไปนี้เพื่อให้เหมาะกับการตั้งค่า Home Assistant ของคุณ..

25 ค่าคงที่ PROGMEM uint16_t MQTT_SERVER_PORT = 1883; (หากคุณเปลี่ยนพอร์ตเริ่มต้น)

26 const PROGMEM ถ่าน* MQTT_CLIENT_ID = "ชื่อโฮสต์";

27 const PROGMEM ถ่าน* MQTT_USER = "MQTTUSER";

28 const PROGMEM ถ่าน* 28 MQTT_PASSWORD = "MQTTPASS";

สำหรับหัวข้อ MQTT STATE และ COMMAND ฉันชอบสั่งซื้อ location/device/(status/switch) แต่คุณสามารถใช้แบบแผนใดก็ได้ที่คุณต้องการ

29 const char* MQTT_ROBOT_STATE_TOPIC = "ตำแหน่ง/พีซี/สถานะ"; อักขระ const*

30 MQTT_ROBOT_COMMAND_TOPIC = "ตำแหน่ง/พีซี/สวิตช์";

ตอนนี้แก้ไขบรรทัดเพิ่มเติมเหล่านี้เพื่อตั้งชื่อโฮสต์อุปกรณ์ของคุณ

159 wifi_station_set_hostname("HOSTNAME");

169 ถ้า (!wifiManager.autoConnect("HOSTNAME")) {

ตั้งชื่อโดเมนแบบเต็มของเซิร์ฟเวอร์ MQTT ของคุณ

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

เสียบ D1 Mini เข้ากับพีซีของคุณและเลือกพอร์ต COM ที่ติดตั้งอยู่

เปิดการตรวจสอบซีเรียล

อัพโหลดไฟล์.

เมื่ออัปโหลดเสร็จแล้ว ให้ตรวจสอบซีเรียลมอนิเตอร์

หากเป็นบอร์ดใหม่ จะไม่มีการตั้งค่าใดๆ และคุณจะต้องเชื่อมต่อกับ AP ไร้สายที่สร้างขึ้น จากนั้นเลือกเครือข่ายไร้สายที่ถูกต้องและป้อนรหัสผ่าน

เมื่อคุณบันทึกรายละเอียดกลับ ระบบจะเขียนรายละเอียดนั้นไปยังอุปกรณ์และนำมาใช้ใหม่ทุกครั้งที่รีสตาร์ท

ตอนนี้เชื่อมต่อกับเครือข่ายไร้สายของคุณแล้ว คุณจะเห็นบรรทัดที่คล้ายกับ …

192.168.1.xxx หรือขอบเขตของเครือข่ายของคุณ

หากคุณเชื่อมต่อสิ่งนี้ด้วยเบราว์เซอร์ คุณจะเห็นหน้าเว็บที่เรียบง่ายด้วยปุ่มเดียว ซึ่งเมื่อคลิกจะเป็นการเปิดใช้งานแขนเซอร์โว

ขั้นตอนที่ 4: การปรับ Servo Home และตำแหน่งที่เปิดใช้งาน

ฉันติด bluetack ก้อนใหญ่ไว้ที่ด้านล่างของเคสแล้วเลื่อนไปที่เดสก์ท็อปของฉันเพื่อให้เซอร์โวฮอร์นอยู่เหนือศูนย์กลางของปุ่มที่จะกด

ตอนแรกฉันเข้าแถวบนปุ่มอื่น ๆ ไม่ใช่ปุ่มเดียวเพราะทุกครั้งที่ฉันทดสอบจะทำให้พีซีเข้าสู่โหมดสลีป

สำหรับคีย์บอร์ดของฉัน Logitech K260 ฉันตั้งค่าตำแหน่งเริ่มต้นเป็น 135 และนี่คือเซอร์โวฮอร์นเหนือปุ่ม

ฉันตั้งค่าตำแหน่งที่เปิดใช้งานเป็น 120 ซึ่งกดปุ่มลงจนสุดเพื่อให้แน่ใจว่าเปิดใช้งานจริง

เห็นได้ชัดว่าคุณจะต้องปรับแต่งการตั้งค่าเหล่านี้เพื่อตั้งค่าให้เหมาะกับคีย์บอร์ดของคุณ มันเป็นเพียงกรณีของการปรับการตั้งค่าตำแหน่งเริ่มต้นก่อน อัปโหลดภาพสเก็ตช์และมองมัน

เมื่อคุณพอใจกับตำแหน่งเริ่มต้นแล้ว ให้ตั้งค่าตำแหน่งที่คุณเปิดใช้งาน สำหรับแป้นพิมพ์ของฉัน แป้นนี้อยู่ห่างจากตำแหน่งหลักประมาณ 15 องศา หากคุณเปลี่ยนตำแหน่งเริ่มต้น ให้ลองปรับตำแหน่งที่เปิดใช้งานเป็นตำแหน่งเริ่มต้นก่อน - 15. อัปโหลดไปยังโค้ดไปยัง D1 และดูว่ามันทำงานอย่างไร ใช้เวลาไม่มากในการทำงาน

ประโยชน์ของการใช้ bluetack คือมันจะทำให้อุปกรณ์อยู่ในตำแหน่งที่สมบูรณ์แบบเมื่อคุณปรับตำแหน่งของคุณอย่างเหมาะสมแล้ว แต่ถ้าตำแหน่งที่เปิดใช้งานต่ำเกินไป อุปกรณ์ก็จะหลุดออกจากโต๊ะทำงานของคุณและไม่เกิดความเสียหาย

ขั้นตอนที่ 5: เชื่อมต่อกับ Home Assistant

ในอินสแตนซ์ผู้ช่วยในบ้านของคุณ ให้เปิดไฟล์ที่คุณจัดเก็บการตั้งค่าสวิตช์ของคุณและเพิ่มสิ่งต่อไปนี้

- แพลตฟอร์ม: mqtt

ชื่อ: "อุปกรณ์ของคุณ"

state_topic: "ตำแหน่ง/อุปกรณ์/สถานะ"

command_topic: "ตำแหน่ง/อุปกรณ์/สวิตช์"

payload_on: "เปิด"

payload_off: "ปิด"

มองในแง่ดี: เท็จ

ตรวจสอบให้แน่ใจว่าคุณแก้ไข YOURDEVICE เป็นสิ่งที่เหมาะสม และหัวข้อ state/command ตรงกับสิ่งที่คุณตั้งค่าในรหัส ino จากขั้นตอนก่อนหน้า

ตอนนี้คุณจะต้องการเพิ่มอุปกรณ์ในการกำหนดค่าของคุณเพื่อให้ปรากฏบนอินเทอร์เฟซ HA

ฉันแสดงรายการกลุ่มทั้งหมดของฉัน และคำจำกัดความกลุ่มใน configuration.yaml ดังนั้นเพียงเพิ่มอุปกรณ์เข้าไปตามบรรทัดของ…

เรียน: ชื่อ: เรียน

หน่วยงาน:

- switch.study_pc

ตรวจสอบว่าการกำหนดค่าของคุณปลอดภัยโดยป้อน

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

หากคุณไม่เห็นข้อผิดพลาด ให้เริ่มต้นใหม่ HA

systemctl รีสตาร์ท home-assistant@homeassistant

เมื่อโหลดทุกอย่างแล้ว คุณจะเห็นปุ่มใหม่บนอินเทอร์เฟซ HA ของคุณ ซึ่งจะเปิดหรือปิดพีซีของคุณผ่านเวทมนตร์ของ KiKi

PS หากคุณเข้าถึงเครื่องผ่าน ssh คุณสามารถเปิดใช้งาน KiKi ด้วย wget…

wget -qO- https://ip ของ kiki/?Req=1 > /dev/null

หรือติดไว้ในไฟล์ bash script ที่เรียกใช้สคริปต์ โดยไม่ต้องจำอาร์กิวเมนต์

แนะนำ: