สารบัญ:

ปุ่มกดนาฬิกาปลุก MQTT ESP8266: 4 ขั้นตอน (พร้อมรูปภาพ)
ปุ่มกดนาฬิกาปลุก MQTT ESP8266: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ปุ่มกดนาฬิกาปลุก MQTT ESP8266: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ปุ่มกดนาฬิกาปลุก MQTT ESP8266: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: KidBright : ตอนที่ 4 การเขียน code ให้บอร์ดทำงานหลายหน้าที่ 2024, พฤศจิกายน
Anonim
ปุ่มกดนาฬิกาปลุก MQTT ESP8266
ปุ่มกดนาฬิกาปลุก MQTT ESP8266
ปุ่มกดนาฬิกาปลุก MQTT ESP8266
ปุ่มกดนาฬิกาปลุก MQTT ESP8266
ปุ่มกดนาฬิกาปลุก MQTT ESP8266
ปุ่มกดนาฬิกาปลุก MQTT ESP8266

ในคำแนะนำนี้ฉันจะแสดงให้คุณเห็นว่าฉันสร้างปุ่มกดที่ใช้พลังงานจากแบตเตอรี่เพื่อเปิดใช้งานและปิดใช้งานการเตือนที่บ้านของฉันได้อย่างไร ในอนาคตฉันวางแผนที่จะทำการปรับปรุงที่มีเครื่องอ่าน RFID รวมอยู่ด้วยและไม่ได้ใช้พลังงานจากแบตเตอรี่ นอกจากนี้ ฉันวางแผนที่จะอ่านปุ่มกดผ่านชิป I2C เนื่องจากการตั้งค่าปัจจุบันของฉันใช้พิน GPIO ที่เปิดเผยส่วนใหญ่ของโมดูล ESP8266 (ESP12F) ของฉัน

ตัวเครื่องเป็นแบบ 3 มิติ มีสวิตช์เปิด/ปิดและไฟ LED แสดงสถานะ WS2812b มันสื่อสารผ่าน MQTT และมีเว็บอินเตอร์เฟสสำหรับดูสถานะและอัพเดตเฟิร์มแวร์

เสบียง

ฉันซื้อส่วนประกอบของฉันที่ Aliexpress

ปุ่มกด 16 ปุ่ม: ลิงค์

โมดูล ESP12F: ลิงค์

แบตเตอรี่ LiPo: ลิงค์

หมุด Pogo สำหรับอัพโหลด: ลิงค์

กระดานฝ่าวงล้อมสำหรับการอัปโหลด: ลิงค์

ขั้นตอนที่ 1: วิธีการทำงานของปุ่มกดนาฬิกาปลุก - ซอฟต์แวร์

วิธีการทำงานของปุ่มกดนาฬิกาปลุก - ซอฟต์แวร์
วิธีการทำงานของปุ่มกดนาฬิกาปลุก - ซอฟต์แวร์
วิธีการทำงานของปุ่มกดนาฬิกาปลุก - ซอฟต์แวร์
วิธีการทำงานของปุ่มกดนาฬิกาปลุก - ซอฟต์แวร์

รหัสถูกเผยแพร่บน Github ของฉัน

ในโฟลว์ที่แนบมามีคำอธิบายโปรแกรม

การบันทึกลำดับคีย์เริ่มต้นโดยการกดปุ่ม '*' และสิ้นสุดโดยกดปุ่ม '#' หากป้อนลำดับคีย์ที่ตั้งไว้ล่วงหน้าที่ถูกต้อง การเตือนจะถูกเปิดหรือปิด

ปุ่มกด Alarm สื่อสารผ่าน MQTT กับระบบบ้านอัตโนมัติของฉันที่ทำงาน Openhab ปุ่มกด Alarm สมัครใช้งานหัวข้อ MQTT 'สถานะการเตือน' และเผยแพร่ใน 'หัวข้อคำสั่งการเตือน'

หากระบบอัตโนมัติในบ้านของฉันได้รับคำสั่ง ON ใน 'หัวข้อคำสั่งการเตือน' ดี ระบบจะเปิดการเตือนและยืนยันสิ่งนี้ใน 'หัวข้อสถานะการเตือน' ด้วยวิธีนี้ ฉันแน่ใจว่าได้รับคำสั่งปลุกและประมวลผลได้ดี

ข้อความใน 'หัวข้อสถานะการเตือน' จะถูกเก็บรักษาไว้ ดังนั้น หากคุณปิดแผงปุ่มกด Alarm ที่ใช้แบตเตอรี่ และเปิดใหม่อีกครั้ง คุณจะเห็นสถานะการเตือนผ่าน LED แสดงสถานะ เมื่อเชื่อมต่อกับโบรกเกอร์ MQTT อีกครั้ง

ขั้นตอนที่ 2: การอัปโหลดรหัส

กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส

รหัสถูกตั้งโปรแกรมและอัปโหลดผ่าน Arduino IDE

ฉันเตรียมกระดานฝ่าวงล้อม ESP พร้อมหมุด pogo ดังนั้นฉันจึงสามารถอัปโหลดโค้ดไปยังโมดูล ESP-12F เปล่าได้อย่างง่ายดาย ดูภาพที่แนบมา เพียงใช้โปรแกรมเมอร์ FTDI ที่ตั้งค่าเป็น 3.3V เชื่อมต่อกับ:

  • โมดูล FTDI เป็น ESP
  • 3.3V เป็น VCC และ EN
  • GND เป็น GND, GPIO15 และ GPIO0 (เพื่อตั้งค่า ESP8266 ในโหมดแฟลช)
  • RX เป็น TX
  • TX เป็น RX

เมื่ออุปกรณ์เปิดและเชื่อมต่อกับเครือข่าย WiFi ของคุณ คุณสามารถเชื่อมต่อกับที่อยู่ IP และดูสถานะการเตือนและแบตเตอรี่บนอินเทอร์เฟซเว็บ และอัปเดตรหัส OTA ได้ด้วยการอัปโหลดไฟล์.bin ผ่าน

ขั้นตอนที่ 3: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์

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

  • อุปกรณ์ใช้พลังงานจากแบตเตอรี่ LiPo (ชาร์จจากภายนอก)
  • ผ่านสวิตช์แบบสไลด์ พลังงานจะถูกส่งไปยังตัวควบคุมแรงดันไฟฟ้าเพื่อรับ 3.3V ที่ VCC ของ ESP8266 โดยใช้แคป
  • แรงดันไฟฟ้าของแบตเตอรี่ยังถูกป้อนเข้าสู่ ADC ของ ESP8266 ผ่านตัวแบ่งแรงดันไฟฟ้า (20k และ 68k)
  • 8 พินของปุ่มกดเชื่อมต่อกับ 8 พินของ ESP8266
  • ไฟ LED แสดงสถานะ WS2812b เชื่อมต่อกับแบตเตอรี่ GND และ GPIO15 ของ ESP8266

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

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

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

ไฟล์ STL ของคดีนี้เผยแพร่บน Thingiverse ของฉัน

สามารถเปิดเคสเพื่อชาร์จแบตเตอรี่ได้อย่างง่ายดาย

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

เชื่อมต่อส่วนประกอบผ่านหมุดส่วนหัว

แนะนำ: