The stack is seperated into two parts: the "control plane" (iot_site
) and the "data plane" (device_endpoint
).
This is the user facing website for managing the devices.
- Django 2.x
- Bootstrap 4
- Django REST Framework
Metrics from the devices are sent here. For the demo we forward them to a local InfluxDB instance.
- aiohttp
Seperating this from the site allows the site to be upgraded independently without downtime to the device endpoint. It also allows a scalable async server to be used.
This simulates multiple devices sending metrics to the endpoint.
- shell+curl