1
0
mirror of https://github.com/daniviga/bite.git synced 2024-11-26 14:56:13 +01:00
bite/arduino/README.md
Daniele Viganò b318c32485
Implement MQTT over WebSocket support (#19)
* Update README.md

* Change default port in EEPROM

* Add more docs

* Implement MQTT over WS

* Update diagrams

* Update README.md and fix travis

* Fix simulator.py

* Fix a warning in .travis.yml

* Sync travis with simulator.py

* Fix serial in EDGE composer
2020-06-21 15:21:00 +02:00

1.4 KiB

Arduino IoT device

A simple Arduino UNO sketch is provided in the arduino/tempLightSensor folder. The sketch reads temperature and light from sensors.

The simple schematic is:

tempLightSensor

The sketch does require an Ethernet shield and a bunch of libraries which are available as git submodules under arduino/libraries.

git submodule update --init

Be advised that some libraries (notably the NTP one) have been customized.

An ESP32 board (or similar Arduino) may be used, with some adaptions, too.

EEPROM

Configuration parameters are stored and retrieved from the EEPROM. An helper sketch to update the EEPROM is available under arduino/eeprom_prog.

The data stored in the EEPROM is:

// Ethernet MAC address
const byte mac[6];

// Device serial number
const char serial[];

// IoT platform address and port
struct netConfig {
  IPAddress address;
  unsigned int port;
};

The EEPROM can be completely erased setting the ERASE_FIRST macro to 1.

#define ERASE_FIRST 0

Firmware options

The following macros are available in the firmware (to be set at compile time):

#define DEBUG_TO_SERIAL 1  // debug on serial port
#define USE_MQTT 1         // use mqtt protocol instead of http post
#define USE_INTERNAL_NTP 0 // use default ntp server or the internal one