ArdJack (on GitHub) is an open-source Arduino C++ application intended as a helper / utility for IoT development.
A command interpreter running on Arduinos receives the user's commands via e.g. a serial or UDP connection.
MIT license.
Main Features
- ArdJack works on Arduino MKR1010, Adafruit Feather M0, DEVKIT ESP32, SparkFun RedBoard Turbo, Arduino Due (no WiFi), and potentially any Arduino IDE-compatible board with at least 32 KB of SRAM.
- Includes support for WiFi, UDP, TCP, HTTP.
- Object-oriented approach – there are user commands to create user objects: Devices, Connections, Beacons, Bridges etc., and to configure and use them. (Each has a corresponding C++ class.)
- A Device, e.g. the board running the code, has a Part for each input or output. The ArduinoDevice class includes setup for several boards and may be easily extended.
- A Device may be configured to use a Shield (see example class ArduinoMFShield), which then imposes its own Part configuration.
- A Device may have UserParts to cater for connected components, e.g. sensors, actuators and displays. The UserPart class is subclassed for each type - see the example classes for DHT11/DHT22 sensors and NeoPixel displays.
- Adapts to the current board type when compiled.
- Configurable, via #defines.
- Flexible routing scheme for routing input from Connections.
- Macros – each macro stores one or more user commands.
- Developed in Visual Studio / Visual Micro, and includes a Windows console application project which shares most of the code (for debugging).