Seznamte se s Arduino Killer ESP8266

  • Brian Curtis
  • 0
  • 1507
  • 305
reklama

Wi-Fi je nezbytnou součástí sady pro jakékoli DIY projekty pro internet věcí (IoT), ale naše oblíbené Arduino nepřichází s Wi-Fi a přidání štítu Wi-Fi může celkové náklady přiblížit zhruba 40 $. Co když vám řeknu, že existuje deska pro Arduino kompatibilní s vestavěným Wi-Fi za méně než 10 $? No, je.

Seznamte se s Arduino Killer: ESP8266. Bylo jen otázkou času, než byla koruna ukradena z lesklé hlavy naší drahé vývojové desky Arduino. Je možné zamilovat se do desky plošných spojů?

Kromě názvů Catchy, ESP8266 (také známý jako NodeMCU), byl původně uváděn na trh jako nízkonákladový doplněk Wi-Fi pro desky Arduino, dokud si hackerská komunita neuvědomila, že Arduino můžete z rovnice úplně vyříznout.

Za méně než rok, ESP8266 vzrostl v popularitě, a je nyní tak dobře podporován a vyvinut, že pokud v současné době používáte Arduino, musíte se postavit a vzít na vědomí. Kupte si nyní a poté postupujte podle této příručky, abyste mohli začít programovat váš ESP8266 - vše v rámci známého Arduino IDE.

Nejste omezeni na používání Arduino IDE, samozřejmě - jsou kompatibilní také s Luou (což vypadá jako ztenčený Python pro mé začátečníky), ale protože to řešíme z pohledu těch z nás, kteří jsme se naučili na Arduino, to je to, co budeme pokrývat výhradně dnes.

V současné době existuje několik modelů ESP8266, ale budu pokračovat a doporučuji tento: ESP-12E (známý také jako NodeMCU 1.0 nebo jeho nejnovější sourozenec NodeMCU 2.0).

Je to o něco dražší než ostatní ($ 6,50 ve srovnání se 4 $!), Ale zahrnuje sériový ovladač potřebný pro programování čipu, a má vestavěný regulátor výkonu, stejně jako spoustu pinů IO. Je široce podporován a opravdu nepotřebuje nic jiného než připojení USB pro programování nebo napájení, takže je nejsnadnější s ním pracovat. Pokud si koupíte jakýkoli jiný typ desky ESP8266, možná budete potřebovat samostatný 3,3 V regulátor výkonu a vhodné připojení FTDI pro programování.

Začínáme s ESP8266-12E a Arduino

Nejprve nainstalujte sériové ovladače pro tuto desku. Možná budete muset zakázat podepisování KEXT, pokud používáte El Capitan kvůli novým bezpečnostním systémům.

Dále musíme povolit podporu pro ESP8266 od správce desky Arduino IDE. Otevřete předvolby a zadejte následující adresu URL, kde se zobrazuje Další adresy URL Správce desky:

Stiskněte Ok a otevřete Správce nástěnek z Nástroje -> Deska hledejte esp8266 a nainstalujte platformu. Nyní byste měli vidět výběr pro NodeMCU 1.0.

Ponechte CPU a rychlost uploadu takovou, jaká je, a vyberte nově nainstalovaný sériový port. Na počítačích Mac se to zobrazí jako cu.SLAB_USBtoUART.

Jako první program bych navrhl jednoduchý Wi-Fi skener - najděte jej Soubor -> Příklady -> ESP8266WiFi -> WifiScan. Nahrávání je poměrně pomalé, ale nakonec to řekne “dokončeno nahrávání” a v tuto chvíli (ne dříve, nebo přerušíte proces nahrávání), můžete otevřít sériový monitor. Měli byste vidět něco podobného tomuto:


Úspěch! Nyní se pokusíme připojit k jednomu.

Zde je naprosto jednoduchý kód barebones pro připojení k síti Wi-Fi. Neurobí nic jiného než jen připojit, ale je to něco, co můžete přidat příliš pozdě. Nezapomeňte změnit YOUR_SSID a YOUR_PASSWORD na podrobnosti o Wi-Fi. Nahrajte, otevřete sériovou konzoli a měli byste vidět připojení.

 #include const char * ssid = "YOUR_SSID"; const char * password = "YOUR_PASSWORD"; WiFiClient wifiClient; neplatné nastavení () Serial.begin (115200); Serial.print („Připojení k“); Serial.println (ssid); WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) delay (500); Serial.print (".");  Serial.println (""); Serial.println („WiFi připojeno“); Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ());  void loop () 

Není to skvělé, jak směšně jednoduché to bylo?

Než budeme pokračovat, zde je schéma pinoutů - může se to hodit později. Všimněte si, že čísla pinů uvedená v kódu jsou čísla GPIO, nikoli D0-16 pravděpodobně zapsaná na desce plošných spojů. Pokud absolutně, pozitivně nedokážete zjistit, proč senzor nefunguje, pravděpodobně jste smíchali čísla pinů.

Rychlý inteligentní domácí senzor s MQTT a DHT11

Zde je praktický příklad, který můžete okamžitě použít k monitorování vašeho domova. Přidáme čidlo teploty a vlhkosti DHT11 a poté ohlásíme hodnoty pomocí protokolu MQTT přes síť Wi-Fi, v mém případě do domácího automatizačního systému OpenHAB DIY (pokud ne, můžete si přečíst příručku pro začátečníky jak otevřít OpenHAB a provozovat na Raspberry Pi Začínáme s OpenHAB Home Automation na Raspberry Pi Začínáme s OpenHAB Home Automation na Raspberry Pi OpenHAB je vyspělá, otevřená domácí automatizační platforma, která běží na různých hardwarech a je agnostická, což znamená může se připojit k téměř jakémukoli domácímu automatizačnímu hardwaru na současném trhu., a část 2, která se zabývá konkrétně instalací serveru MQTT Příručka pro začátečníky, část 2: ZWave, MQTT, pravidla a mapování Příručka pro začátečníky, část 2: ZWave, MQTT, Pravidla a mapování OpenHAB, software pro domácí automatizaci s otevřeným zdrojovým kódem, značně převyšuje možnosti jiných systémů domácí automatizace na trhu - ale není snadné jej nastavit. být naprosto frustrující. ).

Na straně zapojení připojte snímač DHT k GND, 3,3v, a ~ D4 (nebo GPIO 2). To je vše, co teď potřebujeme.

Stáhněte si tyto knihovny MQTT a DHT. I když je již máte, tyto si přesto stáhněte, zálohujte, co máte, a přepište je. Nejnovější knihovna DHT11 od Adafruit používá automatický algoritmus pro určení rychlosti, jakou jsou data čtena ze senzoru, ale je to buggy na ESP8266 a 90% času vede k neúspěšným čtení.

Se starou verzí 1.0 knihovny, kterou jsem zahrnul do stahování, můžete manuálně změnit načasování: 11 funguje nejlépe pro tyto desky ESP2866. Také jsem prošel mnoha kopiemi knihovny MQTT a snažil se najít dobrou zpětné volání funkce, konečně přistání na té zahrnuté. Po jejich výměně budete muset restartovat Arduino IDE.

Zde je kompletní kód projektu. V horní části jsou všechny proměnné, které potřebujete změnit, včetně podrobností Wi-Fi, serveru MQTT (adresu URL lze místo toho použít, pokud používáte cloudový server, i když není k dispozici žádná autentizace), a kanály, na kterých lze publikovat data.

Jak to funguje a pár poznámek:

  • Nejprve se připojíme k Wi-Fi, poté k serveru MQTT, a pak začneme hlavní smyčka().
  • Ve smyčce dotazujeme senzor DHT každých 60 sekund a publikujeme hodnoty do příslušných kanálů MQTT. Opět, pokud zjistíte, že většina výsledků má za následek chybovou zprávu, máte špatnou verzi knihovny DHT - downgrade na v1.0.
  • client.loop () předává kontrolu do knihovny MQTT, což jí umožňuje reagovat na příchozí zprávy.
  • Je tu zpráva přijata() funkce, kde zpracováváme příchozí zprávy - jednoduše proveďte příkaz if, chcete-li porovnat užitečné zatížení se zprávou, kterou očekáváte. Můžete použít například k aktivaci relé.
  • Poté, co jsem je několik dní provozoval, jsem zjistil, že by náhodně přestali fungovat - předpokládám, že se jedná o nějaký únik paměti, ale vzhledem k tomu, že nemám schopnost kódování se s tím vypořádat a mohlo by to být s jádrovými knihovnami, Každý den jsem se rozhodl pro jednoduchý měkký reset. Přesně den po první aktivaci senzorových uzlů se restartují.
  • Při napájení těchto levných modulů DHT11 od 3,3 V jsou hodnoty vlhkosti mnohem nižší, než by měly být. Vyřešil jsem to jednoduchým násobením a kalibroval jsem proti komerčnímu senzoru. Doporučil bych vám, abyste se také spolehli na svůj vlastní známý zdroj, než se spolehnete na údaje. Alternativně je napájejte 5V - ale musíte umístit logický řadič 5v-3.3v mezi datový pin a ESP8266, jinak jej poškodíte.

Pokud by všechno šlo dobře, měli byste nyní přijímat hodnoty senzorů ve vašem brokerovi MQTT a můžete je spojit s jejich připojením k OpenHAB, jak je podrobně popsáno v části 2 našeho průvodce pro začátečníky, OpenHAB Průvodce pro začátečníky, část 2: ZWave, MQTT, pravidla a mapování. Průvodce Část 2: ZWave, MQTT, pravidla a mapování OpenHAB, software pro domácí automatizaci s otevřeným zdrojovým kódem, daleko převyšuje možnosti ostatních systémů domácí automatizace na trhu - není však snadné nastavit. Ve skutečnosti to může být naprosto frustrující. , kde jsem vám také ukázal, jak grafovat data.

Sbohem Arduino, milovali jsme tě. Jen si dělám srandu: ne všude v mém domě se dokonce dá získat Wi-Fi, takže pro ta místa budu potřebovat síť s Arduino a RF přijímači.

Pro zábavný projekt se podívejte, jak si vyrobit tlačítko Wi-Fi pomocí ESP8266 Jak si vyrobit vlastní tlačítko Wi-Fi připojené pomocí ESP8266 Jak si vyrobit vlastní tlačítko Wi-Fi připojené pomocí ESP8266 V tomto tutoriálu se naučíte jak vytvořit tlačítko s podporou Wi-Fi pomocí NodeMCU a IFTTT. .

Ale co uděláte s ESP8266? Nějaké projekty používající ESP8266, které byste chtěli vidět napsané na MakeUseOf? Dejte nám vědět v komentářích!




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.