สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การพิมพ์เคสเคสและส่วนต่อขยายเซอร์โวฮอร์น
- ขั้นตอนที่ 2: การประกอบ
- ขั้นตอนที่ 3: กระพริบ
- ขั้นตอนที่ 4: การปรับ Servo Home และตำแหน่งที่เปิดใช้งาน
- ขั้นตอนที่ 5: เชื่อมต่อกับ Home Assistant
วีดีโอ: KiKi the Keyboard Bot: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ฉันมักจะต้องแนบพีซีของฉันจากที่ทำงาน แต่ฉันไม่ชอบเปิดทิ้งไว้ตลอดเวลา ปัญหาคือพีซีเครื่องเก่าของฉันไม่รองรับ 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 ที่เรียกใช้สคริปต์ โดยไม่ต้องจำอาร์กิวเมนต์
แนะนำ:
Arduino Keyboard Joystick Extender Box และ Sound Controller Thing โดยใช้ Deej: 8 ขั้นตอน
Arduino Keyboard Joystick Extender Box และ Sound Controller Thing โดยใช้ Deej: ทำไมฉันจึงต้องการเพิ่มจอยสติ๊กขนาดเล็กลงในแป้นพิมพ์เพื่อควบคุมองค์ประกอบอินเทอร์เฟซหรืองานขนาดเล็กอื่นๆ ในเกมและเครื่องจำลอง (MS Flight Sim, Elite: Dangerous, Star Wars: ฝูงบิน ฯลฯ) สำหรับ Elite: Dangerous ฉันเคย
EngineersBuddy Wireless Keyboard, Mouse and Macro Recorder.: 4 ขั้นตอน
EngineersBuddy Wireless Keyboard, Mouse และเครื่องบันทึกมาโคร: คำแนะนำนี้จะอธิบายวิธีใช้ Engineers Buddy คีย์บอร์ด เมาส์ และเครื่องบันทึกมาโคร แอปพลิเคชัน Android นี้ทำงานร่วมกับแป้นพิมพ์และโมดูลฮาร์ดแวร์อีมูเลเตอร์ของ Enginners Buddy โมดูลจะทำงานร่วมกับคอมพ์ HID
HID Keyboard Controller สำหรับ Project Diva Aracade Future Tone: 5 ขั้นตอน
HID Keyboard Controller สำหรับ Project Diva Aracade Future Tone: V-USB เป็นโซลูชันไลบรารี USB ความเร็วต่ำสำหรับตัวควบคุมไมโคร AVR ช่วยให้เราสร้างอุปกรณ์ HID (แป้นพิมพ์ เมาส์ เกมแพด ฯลฯ) โดยใช้ตัวควบคุมไมโคร AVR การใช้งานแป้นพิมพ์ HID อิงตาม HID 1.11 รองรับการกดสูงสุด 6 ปุ่ม
DIY PS/2 Keyboard Adapter สำหรับ LSDj (Game Boy): 7 ขั้นตอน
อะแดปเตอร์คีย์บอร์ด DIY PS/2 สำหรับ LSDj (เกมบอย): หมายเหตุ: สายเชื่อมต่อทั้งหมดมีการออกแบบที่แตกต่างกัน เราไม่สามารถรับประกันได้ว่าบทช่วยสอนนี้จะใช้ได้กับสายเคเบิลของคุณ ชิ้นส่วนที่จำเป็น: เกมบอย & สาย Gameboy Color Link (แนะนำให้ใช้หลังการขาย) อะแดปเตอร์ DIN 6 / PS/2 ตัวเมีย - http://www.digigiy.com
ถังขยะ BT Line Drawing Bot - My Bot: 13 ขั้นตอน (พร้อมรูปภาพ)
Trash Built BT Line Drawing Bot - My Bot: Hai เพื่อน ๆ หลังจากห่างหายไปนานประมาณ 6 เดือน ฉันมากับโปรเจ็กต์ใหม่ จนกว่าจะเสร็จสิ้น Cute Drawing Buddy V1 หุ่นยนต์ SCARA - Arduino ฉันวางแผนสำหรับบอทวาดรูปอีกตัวหนึ่ง เป้าหมายหลักคือการครอบคลุมพื้นที่ขนาดใหญ่สำหรับการวาดภาพ แขนหุ่นยนต์คงที่ดังนั้นค