جدول المحتويات:

كيفية فلاش برنامج MicroPython الثابت على مفتاح Sonoff الذكي القائم على ESP8266: 3 خطوات (بالصور)
كيفية فلاش برنامج MicroPython الثابت على مفتاح Sonoff الذكي القائم على ESP8266: 3 خطوات (بالصور)

فيديو: كيفية فلاش برنامج MicroPython الثابت على مفتاح Sonoff الذكي القائم على ESP8266: 3 خطوات (بالصور)

فيديو: كيفية فلاش برنامج MicroPython الثابت على مفتاح Sonoff الذكي القائم على ESP8266: 3 خطوات (بالصور)
فيديو: Introduction to M5Stack Core2 ESP32 2" Display Development Module -Robojax 2024, شهر نوفمبر
Anonim
كيفية فلاش برنامج MicroPython الثابت على مفتاح Sonoff الذكي القائم على ESP8266
كيفية فلاش برنامج MicroPython الثابت على مفتاح Sonoff الذكي القائم على ESP8266

ما هو سونوف؟

Sonoff هو خط أجهزة للمنزل الذكي تم تطويره بواسطة ITEAD. يعد Sonoff Basic و Sonoff Dual أحد أكثر الأجهزة مرونة ورخيصة من هذا الخط. هذه مفاتيح تم تمكين Wi-Fi على أساس شريحة رائعة ، ESP8266. في حين أن البنية التحتية لـ Sonoff قد تعمل بشكل جيد للمستخدمين الأساسيين ، فقد يرغب الآخرون في اختراق تلك الأجهزة وتشغيل الكود الخاص بهم عليها. تعد أجهزة Sonoff Smart Switches مذهلة ، مع الأخذ في الاعتبار سعرها المنخفض:

  • ESP8266 مع فلاش 1 ميجا بايت
  • محول طاقة متكامل 220 فولت تيار متردد
  • 10A Relay (أو اثنان في Sonoff Dual)
  • LED على متن الطائرة (أو اثنان في Sonoff Dual)
  • زر على متن الطائرة

إذا كنت تريد التحكم الكامل في هذا الجهاز باستخدام لغة البرمجة المفضلة لديك ، فهذا البرنامج التعليمي يناسبك.

الخطوة 1: اختراق الأجهزة

قرصنة الأجهزة
قرصنة الأجهزة
قرصنة الأجهزة
قرصنة الأجهزة
قرصنة الأجهزة
قرصنة الأجهزة

تمت برمجة ESP8266 عبر المنفذ التسلسلي. يحتوي كل من Sonoff Basic و Sonoff Dual على PCD.

قد تحتاج إلى لحام رأس دبوس على PCB لتوصيل محول USB-UART بسهولة.

الخطوة الثانية: التحضير لاختراق البرنامج

التحضير لاختراق البرامج
التحضير لاختراق البرامج

أحب Python ، لذلك سأستخدم برنامج MicroPython الثابت. يمكنك أيضًا استخدام أي SDK مدعوم. دعنا ننتقل إلى وميض MicroPython بدلاً من البرامج الثابتة الخاصة بـ Sonoff:

قم بتثبيت حزمة esptool python التي تجعل وميض ESP8266 أسهل:

نقطة تثبيت esptool

قم بتنزيل أحدث البرامج الثابتة MicroPython من صفحة تنزيلات MicroPython. قم بتوصيل محول USB-UART باللوحة. للسلامة ، يوصى بتشغيل اللوحة من المحول بدلاً من مقبس التيار المتردد 220 فولت. لاحظ أنه يمكنك استخدام 3.3 فولت فقط ، إذا قمت بتوصيل شريحة ESP8266 بمصدر طاقة 5 فولت ، فسوف تموت.

قم بتشغيل ESP8266 في وضع الفلاش. يمكنك القيام بذلك عن طريق سحب دبوس GPIO0 لأسفل أثناء تشغيل الجهاز:

  • في Sonoff Basic ، يكون GPIO0 هو الزر ببساطة. قم بتوصيل محول USB-UART بجهاز الكمبيوتر الخاص بك أثناء الضغط على الزر وأنت في وضع الفلاش.
  • على Sonoff Dual ، الأمور أصعب قليلاً. تحتاج إلى ماس كهربائى لوحتين على PCB أثناء تشغيل اللوحة. الوسادات المطلوبة موضحة في الصورة أعلاه. استخدم ملاقطًا أو اسلك سلكًا صغيرًا بينهما.

عندما يكون ESP8266 في وضع الفلاش ، يجب ألا يومض مؤشر LED الخاص باللوحة.

تأكد من أنه يمكنك الوصول إلى المنفذ التسلسلي المفتوح بواسطة محول USB-UART. على نظام Linux ، من المحتمل أن يكون / dev / ttyUSB0 ، وفي نظام Mac ، يجب أن تبحث عن شيء مثل "usbserial" أو "usbmodem" في ls / dev / cu. * أو ls / dev / tty. * ، على Windows يجب أن يكون COM3 أو أعلى. قم بتثبيت برامج تشغيل محول USB-UART إذا لزم الأمر.

امسح الفلاش باستخدام أداة esptool. استبدل / dev / ttyUSB0 لمنفذك إذا لزم الأمر:

esptool.py --port / dev / ttyUSB0 erase_flash

قد تحتاج إلى تشغيل esptool.py كمستخدم متميز للوصول إلى المنفذ التسلسلي.

الخطوة 3: الوميض

وامض
وامض

إذا نجحت عملية المسح ، فقم بقطع طاقة اللوحة ، وقم بتشغيل ESP8266 في وضع الفلاش مرة أخرى ، ثم قم بوميض البرنامج الثابت الخاص بك:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash --flash_size = اكتشاف 0 esp8266-20170823-v1.9.2.bin

إذا كان الوميض ناجحًا ، فقم بقطع طاقة اللوحة ، وقم بتوصيلها مرة أخرى دون الضغط على الزر ، وافتح المنفذ التسلسلي في الجهاز. في نظامي Linux و Mac ، يمكنك استخدام screen / dev / ttyUSB0 115200 (استبدل / dev / ttyUSB0 لمنفذك إذا لزم الأمر) ، في نظام التشغيل Windows ، يمكنك استخدام PuTTY (معدل الباود الافتراضي هو 115200). بمجرد الاتصال ، اضغط على Enter ، وإذا رأيت ثلاثة أقواس زاوية من Python shell ، فكل شيء يعمل!

>> >>> help () مرحبًا بك في MicroPython! للحصول على مستندات عبر الإنترنت ، يرجى زيارة https://docs.micropython.org/en/latest/esp8266/. لتضمين معلومات التشخيص في تقارير الأخطاء ، قم بتنفيذ "استيراد port_diag". التكوين الأساسي لشبكة WiFi: استيراد شبكة sta_if = network. WLAN (network. STA_IF) ؛ sta_if.active (صواب) sta_if.scan () # ابحث عن نقاط الوصول المتاحة sta_if.connect (""، "") # الاتصال بـ AP sta_if.isconnected () # تحقق من الاتصال الناجح # تغيير اسم / كلمة مرور ESP8266 AP: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = ""، authmode = network. AUTH_WPA_WPA2_PSK، password = "") أوامر التحكم: CTRL-A - في سطر فارغ ، أدخل وضع REPL الأولي CTRL- ب - في سطر فارغ ، أدخل وضع REPL العادي CTRL-C - مقاطعة برنامج قيد التشغيل CTRL-D - على سطر فارغ ، قم بإجراء إعادة ضبط بسيطة للوحة CTRL-E - في سطر فارغ ، أدخل لصق الوضع لمزيد من التعليمات حول كائن معين ، اكتب help (obj) >>>

في التعليمات التالية ، سنصف كيفية التفاعل مع النظام الأساسي Cloud4RPi عبر بروتوكول MQTT.

موصى به: