هذه شوكة من:https://github.com/pvvx/THB2 البرامج الثابتة المخصصة لأجهزة Tuya المستندة إلى مجموعة شرائح PHY622x2.
خطوات التثبيت موضحة أيضًا هنا: https://youtu.be/AD2KduDTjf8
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. البرنامج الثابت للتمهيد هو برنامج ذو وظائف منخفضة ويوفر تحديثات آمنة عبر الهواء.
بعد ذلك، باستخدام اتصال BLE في PHY62x2BTHome.html من خلال علامة التبويب OTA، يتم تسجيل برنامج التشغيل الرئيسي FW APP
.
FW APP
باستخدام محول USB-COM. تحتوي البرامج الثابتة للتمهيد على الحد الأدنى من الوظائف. يتم استخدام FW Boot
فقط للتنزيل عبر OTA الإصدار الكامل الميزات من FW APP
(ملفات .bin
).
جهاز | ملف التمهيد | ملف أوتا | وضع العلامات على لوحات الدوائر المطبوعة |
---|---|---|---|
1 بات تايلاندي | BOOT_THB1_v18.hex | THB1_v18.bin | لا |
2 بات تايلاندي | BOOT_THB2_v18.hex | THB2_v18.bin | لا |
3. بات تايلاندي | BOOT_THB2_v18.hex | THB2_v18.bin | لا |
BTH01 | BOOT_BTH01_v18.hex | BTH01_v18.bin | لا |
TH05_V1.4 | BOOT_TH05_v18.hex | TH05_v18.bin | TH05_V1.4، TH05_V1.5، TH05_V1.6 (الرقاقة: BL55028) |
TH05_V1.3 | BOOT_TH05D_v18.hex | TH05D_v18.bin | RSH-TH05-V1.3 (رقاقة: BL55072) |
TH05F | BOOT_TH05F_v18.hex | TH05F_v18.bin | TH05Y_V1.1، TH05Y_V1.2 (الرقاقة: QD01 2332 NT) |
توجد ملفات البرامج الثابتة الرئيسية، BOOT_XXX_vXX.hex (للبرمجة عبر محول USB-COM) وXXX_vXX.bin (لـ OTA)، في دليل bin.
توجد ملفات تحديث التمهيد عبر OTA في دليل update_boot. عملية تحديث التمهيد عبر OTA ليست آمنة. يرجى التحقق من مستوى البطارية قبل القيام بذلك. إذا كان التمهيد يعمل بشكل جيد، ليست هناك حاجة للتحديث إلى الإصدار الجديد. سيتم الإعلان عن الحاجة إلى استبدال التمهيد بإصدار جديد لاحقًا.
FW Boot' version is **v1.7** for devices with CHT8305 sensor. For other variants,
فإن FW boot' غير مطلوب من الإصدار v1.4 .
مع الإعدادات الافتراضية :
إصدار | وصف |
---|---|
1.0 |
|
1.1 |
|
1.2 |
|
1.3 |
|
1.4 |
|
1.5 |
|
1.6 |
|
1.7 |
|
1.8 بيتا |
|
من الممكن وميض الجهاز ببرنامج التمهيد عبر محول USB-COM بمخرجات 3.3 فولت.
محول | جهاز |
---|---|
أرض | -فبات |
+3.3 فولت | +فبات |
تكساس | RX1 |
آر إكس | TX1 |
آر تي إس | إعادة ضبط |
إذا لم يكن هناك دبوس RST على المحول، فقم باختصار دبوس RESET إلى GND (-Vbat) وافتحه بسرعة عند بدء البرنامج النصي (قد يستغرق الأمر بضع محاولات).
يمكن العثور على اسم الدبابيس الموجودة على الجهاز في الوصف على الروابط:
pip3 install -r requirements.txt
قم بتنزيل ملف BOOT_XXX_vXX.hex المطلوب للجهاز المحدد من دليل bin.
يجري:
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 لنوع جهاز معين من الروابط الموجودة في الجدول في بداية هذا الملف التمهيدي.
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
لا تدعم كافة محولات USB-COM سرعة 1 ميجابت. ثم قم بإزالة الخيار
-b 1000000
أو حدد معدل باود مختلف.
عنوان | وصف | مقاس |
---|---|---|
0x00000 | مدمج المستخدمة | 8 كيلو بايت |
0x02000 | معلومات التمهيد لROM | 4 كيلو بايت |
0x03000 | التمهيد FW مع وظيفة OTA | 52 كيلو بايت |
0x10000 | تطبيق مهاجم | 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" - الإصدار 1.5 FW APP
هناك طريقتان لفرض إعادة التشغيل لـ FW Boot
من FW APP
:
7233
في قائمة Service
لبرنامج PHY62x2BTHome.html.إعادة التشغيل الكاملة: أدخل الأمر
7201
في قائمةService
لبرنامج PHY62x2BTHome.html.
من خلال محول USB-UART، يمكن كتابة التطبيق مباشرة بعد التمهيد. على سبيل المثال:
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 مرة في الثانية.
إذا كانت جهة الاتصال تهتز، فمن المستحسن تحويل جهة الاتصال بمكثف.
عند الإغلاق أو الفتح، يتم إرسال مجموعة مكونة من 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.