My journey began when I became curious about the Arduino Uno. After purchasing an Arduino learning kit, I had the idea of building a network of battery powered Arduino Uno's that I could interact with. With much thought, and the enjoyment I was finding in learning, I decided to proceed to plan and build such a network known as the "Vesh framework". This network comprises of the following components.
- Controller
- Custom Arduino Uno board with Wifi, optimised for battery use.
- Server software
- Accepts controller connections.
- Sends messages to and from controllers.
- Executes user defined rules.
- Client Software
- Allows multiple users to interact with controllers.
- Allows users to define message rules.
Technical Implementation: Distributed Logic and Server-Client Sync
The project reveals the hidden layers of simple node-to-server interaction:
- Identification layer: The ESP-01 WiFi Module acts as the network interface, measuring server heartbeat and coordinating local status updates.
- Conversion layer: The system uses high-speed Serial/UART Pins to receive JSON or binary packets for mission-critical sensing tasks.
- Server Interface layer: A Visual Studio 2019 C# Server provides a high-definition data dashboard for node status checks (e.g., "Node 1 - Active").
- Client Interface layer: The custom Client Software provides a visual interface for user rule-definition.
- Processing Logic layer: The Arduino nodes follow a "low-power" sleep-dispatch strategy: they interpret the rule set and match battery states to provide safe, rhythmic data transmission.
- Network Dialogue Loop: Messages are sent rhythmically to the Server during initial calibration to coordinate status.
Hardware-Software Infrastructure
- ATmega328P: The "brain" of each node, managing multi-directional sensor sampling and coordinating status sync.
- ESP8266 ESP-01: Providing a reliable "WiFi Link" for the distributed network.
- C# Server App: Providing a high-capacity logic layer for network management.
- Visual Studio 2019: Essential for the server-side development platform.
- Custom Vesh PCB: Provides a clear and professional physical interface and protects the internal components.
- Circuit Simulator: Used to test logic-electronics circuits and connections before physical assembly.
System Automation and Interaction Step-by-Step
The Vesh framework deployment process is designed to be very efficient:
- Initialize Nodes: Flash the ATmega328 with the Vesh firmware and connect the ESP-01 to the network.
- Setup Server Sync: In Visual Studio, initialize the server port and define the user rules to coordinate the message flow.
- Internal Dialogue Loop: The nodes constantly perform status checks and update the server status in real-time based on your user-defined rules.
- Visual and Data Feedback Integration: Watch the custom dashboard automatically become a rhythmic status signal, pulsing and following your network settings from a distance.
Future Expansion
- OLED Identity Dashboard Integration: Add a small OLED display on each node to show "Current IP" or "Signal Strength (dBm)."
- Multi-sensor Climate Sync Synchronization: Connect specialized sensors and implement "Deep Sleep" to perform higher-precision monitoring with wireless cloud dashboard reporting.
- Cloud Interface Registration Support Synchronization: Add a specialized web-dashboard accessible via smartphone over WiFi/BT to precisely track and log total data history.
- Advanced Security Customization Support: Implement "AES Encryption" to allow patterns to be automatically protected for extra security.
Vesh Framework is a perfect project for any science enthusiast looking for a more interactive and engaging IoT tool!
[!IMPORTANT] The Vesh Framework requires a Static IP or a reliable mDNS setup for the Server to ensure the nodes can always find the path back to the central brain!