Kazalo:
- 1. korak: Konfigurirajte Rapberry Pi
- 2. korak: ESP-01 povežite z Raspberry Pi
- 3. korak: Namestitev programske opreme (Python za upravljanje in Arduino IDE za programiranje)
Video: Flash ESP-01 (ESP8266) Brez USB-serijskega adapterja z uporabo Raspberry Pi: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:06
Ta navodila vas vodijo, kako začeti programirati svoj mikrokrmilnik ESP8266 na modulu WIFI ESP-01. Vse, kar potrebujete za začetek (seveda poleg modula ESP-01) je
- Malina Pi
- Mostične žice
- 10K upor
Želel sem prenoviti staro nočno svetilko v sodobno nočno svetilko LED, ki jo upravlja Alexa. Nič nenavadnega, samo vklop/izklop z glasovnim ukazom. Na spletu sem naročil najpreprostejši modul, rele in žico ESP-01 WIFI z LED-diodami in popolnoma pozabil naročiti USB-serijski adapter za programiranje mikrokrmilnika ESP8266. Ker pa sem imel Raspberry Pi in sta imela Raspberry Pi in ESP-01 ploščo UART zatiče, sem mislil, da lahko svoj RPi programiram ESP8266 brez adapterja.
1. korak: Konfigurirajte Rapberry Pi
Uporabil sem Raspberry Pi 3 Model B+, vendar bi morala navodila delovati na drugih različicah, zlasti na modelu B.
Torej, najprej - omogočiti moramo UART na Pi.
Pojdite na konfiguracijske nastavitve RPi. V terminalnem oknu zaženite
$ sudo raspi-config
Pojdite na 5 Možnosti vmesnika in izberite Serijsko P6. Nato ste vprašali Ali želite, da je prijavna lupina dostopna prek serijske? izberite, ker ne želimo uporabljati UART za zagon Pi brez glave, ampak za komunikacijo z drugimi napravami, zato se na naslednjem zaslonu ob vprašanju Ali želite omogočiti strojno opremo za serijska vrata? izberite. Znova zaženite Pi, kot je prikazano. UART bi moral biti zdaj omogočen za serijsko komunikacijo na RX in TX pin Raspberry Pi 3. Opomba: po tem bi se moral prikazati nov vnos enable_uart = 1 na koncu /boot/config.txt.
2. korak: ESP-01 povežite z Raspberry Pi
Zdaj se lotimo ožičenja vsega skupaj.
Najprej na napajalnih zatičih RPi 3.3V in GND (ozemljitev) označite napajalne mikrokrmilnike ESP8266, za prenos TXD (oddajanje) in RXD (sprejem) za komunikacijo ter dva zatiča za splošno uporabo za delovanje ESP8266 (zatiči, ki jih lahko nastavite visoko ali nizek). Poiščite razporeditev pin na pinout.xyz ali vnesite v terminal:
$ pinout
Drugič, identificirajte potrebne zatiče na ESP-01. Toda na začetku moramo razumeti zatiče ESP-01. Na internetu sem našel številne koristne vire, ki vam lahko pomagajo pri tem. Ta je najkrajši, ta pa daje toliko boljšo razlago. Na kratko: Obstaja 8 zatičev, potrebovali jih bomo 7, in sicer VCC napajalni in GND (zemeljski) zatiči za napajanje, TXD in RXD zatiči za komunikacijo ter RST (ponastavitev), CH_PD (Chip Power Down, včasih označeni) CH_EN ali omogočanje čipa) in GPIO0 za upravljanje modula. Običajno ESP8266 deluje v običajnem načinu, toda ko naložite kodo v ESP8266, mora biti v načinu bliskavice. Za običajen ali običajen način delovanja mora biti modul priključen na napajanje (očitno), pa tudi pin CH_PD mora biti povezan z VCC prek 10K (ta vrednost se razlikuje glede na različne vire, ugotovil sem vrednosti do 3K) izvlečenje upor pri zagonu. na drugi strani pa za vstop v utripajoči ali programski način morate ob zagonu ozemljiti pin GPIO0. Za preprečitev neomejenega pretoka toka prek GPIO0 pri ozemljitvi je priporočljivo, da GPIO0 priključite na ozemljitev preko nekega upora z nizkim uporom 300Ω - 470Ω (več o tem tukaj). Pin RST, kot že ime pove, ponastavi (ali znova zažene) MCU. Med normalnim delovanjem ga je mogoče priključiti na VCC prek 10K vlečnega upora, vendar ga je treba ozemljiti za ponastavitev mikrokrmilnika. Čeprav je vedno mogoče uporabiti fizične gumbe za ozemljitev nožic RST in GPIO0 (ali celo ročno povezovanje žic za simulacijo gumba), je veliko bolj prijetna izkušnja z uporabo zatičev Raspberry Pi za nastavitev visoke in nizke napetosti na modulih RST in GPIO0 zatiči. Potem tudi upori 10K in 470Ω niso potrebni.
Zdaj, ko se zavedamo posebnosti nožic ESP-01, lahko začnemo vse povezovati skupaj. Naslednjo tabelo lahko uporabite kot referenco skupaj z zgornjo risbo:
ESP-01 Raspberry Pi
- VCC (3.3V) pin #1 (3.3V)
- GND pin #6 (GND)
- TXD pin #10 (RXD / BCM 15)
- RXD pin #8 (TXD / BCM 14)
- CH_PD pin #1 (3.3V)
- RST pin 3 (BCM 2)
- GPIO 0 pin #5 (BMC 5)
VCC pin priključite zadnji. Primer, ko ste priključili VCC pin vašega modula Wi-Fi, se bo vklopil. Z zaslonom ali minicom preverite, ali lahko RPi in ESP8266 komunicirata prek UART (opomba: morda boste morali najprej namestiti zaslon ali minicom, saj se zdi, da nista privzeto nameščena na Raspbian).
Uporaba zaslona:
$ sudo screen /dev /serial0 115200
Uporaba minicom run:
$ sudo minicom -b 115200 -o -D /dev /serial0
Opomba: številni spletni viri predlagajo povezavo z ESP8266 na /dev /ttyAMA0, vendar to ne deluje pri RPi 3 ali novejši (vključno z nič W) v skladu z dokumentacijo RPi. Namesto tega se povežite prek /dev /serial0 ali /dev /ttyS0.
Ko vnesete zaslon ali minicom, uporabite ukaze AT za komunikacijo z ESP8266. Vnesite AT, pritisnite Enter in pritisnite Ctrl+J, da pošljete ukaz. V odgovor bi morali dobiti v redu. Seznam razpoložljivih ukazov AT najdete na espressiff.com ali pa tukaj.
Če so naprave fizično povezane in se med seboj pogovarjamo, se lahko lotimo programiranja zatičev RPi GPIO in na koncu samega ESP8266.
3. korak: Namestitev programske opreme (Python za upravljanje in Arduino IDE za programiranje)
DEL 1. Uporaba pythona za preklop načina ESP8266
Kot je navedeno zgoraj, je priročno uporabiti zatiče GPIO RPI za preklop načinov delovanja ESP8266. Napisal sem dve osnovni kodi python, ki sta ESP8266 postavili v običajen ali programski način.
Običajen način: Če želite mikrokrmilnik preklopiti v običajni način delovanja, ga moramo samo vklopiti in priključiti CH_PD prek vlečnega upora na VCC, vendar za preklop MCU iz programiranja v običajen način ga moramo ponastaviti (pomislite na ponovni zagon). Če želite to narediti na RPi, bomo na kratko izvlekli GPio RPi, priključen na pin RST na ESP-01 (privzeto je pin RPi, ki sem ga uporabil za ponastavitev, nastavljen na HIGH). Kako na kratko? Zame je to špekulativno vprašanje. Lahko poskusite z različnimi časovnimi intervali, vendar sem ugotovil, da 200 - 500 ms deluje v redu. V komentarje napišite, če imate boljšo predstavo. Kodo shranite kot reset.py
#!/usr/bin/python
uvoz RPi. GPIO kot GPIO čas uvoza GPIO.setmode (GPIO. BOARD) # nastavi identifikacijo GPIO s fizičnimi številkami pin PinPin = 3 # identificira fizični pin RPi, priključen na ESP8266 RST pin GPIO.setup (resetPin, GPIO. OUT) # set reset pin kot output GPIO.output (resetPin, GPIO. LOW) # padec napetosti na času pina RST.sleep (.2) # počakajte na.2 s GPIO.output (resetPin, GPIO. HIGH) # obnovite napetost na RST pin GPIO. cleanup () # ponastavitvenih zatičev na RPI za preprečitev prihodnjih opozoril med izvajanjem
-
Način programiranja: Če želite MCU preklopiti v način programiranja, moramo napajati ESP8266 z ozemljenim GPIO0 ali pa ga med zagonom ponastaviti in ozemljiti GPIO0 (spet natančno trajanje padcev napetosti mi ni povsem znano, zato ne bodite strogo strogi vodeni po uporabljenih vrednostih). Shranite kodo kot flash.py ali jo prenesite spodaj. Zaporedje dejanj je naslednje:
- povlecite zatič RST navzdol
- izvlecite zatič GPIO0
- povlecite zatič RST
- izvlecite zatič GPIO0
#!/usr/bin/python
uvoz RPi. GPIO kot GPIO čas uvoza GPIO.setmode (GPIO. BOARD) # nastavi identifikacijo GPIO s fizičnimi številkami pin PinPin = 3 # identificira fizični pin RPi, priključen na ESP8266 pin RST flashPin = 5 # identificira fizični pin RPi, priključen na pin ESP8266 GPIO0 GPIO.setup (resetPin, GPIO. sleep (.2) # potreba po tem čakanju je špekulativni izhod GPIO. (flashPin, GPIO. LOW) # napetost padca na času GPIO0.sleep (.2) # potreba po tem čakanju je špekulativni izhod GPIO. (resetPin, GPIO. HIGH) # zaženite zagon ESP8266 time.sleep (.5) # počakajte, da se ESP8266 zažene GPIO.ouput (flashPin. GPIO. HIGH) # obnovite napetost na GPIO pinGPIO.cleanup () # ponastavite nožice na RPI, da preprečite prihodnja opozorila med izvajanjem
V dovoljenjih za spreminjanje terminala:
$ sudo chmod +x flash.py
$ sudo chmod +x reset.py
Od zdaj naprej, ko morate vstopiti v način programiranja, ki se izvaja v terminalu:
$ python /flash.py
po nalaganju kode za vstop v običajni način delovanja zaženite:
$ python /reset.py
Na tej točki boste morda želeli posodobiti tudi vdelano programsko opremo ESP8266. Obstaja veliko spletnih vaj o tem, kako to storiti, zato se ne bom spuščal v podrobnosti, kako to storiti.
DEL 2. Nastavitev Arduino IDE
če že imate nameščen Arduino IDE, boste morda želeli pobrskati po razdelku in se prepričati, da je vaš IDE pripravljen za ESP8266.
Na Rapberry Pi lahko uporabite Arduino IDE za programiranje vašega ESP8266. IDE lahko namestite na RPi na dva načina:
- prek ukazne vrstice iz skladišč z uporabo apt-get install
- prenesite in namestite ročno iz arduino.cc.
Močno predlagam, da gremo po tej poti. Zdi se, da je različica IDE iz skladišč zastarela in zagotovo boste morali storiti več, preden boste pripravljeni na programiranje ESP8266. Da bi se izognili težavam, pojdite na stran za prenos Arduino.cc in prenesite različico Linux ARM. Nato raztegnite in namestite: Če je ime prenesene datoteke videti nekako takole arduino-X. Y. Z-linuxarm.tar.xz, v mapi za prenos zaženite:
$ tar -xvf arduino-X. Y. Z-linuxarm.tar.xz
To bi moralo razpakirati datoteko v mapo arduino-X. Y. Z. Zaženi:
$ sudo./arduino-X. Y. Z/install.sh
To bi moralo namestiti IDE. Ko je namestitev končana, zaženite IDE.
- V Arduino IDE pojdite na Datoteka> Nastavitve. Na dnu okna z nastavitvami poiščite »Dodatni URL -ji upravitelja plošč«. V polje »Dodatni URL -ji upravitelja upravnega odbora« vnesite https://arduino.esp8266.com/stable/package_esp8266com_index.json, kliknite gumb »V redu«.
- Pojdite v Orodja> Plošča: XXX> Upravitelj plošč. V oknu uporabite iskanje ali se pomaknite navzdol, izberite meni plošče ESP8266 in kliknite namesti. Počakajte, da se namestitev zaključi, in zaprite okno.
- Spet pojdite na Orodja> Plošča: XXX in poiščite plošče ESP8266. Izberite Splošni modul ESP8266.
Zdaj je IDE pripravljen za programiranje ESP8266. Vnesite ali prilepite želeno kodo v okno IDE in jo shranite. Kliknite Naloži. Na terminalu flash.py bi to moralo vašo ploščo preklopiti v način programiranja. Počakajte nekaj minut, da IDE dokonča sestavljanje in nalaganje (opomba: ESP-01 ima običajno 2 LED, modra LED bo utripala med nalaganjem kode) in zaženite reset.py. Zdaj je vaša plošča ESP-01 pripravljena za opravljanje nalog.
Priporočena:
Nastavitev Raspberry Pi 4 prek prenosnega računalnika/računalnika z uporabo Ethernetnega kabla (brez monitorja, brez Wi-Fi): 8 korakov
Nastavitev Raspberry Pi 4 prek prenosnega računalnika/računalnika z uporabo Ethernetnega kabla (brez monitorja, brez Wi-Fi-ja): Pri tem bomo za nastavitev delali z Raspberry Pi 4 Model-B z 1 Gb RAM-a. Raspberry-Pi je enosmerni računalnik, ki se uporablja za izobraževalne namene in DIY projekte po dostopni ceni, zahteva napajanje 5V 3A
Naredite si svoj lastni adapter za rock band Ekit (brez starejšega adapterja), nedestruktivno!: 10 korakov
Naredite svoj lastni vmesnik Ekit za rock band (brez starejšega adapterja), nedestruktivno !: Ko sem slišal, da je priljubljeni gostitelj podcasta omenil svojo zaskrbljenost zaradi umiranja svojega žičnega USB podedovanega adapterja, sem šel iskat DIY rešitev za priklop boljšega/eKit po meri na RB . Hvala gospodu DONINATORJU na Youtubeu, ki je posnel video s podrobnostmi o svojem podobnem
ESP8266 Omrežna ura brez RTC - Nodemcu NTP Ura brez RTC - PROJEKT INTERNETNE URE: 4 koraki
ESP8266 Omrežna ura brez RTC | Nodemcu NTP Ura brez RTC | PROJEKT INTERNETNE URE: V projektu bo izdelan projekt ure brez RTC, vzelo si bo čas za internet z uporabo WiFi in ga bo prikazal na zaslonu st7735
Pretvorite tipkovnico iz Din v Mini-Din brez adapterja: 5 korakov
Pretvorite tipkovnico iz Din v Mini-Din brez adapterja: Kaj torej storiti z dvema tipkovnicama, spajkalnikom in nekaj časa za izgubo med izpiti CS. Kaj pa presaditev kabla tipkovnice? Potrebujete: dve tipkovnici, ena starejša s priključkom DIN, druga novejša s priključkom mini DIN / PS2 spajkalnik
Hladilnik / stojalo za prenosni računalnik brez stroškov (brez lepila, brez vrtanja, brez matic in vijakov, brez vijakov): 3 koraki
Hladilnik / stojalo za prenosni računalnik z nič stroški (brez lepila, brez vrtanja, brez matic in vijakov, brez vijakov): UPDATE: PROSIM VELIKO GLASAJ ZA MOJE NAVODILNO, HVALA ^ _ ^ MOGOČE STE ZDRAVILI VPISITE NA www.instructables.com/id/Zero-Cost-Aluminium-Furnace-No-Propane-No-Glue-/ ALI MOŽDA GLASUJTE ZA NAJBOLJŠEGA PRIJATELJA