******************* Simulator IoT-knoop ******************* We gebruiken een gesimuleerde IoT-knoop voor demonstratie- en testdoeleinden. Dit is een statische webtoepassing: deze heeft geen server-ondersteuning nodig. Via het websockets-protocol communiceert deze webtoepassing met de mqtt-broker. Gebruik ------- .. figure:: figures/iotnode-app-v02.png :width: 300px :align: right iotnode-app simulator We gebruiken deze simulator meestal via de http-server van de mqtt-broker (mosquitto), maar elke webserver is geschikt (ook via je eigen computer). Een werkend voorbeeld vind je op: http://infvopedia.nl:1884/iotnode-app.html In het node-id venster staat de id van de gesimuleerde knoop. Je kunt deze zelf aanpassen. Je gebruikt dit programma vaak samen met `mqttt`: daarmee kun je beide programma's testen. Deze app heeft hetzelfde gedrag als een hardware-IoT-knoop: * elke 60 sec. stuurt deze app de waarden van de sensoren naar de mqtt-broker (*publish*), met topic `node/xxxx/sensors`, waarbij `xxxx` de ingestelde node-id is; * als formaat voor de data wordt JSON-LPP gebruikt: hetzelfde als de WiFi/mqtt-knopen en de RFM69-gateway. * als de app een actuatorbericht ontvangt, stuurt deze ook direct de sensordata op. Daarmee kun je controleren of het bericht ontvangen en uitgevoerd is. * bij het indrukken van een button stuurt de app direct de sensordata op. Dit gebeurt niet voor de veranderingen van de andere gesimuleerde sensoren. Configuratie ------------ De broncode van deze simulator is te vinden op GitHub: https://github.com/eelcodijkstra/iot-mqtt-apps Daar vind je ook enige uitleg over de implementatie. Als je deze simulator gebruikt met een andere mqtt-broker, dan moet je deze op de volgende punten aanpassen: .. code-block:: javascript var mqttbroker = { hostname: "infvopedia.nl", port: 1884 }; en: .. code-block:: javascript client.connect({ userName: "myUsername", password: "myPassword", onSuccess: onConnect, onFailure: onFailure}); .. todo:: * instelling (formulier) toevoegen aan iotnode-app (en mqttt) om dynamisch broker-instelling te veranderen.