WiFi moodul ESP8266 ESP07 koduautomaatika jaoks. WiFi ESP8266 on uus samm juhtmevaba liidesega koduseadmete disainis. Järeldused ESP8266 kohta


Miniatuursed WiFi-moodulid ESP8266 on süsteemide jaoks üsna atraktiivsed tark kodu Ja koduautomaatika. Neid nimetatakse ka "NRF24L01 tapjateks".
Tellisin endale hilisemad modifikatsioonid ESP07 ja ESP12, mis on erinevad väiksemad suurused Ja suur hulk tuletatud GPIO-d, mis ei nõua nendes täiendavate I/O-portide kasutamiseks "häkkimist".

Need moodulid töötati välja Hiina ettevõte

Tehnilised andmed:

  • WI-FI: 802.11 b/g/n koos WEP, WPA, WPA2.
  • Töörežiimid: klient (STA), pääsupunkt (AP), klient+pääsupunkt (STA+AP).
  • Toitepinge 1,7...3,6 V.
  • Voolutarve: kuni 215mA sõltuvalt töörežiimist.
  • GPIO-de arv: 16.
  • Välkmälu maht 512kb.
  • Andmemälu 80 kB
  • RAM-i juhised - 32 kb.
ESP8266 moodulite modifikatsioonidest

Moodulid tellisin jaanuaris.
Hind - 3,78 dollarit, - 4,24 dollarit. Ostsin selle preemiaks artikli arvustuse eest. Saabus suletud kottides 31 päevaga







ESP8266 ESP-07




ESP8266 ESP-12




Mooduli taaselustamine võttis päris kaua aega
Selleks peate sellele rakendama 3,3 V. Lisaks ei võta USB/UART-muundurite stabilisaatorid sellest moodulist voolu, seega on vaja välist toidet.

RXD, TXD ja GND on arvutiga ühendatud.

Selle tulemusena panin leivaplaadile kokku järgmise vooluringi:

Siin puutusin kohe kokku järgmise raskusega - ESP07 aukude samm on 2 mm, mitte 2,5 nagu Arduinos ja mujal kasutatavatel pin pistikutel.
Pidin leivalaua külge juhtmeid jootma





Kohe tõin maa peale RESET nupu ja GPIO0 hüppaja, mis lülitab mooduli püsivara allalaadimise režiimi. Ja lülitasin mooduli toite läbi

Peale seda käivitasin programmi CollTerm ja sain mooduli kutse kiirusel 9600.
Käsk AT+GMR väljastati 0020000904 (SDK versioon – 0020, AT versioon – 0904)


Neile, kes on AT käskudega tegelemiseks liiga laisad, nagu mina, on olemas tööriist, mis võimaldab seda kõike konfigureerida.

Tegin püsivara. Sest see programm töötab ainult COM1-COM6-ga, pidin seadmehalduris muutma oma COM33 USB/UART-muunduri asemel COM6-ks.

Järgmisena pole püsivara installimine keeruline: avage port ja ühendage. Kiirus valitakse automaatselt. Peaasi, et ärge unustage GPIO0 maandusega ühendamast (mul on selleks spetsiaalne hüppaja). Kiirus valitakse automaatselt. Mõnikord ei õnnestunud ühendust luua. Aitas ühenduse ajal RESET nupu vajutamine.



Nüüd saate mooduliga ühenduse luua
Selles programmis saate laadida ESP-sse LUA tõlgi faile, täita nii selle tõlgi üksikuid käske kui ka skripte.


Suutsin käivitada GPIO2 ja GPIO0-ga ühendatud rõhu/temperatuuri mooduli BMP180

Selleks laadisin GITHUBist püsivaraga kaasas olnud valmismoodulitest alla faili bmp180.lua
Ja siis käivitati ESP8266 alglaadimisel fail init.lau
tmr.alarm(1, 5000, 1, function() print("ip: ",wifi.sta.getip()) bmp180 = nõuda("bmp180") bmp180.init(4, 3) tmr.stop(1) -- äratuse peatamise lõpp)

Programmi käivitamine ilma taimerit viivitamata andis tulemuseks muutumatu vea.
Pärast taaskäivitamist kood
bmp180.read(OSS) t = bmp180.getTemperature() p = bmp180.getPressure() -- temperatuur Celsiuse kraadides ja Farenheiti print("Temperatuur: "..(t/10).." C") -- rõhk in differents units print ("Rõhk: "..(p * 75 / 10000).." mmHg")

Sisestage konsoolile praegune rõhk ja temperatuur.

Kuid ma ei saanud hakata neid parameetreid veebiserveri režiimis väljastama. See kõik on seotud mälu puudumisega. Veebiserver ja BMP180 töötasid eraldi, kuid koos jooksid kokku
PAANIKA: kaitsmata viga Lua API kõnes (viga mooduli "bmp180" laadimisel failist "bmp180.lua": mitte piisavalt mälu)
Või kukkusid LUA koodijupid lihtsalt konsooli.

Lennult kaasajastada ei saanud.

Minu edasine tee oli luua oma püsivara patenteeritud SDK-le, näiteks . Aga see on teine ​​lugu. Ütlen lihtsalt, et püsivara koostati probleemideta, kuid õnnetut BMP180 ei olnud võimalik käivitada.

järeldused

  • ESP8266 moodulid on väga odavad lahendused targa kodu võrgu ja muu koduautomaatika ehitamiseks WiFi abil
  • Need moodulid sobivad üsna hästi NRF24L01+ asendamiseks koos Arduino ja teiste "populaarsete" kontrolleritega.
  • Sõltumatu kontrollerina töötamiseks on ESP8266-l vähe ressursse ja üsna töötlemata püsivara
  • ESP-moodulite programmeerimine on üsna töömahukas protsess, mis võib algajatele hirmutada
  • Üldiselt on ESP8266 paljutõotav. Ootan püsivara ja arendustööriistade väljatöötamist, kuid praegu kasutan neid koos teiste kontrolleritega (välja arvatud )))

Tänaseks WiFi maksumus moodulid püüdlevad tänu arendusele sentide poole. See võimaldab arendada koduseadmeid tasemel Wi-Fi tehnoloogia. Mida see meile annab? Tegelikult on palju lisaks kõigele veel praktiliselt sama, mis Internet ise. Seega on mis tahes seadme valmistamisel nüüd juurdepääs võrgule ja Internetile (kui see on võrgus olemas), mis tähendab, et seade on teoreetiliselt juurdepääsetav kõigile teistele võrgus asuvatele või Internetiga ühendatud seadmetele. Vaid viis aastat tagasi ei osanud sina ja mina sellisel tasemel koduseadmetest unistadagi.

Otsustasin teha seadme, mis saadaks andurite andmeid internetti, tänu millele oleks interneti vahendusel võimalik jälgida näitu kõikjal linnas, maal või maismaal.

Seega, valides ESP8266 WiFi mooduli, kaldus valik ühenduvusega mudeli ESP-07 poole. väline antenn saamise eest parem signaal aastal ostetud Hiina veebipood GearBest. Sel juhul vajame antenni ennast (ma ei viitsinud pisiasjadega, aga iga teine, millel on WiFi sagedustel RP-SMA pistik), pistikut antenni ühendamiseks mooduliga ja vajadusel antenni pikendusjuhe. Lisaks vajalikud andurid.

Töötamiseks moodul ESP-07 Trükkplaat valmistati vastavalt järgmisele skeemile:

Ahel koosneb kolmest põhiplokist: 3,3-voldine pingeregulaator VR1 koos vajalikud elemendid(stabilisaatori reguleeritava versiooni saab asendada ams1117 3v3-ga v.a takistid R1 ja R3), WiFi mooduli programmeerimiseks vajalik plokk on tehtud USB-UART liidese muunduri CH340G baasil koos vajaliku juhtmestikuga. kiip (CH340G saab asendada mis tahes muu vastava funktsionaalsusega mikroskeemiga, vahetades juhtmestiku vahetatava kiibi vastu), WiFi moodul ise, samuti selle tööks ja programmeerimiseks vajalikud elemendid. Programmeerimisrežiimi sisenemiseks peate vajutama nuppu S2 Prog ja taaskäivitama mooduli või lülitama toite välja ja sisse, vajutades nuppu S2 Prog. Järgmiseks laadige oma arvutis oleva tarkvara abil püsivara alla WiFi-moodulisse. Pärast püsivara valmimist taaskäivitage moodul uuesti, kuid ilma nuppu S2 Prog vajutamata – nii töötab moodul põhirežiimis. Välise antenni kasutamisel on plaadil ruumi antennikronsteini kinnitamiseks. Klamber ise võib olla kõige lihtsama konfiguratsiooniga. Arvutiga ühendamiseks kasutatakse mini-USB-pistikut.

Antenni ühendamiseks ESP-07-ga kasutage IPX–RP-SMA kaablit. Kuna valisin endale 18 dB GDI-8218 antenni, näeb anduritega kokkupandud seade üsna ähvardav välja. Muidugi, kui kasutate mitut andurit, peate kõik ühendama leivalaud, kui kasutada ilmastikunäitajate jälgimiseks (mõõdab temperatuuri, rõhku ja niiskust) vaid ühte BMP280 andurit, siis näeb vooluring ilusam välja. Lisaks valmistati plaat ESP8266 jaoks nagu universaalne tööriist, nii et kui redigeerite seda, pakkudes andurite paigaldamist otse plaadile, omandab vooluahel kompaktsema ja esteetilisema välimuse.

Antenni kasutamine sellisel kujul ei ole alati mugav, nii et mugavuse huvides võite antenni jaoks kasutada RP-SMA isane-emane pikenduskaablit, et see mugavasse kohta kinnitada või lihtsalt kogu vooluringi suhtes liigutada.

Alternatiiviks sellisele plaadile võivad olla tehase nodemcu plaadid või adapterplaadid PLS/PBS kontaktide jaoks. Viimastel on vaid paar mooduli sisselülitamiseks vajalikku takistit ja koht pingestabilisaatorile (ei kuulu komplekti). Nende väga minimaalse olemuse tõttu ei olnud mul selliseid plaate mugav kasutada (välja arvatud juhul, kui osana mõnest muust sellise plaadi pistikuga varustatud seadmest).

Andurimooduliga ühenduse loomiseks saate kasutada kõiki mooduli tasuta GPIO-sid. Vajalike parameetrite näitude saamiseks saab kasutada mis tahes andureid mis tahes konfiguratsioonis, mida arutatakse allpool. Kasutasin mõõtesondi formaadis andureid DS18B20 (mugav on jälgida välistemperatuuri või mis tahes vedelikku, kuna seda peetakse veekindlaks), jälgimiseks BMP180 atmosfääri rõhk ja AM2302 siseruumide niiskuse reguleerimiseks. Ärge unustage andurite vajalikku juhtmestikku, kui te ei kasuta neid moodulite kujul koos kõige vajalikuga: DS18B20 on tõmbetakistiga ühendatud toiteallika positiivsega (10 kOhm takisti 1-juhtme vahel tihvt ja toiteplokk positiivne), sarnaselt AM2302 (DHT22) puhul peaksid I 2 C siinil töötavatel anduritel olema ka SCL ja SDA kontaktidel tõmbetakistid.

Kuid tulemuse saavutamiseks on vaja kirjutada püsivara, et seade töötaks täpselt nii, nagu me seda vajame. Ettevalmistatud ideede abil leiti ESP8266 jaoks SDK otsimisel veebipõhine püsivara kujundaja (või veebikompilaator), mis ei nõua programmeerimisalaseid teadmisi (enamiku funktsioonide puhul)! Püsivarakomplektile juurdepääsu saamiseks on vajalik registreerimine, vastasel juhul pole see menüü üldse saadaval. Ilma registreerimiseta saate alla laadida ainult "kiirkäivituse" püsivara.

Kõik, mida vajame, on märkida vajalike funktsioonidega ruudud ja kompileerida ESP8266 mooduli püsivara, see alla laadida (siin peame arvestama, et mooduli mälu pole piiramatu ja vali vajalikud funktsioonid, kuna kõik veebikompilaatori funktsioonid ei mahu ikkagi ühte seadmesse).

Järgmisena välgutage moodul programmi nodemcu-flasher (programmi seaded ekraanipiltidel allpool) (ühendage seade USB kaudu arvutiga). Vilkumisel ei tohi midagi ühendada mooduli UART kontaktidega (GPIO1, GPIO3), muidu ei pruugi moodul vilkuda. Kui kavatsete midagi nende kontaktidega ühendada, peaksite selle püsivara ajaks välja lülitama. Pärast püsivara vilkumist taaskäivitame mooduli või lülitame toite välja ja sisse - olenevalt sätetest loob moodul võrguga ühenduse või loob oma pääsupunkti. Seade on seadistamiseks ja kasutamiseks valmis!

Kui WiFi-moodulit on juba kasutatud koos muu püsivaraga, on soovitatav enne põhivara püsivara kirjutamist tühja vormiga (fail rakendustes) kirja panna.

Määrake ESP-07 mooduli sätted (nagu praktika näitab, ei mõjuta välkmälu suuruse määramine kasutatavat näidist; ilmselt määratakse õige väärtus automaatselt):

Määrake püsivara faili tee:

Täpsustage COM-port installitud selle mooduli ühendamise ajal ja vajutage nuppu Flash (kui kõik on õigesti tehtud, laaditakse püsivara moodulisse):

Oodake, kuni püsivara on lõpule viidud:

Enne püsivara koostamist on mugav määrata vaikesätted veebikompilaatori lehel, kuhu tuleb sisestada pääsupunkti nimi ja WiFi parool ruuter (jaotis " Süsteem" funktsioonide valiku loendi lõpus enne püsivara kokkupanemist). Lisaks saate määrata seadmele staatilise IP-aadressi. Selleks süsteemi funktsioonid peate märkima ruut " Vaikeseaded» ja klõpsake hammasrattal, et kuvada menüü, kuhu need andmed vajadusel sisestatakse. Sel juhul loob see pärast WiFi-seadme sisselülitamist automaatselt ühenduse ruuteriga. Pärast selle sisselülitamist avage brauser ja sisestage aadressiribale selle seadme IP-aadress, millega see võrku registreerus. Leiame end sisse WiFi menüü seadmed, kus saate mitte ainult jälgida võrgus olevate andurite parameetreid, vaid konfigureerida ka muid funktsioone, mille valisite enne püsivara kokkupanemist.

Kui te enne püsivara kokkupanemist vaikesätteid ei tee, luuakse selle esmakordsel sisselülitamisel (pärast vilkumist peate 3 korda 1-sekundilise intervalliga vajutama mooduli restrt nuppu) pääsupunkt. hamessmart aadressi järgi 192.168.4.1 . Telefoni või sülearvuti abil peate looma ühenduse pääsupunktiga ja minema sellele aadressile brauseri kaudu, tegema seadeid, vajadusel uuesti konfigureerima Jaama režiim seadetes Peamine(menüüsse sisenemiseks logige sisse , parool 0000 ), sisestades ka punkti nime WiFi-ühendus ruuter ja parool.

Kõigepealt peate menüüsse sisestama seaded Peamine(väli Konfig sisaldab linke valitud funktsioonide seadistuste ja konfiguratsiooni jaoks).

Menüüsse sisenemiseks peate sisestama oma kasutajanime ja parooli. 0000 . Siin saate hallata turva-, aja- ja võrguühenduse sätteid. Sisestatud sätete salvestamiseks vajutage nuppu Määra.

Naaske peamenüüsse ja järgige linki Riistvara. Siin lubame ja konfigureerime mooduliga ühendatavad andurid (kättesaadavus erinevad andurid Selles menüüs määratakse nende valik püsivara kokkupanemisel - kui te midagi enne kompileerimist ei vali, pole need funktsioonid püsivaras endas saadaval). I2C siinil töötavate andurite jaoks peate määrama kõigi seadmete jaoks ühised GPIO. Miks levinud? I2C siini abil saate paralleelselt ühendada mitu seadet. Igal sellisel seadmel on oma aadress ja niipea, kui ülemseade selle aadressi edastab, teab selle aadressiga alamseade, et nüüd hakatakse sellega andmeid vahetama, samas kui teised siinil olevad seadmed on passiivsed. DHT11/22 niiskusandurite ühendamiseks kasutatakse mooduli eraldi jalga, mis on seatud selle menüü seadistustes. Anduri DS18B20 lubamiseks peate määrama ka eraldi GPIO viigu, seejärel, unustades sisestatud seaded salvestada, minge peamenüüsse ja järgige 1-juhtmelist linki.

Klõpsake selles menüüs Tühjenda ja skanni loend, mille järel see peaks ilmuma ID andur DS18B20. Ja alles pärast seda hakkab temperatuuriandur tööle.

Analoogandurite ühendamiseks võite kasutada ADC-d (ainus pin ADC WiFi moodul). See on mooduli sisseehitatud bitimahuga ADC 10 bitti (1023 näidist) võrdluspingega 1,024 V. Kui anduri väljundpinge tase on sellest väärtusest suurem, on vaja kasutada pingejaoturit, kasutades teadaoleva jaotusteguriga takisteid. ADC saadud väärtus erineb selle teguri võrra tegelikust väärtusest. Paljud analoogandurid on kaubanduslikult saadaval LM393-l põhinevate moodulitena. Selliste moodulite tööpõhimõte on see trimmeri takisti on seatud võrdluspinge (LM393) ja niipea, kui löök andurile suurendab pinget komparaatori sisendis, muutes selle võrdlusväärtusest suuremaks, genereeritakse selle mooduli väljundis loogiline ühik. . Seega saate reguleerida anduri (või õigemini selle anduri mooduli) reageerimisläve ja salvestada selle läve saavutamise lihtsalt kasutades GPIO ESP8266 on sisendiks konfigureeritud. Selleks minge peamenüüsse ja klõpsake linki GPIO. Selles menüüs määrake selle PIN-kood ja töörežiim ning salvestage see. Näidud on sellised " 0 " või " 1 " - lävi on saavutatud või mitte, toiming on toimunud või mitte.

Anduri näitude kuvamiseks Internetis järgige linki Serverid või DDNS olenevalt valitud Interneti-ühenduse meetodist. Esialgu plaanisin selleks kasutada teenust narodmon.ru, mis kuvab kõikide seda teenust kasutavate kasutajate andurite näidud otse kaardil. Lisaks on sellel teenusel rakendused ja vidinad mobiilseadmed ja arvuti, mis on väga mugav. Registreeruge selles teenuses (see on täiesti tasuta) kasutades ID(vaata allpool olevat ekraanipilti - link Serverid väljad Konfig).

Teenindus peopleodmon(populaarne jälgimine) salvestab andurite näidud kuni 1 aasta ja võimaldab lisaks muule funktsionaalsusele koostada andurite mõõdikuid perioodiks.

Pärast kõiki manipuleerimisi WiFi seaded mooduli andmed saadetakse välisteenusele andurite indikaatorite jälgimiseks ja salvestamiseks, mida saab vaadata kõikjal maailmas, kus on Interneti-ühendus. Mooduli avaleht on saadaval keeles kohalik võrk ja kuvab kõigi ühendatud andurite näidud. Nõutav efekt on saavutatud.

Muidugi pakub veebikompilaator palju muid funktsioone: erinevate kuvarite ühendamine, meili saatmine või sms (nõutav gsm moodul Sest sms saatmine ilma Interneti-teenusteta), täites kohandatud loogilisi tehteid, erinevate välisseadmete juhtimine GPIO ja PWM abil, salvestamine kontrollitud parameetrid SD-mälukaardile ja palju muud. Kui ühest moodulist ei piisa, siis saab neid teha mitu, need töötavad sees ühe tervikuna jagatud võrk tänu virtuaalsete andurite ja virtuaalse GPIO funktsioonidele (üks seade saab anduri näidud teiselt HANGI taotlus). Kui sisend/väljundporte pole lihtsalt piisavalt, siis on olemas pordilaiendite ühendamise funktsioonid. Mõned funktsioonid on saadaval ainult riigis Pro režiim püsivara, mis aktiveeritakse avaleht GET PRO lingi kaudu. Aktiveerimiseks tuleb sisestada kood, mis pole tasuta, kuid see maksab vaid sümboolse summa, mille saab hankida isiklik konto veebikompilaatori veebisait.

Seadete jaoks on oluline mitte segi ajada mooduli GPIO-d (kui ESP-07 on plaadile joodetud, pole tihvtide tähistusi näha) normaalseks tööks:

Lisaks kõigele saab mooduli ülejäänud klemmid ühendada ekraaniga, millel kuvame ilmaandurite väärtused. Disainer toetab ILI9341 - TFT LCD 240x320 ekraane, mis töötavad SPI-liidese kaudu.

Püsivara kokkupanemisel täpsustame, milliste ekraani GPIO tihvtidega CS ja DC ühendatakse (seadete menüü kuvatakse disaineri veebisaidil funktsioonide valimisel, klõpsates vajaliku funktsiooni kõrval olevat hammasratast). Ülejäänud tihvtid tuleb ühendada järgmiselt: MOSI - GPIO13, SCK - GPIO14, lähtestamine ja LED on ühendatud vcc toiteallika plussiga ning vastavalt vcc ja gnd toiteallika pluss- ja miinuspunktiga (me võtame toide WiFi moodulist 3,3 volti).

Siin lülitame sisse TFT, vajadusel pöörame ekraani 90 kraadi ja määrame, millistel ridadel ( Rida 0, rida 2...) millist teavet me kuvame. Kui funktsioon on sisse lülitatud Aeg ja NTP süsteemikonstruktori funktsioonides koos NTP serverid ajainfot võetakse interneti kaudu, mis muudab meie seadme täpseks kellaks, mida pole vaja reguleerida. Me väljastame praegune aeg ekraanile ja veel mõned ilmaparameetrid ekraani täitmiseks. Selleks põllul Valige rida vali rida, selle kõrval valime parameetri, mida sellel real kuvame, allpool valime vajadusel andmetsentreerimise, fondi suuruse ja fondi värvi. Klõpsake Määra ja seadistus salvestatakse. Font on ainult lihtsat tüüpi font. Ettevalmistatud parameetrite valik on üsna väike, kuid piisav, kuid stringkonstruktori abil saate kuvada mis tahes parameetreid mis tahes konfiguratsioonis.

Artikliga on kaasas fail trükkplaat ESP-07 mooduli jaoks, tühja vormiga püsivara, ESP-07 erinevate funktsioonidega püsivara, mõned dokumentatsioonid, CH340G kiibi USB programmeerimise draiver, ESP8266 vilkumise programm.

Radioelementide loetelu

Määramine Tüüp Denominatsioon Kogus MärgePoodMinu märkmik
IC1 ESP8266 moodulESP-071 Märkmikusse
IC2 USB-liidese ICCH340G1 Märkmikusse
VR1 Lineaarne regulaator

AMS1117-ADJ

1 Märkmikusse
VD1 Schottky diood

1N5819

1 Märkmikusse
R1 Takisti

3 kOhm

1 1206 Märkmikusse
R2, R7-R9 Takisti

10 kOhm

4 0805 Märkmikusse
R3 Takisti

1,8 kOhm

1 1206 Märkmikusse
R4 Takisti

1 kOhm

1 0805 Märkmikusse
R5, R6 Takisti

390 oomi

2 0805 Märkmikusse
C1 Kondensaator10 µF1 pardal keraamika 1206 Märkmikusse
C7 Kondensaator22 µF1 tantaal + 2,2 µF keraamiline 1206 Märkmikusse
C6 Kondensaator100 µF1 tantaal

ESP8266 mooduli erinevaid juurutamisvõimalusi on siin korduvalt üle vaadatud ja seda vääriliselt. See väike mündisuurune WiFi-ühendusega kiip võib töötada nii pääsupunkti kui ka kliendina ning seda saab mis tahes viisil programmeerida – ja seda müüakse mõne dollari eest.

Enne jõudsime harjuda mõttega, et Arduino, Attiny või STM-iga saab igasugu huvitavat meisterdamist teha – täpselt nagu WiFi-ga seadmed ja võimsad protsessorid 80 megahertsi juures said nad hinnakonkurendiks. (Kurat, minu protsessor on esimeses oma arvuti oli veidi kiirem, kui vana ma olen).

Üks probleem - kõik ESP8266-ga seadmed, mis mu käte vahelt läbi käisid, olid väga ebamugavad, nende ühendamine oli piin. Kuid Hiina tööstus kuulis meid ja läks peaaegu hästi :)

Miks me "armastame" erinevad variandid ESP8266:

  • Nende toiteallikaks on 3,3 volti, mitte tavalisem viis
  • Tipphetkel vajavad nad kuni 320 mA voolu, mis ületab tavapäraste USB-TTL-muundurite võimalused.
  • Plaadi väljundite vaheline samm ei ole tavaliselt standardne 2,54 mm, vaid täpselt 2 mm – mis muudab jootmise keeruliseks seikluseks
  • Tahvlist on ainult üks versioon, mille tihvtide samm on 2,54 mm (“ESP8266-01”), kuid sellel on minimaalselt kasulikke kontakte
  • Kiip lülitatakse programmeerimisrežiimile kontaktide sulgemisega, mis nõudis oskusi. Või nupu jootmine
  • Resetiga sama probleem – kas lülita toide välja või joota nupp
Ja siis andis Hiina tööstus välja “ESP8266-12E” nimetuse “Witty Cloud” all:

Laud on kahest koosnev võileib. Ülemisel kihil (mõlemal fotol vasakul) on ESP8266 kiip ise, selle all on pistik microUSB toiteallikas ja pingeregulaator AMS1117-3.3, mille ülesandeks on muuta 5 volti 3.3-ks. Andmelehe järgi on regulaatori voolud kuni 0,8A, seega on see kiibi toiteks enam kui piisav. Seal- Reset-nupp taaskäivitamiseks.
Et tahvli tühje nurki oleks millegagi hõivata, lükkasid hiinlased sinna RGB LED-i ja fototakisti, neist hiljem lähemalt.

“Sandwichi” alumisel kihil (paremal pildil) on täisväärtuslik MicroUSB, CH340G kiip ning nupud “Flash” (püsivararežiim) ja “Reset”.

“Sandwich” annab suurema tegevusvabaduse. Saate ühendada "võileiva" arvutiga alumises (täis) USB-pistik, programmeerige see ümber – ja seejärel integreerige see ainult oma käsitöösse ülemine osa, säästes korpuse suuruselt.

Veelgi enam, "võileiva" põhja saab kasutada omatehtud moodulite programmeerimiseks. Ise jootsin moodulid ESP8266-12 ja ESP8266-07 0,22 dollari eest mitte eriti edukatele adapterplaatidele ja kinnitasin AMS1117 regulaatorid "tati otsas" - mõlemad töötasid probleemideta ja osutusid 100% ühilduvaks nii pistikute kui ka seadmete osas. nupud:

Olgu, piisab mooduli kiitmisest, teeme midagi kasulikku. Müüja leht reklaamib ESP8266-l ja Androidil põhinevate seadmete jaoks mingit SDK-d ja isegi mingit Hiina “pilve”, kuigi inglise keeles nende kohta (peaaegu) puudub teave. Kui jah, siis loobugem neist, laseme käiku Arduino IDE 1.6 ja asume seadistustesse.

Sisestage aknasse "Täiendavad URL-id" rida https://arduino.esp8266.com/package_esp8266com_index.json Seejärel avage "Boards manager" ja sisestage otsinguribale "ESP8266". Klõpsake nuppu Installi ja valmistuge ootama, kuni alla laaditakse kuni 130 megabaiti pakette:

Ühendame “võileiva” arvutiga alumisse (täis) MicroUSB-pistikusse. Windows peaks tuvastama USB-TTL-muunduri "CH340G" ja määrama selle virtuaalne port. Seda sadamat me näitame Arduino seaded IDE. Ülejäänud seaded on järgmised:

Paneme elementaarkoodi mällu

#kaasa const char* ssid = "??? teie WiFi-punkti nimi ???"; const char* parool = "??? parool???"; WiFiServeri server (80); void setup() ( Serial.begin(115200); WiFi.begin(ssid, parool); while (WiFi.status() != WL_CONNECTED) ( delay(500); Serial.print("."); ) server. begin(); Serial.print("Meie mooduli IP-aadress: "); Serial.println(WiFi.localIP()); ) void loop() ( WiFiClient klient = server.available(); if (!client) ( return; ) while(!client.available())( delay(1); ) client.flush(); String s = "HTTP/1.1 200 OK\r\nSisutüüp: text/plain\r\n\r \ntere, esp8266!\n"; client.print(s); delay(1); )

Pange tähele, et vilkumise ajal pole vaja Flash-nuppu vajutada - plaat hoolitseb kõige eest ise.

Pärast uus programm ESP8266 sisse valatuna saab selle arvuti küljest lahti ühendada ja toiteallikana isegi toitepangast. "Võileiva" alumise osa saab eemaldada, seda pole enam vaja.

Kas koos Arduino abi jadamonitori (pordi kiirus - 115200) või ruuteri veebiliideses vaatame IP-aadressi, mille saime kodune WiFi-võrk meie ESP8266. Avage see aadress oma arvuti või telefoni brauseris:

Meie seade on ühendatud koduvõrk, avas veebiserveri ja vastab meile.

Kas olete kindel, et teie seade töötab? Liigume edasi. Selleks, et see igapäevaelus millekski kasulikuks saaks, on huvitav sellega “sõbraks teha” näiteks releega. Tõsi, klassikalisi 5-voldisi releesid pole definitsiooni järgi enam vaja – liiga suur on oht, et 3,3-voldist pingest ei piisa, et elektromagnet armatuuri tõmbaks. Seetõttu võtame Omroni pooljuhtrelee hinnaga 1,90 dollarit. Andmelehe järgi on meie pinge piisav selgeks tööks:

“Pluss” ja “miinus” ühendame “võileiva” pealmise kihi VCC ja GND kontaktidega ning kolmanda, signaali, juhtme näiteks kontaktiga GPIO 2. Programmina saad võtta WiFiWebServeri eskiis, mis on lisatud Arduino teegile või kasutage kolleegi programmi Sav13 saidilt samopal.pro/wifi-power-esp8266/

Testi jaoks võtsin lihtsa 20 W halogeenpirni ja klõpsasin seda oma südameasjaks:

Toiming toimub sekundi murdosa jooksul pärast käsu andmist. Usaldusväärsuse kontrollimiseks sisestasin koodi lihtsa loenduri ja visandasin lihtsa nahkhiirefaili, mis lülitas lambipirni sekundis pausiga sisse ja välja. Avas neist hunniku lisaaknad, millest hakati pommitama mooduli IP-aadressi lõpututega pingi käsk. Mõne tunni pärast ületas sisse- ja väljalülitusloendur 19 tuhande piiri, kuid kõik töötas - mis annab seadme töökindluse suhtes teatud kindlustunde.

Kui olete siiani lugenud, kuid peas keerleb mõte "see kõik on keeruline", on mul teile midagi meeldivat.

Pea meeles, et mainisin seda Hiina tootja"muutuseks", kas panid tahvlile RGB LED-i ja fototakisti? Saate nendega katsetada, isegi kui teil pole muid andureid ega muid välisseadmeid.

Selle valiku puhul peate pingutama ja käivitama Arduino IDE täpselt üks kord.


Rakenduse ekraan on tühi väli, kuhu saate paigutada elemente, näiteks armatuurlaual. Esmalt proovige "zeRGBa" ja "gaues":

Sebra seadetes määrake, et tahvli kolmevärviline LED on ühendatud tihvtidega 12 (roheline), 13 (sinine) ja 15 (punane):

Mõõdiku sätetes määrake, et plaadil olev fototakisti on ühendatud analoogsisendiga "adc0":

Aktiveerige see, mille olete kujundanud, klõpsates paremal asuval nupul ülemine nurk. Näete, et kollane indikaator muutub sõltuvalt valguse tasemest ja võileival olev RGB LED muudab värvi, kui torkate ülekäigurajale:

Praktika on näidanud, et lastele see asi väga meeldib. Üks asi on tahvelarvutis teiste mänge mängida, teine ​​asi on ise "kaugjuhtimispult" meisterdada ja värvida ning midagi käegakatsutavat juhtida. Piisab, kui võtate ette ettevalmistava osa Arduinos ja seejärel näitate, kuidas seda kasutada, varuge mitu LED-i, nuppu või osa, näiteks LM35 analoogtemperatuuri andurit - need võtavad teie "mänguasja" kohe ära ja teie laps on hõivatud. pikka aega. Teid ei tõmba kõrvadest maha, seda on kontrollitud.

Sest kiire loomine Väga mugavaks osutusid ka Blynki prototüübid – seal on lihtsam nuppe ja lüliteid visandada kui oma veebiliidest ehitada. Säästetud aeg võib olla suurem kasu kulutada teise käsitöö kokkupanemisele.

Kokkuvõte

Hinda veidi üle 200 rubla saad väga võimsa ja täiesti sõltumatu seadme, mille peale saad programmeerida kõiksugu kodu jaoks kasulikke asju – ja juhtida neid WiFi kaudu.

“Võileib” osutus üllatavalt edukaks. See on vähem kui dollari võrra kallim kui paljas ESP8266-12, kuid säästab teie aega ja vaeva. Hukku juhtmeid ja leivalauda pole vaja.

LED-i ja fotosensori eelinstalleerimise idee tahvlile on väga edukas. Isegi kui teil pole midagi peale mooduli ja MicroUSB-kaabli, saate siiski kõigepealt midagi proovida ja ostmist nautida. Kui neid pole valmistootel vaja, siis lihtsalt jootke need või lõigake ära.

Selle hinnaga on "võileib" selge konkurent Arduino nano, ja muudab selle väga ebavajalikuks Bluetooth moodulid(tüüp HC-05) ja veelgi enam - raadiomoodulid NRF24L01+.

Ma püüdsin end kinni ja peaaegu murdsin traditsiooni: