Indholdsfortegnelse:
- Trin 1: Dele
- Trin 2: Hardware -samling
- Trin 3: Ledningsføring
- Trin 4: Installation af MicroPython
- Trin 5: Opsætning af netværk
- Trin 6: Installer hovedprogram
- Trin 7: Fremtidige forbedringer
Video: MicroPython IoT Rover Baseret på WEMOS D1 (ESP-8266EX): 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
** Opdatering: Jeg lagde en ny video til v2 med en lanse **
Jeg afholder Robotics -workshops for små børn, og jeg leder altid efter økonomiske platforme til at bygge spændende projekter. Selvom Arduino -kloner er billige, bruger den C/C ++ - sproget, som børn ikke kender. Det har heller ikke en indbygget WiFi, som er et must for IoT-projekter. På den anden side, mens Raspberry Pi har WIFI, og børn kan programmere det ved hjælp af Python, er det stadig en dyr platform at bare styre få GPIO -porte for at tænde og slukke enheder. Jeg har brug for noget imellem, der har både WIFI- og Python -kapacitet. Det ser ud til, at jeg fandt mit svar i MicroPython blinket på et billigt ESP8266-baseret kort.
Hvad er Micropython?
Ifølge sit websted er MicroPython en slank og effektiv implementering af Python 3 -programmeringssprog, der indeholder en lille delmængde af Python -standardbiblioteket, og det er optimeret til at køre på mikrokontrollere og i begrænsede omgivelser (f.eks. ESP8266). Det er hovedsageligt Python IDE på en chip. En stor fordel er, at du kan oprette kode og ændre den med det samme ved hjælp af en webbrowser-klient kaldet Webrepl. (Prøv at gøre det i Arduino.) Du kan også se sensordata i realtid på Webrepl i stedet for at stole på datalogning eller en LED-skærm i Arduino.
Hvad er ESP8266?
Kort sagt, tænk på det som en Arduino med indbygget netværkskapacitet. Du kan bruge Arduino IDE til at programmere ESP8266 -kort i C/C ++ eller du kan blinke det med NodeMCU eller MicroPython. I dette projekt blinker jeg MicroPython på et ESP8266 -kort.
Jeg besluttede at få en WEMOS D1, der er baseret på ESP8266-12EX til dette enkle projekt, hvor jeg skal navigere i en 2WD-bil ved hjælp af en webbrowser. Der er andre tavler, der er designet til MicroPython, men jeg ville have noget billigt, som jeg kunne smide, hvis det ikke opfyldte mine kriterier. Som forventet opfyldte det alle mine krav, og sandsynligvis vil jeg inkorporere WeMos og Micropython i fremtidige projekter.
Trin 1: Dele
- Wemos D1 eller andre ESP8266 -baserede tavler
- Motorskjold (jeg bruger en billig L293D fra AliExpress)
- Batteriholdere til 4 x AA og 9V (4 x AA batterier er til motorer og 9V til Wemos board)
- 2WD bilchassis
- Dupont kabler
Kan have brug for et loddejern, en skruetrækker og en limpistol for at sætte alt sammen.
Trin 2: Hardware -samling
Saml først chassiset i henhold til instruktionen.
Derefter varmlim andre komponenter som vist.
Motortråde skal loddes til motorterminalerne og bruge varm lim til at forstærke terminalforbindelserne.
Satte en lille kontakt på 4AA batteriholderen. Dette vil tænde/slukke for motorskærmen.
Trin 3: Ledningsføring
Følg mit ledningsdiagram som vist.
Wemos til Motor Shield:
D1 IN2
D2 IN1 D3 IN4 ** spring over D4 D5 IN3 GND -> GND
Motorskærm til motor/effekt:
En terminal -> Venstre motor
B -terminal -> Højre motor VCC -> Batteri (+) GND -> Batteri (-)
Trin 4: Installation af MicroPython
For det første har Wemos en seriel/USB -chip baseret på CH304G. Dette er den samme chip, der findes i billige Arduino-kloner, og du skal installere en ordentlig driver til Mac eller PC. Følg instruktionerne på dette websted for at installere driveren.
Slut Wemos til din computer, og bekræft, at din computer kunne registrere Wemos. Kør følgende kommando på Mac, og du vil se en enhed kaldet /dev/tty.wchusbserial640.
$ ls -lt /dev /tty* | hoved
crw-rw-rw- 1 rodhjul 17, 4. marts 2 23:31 /dev/tty.wchusbserial640
Hvis du er på pc, kan du bruge denne instruktionsbog som reference.
Dernæst skal du konfigurere Python 2 eller 3 på din computer, da flashværktøjet, esptool.py, er baseret på Python. Selvom MicroPython -guiden muligvis angiver, at værktøjet kun fungerer med Python 2.7, kunne jeg køre det i Python 3 uden problemer. Download den nyeste Python fra https://www.python.org, og følg installationsvejledningen til din pc eller Mac.
Endelig skal du installere MicroPython på Wemos. MicroPython -webstedet har en glimrende vejledning i, hvordan du konfigurerer MicroPython på ESP8266. Følg blot installationsvejledningen i Kom godt i gang med MicroPython på ESP8266.
Nedenfor er kommandoer, jeg brugte:
$ esptool.py --port /dev/tty.wchusbserial640 erase_flash
esptool.py v1.3 Tilslutter…. Kører Cesanta blinkerstub … Sletning af flash (dette kan tage et stykke tid) … Sletning tog 10,5 sekunder
$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108 -v1.8.7.bin
esptool.py v1.3 Tilslutter…. Kører Cesanta blinkerstub… Flashparametre indstillet til 0x0240 Skrev 589824 bytes ved 0x0 på 50,8 sekunder (92,8 kbit/s)… Forlader…
MicroPython er nu installeret på dit bord!
Trin 5: Opsætning af netværk
Mens MicroPython nu er installeret på dine Wemos, er det endnu ikke forbundet til dit netværk. Du skal først aktivere netværk. På Mac skal du udføre kommandoen SCREEN for at starte den serielle terminalsession til Wemos.
$ skærm /dev/tty.wchusbserial640 115200
Når du ser en tom skærm, skal du trykke på RETURN for at se en prompt:
>>
(Bemærk: For at afslutte skal du skrive CTRL-A CTRL-)
Lad os nu aktivere webklientadgang. Skriv "import webrepl_setup" for at køre installationsprogrammet. Indtast E for at aktivere WebREPL, og angiv derefter adgangskode. Genstart for at aktivere ændringer.
>> importer webrepl_setup
WebREPL-dæmon automatisk startstatus: deaktiveret Vil du (E) aktivere eller (D) aktivere, at den kører under opstart? (Tom linje for at afslutte)> E For at aktivere WebREPL skal du indstille adgangskode til den Ny adgangskode: xxxxx Bekræft adgangskode: xxxxx Ændringer aktiveres efter genstart Vil du genstarte nu? (y/n) y
Til sidst skal du downloade Webrepl -klienten til din maskine. Dette er valgfrit, men klienten kommer med andre nyttige værktøjer, som du måske vil bruge senere. For eksempel er webrepl_cli.py en kommando til at kopiere filer til Wemos i scp-lignende syntaks. Brug git til at downloade klienten. (Installer git -værktøjet, hvis du ikke har det endnu.)
git -klon
Åbn din webbrowser, og indtast placeringen af din downloadede webrepl -klientfilplacering i URL -feltet, f.eks.:
fil: ///Users/xxxxx/wemos/webrepl/webrepl.html
Dette skulle vise webrepl -klienten i din browser. Før du kan oprette forbindelse til det, skal du først oprette forbindelse til dets WIFi -adgangspunkt. Hvis du ser på tilgængelig WIFI til din computer, ser du, at et netværk starter med MicroPython-xxxx. Opret forbindelse til det netværk. (Advarsel: Når du opretter forbindelse til det netværk, mister du din internetadgang.)
Gå tilbage til din webrepl -klient, og klik på Opret forbindelse. Det skal bede om adgangskode. Indtast din Wemos -adgangskode, og du skal oprette forbindelse.
Velkommen til MicroPython!
Adgangskode: WebREPL tilsluttet >>>
Din Wemos kører stadig i AccessPoint -tilstand. Selvom dette er OK, foretrækker jeg, at det kører i Stationstilstand, hvor det opretter forbindelse til mit hjemlige WIFI, så min computer kunne få adgang til det via hjemmets WIFI og stadig har internetadgang. For at gøre det skal du oprette en fil kaldet boot.py med netværkskonfiguration og uploade den til Wemos.
Her er et eksempel på boot.py. Skift ssid og adgangskode til dit WIFI -hjemmenetværk. Jeg vil også give den en statisk IP på 192.168.0.32. Skift det til dit hjem WIFI's tilgængelige IP -adresse.
boot.py (du kan downloade det nedenunder)
import gc
import webrepl def do_connect (): import netværk sta_if = netværk. WLAN (netværk. STA_IF) hvis ikke sta_if.afbrudt (): print ('forbindelse til netværk …') sta_if.active (True) sta_if.ifconfig (('192.168. 0,32 ',' 255.255.255.0 ',' 192.168.0.1 ',' 192.168.0.1 ')) sta_if.connect (' ',' ') mens den ikke er sta_if.afbrudt (): pass print (' netværkskonfiguration: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()
Brug Webrepl -klientens "Send en fil" -formular til at sende din boot.py -fil til dine Wemos. Tryk på reset -knappen for at genstarte. Hvis du stadig er tilsluttet via USB ved hjælp af kommandoen SCREEN, ser du:
forbindelse til netværk … netværkskonfiguration: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL -dæmon startede på ws: //192.168.4.1: 8266 WebREPL -dæmon startede på ws: //192.168.0.32: 8266 Startet webrepl i normal tilstand kunne ikke åbne filen 'main.py' til læsning af MicroPython v1.8.7-7-gb5a1a20a3 den 2017-01-09; ESP -modul med ESP8266 Skriv "hjælp ()" for mere information. >>>
Dette validerer, at din Wemos er forbundet til dit WIFI i hjemmet ved hjælp af ipaddressen 192.168.0.32.
Du kan pinge den IP -adresse for at validere.
$ ping 192.168.0.32
PING 192.168.0.32 (192.168.0.32): 56 databyte
64 bytes fra 192.168.0.32: icmp_seq = 0 ttl = 255 time = 9.334 ms 64 bytes fra 192.168.0.32: icmp_seq = 1 ttl = 255 time = 11.071 ms..
Trin 6: Installer hovedprogram
Endelig skal du installere hovedprogrammet, der fortsat kører på dine Wemos.
Gå tilbage til din webbrowser, og kør webrepl -klientprogrammet. Skift ip -adressen til din Wemos 'IP -adresse. I mit tilfælde er det nu 192.168.0.32. Indtast din Wemos -adgangskode, og du skal nu have forbindelse til Wemos.
Lad os uploade det vedhæftede main.py -program. Download den vedhæftede fil til din computer. Klik på Vælg fil for at vælge den downloadede main.py og klik på Sendt til enhed.
Du skal trykke på Rest -knappen for at indlæse main.py -programmet. Efter at have trykket på knappen Nulstil, ser du:
opretter forbindelse til netværk …
netværkskonfiguration: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')
WebREPL -dæmon startede på ws: //192.168.4.1: 8266 WebREPL -dæmon startede på ws: //192.168.0.32: 8266 Startede webrepl i normal tilstand Lytning, tilslut din browser til …
Dette betyder, at dit main.py -program er aktiveret og vises til port 80.
For at teste skal du åbne din webbrowser og indtaste
Dette skal vise bilens kontrolskærm som vist i videoen. Hvis dine ledninger er tilsluttet korrekt, sender kontrolknapperne korrekte signaler til dine GPIO -porte for at flytte bilen.
Trin 7: Fremtidige forbedringer
Følgende gøremål er på min v2-liste:
- Brug PWM til at styre motorhastigheden
- Forbedre webinterface. Brug måske aREST -rammer. Jeg tror ikke, at aREST lib er tilgængelig på MicroPython i øjeblikket, så jeg skal muligvis hacke det.
Tak fordi du læste denne Instructable. Følg mig på Facebook, Youtube og Instructables til flere projekter i fremtiden.
Anbefalede:
Sådan laver du IoT -baseret hjemmeautomatisering med NodeMCU -sensorer Kontrollerelæ: 14 trin (med billeder)
Sådan laver du IoT-baseret hjemmeautomatisering med NodeMCU-sensorer Kontrollerelæ: I dette IoT-baserede projekt har jeg lavet hjemmeautomatisering med Blynk og NodeMCU-kontrolrelæmodul med feedback i realtid. I manuel tilstand kan dette relæmodul styres fra mobil eller smartphone og, manuel switch. I Auto Mode er denne smar
Lora Gateway baseret på MicroPython ESP32: 10 trin (med billeder)
Lora Gateway Baseret på MicroPython ESP32: Lora har været meget populær i de seneste år. Det trådløse kommunikationsmodul, der bruger denne teknologi, er normalt billigt (ved hjælp af frit spektrum), lille i størrelse, energieffektivt og har en lang kommunikationsafstand og bruges hovedsageligt til indbyrdes kommunikation
Arduino -baseret ikke -kontakt infrarødt termometer - IR -baseret termometer ved hjælp af Arduino: 4 trin
Arduino -baseret ikke -kontakt infrarødt termometer | IR -baseret termometer ved hjælp af Arduino: Hej fyre i denne instruktion vil vi lave et kontaktfrit termometer ved hjælp af arduino. Da nogle gange temperaturen på væsken/faststoffet er alt for høj eller for lav, og så er det svært at komme i kontakt med det og læse dets temperaturen derefter i den scene
Kom godt i gang med Esp 8266 Esp-01 Med Arduino IDE - Installation af Esp -plader i Arduino Ide og programmering af Esp: 4 trin
Kom godt i gang med Esp 8266 Esp-01 Med Arduino IDE | Installation af Esp-tavler i Arduino Ide og programmering af Esp: I denne instruktion lærer vi, hvordan du installerer esp8266-tavler i Arduino IDE, og hvordan du programmerer esp-01 og uploader kode i den. Da esp-tavler er så populære, så jeg tænkte på at rette en instruks til dette og de fleste mennesker står over for et problem
Sådan blinker MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch: 3 trin (med billeder)
Sådan flashes MicroPython -firmware på en ESP8266 -baseret Sonoff Smart Switch: Hvad er Sonoff? Sonoff er en enhedslinje til Smart Home udviklet af ITEAD. En af de mest fleksible og billige enheder fra denne linje er Sonoff Basic og Sonoff Dual. Disse er Wi-Fi-aktiverede switche baseret på en fantastisk chip, ESP8266. Mens