A quick look into GrowNode systems
This page describes how the GrowNode platform is structured and the technology behind it.
Architecture
A full GrowNode system architecture is composed by
- one or more grownode boards (called nodes)
- each board is connected to several sensors (called leaves)
- a messaging server where each board talks using MQTT
- an automation server - like openhab, home assistant - that orchestrate the node operations
- several clients to display and manage nodes
- other systems, like home automation, gardening, that works together with grownode
Working tools
GrowNode aims to use most common development tools. Actual release is composed by:
Hardware
- ESP32 and above microcontrollers
-
Common sensors and actuators (relay, PWM output, temperature probes, capacitance sensors..) with any esp-idf compatible libraries
-
(optional) Various displays tested (ILI9341) with touch screen (tested XPT2046) capabilities
- (optional) A server like a raspberry to host the server side components in case you want to develop a network solution
Software Components
-
ESP-IDF (release 4.4) programming environment
-
(optional) MQTT broker as a messaging system - if you want to exchange info between boards and servers
- (optional) LVGL as display library - if you want to attach a screen to display your sensor values
- (optional) OpenHab/Home Assistant as a controller
Functionalities
Grownode provides functionalities that lets you kickstart your projects in minutes:
- SoftAP/Bluetooth Provisioning to join and change your wireless network without any hardcode configuration through a mobile app
- High level device configuration through makefile
- Firmware update Over The Air
- NTP clock sync
- Persistent storage of parameters
- Sensor and Actuators configuration abstracting the hardware level
- Transparent networking protocol (presentation, keepalive, logging)
- Client/Server and Client/Client parameter retrieval and update through MQTT