Πίνακας περιεχομένων:

Τρόπος αναβάθμισης υλικολογισμικού MicroPython σε έξυπνο διακόπτη Sonoff με βάση ESP8266: 3 βήματα (με εικόνες)
Τρόπος αναβάθμισης υλικολογισμικού MicroPython σε έξυπνο διακόπτη Sonoff με βάση ESP8266: 3 βήματα (με εικόνες)

Βίντεο: Τρόπος αναβάθμισης υλικολογισμικού MicroPython σε έξυπνο διακόπτη Sonoff με βάση ESP8266: 3 βήματα (με εικόνες)

Βίντεο: Τρόπος αναβάθμισης υλικολογισμικού MicroPython σε έξυπνο διακόπτη Sonoff με βάση ESP8266: 3 βήματα (με εικόνες)
Βίντεο: Ρύθμιση Captive Portal στο No1 εργαλείο για Wifi Hotspots..το Waver! 2024, Νοέμβριος
Anonim
Τρόπος αναβάθμισης υλικολογισμικού MicroPython σε έξυπνο διακόπτη Sonoff βασισμένο σε ESP8266
Τρόπος αναβάθμισης υλικολογισμικού MicroPython σε έξυπνο διακόπτη Sonoff βασισμένο σε ESP8266

Τι είναι ο Sonoff;

Το Sonoff είναι μια σειρά συσκευών για το Smart Home που αναπτύχθηκε από το ITEAD. Μία από τις πιο ευέλικτες και φθηνές συσκευές αυτής της σειράς είναι οι Sonoff Basic και Sonoff Dual. Αυτοί είναι διακόπτες με δυνατότητα Wi-Fi που βασίζονται σε ένα υπέροχο τσιπ, το ESP8266. Ενώ η υποδομή Sonoff μπορεί να λειτουργεί αρκετά καλά για τους βασικούς χρήστες, άλλοι μπορεί να θέλουν να εισβάλλουν σε αυτό το υλικό και να τρέχουν τον δικό τους κώδικα σε αυτό. Το υλικό των έξυπνων διακοπτών Sonoff είναι εκπληκτικό, λαμβάνοντας υπόψη τη χαμηλή τιμή του:

  • ESP8266 με φλας 1MB
  • Ενσωματωμένος προσαρμογέας ρεύματος 220V AC
  • Ρελέ 10Α (ή δύο σε Sonoff Dual)
  • Ενσωματωμένο LED (ή δύο σε Sonoff Dual)
  • Κουμπί εν πλω

Εάν θέλετε να έχετε τον πλήρη έλεγχο αυτού του υλικού χρησιμοποιώντας την αγαπημένη σας γλώσσα προγραμματισμού, αυτό το σεμινάριο είναι για εσάς.

Βήμα 1: Παραβίαση του υλικού

Παραβίαση του υλικού
Παραβίαση του υλικού
Παραβίαση του υλικού
Παραβίαση του υλικού
Παραβίαση του υλικού
Παραβίαση του υλικού

Το ESP8266 προγραμματίζεται μέσω της σειριακής θύρας. Τόσο το Sonoff Basic όσο και το Sonoff Dual το έχουν στο PCD.

Mayσως χρειαστεί να κολλήσετε μια κεφαλίδα καρφιτσών στο PCB για να συνδέσετε εύκολα έναν προσαρμογέα USB-UART.

Βήμα 2: Προετοιμασία για hacking του λογισμικού

Προετοιμασία για hacking του λογισμικού
Προετοιμασία για hacking του λογισμικού

Λατρεύω την Python, οπότε θα χρησιμοποιήσω το υλικολογισμικό MicroPython. Μπορείτε επίσης να χρησιμοποιήσετε οποιοδήποτε υποστηριζόμενο SDK. Ας συνεχίσουμε να αναβοσβήνουμε το MicroPython αντί του ιδιόκτητου υλικολογισμικού Sonoff:

Εγκαταστήστε το πακέτο esptool python που διευκολύνει το φλας του ESP8266:

pip εγκατάσταση esptool

Κάντε λήψη του πιο πρόσφατου σταθερού υλικολογισμικού MicroPython από τη σελίδα λήψεων του MicroPython. Συνδέστε έναν προσαρμογέα USB-UART στην πλακέτα. Για λόγους ασφαλείας, συνιστάται η τροφοδοσία της πλακέτας από τον προσαρμογέα αντί της πρίζας AC 220V. Σημειώστε ότι μπορείτε να χρησιμοποιήσετε μόνο 3.3V, εάν συνδέσετε το τσιπ ESP8266 σε πηγή ισχύος 5V, θα πεθάνει.

Εκκινήστε το ESP8266 στη λειτουργία φλας. Μπορείτε να το κάνετε τραβώντας προς τα κάτω τον ακροδέκτη GPIO0 ενώ ενεργοποιείτε τη συσκευή:

  • Στο Sonoff Basic, το GPIO0 είναι απλά το κουμπί. Συνδέστε τον προσαρμογέα USB-UART στον υπολογιστή σας ενώ κρατάτε πατημένο το κουμπί και βρίσκεστε στη λειτουργία Flash.
  • Στο 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

Mayσως χρειαστεί να εκτελέσετε το esptool.py ως υπερχρήστη για να αποκτήσετε πρόσβαση στη σειριακή θύρα.

Βήμα 3: Αναβοσβήνει

Αναβοσβήνει
Αναβοσβήνει

Εάν η διαγραφή ήταν επιτυχής, κόψτε την ισχύ της πλακέτας, εκκινήστε ξανά το ESP8266 στη λειτουργία Flash και αναβοσβήστε το υλικολογισμικό σας:

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = εντοπίστε 0 esp8266-20170823-v1.9.2.bin

Εάν το αναβοσβήσιμο ήταν επιτυχές, κόψτε την ισχύ της πλακέτας, συνδέστε την ξανά χωρίς να πατήσετε το κουμπί και ανοίξτε τη σειριακή θύρα σε έναν τερματικό. Σε Linux και Mac μπορείτε να χρησιμοποιήσετε την οθόνη /dev /ttyUSB0 115200 (αντικαταστήστε το /dev /ttyUSB0 για τη θύρα σας εάν απαιτείται), στα Windows μπορείτε να χρησιμοποιήσετε το PuTTY (ο προεπιλεγμένος ρυθμός baud είναι 115200). Μόλις συνδεθείτε, πατήστε Enter και αν δείτε τρεις γωνιακές αγκύλες του κελύφους Python, τότε όλα λειτουργούν!

>> >>> help () Καλώς ορίσατε στο MicroPython! Για διαδικτυακά έγγραφα, επισκεφθείτε τη διεύθυνση https://docs.micropython.org/en/latest/esp8266/. Για να συμπεριληφθούν διαγνωστικές πληροφορίες στις αναφορές σφαλμάτων, εκτελέστε το 'import port_diag'. Βασική διαμόρφωση WiFi: εισαγωγή δικτύου sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Σάρωση για διαθέσιμα σημεία πρόσβασης sta_if.connect ("", "") # Σύνδεση σε AP sta_if.isconnected () # Έλεγχος επιτυχούς σύνδεσης # Αλλαγή ονόματος/κωδικού πρόσβασης του AP ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, password = "") Εντολές ελέγχου: CTRL-A-σε κενή γραμμή, πληκτρολογήστε ακατέργαστη λειτουργία REPL CTRL- B-σε μια κενή γραμμή, εισαγάγετε την κανονική λειτουργία REPL CTRL-C-διακόψτε ένα πρόγραμμα που εκτελείται CTRL-D-σε μια κενή γραμμή, κάντε μια μαλακή επαναφορά του πίνακα CTRL-E-σε μια κενή γραμμή, εισαγάγετε επικόλληση λειτουργία Για περαιτέρω βοήθεια σε ένα συγκεκριμένο αντικείμενο, πληκτρολογήστε help (obj) >>>

Στο επόμενο εκπαιδευτικό, θα περιγράψουμε πώς να αλληλεπιδράσετε με την πλατφόρμα Cloud4RPi μέσω ενός πρωτοκόλλου MQTT.

Συνιστάται: