Om mijn DIY projecten te voorzien van internetfunctionaliteit voor onder andere besturing en vastleggen van gegevens, ben ik begonnen met het schrijven van aangepaste firmware voor de ESP8266 WiFi module.
De ESP8266 is niet groter dan een euromunt en kost niet meer dan een paar euro: uitstekend voor elk project.
De module kan gemakkelijk met een programmer van eveneens een paar euro geprogrammeerd worden vanuit bijvoorbeeld het Arduino IDE.
Wat moet mijn firmware kunnen?
- De module gedraagt zich als WiFi hotspot wanneer er geen verbinding is met een Access Point.
- De module moet verbinding kunnen maken met Access Points met alle op dit moment voorkomende soorten beveiliging.
- De module moet in te stellen zijn via een intuïtieve gebruikersinterface zonder te veel poespas.
- De gebruikersinterface dient beveiligd te zijn en door één gebruiker gelijktijdig te openen.
- De module moet kunnen communiceren via het I2C protocol.
- De module moet gegevens uit kunnen wisselen met een IoT API op het internet welke ik ook zelf zal schrijven.
Wat kan de firmware op dit moment?
De module start op als open Access Point met SSID ‘DennisBor-IoT’ en is na verbinding door middel van een mDNS (multicast DNS) hostname (dennisbor-iot.local) of IP-adres (192.168.4.1) te bereiken.
Na inloggen met de standaardgegevens wordt de verdere webinterface getoond waarin verbinding gemaakt kan worden met gevonden netwerken. Zowel de firmware als interface zitten nog vol met bugs en daar zal ik de komende tijd dan ook aan gaan werken. I2C verbinding is nog helemaal niet geïmplementeerd.
Open source
Deze artikelen zijn een project-dagboek waarin ik broncode en vorderingen zal delen en wat ook als naslagwerk gebruikt kan worden. Broncode mag vrij gedownload en gewijzigd worden.