Combinatie webserver en mqtt¶
Het programma ESP8266-node-0
combineert de verschillende manieren van gebruik van een ESP8266 IoT-knoop:
- webserver, bij gebruik als wifi-access point of als wifi-station;
- mqtt-knoop, bij gebruik als wifi-station.
Bovendien kun je via de webserver de wifi- en mqtt-parameters instellen: je hoeft de knoop daarvoor niet opnieuw te programmeren.
WiFi access point (AP)¶
Je kunt de IoT-knoop opstarten als wifi access point (AP, ofwel “wifi base station”). Hiervoor druk je eerst button0 in, en dan de reset-button. Je laat dan eerst de reset-button los en 3 seconden later button0.
Notitie
De reset-button vind je links van de USB-aansluiting op het ESP8266-bordje.
Vervolgens kun je met je computer (of met je smartphone) verbinding maken met het netwerk van dit access point.
De naam van het netwerk is ESPAP-xxxx
waarin xxxx het nummer van de knoop is.
Het IP-adres van de webserver is in dit geval 192.168.4.1
.
Door dit adres in de URL-balk van de browser in te geven (eventueel als: http://192.168.4.1
),
kun je de webpagina’s van de IoT-knoop openen.
Bij het gebruik als access point kun je de knoop niet als MQTT-client gebruiken. Bovendien heb je via dit access point geen verbinding met het internet: het access point biedt alleen een lokaal WiFi-netwerk met een klein aantal gebruikers (“stations”).
Je kunt deze AP-mode gebruiken voor het besturen en voor het configureren van de IoT-knoop.
WiFi station (STA)¶
De normale manier van gebruiken van de IoT-knoop is als WiFi-station in een WiFi-netwerk. Je moet dan eerst de knoop configureren met de parameters (SSID: netwerknaam, en password) van het netwerk, via de setup-webpagina.
Als het netwerk verbonden is met het internet, en de MQTT-poorten (1883) is niet geblokkeerd, dan kun je de knoop ook configureren als MQTT-client, door de gegevens voor de server (broker) in te vullen.
Als je in de configuratie de naam van de MQTT-server (broker) leeg laat, dan wordt de knoop niet acief als MQTT-client.
Als de gegevens voor de MQTT-server onjuist zijn, dan blokkeert het zoeken naar de MQTT-broker het normale gebruik als webserver. In dat geval moet je de knoop opstarten als Access Point, en de juiste gegevens voor de MQTT-server invullen. (Of, als je die niet weet, schakel je de MQTT-client uit door de naam van de MQTT-server leeg te laten.)
Webpagina’s¶
Voor het pad van de webpagina gebruik je http://192.168.4.1
(bij gebruik als access point)
of http://esp8266-xxxx.local
- waarin xxxx de nodeID is (bij gebruik als station).
/
- home (geeft o.a. sensor-data)/ledon
- schakelt led0 aan/ledoff
- schakelt led0 uit/setup
- configureren van de knoop/reset
- reset van de knoop
N.B. de reset via de webpagina slaagt niet altijd: het is dan nodig om een hardware-reset te plegen met de reset-button.
Configureren (setup)¶
Via de webpagina /setup
kun je de volgende parameters instellen:
- wifi-ssid en wifi-password
- mqtt-server (broker), mqtt-user en mqtt-password
Deze veranderingen gaan in bij de volgende reset.
Door het veld voor de mqtt-server leeg te maken schakel je de mqtt-client bij de volgende reset uit.
Je hoeft niet steeds alle parameters in te stellen: parameters die je niet invult blijven ongewijzigd. Dit geldt ook voor de wachtwoorden (die niet getoond worden).