MySensors is a
free and open source DIY (
do-it yourself) software framework for
wireless
Wireless communication (or just wireless, when the context allows) is the transfer of information between two or more points without the use of an electrical conductor, optical fiber or other continuous guided medium for the transfer. The mos ...
IoT (
Internet of Things
The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other com ...
) devices allowing devices to communicate using
radio transmitters. The library was originally developed for the
Arduino
Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed und ...
platform.
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
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
/
Raspberry Pi
Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
*
ATMega 328P
*
ESP8266
*
ESP32
*
ARM Cortex M0 (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:
*
MQTT
*
Serial USB
*
RS485
Security
The wireless communication can be signed using truncated
HMAC-SHA256
In cryptography, an HMAC (sometimes expanded as either keyed-hash message authentication code or hash-based message authentication code) is a specific type of message authentication code (MAC) involving a cryptographic hash function and a secre ...
either through hardware wit
AtmelATSHA204A
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
In cryptography, a timing attack is a side-channel attack in which the attacker attempts to compromise a cryptosystem by analyzing the time taken to execute cryptographic algorithms. Every logical operation in a computer takes time to execute, and ...
, replay attacks and man in the middle attacks.
Over the air firmware updates
The
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
of a MySensor node can be updated over the air using a few different bootloader options:
* In place overwriting of flash memory using MySensorsBootloaderRF24.
* Using external flash with the DualOptiBoot.
* For ESP8266 nodes using the built in OTA feature.
See also
*
Arduino
Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed und ...
*
ESP8266
References
External links
Official WebsiteOpenHardware.io* {{GitHub, MySensors/MySensors
Russian Community MySensors
Microcontroller software
Home automation
Internet of things
Open hardware electronic devices
Open hardware and software organizations and companies