สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: Tuya LED RGBW Smart Bulb
- ขั้นตอนที่ 2: หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 1
- ขั้นตอนที่ 3: หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 2
- ขั้นตอนที่ 4: หลอดไฟ LED สีขาวนวลทั่วไป - ตอนที่ 3
- ขั้นตอนที่ 5: Sonoff หรือ BSD33 Smart Plug - ตอนที่ 1
- ขั้นตอนที่ 6: Sonoff หรือ BSD33 Smart Plug - ตอนที่ 2
- ขั้นตอนที่ 7: Sonoff หรือ BSD33 Smart Plug - ตอนที่ 3
วีดีโอ: ฮาร์ดแวร์และซอฟต์แวร์แฮ็คอุปกรณ์อัจฉริยะ, Tuya และ Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันแฟลชอุปกรณ์อัจฉริยะหลายตัวด้วยเฟิร์มแวร์ของฉันได้อย่างไร ดังนั้นฉันจึงสามารถควบคุมอุปกรณ์เหล่านั้นด้วย MQTT ผ่านการตั้งค่า Openhab ของฉัน
ฉันจะเพิ่มอุปกรณ์ใหม่เมื่อฉันแฮ็ค
แน่นอนว่ามีวิธีอื่นที่ใช้ซอฟต์แวร์เป็นหลักในการแฟลชเฟิร์มแวร์แบบกำหนดเอง เช่น Tuya convert แต่ฉันชอบที่จะเข้าใจว่าอุปกรณ์ทำงานอย่างไรและอะไรคือ 'ข้อมูลสำคัญ'
รหัสถูกเขียนและแฟลชโดยใช้ Arduino IDE
ฉันควบคุมอุปกรณ์ของฉันผ่าน Openhab และ Google Home (ผ่าน Openhab) หากคุณต้องการทราบข้อมูลเพิ่มเติมหรือต้องการไฟล์.items ฯลฯ โปรดแจ้งให้เราทราบในความคิดเห็น
ปลอดภัยไว้ก่อน
โปรดใช้ความระมัดระวัง เนื่องจากเรากำลังทำงานกับอุปกรณ์ที่ใช้พลังงานจากไฟหลัก ถอดอุปกรณ์ออกจากแหล่งจ่ายไฟก่อนใช้งาน
ฉันมีข้อสงสัยว่าอุปกรณ์นั้นปลอดภัยหลังจากการดัดแปลงหรือไม่ โปรดทิ้งมันทิ้งไป
เสบียง
สำหรับการแฮ็กส่วนใหญ่ คุณต้องมีโปรแกรมเมอร์ FDTI ที่ต่ออยู่กับคอมพิวเตอร์ที่ใช้ Arduino IDE, สายจัมเปอร์, หัวแร้ง, ตัวต้านทานบางตัว และโมดูล ESP8266 หรือ ESP8285
ขั้นตอนที่ 1: Tuya LED RGBW Smart Bulb
บทนำ
ฉันซื้อโคมไฟนี้จาก 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 เหล่านี้จากกล่อง Aliexpress สีน้ำเงิน/ขาวและกล่องดำ พวกเขากำลังควบคุมผ่านแอพบ้านอัจฉริยะ Magic home และแอพ Techlife pro ฉันไม่ได้ลองใช้แอปเหล่านี้ เนื่องจากฉันต้องการควบคุมหลอดไฟ LED ผ่าน MQTT จาก Openhab เนื่องจากฉันมีเฟิร์มแวร์สำหรับหลอดไฟ RGBW อยู่แล้ว ฉันจึงใช้สิ่งนั้นกับไม่ใช่สี่ช่อง (RGBW) แต่มีเพียงช่องเดียว
แวบวับ
คุณเปิดโคมไฟโดยการถอดฝาพลาสติกออกอย่างระมัดระวัง ฉันพบว่าฝาปิดติดอยู่กับโลหะเล็กน้อย ดังนั้นฉันจึงต้องใช้แรงจากตัวขับสกรูระหว่างโลหะกับพลาสติก
ฉันคาดว่าจะเห็นชิป ESP8266 หรือ ESP8285 แต่เป็นโมดูล Broadlink โมดูลนี้ดูเหมือนโมดูล ESP12 มาก แต่ฉันพบว่าพินเอาต์แตกต่างไปจากเดิมอย่างสิ้นเชิง จากการถอดฝาครอบโลหะ ฉันพบว่ามันคือชิป RDA 5981AM
วิธีแก้ปัญหาของฉันในการเปลี่ยนชิปนี้ด้วย ESP จะแสดงในขั้นตอนต่อไป
ขั้นตอนที่ 3: หลอดไฟ 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
เฟิร์มแวร์
รหัสอยู่ใน Github ของฉัน
เฟิร์มแวร์รวมเว็บอินเตอร์เฟสเพื่อควบคุม LEDbulb และยังมีตัวเลือกในการอัปเดตเฟิร์มแวร์ OTA ผ่าน Webupdate
ขั้นตอนที่ 5: 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
แวบวับ
ฉันทำวิศวกรรมย้อนกลับการเชื่อมต่อประสาน ดูภาพสำหรับคำอธิบายของการเชื่อมต่อ ฉันพบว่า:
- 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
เฟิร์มแวร์
เฟิร์มแวร์ของฉันอยู่บน 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 ของฉันสำหรับตัวอย่างรายการ กฎเกณฑ์ และไฟล์แผนผังเว็บไซต์
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม 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 เกียร์และการติดตั้ง
SONOFF เพิ่ม Alexa และ Google Home Voice Control ให้กับ ZigBee Smart Devices: 3 ขั้นตอน
SONOFF เพิ่ม Alexa และ Google Home Voice Control ให้กับ ZigBee Smart Devices: ตั้งแต่สวิตช์และปลั๊กอัจฉริยะ Wi-Fi ไปจนถึงสวิตช์และปลั๊กอัจฉริยะ ZigBee การควบคุมด้วยเสียงเป็นจุดเริ่มต้นการควบคุมแบบแฮนด์ฟรียอดนิยม ปลั๊กอัจฉริยะช่วยให้คุณควบคุมบ้านที่เชื่อมต่อได้โดยตรงผ่านการทำงานร่วมกับ Amazon Alexa หรือ Google Home
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: 3 ขั้นตอน
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: Story A beacon จะส่งสัญญาณอย่างต่อเนื่องเพื่อให้อุปกรณ์บลูทู ธ อื่น ๆ รู้ว่ามีอยู่ และฉันอยากได้บีคอนบลูทูธเพื่อติดตามกุญแจมาตลอด เพราะฉันลืมเอามันมาเหมือน 10 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร