Orodha ya maudhui:
- Hatua ya 1: Sanidi Rapberry Pi
- Hatua ya 2: Unganisha ESP-01 kwa Raspberry Pi
- Hatua ya 3: Usanidi wa Programu (Python ya Kufanya kazi na Arduino IDE kwa Programu)
Video: Flash ESP-01 (ESP8266) Bila Adapter ya USB-kwa-serial Kutumia Raspberry Pi: Hatua 3
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Hii inakuelekeza juu ya jinsi ya kuanza kupanga programu yako ndogo ya ESP8266 kwenye moduli ya WIFI ya ESP-01. Wote unahitaji kuanza (kando na moduli ya ESP-01, kwa kweli) ni
- Pi ya Raspberry
- Waya za jumper
- Kinzani ya 10K
Nilitaka kukarabati taa ya zamani ya kitanda ndani ya taa ya kisasa ya usiku inayodhibitiwa na Alexa ya Alexa. Hakuna kitu cha kupendeza kuiwasha / kuzima kwa kutumia amri ya sauti. Niliamuru moduli rahisi zaidi ya ESP-01 ya WIFI, relay na waya na LED kwenye mtandao, na nikasahau kabisa kuagiza adapta ya USB-kwa-serial kupanga mpango mdogo wa ESP8266. Lakini kwa kuwa nilikuwa na Raspberry Pi na Raspberry Pi na bodi ya ESP-01 walikuwa na pini za UART, nilidhani ningeweza kutumia RPi yangu kupanga programu ya ESP8266 bila adapta.
Hatua ya 1: Sanidi Rapberry Pi
Nilitumia Raspberry Pi 3 Model B +, hata hivyo, maagizo yanapaswa kufanya kazi kwenye matoleo mengine, haswa kwenye mfano B.
Kwa hivyo, vitu vya kwanza kwanza - tunahitaji kuwezesha UART kwenye Pi.
Nenda kwa mipangilio ya usanidi wa RPi. Katika kukimbia kwa dirisha la terminal
$ sudo raspi-config
Nenda kwa Chaguzi 5 za Kuingiliana, kisha uchague P6 Serial. Wewe basi ulisababisha Je! Ungependa ganda la kuingia lipatikane kwa njia ya serial? chagua kwani hatutaki kutumia UART kuendesha Pi bila kichwa, lakini kuwasiliana na vifaa vingine, kwa hivyo kwenye skrini ifuatayo ulipoulizwa Je! ungependa vifaa vya bandari ya serial viwezeshwe? chagua. Anzisha tena Pi kama ilivyoamriwa. UART sasa inapaswa kuwezeshwa kwa Mawasiliano ya Serial kwenye RX na TX pini ya Raspberry Pi 3. Kumbuka: baada ya hii inapaswa kuonekana kuingia mpya kuwezesha_uart = 1 mwisho wa / boot/config.txt.
Hatua ya 2: Unganisha ESP-01 kwa Raspberry Pi
Sasa tunapata wiring kila kitu pamoja.
Kwanza, tambua kwenye RPi 3.3V yako ya nguvu na pini za GND (ardhi) kwa nguvu ESP8266 microcontroller, TXD (transmit) na RXD (pokea) pini za kuwasiliana, na pini mbili za kusudi la kutumia ESP8266 (pini ambazo zinaweza kuwekwa juu au chini). Tafuta mpangilio wa pini kwenye pinout.xyz au andika kwenye terminal:
$ pinout
Pili tambua pini zinazohitajika kwenye ESP-01. Lakini mwanzoni tunahitaji kuwa na uelewa wa pini za ESP-01. Nimepata rasilimali kadhaa zinazopatikana kwenye wavuti kukusaidia katika suala hilo. Huyu ni mfupi zaidi, wakati huyu anatoa maelezo bora zaidi. Kwa kifupi: Kuna pini 8, tutahitaji 7 kati yao, ambazo ni nguvu za VCC na pini za GND (ardhi) za nguvu, pini za TXD na RXD kwa mawasiliano, na RST (kuweka upya), CH_PD (Chip Power Down, wakati mwingine imeandikwa CH_EN au chip kuwezesha) na GPIO0 kuendesha moduli. Kawaida ESP8266 inafanya kazi katika hali ya kawaida, lakini wakati wa kupakia nambari kwa ESP8266 inaangalia kuwa katika hali ya flash. Kwa hali ya kawaida au ya kawaida ya moduli moduli inahitaji kushikamana na umeme (wazi), lakini pia pini CH_PD inapaswa kushikamana na VCC kupitia 10K (thamani hii inatofautiana katika njia tofauti, nimepata maadili hadi 3K) kuvuta kupinga kwenye buti. upande wa pili, ili kuingia katika hali ya kuwaka au ya programu unahitaji kuweka pini ya GPIO0 kwenye buti. Ili kuzuia mtiririko wa sasa usio na kizuizi kupitia GPIO0 wakati umewekwa inashauriwa unganisha GPIO0 ardhini kupitia kipinzani cha chini cha upinzani 300Ω - 470Ω (zaidi hapa). Pini ya RST kama jina linapendekeza kuweka upya (au kuanzisha upya) MCU. Wakati wa operesheni ya kawaida inaweza kushikamana na VCC kupitia kontena la kuvuta la 10K, lakini inapaswa kuwekwa msingi kuweka upya mdhibiti mdogo. Ingawa inawezekana kila wakati kutumia vifungo vya mwili kuweka pini za RST na GPIO0 (au hata waya kwa mkono kuiga kitufe), ni uzoefu wa kupendeza zaidi kutumia pini za Raspberry Pi kuweka voltage juu na chini kwenye moduli ya RST na GPIO0 pini. Pia hakuna haja katika vipinga 10K na 470Ω wakati huo.
Sasa tukijua upendeleo wa pini za ESP-01, tunaweza kuanza kuunganisha kila kitu pamoja. Unaweza kutumia jedwali lifuatalo kama kumbukumbu pamoja na mchoro hapo juu:
Pi ya Raspberry ya ESP-01
- Pini ya VCC (3.3V) # 1 (3.3V)
- Pini ya GND # 6 (GND)
- Pini ya TXD # 10 (RXD / BCM 15)
- Pini ya RXD # 8 (TXD / BCM 14)
- Pini ya CH_PD # 1 (3.3V)
- Siri ya RST # 3 (BCM 2)
- GPIO 0 pini # 5 (BMC 5)
Unganisha siri ya VCC mwisho. Mfano uliounganisha VCC kubandika moduli yako ya Wi-Fi itawashwa. Tumia skrini au minicom kuangalia ikiwa RPi na ESP8266 zinaweza kuwasiliana kwa kutumia UART (kumbuka: unaweza kuhitaji kusanikisha skrini au minicom kwanza, kwani hazionekani kusanikishwa kwa Raspbian kwa chaguo-msingi).
Kutumia run run:
$ sudo screen / dev / serial0 115200
Kutumia kukimbia kwa minicom:
$ sudo minicom -b 115200 -o -D / dev / serial0
Kumbuka: rasilimali nyingi mkondoni zinashauri kuunganishwa na ESP8266 kwenye / dev / ttyAMA0, lakini hii haifanyi kazi ya RPi 3 au baadaye (pamoja na sifuri W) kulingana na nyaraka za RPi. Unganisha kupitia / dev / serial0 badala yake au / dev / ttyS0.
Baada ya kuingia skrini au minicom, tumia maagizo ya AT kuwasiliana na ESP8266. Chapa AT, kisha bonyeza Enter kisha bonyeza Ctrl + J kutuma amri. Unapaswa kupata sawa kwa kujibu. Orodha ya amri zinazopatikana za AT zinaweza kupatikana kwenye espressiff.com au hapa tu.
Vifaa hivi vimeunganishwa kimwili na kuzungumza kwa kila mmoja tunaweza kupata programu ya pini za RPi GPIO na, mwishowe, ESP8266 yenyewe.
Hatua ya 3: Usanidi wa Programu (Python ya Kufanya kazi na Arduino IDE kwa Programu)
SEHEMU YA 1. Kutumia chatu kubadili njia za ESP8266
Kama ilivyoelezwa hapo juu ni rahisi kutumia pini za GPIO za RPI kubadili njia za operesheni za ESP8266. Niliandika nambari mbili za msingi za chatu ambazo zinaweka ESP8266 katika hali ya kawaida au ya programu.
Hali ya kawaida: Kuweka mdhibiti mdogo katika hali ya operesheni ya kawaida tunahitaji tu kuiweka nguvu na unganisha CH_PD kupitia kontena la kuvuta hadi VCC, lakini kubadili MCU kutoka kwa programu kwenda kwa hali ya kawaida tunahitaji kuiweka upya (fikiria kuanzisha upya). Ili kufanya hivyo kwenye RPi tutavuta kwa kifupi GPIO ya RPi iliyounganishwa na pini ya RST kwenye ESP-01 (kwa chaguo-msingi pini ya RPi niliyotumia kuweka upya imewekwa juu). Kwa muda mfupi? Kwangu hilo ni swali la kubahatisha. Unaweza kujaribu vipindi tofauti vya wakati, lakini nimeona kuwa 200 - 500 ms inafanya kazi vizuri. Andika kwenye maoni ikiwa una wazo bora. Hifadhi nambari yako kama reset.py
#! / usr / bin / chatu
kuagiza RPi. GPIO kama wakati wa kuingiza wa GPIO GPIO.setmode (GPIO. BOARD) # huweka kitambulisho cha GPIO kwa nambari za pini za mwili resetPin = 3 # tambua pini ya mwili ya RPi iliyounganishwa na ESP8266 RST pin GPIO.setup (resetPin, GPIO. OUT) # kuweka upya pini kama pato GPIO. kusafisha () # kuweka tena pini kwenye RPI kuzuia maonyo ya wakati wa kukimbia
-
Modi ya programu: Kuweka MCU katika hali ya programu tunahitaji kuwezesha ESP8266 na GPIO0 iliyowekwa msingi, au vinginevyo kuiweka upya na kuweka GPIO0 wakati wa kupiga kura (tena muda halisi wa matone ya voltage haijulikani kwangu, kwa hivyo usiwe mkali kuongozwa na maadili yaliyotumiwa). Hifadhi nambari kama flash.py au pakua hapa chini. Ufuatiliaji wa vitendo ni yafuatayo:
- vuta pini ya RST
- vuta pini ya GPIO0
- vuta pini ya RST
- vuta pini ya GPIO0
#! / usr / bin / chatu
kuagiza RPi. GPIO kama wakati wa kuingiza wa GPIO GPIO.setmode (GPIO. BOARD) # huweka kitambulisho cha GPIO kwa nambari za pini za mwili resetPin = 3 # tambua pini ya mwili ya RPi iliyounganishwa na ESP8266 RST pin flashPin = 5 # tambua pini ya mwili ya RPi iliyounganishwa na pini ya ESP8266 GPIO0 Kuweka GPIO.setup (resetPin, GPIO. OUT) lala (.2) # hitaji la kusubiri hii ni GPIO.pato la kukadiria (flashPin, GPIO. LOW) # voltage ya kushuka kwa saa ya GPIO0.) # anza kubatilisha muda wa ESP8266. lala (.5) # subiri ESP8266 kuwasha GPIO.ouput (flashPin. GPIO. HIGH) # rejesha voltage kwenye GPIO pinGPIO.cleanup () # kuweka pini kwenye RPI kuzuia maonyo ya wakati ujao wa kukimbia
Katika ruhusa za mabadiliko ya terminal:
$ sudo chmod + x flash.py
$ sudo chmod + x reset.py
Kuanzia sasa na kuendelea wakati wowote unahitaji kuingia katika hali ya programu kwenye terminal:
$ chatu / flash.py
baada ya kupakia nambari kuingiza hali ya kawaida ya operesheni:
$ chatu / upya.py
Kwa wakati huu unaweza pia kutaka kusasisha firmware ya ESP8266. Kuna mafunzo mengi mkondoni juu ya jinsi ya kufanya hivyo, kwa hivyo sitakuwa na maelezo juu ya jinsi ya kufanya hivyo.
SEHEMU YA 2. Kuanzisha Arduino IDE
ikiwa tayari unayo Arduino IDE iliyosanikishwa, bado unaweza kutaka kupitia sehemu hiyo kuhakikisha kuwa IDE yako iko tayari kwa ESP8266.
Kwenye Rapberry Pi unaweza kutumia Arduino IDE kupanga programu yako ya ESP8266. Kuna njia mbili za kusanikisha IDE kwenye RPi:
- kupitia laini ya amri kutoka kwa hazina kwa kutumia usakinishaji wa apt-get
- pakua na usakinishe mwenyewe kutoka arduino.cc.
Ninashauri sana kwenda njia ya mwisho. Toleo la IDE kutoka kwa hazina linaonekana kuwa limepitwa na wakati na hakika utalazimika kufanya zaidi kabla ya kuwa tayari kuanza programu ya ESP8266. Ili kuepuka shida, nenda kwenye ukurasa wa kupakua wa Arduino.cc na pakua toleo la Linux ARM. Ifuatayo shuka na usakinishe: Ikiwa jina la faili iliyopakuliwa linaonekana kama hii arduino-X. Y. Z-linuxarm.tar.xz, kwenye folda ya kupakua endesha:
$ tar -xvf arduino-X. Y. Z-linuxarm.tar.xz
Hii inapaswa kusumbua faili kwa folda ya arduino-X. Y. Z. Endesha:
$ sudo./arduino-X. Y. Z/install.sh
Hii inapaswa kusanikisha IDE. Baada ya usakinishaji kukamilika, anza IDE.
- Kutoka kwa IDE ya Arduino nenda kwenye Faili> Mapendeleo. Tafuta "URL za Meneja wa Bodi za Ziada" chini ya dirisha la upendeleo. Ingiza https://arduino.esp8266.com/stable/package_esp8266com_index.json kwenye sehemu ya "URL za Meneja wa Bodi za Ziada", bonyeza kitufe cha "OK".
- Nenda kwenye Zana> Bodi: XXX> Meneja wa Bodi. Katika utaftaji wa kutumia dirisha au tembeza chini, chagua menyu ya bodi ya ESP8266 na bonyeza bonyeza. Subiri usakinishaji ukamilishe na kufunga dirisha.
- Tena nenda kwenye Zana> Bodi: XXX na utafute bodi za ESP8266. Chagua Moduli ya Generic ESP8266.
Sasa IDE iko tayari kupanga programu ya ESP8266. Andika au ubandike nambari inayotakikana kwenye dirisha la IDE na uihifadhi. Bonyeza Pakia. Kutoka kwenye terminal run.py, hii inapaswa kuweka bodi yako katika hali ya programu. Subiri kwa dakika chache kwa IDE kumaliza kuandaa na kupakia (kumbuka: ESP-01 kawaida huja na LED mbili, LED ya hudhurungi itaangaza wakati nambari inapakiwa) na kukimbia reset.py. Sasa bodi yako ya ESP-01 iko tayari kutekeleza majukumu.
Ilipendekeza:
Tengeneza Kamba yako ya Ekit Adapter (bila Adapta ya Urithi), bila Ujenzi !: Hatua 10
Tengeneza Rock Rock yako mwenyewe Ekit Adapter (bila Adapta ya Urithi), Nondestructively!: Baada ya kusikia mwenyeji maarufu wa podcast kutaja wasiwasi wake juu ya adapta ya urithi wa USB inayokufa, nilienda kutafuta suluhisho la DIY ili kupata eKit bora / ya kawaida kwa RB . Shukrani kwa Bw DONINATOR kwenye Youtube ambaye alifanya video inayoelezea ukurasa wake kama huo
Uendeshaji wa Nyumba na ESP8266 WiFi Bila Kutumia Blynk!: Hatua 24 (na Picha)
Uendeshaji wa Nyumba na ESP8266 WiFi Bila Kutumia Blynk!: Kwanza, nataka ASANTE kila mtu kwa kunifanya niwe mshindi katika Mashindano ya Automation 2016 kwa hii INSTRUCTABLE. Kwa hivyo, kama nilivyokuahidi, hapa kuna maagizo ya kudhibiti vifaa vya nyumbani na moduli ya ESP8266 WiFi
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino - Nrf24l01 4 Channel / 6 Kituo cha Mpokeaji wa Kituo cha Quadcopter - Helikopta ya Rc - Ndege ya Rc Kutumia Arduino: Hatua 5 (na Picha)
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino | Nrf24l01 4 Channel / 6 Channel Transmitter kipokeaji cha Quadcopter | Helikopta ya Rc | Ndege ya Rc Kutumia Arduino: Kuendesha gari la Rc | Quadcopter | Drone | Ndege ya RC | Boti ya RC, siku zote tunahitaji kipokezi na mtumaji, tuseme kwa RC QUADCOPTER tunahitaji kipitishaji na mpokeaji wa kituo 6 na aina hiyo ya TX na RX ni ya gharama kubwa sana, kwa hivyo tutafanya moja kwenye yetu
Jinsi ya Kuunda Hifadhi ya USB ya Bootable bila Kutumia Programu yoyote: 3 Hatua
Jinsi ya Kuunda Hifadhi ya USB inayoweza kutolewa bila Kutumia Programu yoyote: Kuunda kiendesha bootable cha USB kwa mikono, tutatumia Amri ya Kuhamasisha kama programu chaguomsingi ya Windows. Hapa kuna hatua kwa hatua kuunda kiendeshi cha USB kama media ya usanidi wa Windows. Kuunda kiendeshi cha USB kinachoweza kusanikishwa kama usanikishaji wa Windows
Sanidi Raspberry Pi Kutumia Lishe Pi Bila Kufuatilia au Kinanda: Hatua 24
Sanidi Raspberry Pi Kutumia Lishe ya Pi bila Monitor au Kinanda: Hii inaweza kufundishwa. Tafadhali tumia: Usanidi wa DietPi NOOBS inahitaji mfuatiliaji, kibodi na panya, ambayo inaongeza ~ $ 60 (USD) au zaidi kwa gharama. Walakini, mara tu Wi-Fi inafanya kazi, vifaa hivi havihitajiki tena. Labda, DietPi itasaidia USB kwa ser