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).