Skip to content

DIY Internet of Things – del 2

Med avseende på mitt gedigna intresse så är det svårt att i en bloggserie hålla tillbaka och verkligen ta det från början. Men jag hoppas att första delen kanske väckt lite intresse och att du har googlat och läst om några DIY projekt. Förmodligen har du översvämmats av produkter, kodexempel och långa forumstrådar i ämnet och vet inte riktigt var du skall börja. Som jag nämnde i förra inlägget så är det första steget i att bekanta sig med dessa prylar att få en lysdiod att blinka (vilket motsvarar kodarens ”Hello World”), jag tycker vi börjar med det steget och tittar närmare på en liten fantastisk pryl som kanske tilltalar dig.

ESP8266 – ett system på ett chip

ESP8266 är en mycket prisvärd System on a Chip (SoC) med ingångar, utgångar, Wi-Fi och med en integrerad TCP/IP stack för kommunikation. Enkelt beskrivet kan du koppla upp den på ditt Wi-Fi och skicka information till databaser, webbtjänster mm alternativt använda den som en egen webbserver för att presentera data. ESP8266 är av denna anledning en mycket populär produkt och har till och med en egen community.

devices

Själva ESP8266-enheten i sig är mycket liten till storleken och lite besvärlig att ladda in programvara (dvs flasha), men för att göra allt lite enklare så finns det även ett ”developer kit” som heter NodeMCU. Det är detta ”dev kit” vi skall fortsätta med och vad som behövs för att komma igång och göra din första ”Hello World”.

Inköpslista

Först börjar jag med att köpa det som behövs. Förutom komponenterna så rekommenderar jag att även skaffa en experimentplatta och några kablar för detta ändamål där man kan prova sig fram. Experimentplattan ger dig möjlighet att koppla ihop grejerna utan att behöva löda och mycket enkelt förändra och testa saker tills du slutligen kommer fram till en produkt du eventuellt vill löda ihop. Allt finns tillgängligt på till exempel Kjell & Co alternativt på andra försäljningssidor (beroende på hur längre man orkar vänta på leveransen). Men en inköpslista på Kjell & Co skulle kunna se ut så här:

Förberedelser

Nu när du äntligen kommit hem efter din shoppingrunda så är det dags för förberedelserna. Till att börja med behöver du en IDE (Integrated Development Environment) för att programmera själva NodeMCU enheten och till detta kommer vi använda Arduino IDE.

sketch

Arduino i sig har du säkert redan hört talats om eftersom du redan har googlat lite, men vill du fördjupa dig mer så rekommenderar jag att börja på deras hemsida. För detta experiment så behöver du bara följa denna länk för att hämta hem IDE-programmet för Windows (självklart gratis). Arduino IDE stödjer som standard praktiskt taget alla Arduino produkter som finns tillgängliga, men just nu dessvärre inte NodeMCU som vi skall använda.  Argh!

Det svåraste momentet i detta experiment är nog att installera stödet för NodeMCU i Arduino IDE, men med några enkla steg så fixar du stöd för även NodeMCU och du bara behöver göra dem en gång.

  1. Öppna din nyinstallerade Arduino IDE
  2. Klicka på File -> Preferences
  3. I textrutan vid Additional Board Manager URLs kopierar och klistrar du in följande länk
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
  4. Klicka OK och File -> Exit och öppna Arduino IDE igen
  5. Klicka på Tools -> Boards Manager
  6. Scrolla ned tills du ser esp8266 by ESP8266 Community och klicka på install
  7. Klicka på Close, File -> Exit och öppna Arduino IDE igen.
  8. Klicka på Tools -> Board och välja ”NodeMCU 1.0 (ESP-12E Module)
  9. Plugga in microUSB-kabeln i NodeMCU och andra änden i valfri USB port i datorn
  10. Under Tools så skall du en ny COM-port dyka upp. Välj denna och du är klar!

Programmera

Nu är det bara att sätta fast din NodeMCU i experimentplattan och lysdioden mellan pinne D7 och GND. Plugga in USB-kabeln i enheten och andra änden i datorn, till detta fungerar laddkabeln till din mobiltelefon mycket bra (det vill säga om du har Android).

Experimentplatta

Det finns mycket kod att hämta på nätet som är fri att använda och vi skall använda en enkel blink kod. Radera allt som kommer med i fönstret i din Arduino IDE när man öppnar programmet och skriv in följande kod:

void setup() {
   pinMode(13, OUTPUT);
}
void loop() {
   digitalWrite(13, HIGH);
   delay(1000);
   digitalWrite(13, LOW);
   delay(1000);
}

 

Klicka på Upload i din Arduino IDE och kontrollera att det blinkar.

Sammanfattning

DIY-delen är inte alltid helt självklar och man måste ha lite tålamod. Personligen tycker jag det är ett otroligt roligt område där man varvar praktiskt arbete med elektronik, teori med programmering och ser dessa saker fungera utifrån vad man själv gjort. Hittills har jag inte berört själva kommunikationen mellan dessa enheter, detta är vad kommande delar skall handla om. Men nu är grunden lagd och härifrån är det bara din fantasi som sätter begränsningarna.

Bonusmaterial

Som bonus om du vill utveckla ovan blinkande, så spara ned följande fil, öppna med Arduino IDE och ändra i koden till ditt WLANs SSID och lösenorden. Med denna kodsnutt kan du med mobilen tända och släcka lysdioden genom att surfa in på din ESP8266, behövs ingen app.

Läs mer: DIY IoT Del 1