#Awesome IoT
A curated list of IoT. Everyone can contribute here!
- Framework
- Library
- OS
- Platform
- APIs
- Middleware
- Toolkits inlucde Non-OS
- Data visualization
- Hardware
- Home automation
- Robotics
- Others
- Language
- Protocol Library
- Software
- Tools
- Others
##Framework
- Cylon - JavaScript framework for robotics, physical computing, and the Internet of Things.
- johnny-five - JavaScript Robotics and IoT programming framework, developed at Bocoup, Firmata Protocol.
- GoBot - Golang framework for robotics, physical computing, and the Internet of Things.
- heimcontrol.js - Home-Automation with node.js and Raspberry PI.
- Serverless - Serverless is the application framework for building web, mobile and IoT applications exclusively on Amazon Web Services' Lambda and API Gateway.
- Kura - an open-source framework for development of IoT applications
##Library
###SDK
- Microsoft Azure IoT SDK - SDKs for a variety of languages and platforms that help connect devices to Microsoft Azure IoT services.
- ESP8266 Arduino core - Arduino core for ESP8266 WiFi chip.
- Electron - The Electron is a tiny cellular development kit based around U-Blox's SARA U-series (3G) or G-series (2G) cellular modem module and a STM32F205 ARM Cortex M3 microcontroller.
###Arduino
- Windows Remote Arduino - Remote "Arduino Wiring" interface for Windows 8.1, Windows Phone 8.1 and Windows 10. Used to control an Arduino from a Universal Windows Platform application.
- WiringPi - Gordon's Arduino wiring-like WiringPi Library for the Raspberry Pi.
###low level
- uIP - uIP is a very small implementation of the TCP/IP stack.
- btstack - Dual-mode Bluetooth stack, with small memory footprint.
- krypton - Embedded TLS/DTLS library, source and binary compatible OpenSSL subset
- simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
##Android
- PhoneGap NFC - PhoneGap NFC Plugin
- Cordova BLE - Bluetooth Low Energy plugin for Cordova
##OS
- Zephyr - is a small, scalable real-time operating system for use on resource-constrained systems supporting multiple architectures.
- ARM mbed - The ARM® mbed™ IoT Device Platform provides the operating system, cloud services, tools and developer ecosystem to make the creation and deployment of commercial, standards-based IoT solutions possible at scale.
- Snappy Ubuntu Core - Canonical, A new, transactionally updated Ubuntu for clouds and devices.
- Contiki - The Open Source OS for the Internet of Things
- Raspbian - Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware.
- RIOT - The friendly Operating System for the Internet of Things
- RT-Thread - RT-Thread is an open source real-time operating system for embedded devices from China.
- TinyOS - designed for low-power wireless devices, such as those used in sensor networks, ubiquitous computing, personal area networks, smart buildings, and smart meters.
- Brillo - Brillo extends the Android platform to all your connected devices.
- NodeOS - Lightweight operating system using Node.js as userspace.
- JanOS - JanOS is an operating system designed to run on the chipset of mobile phones.
- macchina.io - An open-source toolkit for building embedded IoT applications that connect sensors, devices and cloud services.
- Linino - Linino is a GNU/Linux distribution based on OpenWRT and mantained by DogHunter.
- seL4 Microkernel - The world's first operating-system kernel with an end-to-end proof of implementation correctness and security enforcement is available as open source.
- f9-kernel - An efficient and secure microkernel built for ARM Cortex-M cores, inspired by L4
##Platform
- PlatformIO - PlatformIO is a cross-platform code builder and the missing library manager.
- Lan - Internet of Things Server Layer with CoAP, WebSocket, MQTT, HTTP Protocol
- Particle(Spark) - Particle (formally Spark) is a complete, open source, full-stack solution for cloud-connected devices.
- Pico Labs - Kynetx open source assigned to Pico Labs/
- Clavin - Calvin is an application environment that lets things talk to things. It comprises of both a development framework for application developers, and a runtime environment that handles the running application.
- IoT.js - Platform for Internet of Things with JavaScript.
- Jasper - Jasper is an open source platform for developing always-on, voice-controlled applications.
##APIs
- Qeo Tinq - Tinq is completely based on the Qeo publish/subcribe framework produced by Technicolor as explained in the license section.
##Middleware
- Kaa - Kaa open-source middleware platform for building, managing, and integrating connected products with the Internet of Everything.
- OpenIoT (The OpenIoT middleware infrastructure will support flexible configuration and deployment of algorithms for collection
##Toolkits inlucde Non-OS
- KinomaJS - A JavaScript runtime optimized for the applications that power IoT devices.
- IoT Toolkit - Reference implementation of the smart object API
- OpenOCD - OpenOCD provides on-chip programming and debugging support with a layered architecture of JTAG interface and TAP support
##Data visualization
- Dashing - Dashing is a Sinatra based framework that lets you build beautiful dashboards.
- Freeboard - A damn-sexy, open source real-time dashboard builder for IOT and other web mashups. A free open-source alternative to Geckoboard.
- ECharts - Echarts is a commercial charting solution originally intended to address the report need of the Company's various business systems.
- HighCharts - Highcharts JS, the JavaScript charting framework
- D3.JS A JavaScript visualization library for HTML and SVG
##Hardware
- Arduino - open-source electronics platform based on easy-to-use hardware and software.
- Raspberry Pi - a tiny and affordable computer that you can use to learn programming through fun, practical projects
- BeagleBone - BeagleBone Black is a low-cost, community-supported development platform for developers and hobbyists
- Intel Galileo - Galileo is a microcontroller board based on the Intel® Quark SoC X1000 Application Processor, a 32-bit Intel Pentium-class system on a chip
- NodeMCU - a firmware based on ESP8266 wifi-soc.
- Microduino - Microduino is about the size of a quarter and less than half the size of the original Arduino board.
- Tessel - Tessel is a completely open source and community-driven IoT and robotics development platform.
- SquareWear - An Open-Source Arduino-based Wearable Microcontroller
- Arduino ZERO - This board aims to provide a platform for innovative projects in smart IoT devices, wearable technology, high-tech automation, crazy robotics, and much more.
- Cheapduino - CheapDuino is the most cheapest Arduino compatible processor in the world.
##Home automation
- Ninja Blocks - Smart home controller. A computer for the coffee table.
- openHAB - a vendor and technology agnostic open source automation software for your home.
- Eclipse SmartHome - Smart Home adoption will only gain momentum if the different devices can be connected into over-arching use cases, but currently the market for Smart Home systems and IoT gadgets is heavily fragmented.
- PrivateEyePi - Home Automation and Monitoring Projects for Raspberry Pi
- RaZberry - RaZberry brings Z-Wave to the Raspberry PI platform.
- home.pi - Home Automation with AngularJS and MQTT on a Raspberry Pi
- home-assistant - Open-source home automation platform running on Python 3
- [openhab 2](https://github.com/openhab/openhab 2) - The open Home Automation Bus (openHAB) project aims at providing a universal integration platform for all things around home automation.
- heimcontrol.js - Home-Automation with node.js and Raspberry PI
- pimatic - A home automation server and framework for the raspberry pi running on node.js
##Robotics
- artoo - Ruby framework for robotics and the Internet of Things
- hubot A customizable life embetterment robot.
##Others
- Node-RED - A visual tool for wiring the Internet of Things.
##Language
- [ELIoT](https://github.com/c -/eliot) - Extensible Language for the Internet of Things.
- JerryScript - A JavaScript engine for Internet of Things.
- V7 - V7 is a JavaScript engine written in C. It makes it possible to program Internet of Things (IoT) devices in JavaScript.
- luvit - Node.JS for the Lua Inventor.
- MicroPython - MicroPython is a lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller.
- eLua - Quickly prototype and develop embedded software applications with the power of Lua and run them on a wide range of microcontroller architectures
###Others
- mbed TLS - An open source, portable, easy to use, readable and flexible SSL library
- Mongoose - Mongoose is ideal for embedded environments, it has been designed as an open source platform for connecting devices and bringing them online.
- LittleD - A relational database for embedded devices and sensors nodes.
##Protocol Library
###MQTT
- Mosquitto - An Open Source MQTT v3.1/v3.1.1 Broker
- PubSub Client - A client library for the Arduino Ethernet Shield that provides support for MQTT.
- MQTT.js - The MQTT client for Node.js and the browser
- mosca - Mosca is a node.js mqtt broker
- emqttd - Erlang MQTT Broker
- surgemq - High-Performance MQTT Server and Client Libraries.
- emqttd - Erlang MQTT Broker
- vernemq - A distributed MQTT message broker
- Java mqtt-client - A Java MQTT Client
- esp_mqtt - MQTT client library for ESP8266 Soc
- moquette - Java MQTT lightweight broker
- SurgeMQ - is a high performance MQTT broker and client library that aims to be fully compliant with MQTT 3.1 and 3.1.1 specs.
- VerneMQ - A distributed MQTT message broker
###CoAP
- Python CoAP - A CoAP Python library
- Node CoAP - node-coap is a client and server library for CoAP modelled after the http module.
- Go CoAP - Implementation of CoAP in go.
- CoAP.NET - A C# implementation of the CoAP protocol
- txThings - CoAP library for Twisted framework
- [microcoap](https://github.com/ - -/microcoap) - A small CoAP implementation for microcontrollers
- Californium - Californium is a Java implementation of CoAP for the IoT backend and less constrained IoT devices.
- Copper - A Firefox add-on to browse the Internet of Things
- h5.coap - Implementation of the Constrained Application Protocol (CoAP) client for node.js.
###Spark
- spark-protocol - Node.JS module for hosting direct encrypted CoAP socket connections.
- spark-server - An API compatible open source server for interacting with devices speaking the spark-protocol
###Messaging
- meshblu - Machine-to-machine instant messaging platform for the internet of things.
- IBM messaging - Community around IBM Messaging products.
- WAMP - The Web Application Messaging Protocol The Web Application Messaging Protocol.
##Software
- Processing - Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.
- Copper - A Firefox add-on to browse the Internet of Things
##Tools
- Paho - The Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for Machine‑to‑Machine (M-2-M) and Internet of Things (IoT).
- Smart.js - Embedded Javascript engine for C/C++ with networking, file, database and device interfaces
###WebSite
- Hackday - Discover. Get inspired. Repeat. Hack things for the better.
- Instructables - tech - Explore the Biggest How To and DIY community where people make and share inspiring, entertaining, and useful projects, recipes, and hacks.
- Infoq IoT Weekly - Weekly IoT News, Open Source Project, Hardware
###Free Book
- Design IoT - A Ebook to tech your create IoT System step by step.
##Others
- Freeboard - A damn-sexy, open source real-time dashboard builder for IOT and other web mashups. A free open-source alternative to Geckoboard.
- connectthedots - Connect tiny devices to Microsoft Azure services to build IoT solutions
- souliss - Arduino based Distributed Networking Framework for Smart Homes and IoT
- Fork it!
- Create your branch:
git checkout -b my-new-branch
- Commit your changes:
git commit -am 'fix stuff'
- Push to the branch:
git push origin my-new-branch
- Submit a pull request
The MIT License (MIT)
Copyright (c) 2016 Phodal Huang