Skip to content

FIDO Sampler

Note

TODO kgomes - insert a description of the FIDO sampler here

The FIDO sampler consists of the following stack of technologies:

  1. The FIDO sampler itself (motors, valves, etc.)
  2. The Sampler Microcontroller which is based on a STM32 MCU.
  3. The RockPi Controller which serves as the controller for the sampler itself via serial protocol, the local user interface server, and the connection to the cloud server via MQTT.
  4. The Web Application which runs on the RockPi controller and on Amazon Web Services.
    1. Local Interface (NOTE: You have to be connected to the local WiFi hotspot from the RockPi device to get to this interface.)
    2. Production Cloud Server
    3. Development Cloud Server

A simplified diagram of this system is show here

--- title: ESP Sampler Diagram --- flowchart LR fido-sampler[Sampler] stm32-mcu[Sampler STM32 MCU] subgraph Headscale-Tailscale VPN rockpi[RockPi Controller] subgraph AWS EC2 Server nginx[Nginx Server] subgraph Docker flask[Gunicorn App Server] mosquitto[MQTT Broker] end end end cloud-app[Web App] local-app[Web App] fido-sampler --- stm32-mcu stm32-mcu <--serial--> rockpi rockpi <--telemetry--> mosquitto mosquitto <--> flask flask <--> nginx nginx <--> cloud-app rockpi <--wifi--> local-app click fido-sampler "./sampler/" click rockpi "./controller/" click local-app "./webapp/" click cloud-app "./webapp/"
  1. The cloud related tools and scripts to manage the deployment of the applications
  2. The Developers Guide
  3. Various 'Cookbooks'
    1. Build an SD Card Image
    2. Add a New Device
    3. Remove a Device
    4. Manage Logging
    5. Add User to SSH on AWS Server
    6. Update Web Application
    7. Update the Database