Reklama

Wi-Fi je nevyhnutnou súpravou pre všetky DIY projekty internetu vecí (IoT), ale náš obľúbený Arduino neprichádza s Wi-Fi a pridaním štítu Wi-Fi sa celkové náklady môžu pohybovať okolo 40 dolárov. Čo ak ti poviem, že je tu dev karta kompatibilná s Arduino so vstavanou sieťou Wi-Fi za menej ako 10 dolárov? No, existuje.

Zoznámte sa s Arduino Killer: ESP8266. Bolo len otázkou času, ako bude koruna ukradnutá z lesklej hlavy našej vývojovej rady pre Arduino. Je možné zamilovať sa dosky s plošnými spojmi?

Okrem názvov Catchy, ESP8266 (známy tiež ako NodeMCU), sa pôvodne uvádzal na trh ako nízkonákladový doplnok Wi-Fi. pre dosky Arduino, kým si hackerská komunita neuvedomí, že by ste Arduino mohli vyradiť z rovnice úplne.

Za menej ako rok sa ESP8266 stal populárnym a je teraz tak dobre podporovaný a vyvíjaný, že ak v súčasnosti používate Arduino, musíte sa postaviť a vziať na vedomie. Kúpte si teraz, potom postupujte podľa tohto sprievodcu a začnite programovať váš ESP8266 - všetko zv rámci známeho Arduino IDE.

instagram viewer

Nie ste obmedzení na používanie Arduino IDE, samozrejme - sú kompatibilné aj s Luou (ktorá vyzerá ako môj zúžený Python začiatočníkov), ale keďže to riešime z hľadiska tých z nás, ktorí sme sa o Arduino dozvedeli, pokrývame to výlučne dnes.

V súčasnosti existuje celkom niekoľko modelov ESP8266, ale budem pokračovať a doporučím tento: ESP-12E (známy tiež ako NodeMCU 1.0 alebo najnovší súrodenec NodeMCU 2.0).

Je to o niečo drahšie ako ostatné ($ 6,50 v porovnaní so 4 $!), Ale obsahuje sériový ovládač potrebný na programovanie čipu, má vstavaný regulátor výkonu a množstvo kolíkov IO. Je široko podporovaný a naozaj nepotrebuje nič iné, okrem pripojenia USB na programovanie alebo napájanie, takže je najjednoduchšie s ním pracovať. Ak si kúpite akýkoľvek iný druh dosky ESP8266, možno budete potrebovať samostatný 3,3 V regulátor výkonu a vhodné pripojenie FTDI na programovanie.

Začíname pracovať s ESP8266-12E a Arduino

Najprv, nainštalovať sériové ovládače pre túto dosku. Možno budete musieť zakázať podpisovanie KEXT ak prevádzkujete El Capitan kvôli novým bezpečnostným systémom.

Ďalej musíme povoliť podporu pre ESP8266 od predstavenstva spoločnosti Arduino IDE. Otvorte položku Predvoľby a zadajte nasledujúcu adresu URL Ďalšie adresy URL správcu dosky:

URL správcu dosky arduino

Hit Ok, potom otvorte Správca dosiek z Nástroje -> Doska vyhľadajte esp8266 a nainštalujte platformu. Teraz by ste mali vidieť výber pre NodeMCU 1.0.

vyberte dosku

Ponechajte rýchlosť procesora a rýchlosť prenosu tak, ako je, a vyberte novo nainštalovaný sériový port. V počítačoch Mac sa to javí ako cu. SLAB_USBtoUART.

Ako prvý program by som navrhol jednoduchý skener Wi-Fi - nájdite ho Súbor -> Príklady -> ESP8266WiFi -> WifiScan. Nahrávanie je pomerne pomalé, ale nakoniec sa zobrazí správa „dokončené nahrávanie“ a v tomto okamihu (nie skôr alebo proces odovzdávania prerušíte) môžete otvoriť sériový monitor. Mali by ste vidieť niečo podobné tomuto:

test skenovania wifi esp8266
Úspech! Skúsme sa teraz spojiť s jedným.

Toto je absolútne jednoduchý kód čiarového kódu na pripojenie k sieti Wi-Fi. Nerobí nič iné ako len pripojenie, ale je to niečo, čo môžete pridať príliš neskoro. Nezabudnite zmeniť údaje YOUR_SSID a YOUR_PASSWORD na podrobnosti o sieti Wi-Fi. Odovzdajte, otvorte sériovú konzolu a mali by ste vidieť pripojenie.

 #include const char * ssid = "YOUR_SSID"; const char * password = "YOUR_PASSWORD"; WiFiClient wifiClient; void setup () {Serial.begin (115200); Serial.print („Pripojenie k“); Serial.println (ssid); WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ( ""); } Serial.println (""); Serial.println („Wi-Fi pripojené“); Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ()); } void loop () {}

Nie je to skvelé, aké smiešne jednoduché to bolo?

Predtým, ako budeme pokračovať, tu je schéma vývodov - môže sa to hodiť neskôr. Všimnite si, že čísla pinov uvedené v kóde sú čísla GPIO, nie D0-16 pravdepodobne napísané na doske plošných spojov. Ak absolútne nemôžete pozitívne zistiť, prečo senzor nefunguje, pravdepodobne ste zmiešali čísla pinov.

NodeMCU__v1.0_pinout

Rýchly inteligentný domáci snímač s MQTT a DHT11

Toto je praktický príklad, ktorý môžete okamžite použiť na monitorovanie svojho domova. Pridáme snímač teploty a vlhkosti DHT11 a potom hodnoty nahlásime pomocou protokolu MQTT cez Wi-Fi sieť, v mojom prípade k domácej automatizácii OpenHAB DIY (ak nie, možno budete chcieť prečítať náš Sprievodca pre začiatočníkov, ako získať OpenHAB v prevádzke na Raspberry Pi Začíname s domácou automatizáciou OpenHAB na Raspberry PiOpenHAB je zrelá platforma pre domácu automatizáciu s otvoreným zdrojovým kódom, ktorá funguje na rôznych hardvéroch a je protokol agnostický, čo znamená, že sa môže pripojiť k takmer akémukoľvek hardvéru domácej automatizácie na trhu dnes. Čítaj viac a časť 2, ktorá sa osobitne zaoberá inštalácia servera MQTT Príručka pre začiatočníkov OpenHAB, časť 2: ZWave, MQTT, pravidlá a mapovanieOpenHAB, softvér pre domácu automatizáciu s otvoreným zdrojovým kódom, ďaleko prevyšuje možnosti ostatných systémov domácej automatizácie na trhu - nastavenie však nie je ľahké. V skutočnosti to môže byť úplne frustrujúce. Čítaj viac ).

Na strane zapojenia pripojte snímač DHT k GND, 3,3a ~ D4 (alebo GPIO 2). To je všetko, čo teraz potrebujeme.

Stiahnuť ▼ tieto MQTT a DHT knižnice. Aj keď ich už máte, stiahnite si ich, zálohujte, čo máte, a prepíšte ich. Najnovšia knižnica DHT11 od spoločnosti Adafruit používa automatický algoritmus na určovanie rýchlosti, akou údaje sú načítané zo senzora, ale je to chyba na ESP8266 a 90% času vedie k zlyhaniu čítania.

So starou verziou 1.0 knižnice, ktorú som prevzal do sťahovania, môžete manuálne zmeniť načasovanie: 11 funguje najlepšie pre tieto dosky ESP2866. Prešiel som tiež mnohými kópiami knižnice MQTT a snažil som sa nájsť jednu dobrú zavolaj späť funkcie, konečne pristane na tej zahrnutej. Po ich výmene budete musieť reštartovať Arduino IDE.

Tu je kompletný kód projektu. V hornej časti sú všetky premenné, ktoré potrebujete zmeniť, vrátane podrobností Wi-Fi, servera MQTT (je možné použiť adresu URL) namiesto toho, ak používate cloudový server, hoci neexistuje overenie na mieste) a kanály, na ktorých možno zverejňovať údaje.

Ako to funguje a pár poznámok:

  • Najprv sa pripojíme k sieti Wi-Fi, potom k serveru MQTT a potom začneme s hlavným slučka ().
  • V slučke zisťujeme každých 60 sekúnd senzor DHT a hodnoty publikujeme na príslušných kanáloch MQTT. Ak zistíte, že väčšina čítaní má za následok chybové hlásenie, máte nesprávnu verziu knižnice DHT - downgrade na v1.0.
  • client.loop () odovzdá riadenie do knižnice MQTT, čo mu umožní reagovať na prichádzajúce správy.
  • Je tu správa prijatá() kde spracovávame prichádzajúce správy - jednoducho urobte príkaz na porovnanie užitočného zaťaženia so správou, ktorú očakávate. Môžete to použiť napríklad na aktiváciu relé.
  • Po spustení týchto niekoľko dní, som zistil, že by náhodne prestali pracovať - ​​predpokladám, že je to nejaký únik pamäte, ale vzhľadom k tomu, Nemám zručnosti v kódovaní, aby som sa s tým vysporiadal a možno by to mohlo byť v prípade základných knižníc. Každú voľbu jednoduchého mäkkého obnovenia som si vybral deň. Presne jeden deň po prvej aktivácii uzlov senzorov sa samy restartujú.
  • Pri napájaní týchto lacných modulov DHT11 od 3,3 V sú hodnoty vlhkosti oveľa nižšie, ako by mali byť. Vyriešil som to jednoduchým násobením a kalibroval som proti komerčnému senzoru. Skôr ako sa budete spoliehať na údaje, odporúčame vám, aby ste potvrdili aj svoj známy zdroj. Prípadne ich napájajte 5V - ale medzi dátový kolík a ESP8266 musíte umiestniť logický radič 5v-3.3v, inak ho poškodíte.

Ak všetko pôjde dobre, mali by ste teraz dostávať hodnoty snímačov vo vašom makléri MQTT a môžete ich spojiť s OpenHAB, ako je podrobne uvedené v časť 2 príručky pre začiatočníkov Príručka pre začiatočníkov OpenHAB, časť 2: ZWave, MQTT, pravidlá a mapovanieOpenHAB, softvér pre domácu automatizáciu s otvoreným zdrojovým kódom, ďaleko prevyšuje možnosti ostatných systémov domácej automatizácie na trhu - nastavenie však nie je ľahké. V skutočnosti to môže byť úplne frustrujúce. Čítaj viac , kde som vám tiež ukázal, ako údaje grafovať.

graf vlhkosti z openhabu

Zbohom Arduino, milovali sme ťa. Robím si srandu: nie všade v mojom dome je dokonca možné získať Wi-Fi, takže pre tieto miesta budem stále potrebovať sieť s Arduino a RF prijímačmi.

Pre zábavný projekt, pozrite sa ako vytvoriť tlačidlo Wi-Fi s ESP8266 Ako si vytvorte vlastné tlačidlo s pripojením Wi-Fi pomocou ESP8266V tomto návode sa naučíte, ako pomocou tlačidla NodeMCU a IFTTT vytvoriť tlačidlo s podporou Wi-Fi. Čítaj viac .

Čo ale urobíte s ESP8266? Akékoľvek projekty používajúce ESP8266, ktoré by ste chceli vidieť napísané na MakeUseOf? Dajte nám vedieť v komentároch!

James má bakalárske štúdium v ​​oblasti umelej inteligencie a je držiteľom certifikátu CompTIA A + a Network +. Je popredným vývojárom MakeUseOf a trávi svoj voľný čas hraním VR paintballu a spoločenských hier. Staval počítače od malička.