MySensors
MySensors is a free and open source DIY (do-it yourself) software framework for wireless IoT (Internet of Things) devices allowing devices to communicate using radio transmitters. The library was originally developed for the Arduino platform.[2][3]
Initial release | 2013 |
---|---|
Stable release | |
Written in | C |
Type | Active |
License | GNU General Public License 2.0 or Commercial |
Website | www |
The MySensors devices create a virtual radio network of nodes that automatically forms a self healing mesh like structure. Each node can relay messages for other nodes to cover greater distances using simple short range transceivers. Each node can have several sensors or actuators attached and can interact with other nodes in the network.
The radio network can consist of up to 254 nodes where one node can act as a gateway to the internet or a home automation controller. The controller adds functionality to the radio network such as id assignment and time awareness.
Supported hardware platforms
The framework can natively be run on the following platforms and micro controllers.
- Linux / Raspberry Pi
- ATMega 328P
- ESP8266
- ESP32
- ARM Cortex M0[4] (mainly Atmel SAMD core as used in Arduino Zero)
Communication options
MySensors supports wireless communication using the following transceivers:
- NRF24L01
- RFM69
- RFM95 (LoRa)
- WiFi (ESP8266 & ESP32)
Wired communication over:
Security
The wireless communication can be signed using truncated HMAC-SHA256 either through hardware with Atmel ATSHA204A or compatible software emulation and optionally encrypted. The implementation is timing neutral with whitened random numbers, attack detection-and-lockout and protects against timing attacks, replay attacks and man in the middle attacks.
Over the air firmware updates
The firmware of a MySensor node can be updated over the air using a few different bootloader options:
- In place overwriting of flash memory using MySensorsBootloaderRF24.[6]
- Using external flash with the DualOptiBoot.[7]
- For ESP8266 nodes using the built in OTA feature.[8]
References
- https://forum.mysensors.org/topic/9446/mysensors-2-3-0-released
- Ramljak, Dario (2015). Sustav nadzora kvalitete zraka u zatvorenim prostorima koristeći bežične senzorske mreže (M.Sc. thesis). University of Zagreb.
- Guarnieri Calò Carducci, Carlo (2015). Design of a Low Cost Multipurpose Wireless Sensor Network. IEEE International Workshop on Measurement and Networking. Coimbra, Portugal.
- "mysensors/ArduinoHwSAMD". GitHub. Retrieved 2016-12-30.
- hek. "Building a wired RS485 sensor network | MySensors - Create your own Connected Home Experience". MySensors. Retrieved 2016-12-30.
- "mysensors/MySensorsBootloaderRF24". GitHub. Retrieved 2016-12-30.
- "mysensors/DualOptiboot". GitHub. Retrieved 2016-12-30.
- "OTA Update · ESP8266 Arduino Core". esp8266.github.io. Retrieved 2016-12-30.