Het Internet der Dingen, Microsoft IoT Core, ESP8266 WiFi MCU’s + tutorial


In 2016 werd het Internet der dingen pas écht populair. De Raspberry Pi foundation lanceerde de minimalistische, & revolutionair goedkope 5$ Pi Zero computer, en wist jij dat er een Raspberry Pi Magazine bestond? Maak kennis met MagPi, en leer uit elke editie iets nieuws. Bestel NU 6 of 12mnd MagPi en ontvang een GRATIS Raspberry Pi Zero!

free-rpi-zero-magpi-ad

Microsoft kroop, tot ons groot genoegen, in bed met Adafruit. Het gevolg? Een Windows 10 afgeleidde Windows IoT Core voor ARM processors als die van de Pi.  Een combo met een RPi is verkrijgbaar op Adafruit’s website. Kerstmis komt vroeg dit jaar.

adafruitdisplay

De Windows IoT core is te verkrijgen via het IoT “dashboard” op de Ms website, maar is ook rechtstreeks verkrijgbaar in een  iso image voor Snapdragon x86 ARM processors zoals op het 1.2Ghz,1Gb RAM, 75$ Dragonboard bijvoorbeeld. Leuk als je een TV-Box of Smartphone met Snapdragon processor bezit…

dragonboard

Windows gebaseerde 3D Printers waren dus nog nooit zo dichtbij als vandaag, en low cost computers dankzij Qualcomm Snapdragon en Intel Atom(vooheen Cherry Trail) processors maken het internet & DIY projecten voor iedereen toegankelijk. Bovendien maken ze DIY projecten realistisch krachtig en betaalbaar.

Nog nooit was het gemakkelijker & betaalbaarder voor een garage-knutselaar en amateur-ingenieur om de wereld te verstommen met een vernieuwend stuk technologie.

3D Design en 3D printing zijn hier onmisbaar ondertussen. Van het 3D ontwerp van de printplaten, tot het 3D printen van behuizingen voor allerhande electronica, we zitten er van begin tot eind tussen.

En tot slot, Doctors of Intelligence & Technology, aka Doit, lanceerde de 4$ draadloze netwerk Node MCU’s*

Deze spotgoedkope technologische wondertjes vindt je reeds in onze webshop.

De andere voorgenoemde technologische wonders gaan we geleidelijk mee aanbieden in de nabije toekomst, in een poging al deze IoT producten te centraliseren in onze webshop, voor uw gemak. In tussentijd ontwerpen en printen we lustig behuizingen, cases, en ondersteuning voor randapparaten met onze toestellen. Zag je iets dat je beviel? Je kan het ook laten printen! Onze 3D Hubs calculator voorziet je meteen van prijzen voor ABS en PLA  3D Prints.

 

*Doit Node MCU’s zijn uiterst betaalbare, minimalistische WiFi toestellen die je voor 1001 toepassingen kan gebruiken. Het doel ervan is, voor een belachelijk laag bedrag, een ontvangstmodule te maken voor internet (o.a. smartphone)gecontroleerde projecten zoals;

-WiFi auto, tank, robot,…

-het aan-uit schakelen van sprinklers in de tuin

-de garagepoort openen met je smartphone over het internet ipv radiogolven

-gegevens publiceren op een webpagina die de MCU zélf host, en die jij van overal kan raadplegen, zoals alarmsysteemstatus

-je 3D printer over het internet toegankelijk en bestuurbaar maken

-detecteer mobiele telefoontoestellen in je omgeving(tech-logging)

-begroet smartphones die in het bereik van de MCU’s WiFi komen met een boodschap.

 

De NodeMCU is een open-source firmware- en ontwikkelingskit dat je helpt ieder IoT product in een paar minuten te prototypen met een paar Lua script lijnen. Bekijk de uitgebreidde mogelijkheden op de ontwikkelaar zijn website, of scrol helemaal naar omlaag voor je eerste les.

www.nodemcu.com, & https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en

Kenmerken

  • Open-source
  • Interactief
  • Programmeerbaar
  • Lage kost
  • Laag stroomverbruik
  • Simpel
  • Slim/doordacht
  • Klein
  • WI-FI mogelijkheden

Arduino-like hardware IO

  • Geavanceerde API voor hardware I/O, welke overtollig werk dramatisch kan verminderen voor configureren en manipulatie van hardware.
  • Codeer zoals met arduino, ook interactief, met Lua script.

Node.js style network API

  • Event-driven API voor network applicaties, welke ontwikkelaars toestaat code te schrijven die draait op een 5mm*5mm MCU in Node.js .
  • Versnel je IOT applicatie ontwikkelingsproces.

Meest betaalbare WI-FI

  • Goedkope WI-FI MCU ESP8266
  • Voorziet het beste WiFi platform voor IOT applicatie ontwikkeling aan de laagste prijs.

Specificaties

  • De Development Kit gebaseert op een ESP8266, integreerde GPIO, PWM, IIC, 1-Wire en ADC. Allemaal in één bordje.
  • Drijf je ontwikkeling in de hoogste versnelling met NodeMCU Firmware!
  • USB-TTL inclusief, plug&play
  • 10 GPIO, elke GPIO kan ook PWM, I2C, 1-wire, zijn
  • FCC gecertificeerde WI-FI module
  • PCB antenna

esptablepcbesp

De Doit Node MCU koop je HIER

 

Tutorial.

De ESP-12E DevKit heeft reeds voorgeladen Lua-firmware. Volg de volgende stappen en schakel de leds op het bord aan via de browser van je PC.

1. Verbindt de ESP-12E DevKit met je USB poort. Op de ESP-12E module zal één blauwe LED oplichten, het andere blijft uit.

2. Je pc zal de driver automatisch istalleren.

3. Open je draadloze verbindingen, en zoek het WiFi netwerk genaamd “DoitWiFi” (zijn SSID), en verbind ermee.

4. Het paswoord is 12345678.

5. Ga naar “192.168.1.1” in je browser

6. met  “D0”, zou je het LED aan & uit moeten kunnen laten gaan op je Node MCU,

7. Test compleet.

en zo bedien je ALLES, over het internet.

Je kan er echt alle kanten mee uit.

Meer informatie over ESP8266: www.ai-thinker.com, en meer info over Lua; www.doit.am.

Source Code

File1:init.lua

--Doit WiFi Robo Car Ctronl Demo
--ap mode
--Created @ 2015-05-13 by Doit Studio
--Modified: null
--Global Site:    http://doit.am/
--China Site:    http://cn.doit.am/
--Global Shop:    http://www.smartarduino.com/
--China Shop:    http://szdoit.taobao.com/
--Chinese BBS:     bbs.iot.fm

print("\n")
print("ESP8266 Started")

local exefile="webserver"
local luaFile = {exefile..".lua"}
for i, f in ipairs(luaFile) do
    if file.open(f) then
      file.close()
      print("Compile File:"..f)
      node.compile(f)
      print("Remove File:"..f)
      file.remove(f)
    end
 end

if file.open(exefile..".lc") then
    dofile(exefile..".lc")
else
    print(exefile..".lc not exist")
end
exefile=nil;luaFile = nil
collectgarbage()

File2:WebServer.lua

--Doit WiFi Robo Car Ctronl Demo
--ap mode
--Created @ 2015-05-13 by Doit Studio
--Modified: null
--Global Site:    http://doit.am/
--China Site:    http://cn.doit.am/
--Global Shop:    http://www.smartarduino.com/
--China Shop:    http://szdoit.taobao.com/
--Chinese BBS:     bbs.iot.fm
--[ is used to replace 《

print("Start soft AP")

wifi.setmode(wifi.SOFTAP) 
local cfg={}
cfg.ssid="DoitWiFi";
cfg.pwd="12345678"
wifi.ap.config(cfg)

cfg={}
cfg.ip="192.168.1.1"
cfg.netmask="255.255.255.0"
cfg.gateway="192.168.1.1"
wifi.ap.setip(cfg)

start_init = function()  
gpio.mode(0, gpio.OUTPUT);  
gpio.mode(1, gpio.OUTPUT);
gpio.write(0,gpio.HIGH);  
gpio.write(1,gpio.HIGH);  
D1_state=0;
D0_state=0;
end

sendFileContents = function(conn, filename)      
if file.open(filename, "r") then
    --conn:send(responseHeader("200 OK","text/html"));          
    repeat           
    local line=file.readline()           
    if line then               
        conn:send(line);          
    end           
    until not line           
    file.close();      
    else
    conn:send(responseHeader("404 Not Found","text/html"));          
    conn:send("Page not found");              
    end  
end 

responseHeader = function(code, type)      
    return "HTTP/1.1 " .. code .. "\r\nConnection: close\r\nServer: nunu-Luaweb\r\nContent-Type: " .. 
    type .. "\r\n\r\n";   
end 

httpserver = function ()      
    start_init();   
    srv=net.createServer(net.TCP)       
    srv:listen(80,function(conn)         
    conn:on("receive",function(conn,request)           
    conn:send(responseHeader("200 OK","text/html"));          
    if string.find(request,"gpio=0") then              
        if D0_state==0 then
           D0_state=1;gpio.write(0,gpio.LOW);              
        else                  
           D0_state=0;gpio.write(0,gpio.HIGH);              
        end          
    elseif string.find(request,"gpio=1") then              
        if D1_state==0 then                  
           D1_state=1;gpio.write(1,gpio.LOW);              
        else  
           D1_state=0;gpio.write(1,gpio.HIGH);
        end          
    else              
        if D0_state==0 then                  
            preset0_on="";              
        end              
        if D0_state==1 then                  
            preset0_on="checked=\"checked\"";              
        end              
        if D1_state==0 then                  
            preset1_on="";              
        end              
        if D1_state==1 then                  
            preset1_on="checked=\"checked\"";              
        end 

        sendFileContents(conn,"header.htm");
        conn:send("[div>[input type=\"checkbox\" id=\"checkbox0\" name=\"checkbox0\" class=\"switch\" onclick=\"loadXMLDoc(0)\" "..preset0_on.." />");
        conn:send("[label for=\"checkbox0\">D0[/label>[/div>");              
        conn:send("[div>[input type=\"checkbox\" id=\"checkbox1\" name=\"checkbox1\" class=\"switch\" onclick=\"loadXMLDoc(1)\" "..preset1_on.." />");   
        conn:send("[label for=\"checkbox1\">D1[/label>[/div>");              
        conn:send("[/div>");          
    end          
        print(request);
    end)         
        conn:on("sent",function(conn)           
                    conn:close();           
                    conn = nil;              
                    end)      
    end)  
    end    

    httpserver()

File3: header.htm

De Doit Node MCU koop je HIER