2. díl - Microsoft AZURE - Příprava IDE a první programování ESP 8266

Hardware PC Azure a IoT Microsoft AZURE - Příprava IDE a první programování ESP 8266

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulém dílu jsme si udělali úvod do Azure, IoT a zapojili naši desku.. V dnešní lekci si připravíme IDE.

Příprava IDE

K programování desky budeme používat klasické IDE od Arduina. Arduino samotné bohužel nelze použít, neboť čip ATMega 328P toho moc neupočítá a paměti má Arduino také poskrovnu, takže nezvládne TSL 1.2 šifrování, což je pro použití IoT hubu na AZURE nutnost.

Arduinní IDE v sobě v základu nemá podporu pro naši desku, takže pro mnohé nebude novinkou, že oproti klasickému Arduinu budeme muset nainstalovat pár knihoven. Popíšeme si tedy přípravu IDE a, protože základní vlastností programátora je lenost, použil jsem knihovny dostupné na GitHubu.

Nemám nyní k dispozici Linux na desktopu, takže programuji celé řešení pod Windows, ale výsledek našeho snažení by měl být nezávislý na platformě. Je tedy jen na vás, co použijete. Tady se budeme trochu lišit. S ohledem na linuxáky jako odborníky, budu spoléhat na to, že si poradí. Kovaným linuxákům se předem omlouvám, ale jako malý důkaz, že AZURE není přímo závislý na platformě, kterou člověk používá, jsou některé knihovny od Microsoftu k dispozici zdarma jako Open Source. Divná to změna za ta léta války MS vs. Linux.

K programování desky budeme potřebovat Arduino IDE. Je ke stažení na adrese: https://www.arduino.cc/en/Main/, potřebujeme verzi 1.6.2 a vyšší.

Dále budeme muset stáhnout knihovnu pro Azure IoT na https://github.com/…/AzureIoTHub.

Knihovnu rozbalte do složky Arduino Libraries. Na Windows je defaultně na adrese:

C:\Users\[username]\Documents\Arduino\libraries

Nebo použijte volbu

  • EN verze: Sketch > Import Library menu
  • CZ verze: Projekt > Přidat knihovnu > Přidat .zip knihovnu

Do IDE budeme muset ještě doinstalovat knihovny, a to přes management knihoven volbou:

  • EN verze: Sketch > Include Library > Manage Libraries
  • CZ verze: Projekt > Přidat knihovnu > Spravovat knihovny

Jedná se o knihovny:

Add DHT sensor to Arduino IDE
Add DHT sensor to Arduino IDE

Dále do IDE musíme dostat podporu procesoru ESP 8266 dle návodu na: https://learn.sparkfun.com/…g-up-arduino

Takže do nastavení IDE musíme přidat adresu pro definice desek. To uděláte přidáním níže uvedené adresy do správy desek z menu.

http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • EN verze: File > Preferences > Additional Boards Manager URLs
  • CZ verze: Soubor > Vlastnosti > Správce dalších desek URL
Přidání desky do IDE

Dále v manažeru desek přidáme podporu desky. Dejte ji tedy vyhledat a nainstalujte.

  • EN verze: Tools > Boards > Boards Manager
  • CZ verze: Nástroje > Vývojová deska > Manažer desek
Přidání desky do IDE-2

Instalace trvá zatraceně dlouho, takže si dejte pauzu a dejte si laskominu dle vlastních preferencí, neštěstí s instalací knihoven bude brzy konec.

Po instalaci pak už jenom ve správci desek vyberte naší desku Sparkfun ESP 8266 Thing

Výběr desky ESP 8266 IDE

Nyní bychom měli mít vše připravené. Deska je zapojena a jsme schopni do ní nahrát náš první program.

První program pro ESP 8266

Nastavení IDE Arduina máme konečně za sebou a dostáváme se k programování. Pro ty, kteří mají s programováním například pro Arduino zkušenosti, můžete klidně přeskočit na další lekci. K řešení našeho problému nebude tato část potřeba.

Do desky také nahrajeme první kód. Synek si přál vidět, jak bliká modrá LED na desce, tak jsem narychlo napsal prográmek na SOS. Ukážeme si tedy jednoduchou a rychlou verzi. Omlouvám se, funkce jsou pojmenovány nelogicky a asi špatně, nicméně mi kód nebyl dále k užitku a neměl jsem tedy jediný důvod dále ho opravovat anebo rozvíjet. Takže si ho můžete upravit podle sebe a samozřejmě i zjednodušit. Osobně se moc těším na vaše jednodušší řešení.

#define ESP8266_LED 5

void setup()
{
        pinMode(ESP8266_LED, OUTPUT);
}

void tecka()
{
        for (int i=0; i <= 2; i++) {
                digitalWrite(ESP8266_LED, HIGH); // LED off
                delay(500);
                digitalWrite(ESP8266_LED, LOW); // LED on
                delay(500);
        }
}

void carka()
{
        for (int i=0; i <= 2; i++) {
                digitalWrite(ESP8266_LED, HIGH); // LED off
                delay(500);
                digitalWrite(ESP8266_LED, LOW); // LED on
                delay(2000);
        }
}

void mezera()
{
        digitalWrite(ESP8266_LED, HIGH); // LED off
        delay(1000);
}

void loop()
{
        mezera();
        tecka();
        mezera();
        carka();
        mezera();
        tecka();
}
První kód pro ESP 8266

Kód zde nebudeme probírat, pokud mu někdo nerozumí, odkáži jej na zdejší lekce C a C++. Výsledkem je, že na boardu bude blikat modrá ledka :-). Budete mít možná problém s nahráním vaší kompilace do boardu. V tomto případě existuje jednoduché, ale extrémně hloupé řešení.

Vypněte desku vypínačem na desce a po dokončení kompilace, což poznáte tak, že v IDE doběhne bar do konce a desku hbitě zapněte ještě před vyskočením Erroru. S trochou cviku se vám po pár pokusech podaří trefit BootLoader reset. Je to extrémně otravné a musím říct, že mě tato vlastnost od dalšího používání tohoto boardu málem odradila.

Příště se již nebudeme věnovat instalacím a podobným nepříjemnostem a dostaneme se rovnou k připojení desky do MS Azure.


 

 

Článek pro vás napsal Michal Gros
Avatar
Jak se ti líbí článek?
2 hlasů
Autor se jako Partner Solution Architekt ve společnosti NetSecure věnuje cloud technologii MS AZURE, spravuje systémy na os LINUX WINDOWS. Programuje v c, c++ a C# .net, Html
Aktivity (3)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!