สารบัญ:

ฮาร์ดแวร์และซอฟต์แวร์แฮ็คอุปกรณ์อัจฉริยะ, Tuya และ Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 ขั้นตอน
ฮาร์ดแวร์และซอฟต์แวร์แฮ็คอุปกรณ์อัจฉริยะ, Tuya และ Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 ขั้นตอน

วีดีโอ: ฮาร์ดแวร์และซอฟต์แวร์แฮ็คอุปกรณ์อัจฉริยะ, Tuya และ Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 ขั้นตอน

วีดีโอ: ฮาร์ดแวร์และซอฟต์แวร์แฮ็คอุปกรณ์อัจฉริยะ, Tuya และ Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 ขั้นตอน
วีดีโอ: รีวิว Smart Home ด้วย Hubitat ทำอะไรได้บ้าง วิธีการติดตั้ง เชื่อมต่ออุปกรณ์ สั่งงานอัตโนมัติ 2024, กรกฎาคม
Anonim
ฮาร์ดแวร์และซอฟต์แวร์แฮ็คอุปกรณ์อัจฉริยะ, Tuya และ Broadlink LEDbulb, Sonoff, BSD33 Smart Plug
ฮาร์ดแวร์และซอฟต์แวร์แฮ็คอุปกรณ์อัจฉริยะ, Tuya และ Broadlink LEDbulb, Sonoff, BSD33 Smart Plug

ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันแฟลชอุปกรณ์อัจฉริยะหลายตัวด้วยเฟิร์มแวร์ของฉันได้อย่างไร ดังนั้นฉันจึงสามารถควบคุมอุปกรณ์เหล่านั้นด้วย MQTT ผ่านการตั้งค่า Openhab ของฉัน

ฉันจะเพิ่มอุปกรณ์ใหม่เมื่อฉันแฮ็ค

แน่นอนว่ามีวิธีอื่นที่ใช้ซอฟต์แวร์เป็นหลักในการแฟลชเฟิร์มแวร์แบบกำหนดเอง เช่น Tuya convert แต่ฉันชอบที่จะเข้าใจว่าอุปกรณ์ทำงานอย่างไรและอะไรคือ 'ข้อมูลสำคัญ'

รหัสถูกเขียนและแฟลชโดยใช้ Arduino IDE

ฉันควบคุมอุปกรณ์ของฉันผ่าน Openhab และ Google Home (ผ่าน Openhab) หากคุณต้องการทราบข้อมูลเพิ่มเติมหรือต้องการไฟล์.items ฯลฯ โปรดแจ้งให้เราทราบในความคิดเห็น

ปลอดภัยไว้ก่อน

โปรดใช้ความระมัดระวัง เนื่องจากเรากำลังทำงานกับอุปกรณ์ที่ใช้พลังงานจากไฟหลัก ถอดอุปกรณ์ออกจากแหล่งจ่ายไฟก่อนใช้งาน

ฉันมีข้อสงสัยว่าอุปกรณ์นั้นปลอดภัยหลังจากการดัดแปลงหรือไม่ โปรดทิ้งมันทิ้งไป

เสบียง

สำหรับการแฮ็กส่วนใหญ่ คุณต้องมีโปรแกรมเมอร์ FDTI ที่ต่ออยู่กับคอมพิวเตอร์ที่ใช้ Arduino IDE, สายจัมเปอร์, หัวแร้ง, ตัวต้านทานบางตัว และโมดูล ESP8266 หรือ ESP8285

ขั้นตอนที่ 1: Tuya LED RGBW Smart Bulb

หลอดไฟอัจฉริยะ Tuya LED RGBW
หลอดไฟอัจฉริยะ Tuya LED RGBW
หลอดไฟอัจฉริยะ Tuya LED RGBW
หลอดไฟอัจฉริยะ Tuya LED RGBW
หลอดไฟอัจฉริยะ Tuya LED RGBW
หลอดไฟอัจฉริยะ Tuya LED RGBW

บทนำ

ฉันซื้อโคมไฟนี้จาก Aliexpress ใช้งานได้ดีกับแอป Smart Life แต่ฉันต้องการควบคุมผ่าน MQTT จาก Openhab ฉันสร้างเฟิร์มแวร์ Sonoff B1 ของตัวเองแล้ว ดังนั้นฉันจึงพยายามแฟลชโคมไฟนี้ด้วยเฟิร์มแวร์นั้น

แวบวับ

คุณเปิดหลอดไฟโดยการถอดฝาพลาสติกออกอย่างระมัดระวัง ด้วยมือโดยใช้แรงหรือโดยการบิดตัวขับสกรูระหว่างโลหะกับพลาสติก คุณสามารถมองเห็นชิป ESP8266 เปล่าได้

การเชื่อมต่อที่จำเป็นจะถูกเปิดเผยผ่านแผ่นขนาดเล็กบน PCB (3v3, GND, RX, TX และ IO0 (GPIO0))

ก่อนอื่นฉันใส่บัดกรีลงบนแผ่นอิเล็กโทรดและบัดกรีกับสายไฟแล้วบัดกรีเข้าด้วยกัน ฉันใช้กระดาษทิชชู่และกาวร้อนเพื่อติดสายไฟเข้ากับโคมไฟ

ต้องใช้ GPIO0 เพื่อนำ ESP8266 เข้าสู่โหมดโปรแกรม เชื่อมต่อกับกราวด์เมื่อเปิดเครื่อง ESP8266 คุณสามารถเปิดเครื่องและแฟลช ESP8266 โดยใช้โปรแกรมเมอร์ FTDI

เฟิร์มแวร์

เฟิร์มแวร์ใช้เฟิร์มแวร์ Sonoff B1 ของฉัน แต่ได้รับการแก้ไขแล้ว เนื่องจาก Sonoff B1 ใช้ไดรเวอร์ LED MY9231 ซึ่งขับเคลื่อนด้วยชิป ESP8285 และในหลอด Tuya Smart นี้ 4 ช่องสัญญาณ (RGBW) ถูกขับเคลื่อนโดยมอสเฟตที่สลับโดยสัญญาณ PWM โดยตรง จาก ESP8266

ช่องสีเขียวเชื่อมต่อกับ GPIO12 สีแดงถึง GPIO14 สีน้ำเงินถึง GPIO13 และช่องสีขาวเชื่อมต่อกับ GPIO4 ในรหัสคุณจะเห็นว่า: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4

รหัสที่สมบูรณ์อยู่ใน Github ของฉัน

ขั้นตอนที่ 2: หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 1

หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 1
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 1
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 1
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 1
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 1
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 1

บทนำ

ฉันซื้อหลอดไฟ LED เหล่านี้จากกล่อง Aliexpress สีน้ำเงิน/ขาวและกล่องดำ พวกเขากำลังควบคุมผ่านแอพบ้านอัจฉริยะ Magic home และแอพ Techlife pro ฉันไม่ได้ลองใช้แอปเหล่านี้ เนื่องจากฉันต้องการควบคุมหลอดไฟ LED ผ่าน MQTT จาก Openhab เนื่องจากฉันมีเฟิร์มแวร์สำหรับหลอดไฟ RGBW อยู่แล้ว ฉันจึงใช้สิ่งนั้นกับไม่ใช่สี่ช่อง (RGBW) แต่มีเพียงช่องเดียว

แวบวับ

คุณเปิดโคมไฟโดยการถอดฝาพลาสติกออกอย่างระมัดระวัง ฉันพบว่าฝาปิดติดอยู่กับโลหะเล็กน้อย ดังนั้นฉันจึงต้องใช้แรงจากตัวขับสกรูระหว่างโลหะกับพลาสติก

ฉันคาดว่าจะเห็นชิป ESP8266 หรือ ESP8285 แต่เป็นโมดูล Broadlink โมดูลนี้ดูเหมือนโมดูล ESP12 มาก แต่ฉันพบว่าพินเอาต์แตกต่างไปจากเดิมอย่างสิ้นเชิง จากการถอดฝาครอบโลหะ ฉันพบว่ามันคือชิป RDA 5981AM

วิธีแก้ปัญหาของฉันในการเปลี่ยนชิปนี้ด้วย ESP จะแสดงในขั้นตอนต่อไป

ขั้นตอนที่ 3: หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2

หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2

โมดูลเชื่อมต่อกับฐานของหลอดไฟผ่าน 3 ขา ดูภาพแรก:

  • 3V3 (3.3V)
  • GND (พื้น)
  • PWM (การปรับความกว้างพัลส์)

พิน PWM ใช้เพื่อตั้งค่าความสว่างของหลอดไฟผ่านสัญญาณ PWM ซึ่งสามารถเปลี่ยนแปลงได้ตั้งแต่ 0 (หลอดไฟดับ) ถึง 100 (หลอดไฟเปิดอยู่ทั้งหมด) และทุกค่าในระหว่างนั้น ดูเว็บไซต์นี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสัญญาณ PWM

เนื่องจากโมดูล ESP8266 และ ESP8285 ทำงานบน 3.3V และสามารถสร้างสัญญาณ PWM ได้อย่างง่ายดาย ฉันจึงเปลี่ยนโมดูล Broadlink เป็นโมดูล ESP8266 หรือ ESP8285 ที่ฉันใช้อยู่

โมดูล ESP-01S (ESP8266) จะแฟลชผ่านโปรแกรมเมอร์แยกต่างหาก ดูขั้นตอนที่ 3 ของคำแนะนำนี้ ฉันบัดกรีหมุดส่วนหัวของตัวเมียเข้ากับหลอดไฟด้วยตัวต้านทานแบบดึงขึ้นระหว่าง 3V3 และ EN (เปิดใช้งาน) นี่เป็นการทดลองครั้งแรกของฉัน ต่อมาฉันเปลี่ยนเป็นโมดูล ESP8285

โมดูล ESP-M1, ESP-M3 และ ESP-01F (ESP8285) ถูกแฟลชโดยการบัดกรีสายไฟไปยังการเชื่อมต่อที่จำเป็น (3V3, GND, RX, TX และ GPIO0 (ดูขั้นตอนที่ 1 การกะพริบของหลอดไฟอัจฉริยะ Tuya) ผม บัดกรีตัวต้านทานแบบดึงขึ้นระหว่าง 3V3 และ EN (เปิดใช้งาน)

ด้วยโมดูล ESP-M3 ฉันใช้ GPIO4 เพื่อสร้างสัญญาณ PWM ตอนแรกฉันใช้ GPIO2 แต่เมื่อ LEDbulb เป็นของ GPIO2 ที่ต่ำจะส่งผลให้เกิดการส่องสว่างของ LED ออนบอร์ด ซึ่งให้แสงสีน้ำเงินที่ไม่ต้องการใน LEDbulb

เพิ่มเทปแคปตอนเพื่อปรับปรุงการแยกระหว่างโมดูลและการเชื่อมต่อฐานโคมไฟ

แก้ไข: ฉันพบว่าโมดูล ESP-01F ไม่เริ่มทำงานอย่างน่าเชื่อถือ อาจเป็นเพราะความไม่เสถียรของพลังงานเมื่อเปิดเครื่อง ฉันแก้ไขโดยเพิ่มตัวเก็บประจุแทนทาลัม 10 ยูเอฟระหว่าง GND และ VCC น่าสังเกตตัวเก็บประจุเซรามิก 10 ยูเอฟไม่ทำงาน

ขั้นตอนที่ 4: หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 3

หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 3
หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 3

เฟิร์มแวร์

รหัสอยู่ใน Github ของฉัน

เฟิร์มแวร์รวมเว็บอินเตอร์เฟสเพื่อควบคุม LEDbulb และยังมีตัวเลือกในการอัปเดตเฟิร์มแวร์ OTA ผ่าน Webupdate

ขั้นตอนที่ 5: Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1

Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1

บทนำ

ฉันซื้อปลั๊กอัจฉริยะ WiFi จาก Aliexpress ใช้งานได้ดีกับแอป Smart Life แต่ฉันต้องการควบคุมผ่าน MQTT จาก Openhab ฉันสร้างเฟิร์มแวร์ Sonoff ของตัวเองสำหรับปลั๊กและซ็อกเก็ตอัจฉริยะ ดังนั้นฉันจึงพยายามแฟลชโคมไฟนี้ด้วยเฟิร์มแวร์นั้น

ฉันยังใช้เฟิร์มแวร์นี้เพื่อแฟลชปลั๊กอัจฉริยะ Sonof S20 และ Sonoff S26 และสวิตช์อัจฉริยะ Sonoff Basic และ Sonoff Basic R3 วิธีการเปิดและฮาร์ดแวร์เชื่อมต่ออุปกรณ์ Sonoff สำหรับการกะพริบมีอธิบายไว้สำหรับ Tasmota ที่วิกิของ tasmota ดังนั้นจึงไม่ได้อธิบายไว้ที่นี่

การเปิดเต้ารับ

ปลั๊กอัจฉริยะติดกาวเข้าด้วยกัน ในการเปิด ให้ขันไขควงเข้าไปในช่องเจาะที่พื้นดินแล้วออกแรงโดยใช้อีกด้านของซ็อกเก็ตเป็นจุดหมุน (คำแนะนำจาก netpokin หัวข้อนี้) วิธีนี้จะทำให้คุณสามารถชะแลงออกได้โดยไม่ทำให้ซ็อกเก็ตเสียหาย

ในภาพที่คุณเห็นด้านในของปลั๊ก ประกอบด้วยกระดานหลักพร้อมรีเลย์ pcb ขนาดเล็กซึ่งติดตั้งชิป ESP8266 และหน่วยความจำ บอร์ดเชื่อมต่อผ่านการเชื่อมต่อที่เข้าถึงได้

ขั้นตอนที่ 6: Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2

Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2

แวบวับ

ฉันทำวิศวกรรมย้อนกลับการเชื่อมต่อประสาน ดูภาพสำหรับคำอธิบายของการเชื่อมต่อ ฉันพบว่า:

  • GPIO2 เชื่อมต่อกับ LED (ในปุ่มของปลั๊ก)
  • GPIO13 เชื่อมต่อกับปุ่มเอง
  • GPIO15 เชื่อมต่อกับมอสเฟตซึ่งสลับรีเลย์หลัก

คุณสามารถเปิดเครื่องและแฟลช ESP8266 โดยใช้โปรแกรมเมอร์ FTDI เชื่อมต่อสายเคเบิลดูปองท์ตัวเมียกับการเชื่อมต่อต่อไปนี้: (VCC (3.3V), GND, RX, TX และ GPIO0)

ต้องใช้ GPIO0 เพื่อนำ ESP8266 เข้าสู่โหมดโปรแกรม เชื่อมต่อกับกราวด์เมื่อเปิดเครื่อง ESP8266

ในโปรแกรมเมอร์ FTDI ของฉัน ฉันเพิ่มตัวเก็บประจุ 470uF ระหว่างกราวด์และ VCC ในโครงการอื่น ฉันพบว่าสิ่งนี้เพิ่มความเสถียร

โปรแกรมเมอร์ FTDI มีหมุด GND และ VCC ที่ไม่ได้ใช้อื่นๆ คุณสามารถใช้เพื่อเชื่อมต่อ GPIO0 กับ GND

ขั้นตอนที่ 7: Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3

Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3
Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3

เฟิร์มแวร์

เฟิร์มแวร์ของฉันอยู่บน Github

ส่วนหลักของเฟิร์มแวร์

  • การเชื่อมต่อกับเซิร์ฟเวอร์ WiFi และ MQTT
  • การสลับด้วยตนเองเมื่อออนไลน์และออฟไลน์ (เมื่อเริ่มต้น)
  • หากรีเลย์ถูกสลับด้วยตนเองเมื่ออุปกรณ์ออฟไลน์ จะส่งสถานะผ่าน MQTT เมื่อเชื่อมต่อใหม่
  • สถานะรีเลย์ถูกเก็บไว้ในหน่วยความจำ RTC (ดูวิดีโอนี้เกี่ยวกับหน่วยความจำ RTC ของ ESP8266)
  • เว็บอินเตอร์เฟสสำหรับควบคุมสวิตช์และเข้าถึงเว็บอัปเดตสำหรับ OTA
  • เฟิร์มแวร์นี้เหมาะสำหรับสมาร์ทปลั๊ก BSD33 แต่ยังสำหรับอุปกรณ์ Sonoff: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

การรวม Openhab

ฉันใช้ปลั๊กนี้เพื่อควบคุมพลังของเครื่องชงกาแฟของฉัน ฉันสามารถควบคุมผ่าน Openhab และ Google Home ได้ด้วยเสียง

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

ดู Github ของฉันสำหรับตัวอย่างรายการ กฎเกณฑ์ และไฟล์แผนผังเว็บไซต์

แนะนำ: