MySensors is a
free and open source
Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
DIY (
do-it yourself) software framework for
wireless
Wireless communication (or just wireless, when the context allows) is the transfer of information (''telecommunication'') between two or more points without the use of an electrical conductor, optical fiber or other continuous guided transm ...
IoT (
Internet of Things
Internet of things (IoT) describes devices with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other communication networks. The IoT encompasse ...
) devices allowing devices to communicate using
radio transmitters
In electronics and telecommunications, a radio transmitter or just transmitter (often abbreviated as XMTR or TX in technical documents) is an electronic device which produces radio waves with an antenna with the purpose of signal transmission ...
. The library was originally developed for the
Arduino
Arduino () is an Italian open-source hardware and open-source software, software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardwar ...
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 ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
/
Raspberry Pi
Raspberry Pi ( ) is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in collaboration with Broadcom Inc., Broadcom. To commercialize the product and support its growing demand, the ...
*
ATMega 328P
*
ESP8266
The ESP8266 is a low-cost Wi-Fi microcontroller, with built-in TCP/IP stack, TCP/IP networking software, and microcontroller capability, produced by Espressif Systems in Shanghai, China.
The chip was popularized in the English-speaking maker c ...
*
ESP32
ESP32 is a family of low-cost, energy-efficient microcontrollers that integrate both Wi-Fi and Bluetooth capabilities. These chips feature a variety of processing options, including the Tensilica Xtensa LX6 microprocessor available in both dual-c ...
*
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
LoRa (from "long range", sometimes abbreviated as "LR") is a physical proprietary radio communication technique. It is based on spread spectrum modulation techniques derived from chirp spread spectrum (CSS) technology. It was developed by Cycleo ...
)
* 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 secr ...
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, replay attacks
A replay attack (also known as a repeat attack or playback attack) is a form of network attack in which valid data transmission is maliciously or fraudulently repeated or delayed. This is carried out either by the originator or by an adversary who ...
and man in the middle attacks.
Over the air firmware updates
The
firmware
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
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 Italian open-source hardware and open-source software, software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardwar ...
*
ESP8266
The ESP8266 is a low-cost Wi-Fi microcontroller, with built-in TCP/IP stack, TCP/IP networking software, and microcontroller capability, produced by Espressif Systems in Shanghai, China.
The chip was popularized in the English-speaking maker c ...
References
External links
Official WebsiteOpenHardware.io* {{GitHub, MySensors/MySensors
Russian Community MySensors
Microcontroller software
Home automation
Open hardware electronic devices
Open hardware and software organizations and companies