เฟิร์มแวร์ที่กำหนดเองสำหรับอุปกรณ์ Tuya ที่ใช้ชิปเซ็ต PHY622x2
1 บาท | 2 บาท | 3 บาท | BTH01 | TH05_V1.3 | TH05_V1.4 | TH05F |
---|---|---|---|---|---|---|
เฟิร์มแวร์นี้ทำงานร่วมกับ Home Assistant และซอฟต์แวร์อื่นๆ ที่ทำงานในรูปแบบ BTHome
เฟิร์มแวร์ทั้งหมดรองรับเซ็นเซอร์เหล่านี้: CHT8215 (CHT8310), CHT8305, AHT20..30
ซอฟต์แวร์สำหรับตั้งค่าและสร้าง BLE OTA: PHY62x2BTHome.html
การอัปโหลดไฟล์ OTA ไปยัง PHY62x2BTHome.html จะเป็นไปโดยอัตโนมัติ คุณไม่จำเป็นต้องดาวน์โหลดไฟล์จากพื้นที่เก็บข้อมูลนี้สำหรับ OTA
หากต้องการเรียกใช้ PHY62x2BTHome.html แบบออฟไลน์ เพียงคัดลอกไฟล์ html ไปยังโฟลเดอร์ในเครื่อง
ในการทำงานกับอุปกรณ์คุณต้องเขียนเฟิร์มแวร์ FW Boot
ลงในอุปกรณ์ผ่านอะแดปเตอร์ USB-COM เฟิร์มแวร์สำหรับบูตเป็นโปรแกรมที่มีฟังก์ชันการทำงานลดลงและให้การอัปเดต OTA ที่ปลอดภัย
ถัดไป โดยใช้การเชื่อมต่อ BLE ใน PHY62x2BTHome.html ผ่านแท็บ OTA โปรแกรมการทำงานหลักของ FW APP
จะถูกบันทึก
FW APP
สามารถบันทึกได้โดยใช้อะแดปเตอร์ USB-COM เฟิร์มแวร์การบูตมีฟังก์ชันขั้นต่ำ FW Boot
ใช้สำหรับการดาวน์โหลดผ่าน OTA ซึ่งเป็นไฟล์ FW APP
เวอร์ชันเต็ม (ไฟล์ .bin
) เท่านั้น
อุปกรณ์ | ไฟล์บูต | ไฟล์ OTA | การติดฉลากแผงวงจรพิมพ์ |
---|---|---|---|
1 บาท | BOOT_THB1_v19.hex | THB1_v19.bin | เลขที่ |
2 บาท | BOOT_THB2_v19.hex | THB2_v19.bin | เลขที่ |
3 บาท | BOOT_THB2_v19.hex | THB2_v19.bin | เลขที่ |
BTH01 | BOOT_BTH01_v19.hex | BTH01_v19.bin | เลขที่ |
TH05_V1.4 | BOOT_TH05_v19.hex | TH05_v19.bin | TH05_V1.4, TH05_V1.5, TH05_V1.6 (ชิป: BL55028) |
TH05_V1.3 | BOOT_TH05D_v19.hex | TH05D_v19.bin | RSH-TH05-V1.3 (ชิป: BL55072) |
TH05F | BOOT_TH05F_v19.hex | TH05F_v19.bin | TH05Y_V1.1, TH05Y_V1.2 (ชิป: QD01 2332 NT) |
ไฟล์เฟิร์มแวร์หลัก BOOT_XXX_vXX.hex (สำหรับการเขียนโปรแกรมผ่านอะแดปเตอร์ USB-COM) และ XXX_vXX.bin (สำหรับ OTA) อยู่ในไดเร็กทอรี bin
ไฟล์สำหรับการอัพเดตการบูตผ่าน OTA จะอยู่ในไดเร็กทอรี update_boot -
เวอร์ชัน `FW Boot' ปัจจุบันคือ v1.9 สำหรับอุปกรณ์ทั้งหมด (แก้ไขข้อผิดพลาด)
เฟิร์มแวร์ | เซ็นเซอร์ SDA/SCL/กำลัง | จอแอลซีดี SDA/SCL/กำลังไฟ | สำคัญ | นำ | TRG(เท็กซัส) | ใน(RX) |
---|---|---|---|---|---|---|
1 บาท | P18/P20/- | P34/P33/- | หน้า01 | - | P09 | หน้า 10 |
2 บาท | P18/P20/- | - | หน้า07 | หน้า 26 | หน้า 20 | หน้า 18 |
3 บาท | P18/P20/- | P34/P33/- | หน้า01 | - | P09 | หน้า 10 |
BTH01 | P33/P34/P00 | - | หน้า 14 | หน้า 15 | หน้า 20 | หน้า 18 |
TH05 | P33/P34/P00 | P33/P34/P02 | หน้า 14 | - | หน้า 20 | หน้า 18 |
TH05D | P31/P32/- | P11/P14/- | หน้า02 | - | P09 | หน้า 10 |
TH05F | P33/P34/P00 | P26/P31/P02 | หน้า 14 | - | หน้า 20 | หน้า 18 |
ด้วยการตั้งค่าเริ่มต้น :
เวอร์ชัน | คำอธิบาย |
---|---|
1.0 |
|
1.1 |
|
1.2 |
|
1.3 |
|
1.4 |
|
1.5 |
|
1.6 |
|
1.7 |
|
1.8 |
|
1.9 |
|
สามารถแฟลชอุปกรณ์ด้วยโปรแกรม Boot ผ่านอะแดปเตอร์ USB-COM ที่มีเอาต์พุต 3.3V
อะแดปเตอร์ | อุปกรณ์ |
---|---|
จีเอ็นดี | -Vbat |
+3.3V | +Vbat |
เท็กซัส | RX1 |
รับ | เท็กซัส1 |
เรียลไทม์ | รีเซ็ต |
หากไม่มีพิน RST บนอะแดปเตอร์ ให้ย่อพิน RESET ไปที่ GND (-Vbat) แล้วเปิดอย่างรวดเร็วเมื่อสคริปต์เริ่มทำงาน (อาจต้องลองสองสามครั้ง)
ชื่อของพินบนอุปกรณ์สามารถดูได้จากคำอธิบายที่ลิงค์:
pip3 install -r requirements.txt
ดาวน์โหลดไฟล์ BOOT_XXX_vXX.hex ที่จำเป็นสำหรับอุปกรณ์เฉพาะจากไดเร็กทอรีถังขยะ
วิ่ง:
python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_XXX_vXX.hex
การบูตกะพริบเสร็จสมบูรณ์ อุปกรณ์กำลังทำงานอยู่และสามารถถอดอะแดปเตอร์ออกได้
ดาวน์โหลดเฟิร์มแวร์เวอร์ชันเต็มผ่าน OTA เมื่อต้องการทำสิ่งนี้:
Connect
ค้นหาอุปกรณ์ และเชื่อมต่อOTA
เลือกเฟิร์มแวร์ที่ต้องการ ( .bin
) แล้วคลิก Start
อุปกรณ์ควรรีบูตและพร้อมใช้งาน
ไม่จำเป็น:
- หากต้องการล้างแฟลชทั้งหมดล่วงหน้า ให้ใช้ตัวเลือก
-a
- หากต้องการล้างพื้นที่ทำงานแฟลชล่วงหน้า ให้ใช้ตัวเลือก
-e
- ด้วยอะแดปเตอร์ USB-COM คุณสามารถเขียนเฟิร์มแวร์หลัก (APP) ได้ทันที:
python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 XXX_vXX.bin
python3 rdwr_phy62x2.py -p COM11 -r rc 0x11000000 0x80000 ff_thb2.bin
สามารถรับเฟิร์มแวร์ Tuya ดั้งเดิมสำหรับอุปกรณ์ประเภทใดประเภทหนึ่งได้จากลิงก์ในตารางที่ตอนต้นของ README นี้
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
อะแดปเตอร์ USB-COM บางตัวไม่รองรับ 1Mbit จากนั้นลบตัวเลือก
-b 1000000
หรือเลือกอัตรารับส่งข้อมูลอื่น
ที่อยู่ | คำอธิบาย | ขนาด |
---|---|---|
0x00000 | รอมที่ใช้ | 8 กิโลไบต์ |
0x02000 | ข้อมูลการบูตสำหรับ ROM | 4 กิโลไบต์ |
0x03000 | FW Boot พร้อมฟังก์ชัน OTA | 52 กิโลไบต์ |
0x10000 | แอพ FW | 128 กิโลไบต์ |
0x30000 | การบันทึกประวัติศาสตร์ | 304 กิโลไบต์ |
0x7C000 | บันทึกการตั้งค่า (EEP) | 16 กิโลไบต์ |
FW Boot
มีฟังก์ชัน OTA แต่ไม่มีฟังก์ชันประวัติหรือส่วนเสริมอื่นๆ ใช้เพื่อจัดการ OTA สำหรับการอัปเดตที่ล้มเหลวหรือไม่ถูกต้อง
FW APP
ไม่มีฟังก์ชัน OTA สำหรับ OTA จะรีบูตเป็น FW Boot
มีคุณสมบัติและส่วนขยายเพิ่มเติม
การทำงานของปุ่มเมื่อเปิดอุปกรณ์:
หากกดปุ่มเมื่อเริ่มต้น FW Boot
จะเริ่มทำงานเสมอ
หากไม่ได้กดปุ่ม รายการ FW APP
จะถูกตรวจสอบหรือไม่ หากมี FW APP
ก็เปิด FW APP
หากไม่มี FW APP
FW Boot
จะถูกเปิดใช้งาน
บนเทอร์โมมิเตอร์ที่มีหน้าจอ หากไม่ได้เปิดการแสดงเวลา ในระหว่างการเริ่มต้นหรือรีสตาร์ท ข้อมูลต่อไปนี้จะปรากฏขึ้นในช่วงเวลาสั้นๆ:
"Bot 14" - FW Boot
เวอร์ชัน 1.4
"แอป 15" - FW APP
เวอร์ชัน 1.5
มีสองวิธีในการบังคับให้รีบูตเป็น FW Boot
จาก FW APP
:
7233
ในเมนู Service
ของโปรแกรม PHY62x2BTHome.htmlรีบูตให้เสร็จสมบูรณ์: ป้อนคำสั่ง
7201
ในเมนูService
ของโปรแกรม PHY62x2BTHome.html
ผ่านอะแดปเตอร์ USB-UART สามารถเขียน APP ได้ทันทีหลังจากบูต ตัวอย่างเช่น:
python3 rdwr_phy62x2.py -p COM11 -e wh ./bin/BOOT_TH05V13_v13.hex
python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin
ตั้งแต่เวอร์ชัน 1.2 รองรับการสำรวจพินที่เชื่อมต่อกับสวิตช์กกหรือหน้าสัมผัสที่ลัดวงจรไปที่ GND
ความถี่ในการสลับสูงสุดคือ 100 ครั้งต่อวินาที
หากหน้าสัมผัสมีเสียงดังแนะนำให้แบ่งหน้าสัมผัสด้วยตัวเก็บประจุ
เมื่อปิดหรือเปิด บล็อกโฆษณา BLE 5 รายการจะถูกส่งต่อกันหลังจากช่วงระยะเวลา 50 มิลลิวินาที
ในแต่ละกิจกรรม "เปิด" จะมีการเพิ่มตัวนับ
ค่าตัวนับจะถูกส่งไปพร้อมกับแต่ละเหตุการณ์ "เปิด/ปิด"
หน้าสัมผัสอินพุตบนบอร์ดเทอร์โมมิเตอร์:
RX
RX
RX
RX2
RX0
RX2
หน้าสัมผัสบนแผงวงจรพิมพ์ที่มีป้ายกำกับ "TX" หรือ "TX2" จะถูกควบคุมด้วยอุณหภูมิและความชื้นที่ตั้งไว้ฮิสเทรีซีส สามารถสลับไปใช้การควบคุมเอาต์พุตแบบผกผันได้
การตั้งค่าทำในโปรแกรม PHY62x2BTHome.html
การทำงานของเอาต์พุตถูกกำหนดโดยการตั้งค่าฮิสเทรีซิส:
หากต้องการรีเซ็ตพารามิเตอร์พื้นฐานเป็นค่าเริ่มต้น ให้ใช้สมาร์ทโฟน Android และแอป "nRFConnect" เชื่อมต่อกับอุปกรณ์และในบริการ 0xFCD2
พร้อมคุณสมบัติ 0xFFF4
เขียน 56
หากช่วงเวลามากกว่า 10 วินาที ระบบจะตั้งค่าเป็น 10 วินาที เนื่องจากเป็นค่าสูงสุดในมาตรฐาน การตั้งค่าอื่นๆ ก็เช่นกัน อย่างไรก็ตาม อะแดปเตอร์ BT บางรุ่นอาจไม่สามารถทำงานได้โดยมีช่วงเวลาการเชื่อมต่อ 10 วินาที
GNU Arm Embedded Toolchain ใช้เพื่อสร้างเฟิร์มแวร์
หากต้องการทำงานใน Eclipse ให้ใช้การนำเข้าโปรเจ็กต์และติดตั้ง toolchain.path
ดูสิ่งนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชิป PHY62xx