You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A curated list of awesome open source IoT frameworks, libraries and software.
Note that the list only features components we think are particularly relevant for IoT (e.g they are appropriate for use in embedded IoT devices, deal with the specific constraints of IoT communication networks, etc.). The reader will want to refer to the Awesome catalog for more references in his/her programming language or technical field of choice.
A program running on the host of a Lora Gateway that forward RF packets receive by the concentrator to a server through a IP/UDP link, and emits RF packets that are sent by the server.
The Device I/O Project provides a Java-level API for accessing generic device peripherals on embedded devices.
GPL w/ classpath exception
Java/C
RS-485
TBC
ZigBee
TBC
Z-Wave
TBC
Data Encoding
This section focuses on data encoding formats that are particularly appropriate for IoT scenarios (i.e bandwidth or battery efficient, small memory footprint, …)
Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system.
The Eclipse SmartHome project is a framework that allows building smart home solutions that have a strong focus on heterogeneous environments. It provides a uniform access to devices and information and to facilitate different kinds of interactions with them.
Home Assistant is a home automation platform running on Python 3. It is able to track and control all devices at home and offer a platform for automating control.
libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol. This library can use a serial port or an Ethernet connection.
A high-performance and ease-of-use implementation of the Modbus protocol written in Java by Infinite Automation Systems and Serotonin Software. Supports ASCII, RTU, TCP, and UDP transports as slave or master, automatic request partitioning and response data type parsing.
Eclipse Mosquitto is an open source message broker that implements the MQTT protocol versions 3.1 and 3.1.1. [...] This makes it suitable for "Internet of Things" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.
ARM® mbed™ OS is an open source embedded operating system designed specifically for the "things" in the Internet of Things (IoT). It includes all the features you need to develop a connected product based on an ARM Cortex-M microcontroller
RIOT OS is an operating system for Internet of Things (IoT) devices. It is based on a microkernel and designed for energy efficiency, hardware independent development and a high degree of modularity
The Scandium (Sc) sub-project within Californium implements DTLS 1.2 to secure your application through ECC with pre-shared keys, certificates, or raw public keys.
tinydtls is a library for Datagram Transport Layer Security (DTLS) covering both the client and the server state machine. tinydtls is a library for Datagram Transport Layer Security (DTLS) covering both the client and the server state machine.
mbed TLS (previously PolarSSL) is an implementation of the TLS and SSL protocols and the respective cryptographic algorithms and support code required.
OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.
mbed TLS (previously PolarSSL) is an implementation of the TLS and SSL protocols and the respective cryptographic algorithms and support code required.
OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.