Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

2. diel - Microsoft AZURE - Príprava IDE a prvé programovanie ESP 8266

V minulom dieli sme si urobili úvod do Azure, IoT a zapojili našu dosku.. V dnešnej lekcii si pripravíme IDE.

Príprava IDE

K programovaniu dosky budeme používať klasické IDE od Arduino. Arduino samotnej bohužiaľ nemožno použiť, pretože čip ATmega 328P toho veľa neupočítá a pamäti má Arduino tiež poskromne, takže nezvládne TSL 1.2 šifrovanie, čo je pre použitie IoT hubu na AZURE nutnosť.

Arduinní IDE v sebe v základe nemá podporu pre našu dosku, takže pre mnohých nebude novinkou, že oproti klasickému Arduino budeme musieť nainštalovať pár knižníc. Popíšeme si teda prípravu IDE a, pretože základnou vlastnosťou programátora je lenivosť, použil som knižnice dostupné na GitHub.

Nemám teraz k dispozícii Linux na desktope, takže programujem celé riešenie pod Windows, ale výsledok nášho snaženia by mal byť nezávislý na platforme. Je teda len na vás, čo použijete. Tu sa budeme trochu líšiť. S ohľadom na linuxáky ako odborníkov, budem spoliehať na to, že si poradí. Kovaným linuxákům sa vopred ospravedlňujem, ale ako malý dôkaz, že Azure nie je priamo závislý na platforme, ktorú človek používa, sú niektoré knižnice od Microsoftu k dispozícii zadarmo ako Open Source. Divná to zmena za tie roky vojny MS vs. Linux.

K programovaniu dosky budeme potrebovať Arduino IDE. Je k stiahnutiu na adrese: https://www.arduino.cc/en/Main/, potrebujeme verziu 1.6.2 a vyšší.

Ďalej budeme musieť stiahnuť knižnicu pre Azure IoT na https://github.com/.../AzureIoTHub.

Knižnicu rozbaľte do zložky Arduino Libraries. Na Windows je defaultne na adrese:

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

Alebo použite voľbu

  • EN verzia: Sketch> Import Library menu
  • CZ verzia: Projekt> Pridať knižnicu> Pridať .zip knižnicu

Do IDE budeme musieť ešte doinštalovať knižnice, a to cez manažment knižníc voľbou:

  • EN verzia: Sketch> Include Library> Manage Libraries
  • CZ verzia: Projekt> Pridať knižnicu> Spravovať knižnice

Ide o knižnice:

Add DHT sensor to Arduino IDE - Microsoft Azure a IoT
Add DHT sensor to Arduino IDE - Microsoft Azure a IoT

Ďalej do IDE musíme dostať podporu procesora ESP 8266 podľa návodu na: https://learn.sparkfun.com/...g-up-arduino

Takže do nastavenia IDE musíme pridať adresu pre definície dosiek. To urobíte pridaním nižšie uvedené adresy do správy dosiek z menu.

http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • EN verzia: File> Preferences> Additional Boards Manager URLs
  • CZ verzia: Súbor> Vlastnosti> Správca ďalších dosiek URL
Pridanie dosky do IDE - Microsoft Azure a IoT

Ďalej v manažéri dosiek pridáme podporu dosky. Dajte ju teda vyhľadať a nainštalujte.

  • EN verzia: Tools> Boards> Boards Manager
  • CZ verzia: Nástroje> Vývojová doska> Manažér dosiek
Pridanie dosky do IDE-2 - Microsoft Azure a IoT

Inštalácia trvá sakramentsky dlho, takže si dajte pauzu a dajte si maškrtu podľa vlastných preferencií, nešťastie s inštaláciou knižníc bude čoskoro koniec.

Po inštalácii potom už len v správcovi dosiek vyberte našej dosku Sparkfun ESP 8266 Thing

Výber dosky ESP 8266 IDE - Microsoft Azure a IoT

Teraz by sme mali mať všetko pripravené. Doska je zapojená a sme schopní do nej nahrať náš prvý program.

Prvý program pre ESP 8266

Nastavenie IDE Arduino máme konečne za sebou a dostávame sa k programovaniu. Pre tých, ktorí majú s programovaním napríklad pre Arduino skúsenosti, môžete pokojne preskočiť na ďalšiu lekciu. K riešeniu nášho problému nebude táto časť potreba.

Do dosky tiež nahráme prvý kód. Synček si prial vidieť, ako bliká modrá LED na doske, tak som narýchlo napísal programík na SOS. Ukážeme si teda jednoduchú a rýchlu verziu. Ospravedlňujem sa, funkcie sú pomenované nelogicky a asi zle, však mi kód nebol ďalej k úžitku a nemal som teda jediný dôvod ďalej ho opravovať alebo rozvíjať. Takže si ho môžete upraviť podľa seba a samozrejme aj zjednodušiť. Osobne sa veľmi teším na vaše jednoduchšie riešenie.

#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();
}
Prvý kód pre ESP 8266 - Microsoft Azure a IoT

Kód tu nebudeme preberať, pokiaľ mu niekto nerozumie, odkáže ho na tunajšej lekcie C a C ++. Výsledkom je, že na boarde bude blikať modrá ledka :-) . Budete mať možno problém s nahraním vašou kompilácie do boardu. V tomto prípade existuje jednoduché, ale extrémne hlúpe riešenie.

Vypnite dosku vypínačom na doske a po dokončení kompilácie, čo spoznáte tak, že v IDE dobehne bar do konca a dosku šikovne zapnite ešte pred vyskočením error. S trochou cviku sa vám po pár pokusoch podarí trafiť bootloader reset. Je to extrémne otravné a musím povedať, že ma táto vlastnosť od ďalšieho používania tohto boardu málom odradila.

Nabudúce sa už nebudeme venovať inštaláciám a podobným nepríjemnostiam a dostaneme sa rovno na pripojenie dosky do MS Azure.


 

Predchádzajúci článok
Microsoft AZURE - Úvod do Azure a zapojenia dosky
Všetky články v sekcii
Microsoft Azure a IoT
Preskočiť článok
(neodporúčame)
Microsoft AZURE - Pripojenie k wifi sieti a prvýkrát v Azure
Článok pre vás napísal Michal Gros
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
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