สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้
- ขั้นตอนที่ 2: เรื่องราว
- ขั้นตอนที่ 3: การเตรียมการ
- ขั้นตอนที่ 4: การกำหนดค่า
- ขั้นตอนที่ 5: การติดตั้ง
- ขั้นตอนที่ 6: การเขียนโปรแกรม
- ขั้นตอนที่ 7: ทดสอบ
- ขั้นตอนที่ 8: ขั้นตอนต่อไป
- ขั้นตอนที่ 9: แผนผัง
- ขั้นตอนที่ 10: รหัส
วีดีโอ: ปุ่มประตูเสมือนโดยใช้ Mongoose OS และ XinaBox: 10 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
เราใช้ Mongoose และ xChips เพื่อสร้างปุ่มประตูเสมือน แทนที่จะใช้ปุ่มจริงเพื่อส่งเสียงบอกพนักงาน ตอนนี้พวกเขาสามารถทำเองได้
ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้
ส่วนประกอบฮาร์ดแวร์
- XinaBox CW02 x 1 คุณสามารถใช้ CW01 แทนได้
- XinaBox IP01 x 1
- XinaBox PU01 x 1 คุณสามารถใช้ IP01 เพื่อจ่ายไฟได้ หากคุณไม่ต้องการตั้งโปรแกรมโมดูลเพิ่มเติม
- XinaBox OC03 x 1
- XinaBox XC10 x 1 "กาว" ที่ลงตัวทุกอย่าง!
แอพซอฟต์แวร์และบริการออนไลน์
Mongoose OS เครื่องมือพัฒนา IoT ที่ยอดเยี่ยมและง่ายจริงๆ … และฟรี
ขั้นตอนที่ 2: เรื่องราว
ที่แผนกต้อนรับของเรา พนักงานของเราต้องส่งเสียงดัง ดังนั้นเราจึงตัดสินใจใช้ยาของเราเองและสร้างปุ่มเสมือน รหัสนี้ช่วยให้คุณส่ง RPC (การเรียกขั้นตอนระยะไกล) ซึ่งดูเหมือนการโทร HTTP ปกติจากเบราว์เซอร์ใดก็ได้ เราใช้ Mongoose เนื่องจากใช้งานได้ง่ายและรวดเร็ว และมีการอัพเดตโค้ด OTA (Over The Air) ในตัว หมายความว่าเราสามารถติดตั้งเทคโนโลยีของเราและยังคงอัปเกรดเฟิร์มแวร์เมื่อเวลาผ่านไป โดยไม่ต้องแยกส่วนเพื่อตั้งโปรแกรมใหม่
ขั้นตอนที่ 3: การเตรียมการ
- ติดตั้ง Mongoose-OS: ตรงไปตรงมา เพียงทำตามขั้นตอนง่าย ๆ สำหรับระบบปฏิบัติการของคุณที่นี่:
- คลิก IP01 และ CW02 พร้อมกันโดยใช้ตัวเชื่อมต่อ XC10 ดูภาพด้านล่าง:
- เสียบ IP01 เข้ากับพอร์ต USB ของคุณ
- ตรวจสอบให้แน่ใจว่าสวิตช์ IP01 อยู่ในตำแหน่ง B และ DCE
- แฟลช Mongoose-OS เป็น CW02 จากบรรทัดคำสั่งของคุณ แบบนี้:
ซีดี
ส่งออก MOS_PORT= bin/mos แฟลช esp32
คุณยังสามารถเข้าสู่คอนโซลและทำสิ่งต่างๆ ได้มากที่สุดจากที่นั่น แต่ที่นี่ เราทำจากบรรทัดคำสั่ง เพื่อให้งานเสร็จสิ้นอย่างรวดเร็ว ในการเข้าสู่คอนโซล:
ซีดี
ถังขยะ/มอส
ขั้นตอนที่ 4: การกำหนดค่า
แม้ว่าขั้นตอนเหล่านี้สามารถทำได้ในคำสั่งยาวๆ คำเดียว แต่เราตัดสินใจแยกออก และเนื่องจากคุณจะคัดลอกและวางมัน เรามาทำให้มันง่ายกันเถอะ:
ตั้งค่าพิน I2C เป็นมาตรฐาน xChips:
bin/mos config-set i2c.scl_gpio=14 i2c.sda_gpio=2
เชื่อมต่อ CW02 ของคุณกับ WiFi ของคุณ:
bin/mos wifi
ยกเลิกการเชื่อมต่อ WiFi ในโหมด AP และตั้งค่าชื่อโดเมน เพื่อให้คุณสามารถเชื่อมต่อกับ CW01 โดยใช้ชื่อโฮสต์ แทนที่จะค้นหาที่อยู่ IP ที่ถูกต้อง สิ่งนี้จะได้ผลก็ต่อเมื่อ:
- คุณยกเลิกการเชื่อมต่อ WiFi ในโหมด AP ตามที่เราทำด้านล่าง
- ใช้ Mac หรือติดตั้ง Bonjour บนเครื่อง Windows ของคุณ
bin/mos เรียก Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}'
bin/mos เรียก Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin/mos call Config. Set '{"config": {"dns_sd": {"host- ชื่อ": "xinabox_switch"}}}
และสุดท้ายคุณต้องรีบูต CW02 เพื่อให้การกำหนดค่าทำงานได้
bin/mos เรียก Config. Save '{"reboot": true}'
หลังจากนี้ คุณควรจะสามารถ ping xinabox_switch.local. ได้อย่างรวดเร็ว
ขั้นตอนที่ 5: การติดตั้ง
ถอดปลั๊ก IP01 ออกจากคอมพิวเตอร์และประกอบวงจรตามภาพด้านบน
เสียบ PU01 (หรือถ้าคุณตัดสินใจที่จะติดกับ IP01) เข้ากับแหล่งพลังงาน USB ต่อสายไฟแบบขนานจากสวิตช์ที่มีอยู่ของคุณ (ปล่อยไว้ในกรณีนั้น) กับ OC03 (ขั้วไม่สำคัญ) ดูภาพวาด Fritzing
เมื่อเปิดเครื่องและเห็นว่าคุณกำลังคุยกับ xCW02 อยู่จริงๆ แล้วการสแกน BUS หรือที่รู้จักในชื่อบัส I2C:
bin/mos --port ws://xinabox_switch.local/rpc โทร I2C. Scan
หากใช้งานได้ทั้งหมดและติดตั้ง xOC03 อย่างถูกต้อง คุณจะเห็นหมายเลข '56' ถูกส่งกลับ นั่นคือที่อยู่ I2C ของ OC03 เป็นทศนิยม (ในฐานสิบหกคือ 0x38)
ขั้นตอนที่ 6: การเขียนโปรแกรม
- ตอนนี้เปิด Mongoose ในโหมดคอนโซล ดูด้านบน ควรเปิดด้วยหน้าต่างที่ขอหมายเลขพอร์ต ป้อน:ws://xinabox_switch.local/rpc
- มันจะสื่อสารกับ CW02 และตระหนักว่าเครื่องนั้นแฟลชและเชื่อมต่อกับ WiFi แล้ว ดังนั้นมันจะให้เครื่องหมาย 3 อันเท่านั้น ปิดหน้าต่างและรีเฟรชรายการไฟล์
- คัดลอกและวางโค้ดด้านล่างลงใน init.js แล้วคลิก save+reboot
- วงจรของคุณได้รับการตั้งโปรแกรมแล้ว
ขั้นตอนที่ 7: ทดสอบ
คุณได้ใช้การเรียก RPC อีกครั้งแล้ว ดังนั้นจากเทอร์มินัลของคุณ คุณสามารถป้อน:
bin/mos --port ws://xinabox_switch.local/rpc โทร Switch
… และออดของคุณควรจะไปเป็นเวลา 2 วินาที คุณสามารถทำได้จาก - เกือบ - เบราว์เซอร์ใดก็ได้:
xinabox_switch.local/rpc/Switch
… มีผลเช่นเดียวกัน
ขั้นตอนที่ 8: ขั้นตอนต่อไป
คุณสามารถใช้เครื่องมือใดก็ได้ที่สามารถปิด URL ได้ ฉันทำจากแอป Apple ชื่อเวิร์กโฟลว์ ซึ่งช่วยให้ฉันทำจากโทรศัพท์หรือเป็นความซับซ้อนจาก Apple Watch ได้ แต่มีตัวเลือกอื่นอีกมากมาย นี่คือสคริปต์เวิร์กโฟลว์ของฉัน แต่มีที่อยู่ IP แบบฮาร์ดโค้ด: สนุก!
Apple App: เวิร์กโฟลว์ - ที่นี่พร้อมที่อยู่ IP แบบฮาร์ดโค้ด
ขั้นตอนที่ 9: แผนผัง
Buzzer Circuit ติดตั้ง OC03 ควบคู่ไปกับปุ่มกดที่มีอยู่
ดาวน์โหลดได้ที่นี่
วงจร OC03 ติดตั้ง OC03 ควบคู่ไปกับปุ่มกดที่มีอยู่
ดาวน์โหลดได้ที่นี่
ขั้นตอนที่ 10: รหัส
init.js JavaScript รหัสหลักและรหัสเดียวของคุณสำหรับโครงการนี้
โหลด ('api_config.js');
โหลด ('api_gpio.js'); โหลด ('api_i2c.js'); โหลด ('api_net.js'); โหลด ('api_sys.js'); โหลด ('api_timer.js'); โหลด ("api_rpc.js"); ให้นำ = Cfg.get('pins.led'); ให้ adr = 0x38; ให้บัส = I2C.get(); I2C.writeRegB(บัส, adr, 3, 0); I2C.writeRegB(บัส, adr, 1, 0); /* ปิดเพื่อให้แน่ใจ */ let delay = 2000; GPIO.set_mode (นำ GPIO. MODE_OUTPUT); RPC.addHandler('Switch', function(args) { GPIO.toggle(led); I2C.writeRegB(bus, adr, 3, 0); /* ในกรณีที่ OC03 เชื่อมต่อใหม่ */ I2C.writeRegB(bus, adr, 1, 1); Timer.set(ดีเลย์, เท็จ, function() { GPIO.toggle(led); I2C.writeRegB(bus, adr, 1, 0); }, null); return true; });
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): 3 ขั้นตอน
ติดตาม: Advanced Media Center พร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): บทความนี้เป็นบทความต่อจากบทความก่อนหน้าของฉันที่ประสบความสำเร็จค่อนข้างมากเกี่ยวกับการสร้างศูนย์สื่ออเนกประสงค์ โดยอ้างอิงจาก Raspberry PI ที่ได้รับความนิยมมากในตอนแรก แต่ ในภายหลัง เนื่องจากไม่มีเอาต์พุตที่สอดคล้องกับ HEVC, H.265 และ HDMI 2.2 จึงมีสวิตช์
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: 3 ขั้นตอน
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: Story A beacon จะส่งสัญญาณอย่างต่อเนื่องเพื่อให้อุปกรณ์บลูทู ธ อื่น ๆ รู้ว่ามีอยู่ และฉันอยากได้บีคอนบลูทูธเพื่อติดตามกุญแจมาตลอด เพราะฉันลืมเอามันมาเหมือน 10 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP: 7 ขั้นตอน
วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP: เรียนรู้วิธีสร้างสถานีตรวจอากาศของคุณเองที่ Ubidots โดยใช้ XinaBox xChips (IP01, CW01 และ SW01) โมดูล ESP8266 Core และ Wi-Fi (xChip CW01) อนุญาตให้ผู้ใช้ส่ง ข้อมูลจาก xChips แบบโมดูลาร์ของ XinaBox ไปยังคลาวด์ ข้อมูลนี้สามารถตรวจสอบได้จากระยะไกล
ให้เสียง Piezo Buzzer ด้วย Blynk และ XinaBox: 9 ขั้นตอน
ให้เสียง Piezo Buzzer ด้วย Blynk และ XinaBox: ควบคุมองค์ประกอบ 5V โดยใช้ Blynk และ xChips โปรเจ็กต์นี้ส่งเสียง Piezo Buzzer จากโทรศัพท์ของฉัน