ANAVI Thermometer combines free and open source software with open source hardware and depends on many other open source projects. One of the key Arduino libraries for the default firmware of ANAVI Thermometer is ArduinoJson by Benoît Blanchon. ANAVI Thermometer is a developer board and it is important to stay up to date with latest stable version of any related software. This weekend I migrated the source code to ArduinoJson version 6 and I would like to share with you some details.
As you all know very well by now, the default firmware of ANAVI Thermometer relies on the machine-to-machine real-time communication protocol MQTT. This allows us to easily integrate ANAVI Thermometer in popular IoT platforms like Home Assistant, OpenHab 2 and ThinkSpeak. MQTT is an excellent solution for exchanging information between embedded devices that supports binary data or text as payload of the messages. However, MQTT does not define a specific format of the payload therefore I decided to stick to the JSON format defined by Home Assistant for MQTT components.
The ArduinoJson library in ANAVI Thermometer is responsible for the JSON serialization in all MQTT messages. It converts the data-structure to JSON when we publish MQTT message and it parses the JSON when a message is received.
Earlier this year after a lot of hard work Benoît Blanchon, the creator of ArduinoJson, release stable version 6 which brings a lot of improvements but unfortunately it is not backward compatible with version 5 of the library. Until recently the default firmware of ANAVI Thermometer worked only with ArduinoJson version 5.11.1. Following the recommendations, over the last weekend I have migrated the source code to version 6.11.2. If you have a chance, please give it a try and let me know if you experience any issues. The procedure for flashing Arduino sketches on ANAVI Thermometer has been already explained in a previous update as well as in the user's manual.
In the mean time, with Crowd Supply we launched another crowdfunding campaign for my new open source hardware product ANAVI Gas Detector. It is an ESP8266-powered, open source, Wi-Fi dev board for monitoring air quality and detecting dangerous gases. ANAVI Gas Detector has the same dimensions as ANAVI Thermometer and fits the same acrylic enclosure. If you enjoy ANAVI Thermometer, you will probably also like ANAVI Gas Detector so please help me bring another entirely open source device to life!