Skip to content

IOT

Awesome IoT

Awesome Build Status

> 精选的物联网项目和资源列表.

灵感来自 awesome 列出事情.

Hardware

  • Arduino - Arduino 是一个基于易于使用的硬件和软件的开源电子平台. 它适用于制作交互式项目的任何人.
  • BeagleBoard - BeagleBoard 是德州仪器与 Digi-Key 和 Newark element14 联合生产的低功耗开源硬件单板计算机.
  • Dragonboard - Arrow Electronics 的产品 DragonBoard 410c 是基于中端 Qualcomm® Snapdragon™ 410E 处理器的开发板. 它具有先进的处理能力、Wi-Fi、蓝牙连接和 GPS,所有这些都集成在信用卡大小的电路板上.
  • ESP32 - ESP32,ESP8266 的后继产品. ESP32 具有强大的硬件功能. 高速双核处理器以及众多内置外围设备将取代连接产品中的微控制器.
  • HummingBoard - HummingBoard 是基于 1GHz Freescale i.MX6 SoC 的三个支持 Linux 和 Android 的开源 SBC 系列,具有类似 Pi 的 26 针 I/O 连接器.
  • Intel Galileo - The Intel® Galileo Gen 2 board is the first in a family of Arduino*-certified development and prototyping boards based on Intel® architecture and specifically designed for makers, students, educators, and DIY electronics enthusiasts.
  • Microduino - Microduino 和 mCookie 为各个年龄段的创客、设计师、工程师、学生和好奇的修补匠带来功能强大、小巧、可堆叠的电子硬件. 构建开源项目或创建创新项目.
  • Node MCU (ESP 8266) - NodeMCU 是一个开源物联网平台. 它使用 Lua 脚本语言. 它基于 eLua 项目,并基于 ESP8266 SDK 0.9.5 构建.
  • OLinuXino - OLinuxXino 是一种开源软件和开源硬件低成本(30 欧元)Linux 工业级单板计算机,具有 GPIO,能够在 -25°C 至 +85°C 的温度范围内运行.
  • Odroid - ODROID 表示 Open + Droid. 它是硬件和软件的开发平台.
  • Particle - 一套硬件和软件工具,可帮助您制作原型、扩展和管理您的物联网产品.
  • Pinoccio - Pinoccio 是一种为所有物联网设备添加网状网络功能和 WiFi 互联网访问的解决方案,它与 Arduino 兼容.
  • Raspberry Pi - Raspberry Pi 是一款低成本、信用卡大小的计算机,可插入计算机显示器或电视,并使用标准键盘和鼠标. 它能够完成您希望台式计算机执行的所有操作,从浏览互联网和播放高清视频,到制作电子表格、文字处理和玩游戏.
  • Tessel - Tessel 是一个完全开源和社区驱动的物联网和机器人开发平台. 它包括开发板、硬件模块附加组件以及在其上运行的软件.
  • UDOO - UDOO 是一款单板计算机,带有集成的 Arduino 2 兼容微控制器,专为计算机科学教育、创客世界和物联网而设计.
  • Raspberry Pi Pico - Raspberry Pi Pico 是一款小巧、快速且多功能的开发板,配备了由 Raspberry Pi Foundation 开发的 RP2040 微控制器芯片. 它还配备了 2.4GHz 802.11n 无线 LAN 变体,非常适合物联网.
  • WisBlock - WisBlock 是一个模块化系统,可以轻松地将低功耗广域网 (LPWAN) 实施到物联网解决方案中. WisBlock由基板、核心计算模块和多个传感器模块组合而成.

Software

Operating systems

  • Apache Mynewt - Apache Mynewt 是一个实时的模块化操作系统,适用于需要在电源、内存和存储限制下长时间运行的联网物联网设备. 提供的第一个连接堆栈是 BLE 4.2.
  • ARM mbed - ARM® mbed™ 物联网设备平台提供操作系统、云服务、工具和开发者生态系统,使大规模创建和部署基于标准的商业物联网解决方案成为可能.
  • Contiki - Contiki 是一个用于物联网的开源操作系统. Contiki 将微型低成本、低功耗微控制器连接到 Internet.
  • FreeRTOS - FreeRTOS 是一种流行的嵌入式设备实时操作系统内核,已移植到 35 个微控制器.
  • Android Things - 注意:Android Things 已贬值. Android Things 将 Android 平台扩展到您所有连接的设备,因此它们易于设置,并且可以与彼此和您的智能手机无缝协作.
  • OpenWrt - OpenWrt 是基于 Linux 内核的操作系统(特别是嵌入式操作系统),主要用于嵌入式设备以路由网络流量. 主要组件是 Linux 内核、util-linux、uClibc 或 musl 以及 BusyBox. 所有组件都针对尺寸进行了优化,足够小以适应家用路由器中可用的有限存储和内存.
  • Snappy Ubuntu - Snappy Ubuntu Core 是带有事务性更新的 Ubuntu 的新版本. 它提供了一个最小的服务器映像,其中包含与今天的 Ubuntu 相同的库,但应用程序是通过更简单的机制提供的.
  • Mbed OS - 用于物联网 (IoT) Cortex-M 板的开源操作系统:低功耗、受限和连接. Mbed OS 为其运行的微控制器提供了一个抽象层,因此开发人员可以编写在任何支持 Mbed 的板上运行的 C/C++ 应用程序.
  • NodeOS - NodeOS 是一个完全用 Javascript 编写的操作系统,由 npm 在 Linux 内核之上管理.
  • Raspbian - Raspbian 是一个基于 Debian 的免费操作系统,针对 Raspberry Pi 硬件进行了优化.
  • RIOT - 友好的物联网操作系统.
  • Tiny OS - TinyOS 是一个开源、BSD 许可的操作系统,专为低功耗无线设备而设计,例如用于传感器网络、普适计算、个人区域网络、智能建筑和智能仪表的设备.
  • Toit - Toit 平台结合了以强大、有弹性的方式为您的设备提供服务的功能,让您可以控制您的设备和数据,以及网络上随时可用的无线固件和应用程序更新-连接的嵌入式设备.
  • UBOS - UBOS 是一个 Linux 发行版,专注于简化运行 Web 应用程序的家庭服务器和独立物联网设备的系统管理. 它是 Arch Linux 的衍生产品,可在 PC、Raspberry Pis、ESPRESSObin 和云上运行.
  • Windows 10 IoT Core - Windows 10 IoT 是一系列 Windows 10 版本,面向范围广泛的智能设备,从小型工业网关到更大更复杂的设备,如销售点终端和 ATM.
  • Zephyr Project - Zephyr™ 项目是一个可扩展的实时操作系统 (RTOS),支持多种硬件架构,针对资源受限的设备进行了优化,并在构建时考虑了安全性.

Programming languages

> 本节重新组合了与嵌入式开发相关的每一种很棒的编程语言,无论是编译语言、解释语言还是 DSL.

  • C - 一种通用的命令式计算机编程语言,支持结构化编程、词法变量范围和递归,而静态类型系统可防止许多意外操作.
  • C++ - A general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation.
  • Groovy - Groovy 是一种强大的、可选类型的动态语言,具有静态类型和静态编译功能,适用于 Java 平台,旨在通过简洁、熟悉且易于学习的语法来提高开发人员的工作效率. SmartThings 开发环境使用它来创建智能应用程序.
  • Lua - Lua 是一种强大、快速、轻量级、可嵌入的脚本语言. Lua 是动态类型的,通过为基于寄存器的虚拟机解释字节码来运行,并具有自动内存管理和增量垃圾收集,使其成为配置、脚本和快速原型制作的理想选择.
  • eLua - eLua 代表嵌入式 Lua,该项目为嵌入式世界提供了 Lua 编程语言的完整实现,并使用特定功能对其进行了扩展,以实现高效和可移植的软件嵌入式开发.
  • ELFE - ELFE 是一种非常简单的小型编程语言. 虽然它是一种通用编程语言,但经过专门调整以方便配置和控制成群的小型设备,例如传感器或执行器.
  • MicroPython - 用于微控制器和受限系统的精简高效的 Python 实现
  • PikaPython - Python 仅需 4KB RAM 即可运行,零依赖,易于与 C 绑定.
  • PharoThings - 基于物联网项目的直播编程平台 Pharo (纯面向对象的编程语言和强大的环境,专注于简单性和即时反馈).
  • Rust - Rust 是一种专注于性能、可靠性和生产力的语言. 它以安全着称,它是内存安全的,它使用借用检查器,并且并发也是安全的.
  • TinyGo - TinyGo 是一个通过创建基于 LLVM 的新编译器将 Go 编程语言引入微控制器和现代网络浏览器的项目. 您可以在许多不同的微控制器板上编译和运行 TinyGo 程序,例如 BBC micro:bit 和 Arduino Uno.
  • Toitlang - 是一种高级语言,其语法非常接近 Python. 由于它是根据微控制器的基本原理构建的,因此它至少比 MicroPython 快 20 倍. 他们还构建了一个灵活的 IDE 集成.

Frameworks

  • AllJoyn - AllJoyn 是一个开源软件框架,可让设备和应用程序轻松发现彼此并相互通信.
  • Apple HomeKit - HomeKit 是一个用于与用户家中连接的配件进行通信和控制的框架.
  • AREG SDK - AREG SDK 是一个以接口为中心的实时异步通信引擎,可实现分布式和 mist-计算,其中连接的事物交互并提供服务,就好像它们就像瘦分布式服务器一样.
  • Astarte - Astarte 是一个用 Elixir 编写的开源物联网平台. 它是一个交钥匙解决方案,包含将设备群连接到一组远程应用程序所需的一切. 它执行数据建模、自动数据缩减、实时事件,并为您提供现代物联网平台中您可能期望的任何功能. 现在,使用提供的 SDK 即可开箱即用地支持 Linux 和 ESP32 设备.
  • Blynk - Blynk 是一个为互联事物创建 iOS 和 Android 应用程序的平台. 您可以通过简单地拖放小部件(就在智能手机上)轻松地为您的所有项目构建图形界面. 支持以太网、WiFi、蓝牙、GSM/GPRS、USB/串口与 Arduino、Raspberry、ARM mbed、Particle、RedBear 等各种原型平台的连接.
  • Countly IoT Analytics - Countly 是一个用于移动和物联网设备的通用分析平台,可作为开源软件使用.
  • Eclipse Ditto™ - Eclipse Ditto 是用于构建所谓的“数字双胞胎”的框架. 它提供基于云的表示和 API 来与连接的物理设备进行交互. Ditto 提供内置授权、搜索和连接功能,以与 MQTT 代理、HTTP 端点和 Apache Kafka 等外部系统集成.
  • Eclipse Smarthome - Eclipse SmartHome 框架设计用于在嵌入式设备上运行,例如 Raspberry Pi、BeagleBone Black 或 Intel Edison. 它需要一个 Java 7 兼容的 JVM 和一个 OSGi (4.2+) 框架,例如 Eclipse Equinox.
  • Freedomotic - Freedomotic 是一个开源、灵活、安全的物联网 (IoT) 开发框架,可用于构建和管理现代智能空间. 它针对个人(家庭自动化)和商业用户(智能零售环境、环境感知营销、监控和分析等). 它用 Java 编写,可以与众所周知的标准楼宇自动化协议以及“自己动手”解决方案进行交互.
  • Iotivity - IoTivity 是一种开源软件框架,可实现无缝的设备到设备连接,以满足物联网的新兴需求.
  • Kura - Kura 旨在为服务网关中运行的 M2M 应用程序提供基于 Java/OSGi 的容器. Kura 为 M2M 应用程序所需的最常见服务提供或聚合开源实现.
  • Lelylan - Lelylan 是一个基于轻量级微服务架构的物联网云平台. Lelylan 平台与硬件和平台无关. 这意味着您可以连接任何硬件,从 ESP8266 到最专业的嵌入式硬件解决方案以及介于两者之间的一切 - 它可以在任何公共云、您自己的私有数据中心甚至混合环境中运行,无论是虚拟化还是裸机.
  • Macchina.io - macchina.io EDGE 是一个丰富的软件框架,用于快速构建在基于 Linux 的设备上运行的物联网设备应用程序. macchina.io EDGE 实现了一个支持 Web 的、安全的、模块化的和可扩展的 JavaScript 和 C++ 运行时环境,并提供了随时可用且经过行业验证的软件构建块. 这些使设备能够与各种传感器、其他设备和云服务通信,并在本地、边缘设备或本地网络内处理、分析和过滤传感器数据.
  • Mihini - Mihini 的主要目标是提供运行在 Linux 之上的嵌入式运行时,它公开用于构建 M2M 应用程序的高级 API. Mihini 旨在通过促进对 M2M 系统的 I/O 的访问、提供通信层等来实现简单和可移植的开发.
  • OpenHAB - openHAB 运行时是一组部署在 OSGi 框架 (Equinox) 上的 OSGi 包. 因此,它是一个纯 Java 解决方案,需要 JVM 才能运行. 基于 OSGi,它提供了高度模块化的架构,甚至允许在运行时添加和删除功能而无需停止服务.
  • Gobot - Gobot is a framework for robotics, physical computing, and the Internet of Things, written in the Go programming language.
  • Home Assistant - Home Assistant 是一个运行在 Python 3 上的家庭自动化平台.Home Assistant 的目标是能够跟踪和控制家里的所有设备,并提供一个自动化控制的平台.
  • Lightweight MQTT Machine Network - LWMQN 是一个开源项目,遵循部分 OMA LWM2M v1.0 规范,使用基于 IP 的智能对象模型来满足机器网络管理的最低要求. 它提供服务器端和机器端库,使使用 JavaScript 和 Node.js 进行全栈物联网开发成为可能. 另见:IPSO 联盟 Technical Archive.
  • Thingsboard IoT Gateway - 开源物联网网关 - 使用 OPC-UA 和 MQTT 协议将连接到旧系统和第三方系统的设备与 Thingsboard 物联网平台集成.
  • Pimatic - Pimatic 是一个在 node.js 上运行的家庭自动化框架. 它为家庭控制和自动化任务提供了一个通用的可扩展平台.
  • IOTA - 用于物联网的开源分布式分类帐协议. 使用有向无环图 (DAG) 而不是区块链.
  • MyController - 开源控制器. MyController.org 是适用于家庭、办公室或任何地方的物联网自动化控制器.
  • Mozilla WebThings - An open platform for monitoring and controlling devices over the web.
  • HStreamDB - 为物联网数据存储和实时处理而构建的流式数据库.
  • IoTSharp.Gateways - 开源物联网网关 - 使用 ModBus、OPC-UA、BACNet 和 MQTT 协议将连接到旧系统和第三方系统的设备与 IoTSharp 物联网平台集成.

Middlewares

  • Corlysis - Corlysis 是一个帮助您存储和可视化时间序列数据的平台. 它基于 SpaceX 使用的开源项目 Grafana 和 InfluxDB.
  • IFTTT - IFTTT 是一种基于网络的服务,允许用户创建简单的条件语句链,称为“食谱”,这些语句会根据其他网络服务(如 Gmail、Facebook、Instagram 和 Pinterest)的变化而触发. IFTTT 是“If This Then That”的缩写(发音类似“gift”但没有“g”).
  • OPC Router - 带有各种插件的物联网网关(OPC UA、Mqtt、SQL、REST、SAP、InfluxDB、打印机……)
  • Huginn - Huginn 是一个构建代理的系统,可以在线为您执行自动化任务.
  • Kaa - An open-source middleware platform for rapid creation of IoT solutions.
  • Losant - Losant 是一个易于使用且功能强大的开发人员平台,旨在帮助您快速安全地构建复杂的连接解决方​​案. Losant 使用 REST 和 MQTT 等开放式通信标准来提供从一台到数百万台设备的连接. Losant 提供强大的数据收集、聚合和可视化功能,以帮助理解和量化大量传感器数据. Losant 的拖放式工作流编辑器使您无需编程即可触发操作、通知和机器对机器通信.
  • MicroServiceBus.com - MicroServiceBus.com 是一个用于 Azure、AWS 和 IBM IoT Hub 的设备管理平台,集成了 GitHub、ServiceNow、Cisco Jasper 等. 它与企业产品一起提供免费(受限)版本.
  • DreamFactory - DreamFactory 是一个免费的开源 REST API 平台,适用于移动、网络和物联网应用程序.
  • HiveMQ - 可扩展以连接数百万物联网设备的企业就绪 MQTT 代理.
  • I1820 - I1820是一个免费的开源平台,提供基于MQTT的发现、数据收集和配置服务. I1820 实现了一个用于控制事物的 REST API,并将所有收集的数据存储在名为 InfluxDB 的时间序列数据库中.
  • IOStash - IOStash 是一个高性能的物联网平台,免费供 DIY 开发人员和非营利应用程序使用. 它具有多种连接选项,可轻松开发 M2M 或 M2A 应用程序. IOStash 提供 Nodejs 和 Android 库以方便创建应用程序.
  • Thingsboard - 一个开源物联网平台. 物联网解决方案的设备管理、数据收集、处理和可视化.
  • Thingspeak - 一种开源物联网分析平台服务,允许您在云中聚合、可视化和分析实时数据流. 您可以将数据从您的设备发送到 ThingSpeak,创建实时数据的即时可视化,并发送警报.
  • VerneMQ - VerneMQ 是一种高性能的分布式 MQTT 代理,可连接物联网、M2M、移动和 Web 应用程序. 它在商品硬件上水平和垂直扩展,以支持大量并发发布者和消费者,同时保持低延迟和容错.
  • Kuzzle - 具有实时发布/订阅或地理围栏等高级功能的开源后端,以及支持 MQTT、LoRaWAN 等的多协议接口. (Website)
  • DevicePilot - 连接设备的操作分析(包括永久免费层).
  • EMQX - 超可扩展的开源 MQTT 代理. 在一个集群中连接超过 1 亿个 IoT 设备,以 1M msg/s 吞吐量和 1ms 延迟移动和处理实时 IoT 数据.
  • Waterstream - MQTT 代理利用 Apache Kafka 作为自己的存储和分发引擎.
  • NanoMQ - 适用于 IoT Edge 平台的轻量级且速度极快的 MQTT 代理.
  • Kuiper - Golang 实现的边缘轻量级物联网数据分析/流媒体软件,可以运行在各种资源受限的边缘设备上.
  • t6 - 数据优先的物联网平台,用于将物理对象与时间序列数据库连接起来并执行数据分析.
  • IoTSharp - IoTSharp 是一个用于数据收集、处理、可视化和设备管理的开源物联网平台.
  • Husarnet - Husarnet 是一个全球点对点网络层,可以通过互联网直接建立 MCU-Server 或 MCU-MCU 连接,无需网桥.

Libraries and Tools

  • Cylon.js - Cylon.js 是用于机器人技术、物理计算和物联网的 JavaScript 框架. 它使指挥机器人和设备变得异常容易.
  • Luvit - Luvit 实现与 Node.js 相同的 API,但在 Lua 中! 虽然此框架不直接涉及 IoT 开发,但它仍然是快速构建功能强大且内存高效的嵌入式 Web 应用程序的方法.
  • Johnny-Five - Johnny-Five 是原始的 JavaScript 机器人编程框架. Johnny-Five 由 Bocoup 于 2012 年发布,由热情的软件开发人员和硬件工程师组成的社区维护.
  • Pi4J - Pi4j 旨在为 Java 程序员提供友好的面向对象的 I/O API 和实现库,以访问 Raspberry Pi 平台的完整 I/O 功能.
  • WiringPi - WiringPi 是一个用 C 语言编写的 GPIO 访问库,用于 Raspberry Pi 中使用的 BCM2835.
  • Node-RED - 连接物联网的可视化工具.
  • MIMIC IoT Simulator - 模拟大型物联网环境,用于基于 MQTT、CoAP、REST 的物联网应用程序的敏捷开发/测试/概念验证/培训
  • MQTT Explorer - 在主题层次结构中可视化您的 MQTT 主题的工具,一把 MQTT 瑞士军刀.
  • MQTT X - MQTT X 是 EMQ 开源的跨平台 MQTT 5.0 客户端工具,支持 macOS、Linux 和 Windows.
  • ops - 一个免费的开源工具,用于构建、运行和部署 Linux 应用程序作为 unikernel.
  • SmartObject - 一个智能对象类,可帮助您在 JavaScript 应用程序中创建 IPSO 智能对象. 另见:IPSO 联盟 Technical Archive.
  • United Manufacturing Hub - 开源制造应用平台(结合各种开源解决方案并将它们打包在 Helm chart 中,例如 Nodered、VerneMQ 和 timescaleDB)
  • QuestDB - 用于实时分析和高性能应用程序的开源时间序列数据库. 支持通过 InfluxDB 线路协议和 SQL 作为查询语言的高吞吐量摄取.
  • Chaos Genius - an open source ML powered analytics engine for outlier/anomaly detection and root cause analysis. Connect with sensor data, monitor and get alerted on abnormal behavior.
  • Explore IoT Libraries - 发现和查找有关 kandi 的热门和新图书馆、顶级作者、热门项目工具包、讨论、教程和学习资源的精选列表.
  • ThingsOn MQTT Bench - ThingsOn MQTT Bench 是一个简单的跨平台 .NET Core 基准测试工具,适用于 MQTT 代理. 它测量在指定时间内可以发送到代理的最大消息数.

Miscellaneous

  • Amazon Dash - Amazon Dash Button 是一种 Wi-Fi 连接设备,只需按一下按钮即可重新订购您喜欢的商品.
  • Freeboard - 实现直观拖放界面的实时交互式仪表板和可视化创建器.
  • Nebula - 旨在管理 IoT 设备的 docker 协调器.
  • Gladys - Gladys 是一个开源程序,运行在 Raspberry Pi 上并集成到整个家庭网络系统中.
  • authBroker - 像 Aedes 这样的 Keycloak HTTP/MQTT/CoAP IoT 代理适配器.
  • MQTT File Uploader - MQTT 文件上传器是一个简单的跨平台 .NET Core 应用程序,它监视本地目录的更改并将新文件或修改后的文件上传到 MQTT 代理.

Protocols and Networks

Physical layer

- 802.15.4 (IEEE)

IEEE 802.15.4 是指定低速率无线个域网 (LR-WPAN) 的物理层和媒体访问控制的标准. 它由 IEEE 802.15 工作组维护,该工作组于 2003 年对其进行了定义.它是 ZigBee、ISA100.11a、WirelessHART 和 MiWi 规范的基础,每个规范都通过开发未定义的上层来进一步扩展标准在 IEEE 802.15.4 中. 或者,它可以与 6LoWPAN 和标准 Internet 协议一起使用,以构建无线嵌入式 Internet. - Wikipedia

> IEEE 标准 802.15.4 旨在提供一种无线个人区域网络 (WPAN) 的基本较低网络层,该网络侧重于设备之间的低成本、低速无处不在的通信. 它可以与其他方法形成对比,例如 Wi-Fi,后者提供更多带宽并需要更多功率. 重点是附近设备之间的通信成本非常低,几乎没有底层基础设施,旨在利用这一点来进一步降低功耗.

- Bluetooth (Bluetooth Special Interest Group)

蓝牙是一种无线技术标准,用于从固定和移动设备短距离交换数据(使用 2.4 至 2.485 GHz 的 ISM 频段中的短波长 UHF 无线电波),并构建个域网 (PAN). 它由电信供应商爱立信于 1994 年发明,最初被设想为 RS-232 数据电缆的无线替代品. 它可以连接多个设备,克服同步问题. - Wikipedia

> Bluetooth 由 Bluetooth Special Interest Group (SIG) 管理,该组织在电信、计算、网络和消费电子领域拥有超过 25,000 家成员公司.

- Bluetooth Low Energy (Bluetooth Special Interest Group)

Bluetooth low energy(Bluetooth LE,BLE,作为 Bluetooth Smart 销售)是一种无线个人区域网络技术,由 Bluetooth Special Interest Group 设计和销售,旨在医疗保健、健身、信标、安全和家庭娱乐行业中的新颖应用. - Wikipedia

> 与经典蓝牙相比,智能蓝牙旨在显着降低功耗和成本,同时保持相似的通信范围. Bluetooth SIG 预测,到 2018 年,超过 90% 的蓝牙智能手机将支持 Bluetooth Smart.

EC-GSM-IoT (EC-GSM-IoT Group)

扩展覆盖 GSM 物联网 (EC-GSM-IoT) 是一种基于标准的低功耗广域技术. 它基于 eGPRS,设计为用于物联网通信的高容量、远距离、低能耗和低复杂性蜂窝系统.

> EC-GSM-IOT 网络试验已经开始,计划于 2017 年首次商用.在所有主要移动设备、芯片组和模块制造商的支持下,EC-GSM-IoT 网络将与 2G、3G 和4G移动网络. 它还将受益于移动网络的所有安全和隐私特性,例如支持用户身份保密、实体认证、机密性、数据完整性和移动设备识别.

LoRaWAN 广域网允许连接对象之间的低比特率通信,从而参与物联网、机器对机器 M2M 和智能城市. - Wikipedia

> 该技术由 LoRa 联盟标准化. 它最初由 Cycleo 开发,于 2012 年被 Semtech 收购. LoRaWAN 是 Long Range Wide-area network 的首字母缩写.

NB-IoT (3GPP)

窄带物联网 (NB-IoT) 是一种低功耗广域网 (LPWAN) 无线电技术标准,旨在通过蜂窝电信频段连接各种设备和服务. - Wikipedia

> NB-IoT 是一种专为物联网 (IoT) 设计的窄带无线电技术,是第三代合作伙伴计划 (3GPP) 标准化的一系列移动物联网 (MIoT) 技术之一.

Sigfox 是一家法国公司,建立无线网络以连接电表、智能手表和洗衣机等低能耗物体,这些物体需要持续开启并发射少量数据. 它的基础设施旨在为所谓的物联网 (IoT) 做出贡献. - Wikipedia

> SIGFOX 将自己描述为“第一家也是唯一一家为物联网提供全球蜂窝连接的公司”. 它的基础设施“完全独立于现有网络,例如电信网络”. SIGFOX 旨在为“数十亿对象的部署和数千种新用途”提供手段,其长期目标是“拥有日常对象产生的 PB 级数据”.

- Wi-Fi (Wi-Fi Alliance)

Wi-Fi(或WiFi)是一种允许电子设备联网的局域网无线计算机网络技术,主要使用2.4吉赫(12厘米)UHF和5吉赫(6厘米)SHF ISM无线电波段. - Wikipedia

> Wi-Fi 联盟将 Wi-Fi 定义为任何基于电气和电子工程师协会 (IEEE) 802.11 标准的“无线局域网”(WLAN) 产品. [1] 但是,术语“Wi-Fi”在通用英语中用作“WLAN”的同义词,因为大多数现代 WLAN 都基于这些标准. “Wi-Fi”是 Wi-Fi 联盟的商标. “Wi-Fi Certified”商标只能由成功完成Wi-Fi联盟互操作性认证测试的Wi-Fi产品使用.

Network / Transport layer

6LoWPAN 是 IPv6 over Low power Wireless Personal Area Networks 的缩写. 6LoWPAN 是 IETF 互联网领域的一个已结束工作组的名称. - Wikipedia

> 6LoWPAN 概念源于“互联网协议可以而且应该应用于最小的设备”的想法,并且处理能力有限的低功耗设备应该能够参与物联网. 6LoWPAN 组定义了封装和报头压缩机制,允许通过基于 IEEE 802.15.4 的网络发送和接收 IPv6 数据包. IPv4 和 IPv6 是局域网、城域网和互联网等广域网数据传输的主力军. 同样,IEEE 802.15.4 设备提供无线域中的传感通信能力. 但是,这两个网络的固有性质是不同的.

- Thread (Thread Group)

Thread 是一种基于 IPv6 的协议,用于“智能”家用设备在网络上进行通信.

> 2014 年 7 月,Google Inc 的 Nest Labs 宣布与三星、ARM Holdings、Freescale、Silicon Labs、Big Ass Fans 和锁具公司 Yale 组成一个工作组,试图通过为产品提供 Thread 认证使 Thread 成为行业标准. 当前使用的其他协议包括 ZigBee 和 Bluetooth Smart. Thread 使用 6LoWPAN,它又使用 IEEE 802.15.4 无线协议和网状通信,ZigBee 和其他系统也是如此. 然而,Thread 是 IP 可寻址的,具有云访问和 AES 加密. 它支持网络上的 250 多个设备.

ZigBee 是一套基于 IEEE 802.15.4 的高级通信协议规范,用于创建具有小型、低功率数字无线电的个人区域网络. - Wikipedia

> ZigBee 规范定义的技术旨在比蓝牙或 Wi-Fi 等其他无线个人区域网络 (WPAN) 更简单、成本更低. 应用包括无线灯开关、带家用显示屏的电表、交通管理系统以及其他需要短距离低速率无线数据传输的消费和工业设备.

- Z-Wave (Z-Wave Alliance)

Z-Wave 是一种无线通信规范,旨在允许家庭中的设备(例如照明、访问控制、娱乐系统和家用电器)相互通信以实现家庭自动化. - Wikipedia

> Z-Wave 技术将功耗降至最低,因此适用于电池供电设备. Z-Wave 旨在以高达 100kbit/s 的数据速率提供可靠、低延迟的小数据包传输,这与主要为高数据速率设计的 Wi-Fi 和其他基于 IEEE 802.11 的无线局域网系统不同. Z-Wave 在 900 MHz 左右的亚千兆赫兹频率范围内运行.

Application layer

CoAP (IETF)

受限应用协议 (CoAP) 是一种软件协议,旨在用于非常简单的电子设备,使它们能够通过 Internet 进行交互通信. - Wikipedia

> CoAP 特别针对需要通过标准互联网网络进行远程控制或监督的小型低功率传感器、开关、阀门和类似组件. CoAP 是一种应用层协议,旨在用于资源受限的互联网设备,例如 WSN 节点.

DTLS (IETF)

数据报传输层安全 (DTLS) 通信协议为数据报协议提供通信安全. - Wikipedia

> DTLS 允许基于数据报的应用程序以[由谁?]设计的方式进行通信,以防止窃听、篡改或消息伪造. DTLS 协议基于面向流的传输层安全 (TLS) 协议,旨在提供类似的安全保证.

Eddystone 是谷歌于 2015 年 7 月发布的信标技术配置文件.开源、跨平台软件通过蓝牙低功耗信标格式为用户提供位置和接近数据. - Wikipedia

> 虽然类似于 Apple 于 2013 年发布的 iBeacon,但 Eddystone 可在 Android 和 iOS 上运行,而 iBeacon 仅限于 iOS 平台. 这两款软件的一个实际应用是,企业主可以根据智能手机的实时位置定位潜在客户.

- HTTP (IETF)

超文本传输​​协议 (HTTP) 是分布式协作超媒体信息系统的应用协议. HTTP 是万维网数据通信的基础. - Wikipedia

> HTTP 的标准开发由互联网工程任务组 (IETF) 和万维网联盟 (W3C) 协调,最终发布了一系列征求意见稿 (RFC). HTTP/1.1 的第一个定义,即常用的 HTTP 版本,出现在 1997 年的 RFC 2068 中,尽管它在 1999 年被 RFC 2616 废弃.

- iBeacon (Apple)

iBeacon 是 Apple 标准化的协议,并于 2013 年在 Apple 全球开发者大会上推出. - Wikipedia

> iBeacon 使用蓝牙低功耗接近感应来传输由兼容应用程序或操作系统获取的全球唯一标识符. 该标识符可用于确定设备的物理位置、跟踪客户或在设备上触发基于位置的操作,例如在社交媒体上签到或推送通知.

MQTT(以前称为 MQ 遥测传输)是一种基于发布-订阅的“轻量级”消息传递协议,用于 TCP/IP 协议之上. 它专为连接需要“小代码足迹”或网络带宽有限的远程位置而设计. - Wikipedia

> 发布-订阅消息传递模式需要一个消息代理. 代理负责根据消息的主题将消息分发给感兴趣的客户端. Cirrus Link Solutions 的 Andy Stanford-Clark 和 Arlen Nipper 于 1999 年编写了该协议的第一个版本.

PJON®(Padded Jittering Operative Network)是一种兼容 Arduino 的多主控多媒体网络协议. 它提出了一个标准,它被设计为一个框架并实现了一个完全软件模拟的网络协议栈,可以很容易地在许多架构上交叉编译,如 ATtiny、ATmega、ESP8266、ESP32、STM32、Teensy、Raspberry Pi、Linux、Windows x86和苹果机. 它是快速、全面地构建设备网络的有效工具. 访问 wiki 和文档以了解更多关于 PJON 标准的信息.

> 由于以下 6 个关键因素,PJON 被用于数以千计的设备,其社区已遍布全球:新技术、多媒体支持、增强的安全性、增强的可靠性、高灵活性和低成本.

- STOMP

简单(或流式)面向文本的消息协议 (STOMP),以前称为 TTMP,是一种简单的基于文本的协议,旨在与面向消息的中间件 (MOM) 一起使用. - Wikipedia

> STOMP 提供了一种可互操作的有线格式,允许 STOMP 客户端与支持该协议的任何消息代理进行对话. 因此,它与语言无关,这意味着为一种编程语言或平台开发的代理可以接收来自以另一种语言开发的客户端软件的通信.

- Websocket

WebSocket 是一种通过单个 TCP 连接提供全双工通信通道的协议. - Wikipedia

> WebSocket 被设计为在网络浏览器和网络服务器中实现,但它可以被任何客户端或服务器应用程序使用. WebSocket 协议是一个独立的基于 TCP 的协议. WebSocket 协议使浏览器和网站之间的更多交互成为可能,促进了实时内容和实时游戏的创建. 这是通过为服务器提供一种标准化的方式来向浏览器发送内容而无需客户端请求,并允许在保持连接打开的情况下来回传递消息来实现的.

- XMPP (IETF)

Extensible Messaging and Presence Protocol (XMPP) 是一种基于 XML(可扩展标记语言)的面向消息的中间件的通信协议. - Wikipedia

> 它支持在任何两个或多个网络实体之间近乎实时地交换结构化但可扩展的数据. 该协议被设计为可扩展的,还被用于发布-订阅系统、VoIP 信号、视频、文件传输、游戏、物联网 (IoT) 应用程序(如智能电网)和社交网络服务.

Technologies

> 本节重新整理了一系列与物联网世界密切相关的出色技术.

近场通信 (NFC) 是一组协议,使电子设备能够通过将设备接触在一起或将它们靠近通常为 10 厘米或更短的距离来建立彼此的无线电通信. - Wikipedia

OPC-UA不仅是一种工业自动化协议,也是一种允许对工业环境进行语义描述和对象建模的技术. Wikipedia

Standards and Alliances

Standards

  • ETSI M2M - ETSI 技术委员会正在制定机器对机器通信的标准.
  • OneM2M - oneM2M 的目的和目标是制定技术规范,以满足对通用 M2M 服务层的需求,该服务层可以轻松嵌入各种硬件和软件中,并依赖于将现场的无数设备与全球 M2M 应用服务器连接起来.
  • OPCUA - OPC 统一架构 (OPC UA) 是由 OPC 基金会开发的用于实现互操作性的工业 M2M 通信协议.
  • OCF - OCF,The Open Connectivity Foundation,基于受限应用协议 (CoAP) 为物联网 (IoT) 中涉及的设备制定标准和认证.
  • W3C WoT - W3C 物联网工作组 (WoT) 寻求通过使用和扩展现有的标准化 Web 技术来应对物联网的碎片化. 通过提供标准化的元数据和其他可重复使用的技术构建块,W3C WoT 可以轻松地跨物联网平台和应用程序领域进行集成.

Alliances

  • AIOTI - 物联网创新 (AIOTI) 旨在加强不同物联网参与者(工业、中小企业、初创企业)和部门之间的联系并建立新的关系.
  • Bluetooth Special Interest Group - 蓝牙特别兴趣小组 (SIG) 是监督蓝牙标准的开发以及向制造商授予蓝牙技术和商标许可的机构.
  • IPSO Alliance - IPSO 联盟通过培养意识、提供教育、促进行业发展、开展研究以及更好地理解知识产权及其在物联网中的作用,为行业发展奠定基础.
  • LoRa Alliance - LoRa 联盟是一个开放的非营利性成员协会,相信现在是物联网时代. 它由行业领导者发起,其使命是对全球部署的低功耗广域网 (LPWAN) 进行标准化,以实现物联网 (IoT)、机器对机器 (M2M)、智慧城市和工业应用.
  • OPC Foundation - OPC 基金会的使命是管理一个全球组织,在该组织中,用户、供应商和联盟合作为工业自动化中的多供应商、多平台、安全可靠的互操作性创建数据传输标准. 为了支持这一使命,OPC 基金会 创建和维护规范,通过认证测试确保符合 OPC 规范,并与行业领先的标准组织合作.
  • Thread Group - 由来自 Nest、三星、ARM、飞思卡尔、Silicon Labs、Big Ass Fans 和耶鲁的成员组成的 Thread Group 推动了 Thread 网络协议的开发.
  • Wi-Fi Alliance - Wi-Fi Alliance® 是一个全球性的公司网络,由多家公司组成,形成了一个全球性的非营利性协会,其目标是通过新的无线网络技术推动最佳用户体验——无论品牌如何.
  • Zigbee Alliance - ZigBee 联盟是一个开放的非营利性协会,由大约 450 名成员组成,致力于推动创新、可靠且易于使用的 ZigBee 标准的发展.
  • Z-Wave Alliance - Z-Wave 联盟成立于 2005 年,由全球行业领导者组成,致力于开发和扩展 Z-Wave 作为“智能”家居和商业应用的关键支持技术.

Resources

Books

Abusing the Internet of Things: Blackouts, Freakouts, and Stakeouts (2015) by Nitesh Dhanjani [5.0]

> 拥有数十亿互联“事物”的未来包括巨大的安全问题. 这本实用的书探讨了恶意攻击者如何滥用流行的基于物联网的设备,包括无线 LED 灯泡、电子门锁、婴儿监视器、智能电视和联网汽车.

Building Wireless Sensor Networks: with ZigBee, XBee, Arduino, and Processing (2011) by Robert Faludi [4.5]

> 准备好使用 ZigBee 无线网络协议和系列 2 XBee 无线电创建分布式传感器系统和智能交互设备. 当您完成这个快节奏的动手指南的一半时,您将构建一系列有用的项目,包括一个完整的 ZigBee 无线网络,该网络可以提供遥感数据.

Designing the Internet of Things (2013) by Adrian McEwen and Hakim Cassimally [4.0]

> 无论是物理计算、普适计算还是物联网,都是技术领域的热门话题:如何引导内心的史蒂夫·乔布斯,成功地将硬件、嵌入式软件、网络服务、电子产品和炫酷的设计结合起来,创造出切割-有趣、互动且实用的边缘设备. 如果你想创造下一个必备产品,这本独特的书是完美的起点.

Edge Computing Technology and Application (2023) *by Perry Lea

> 这本来自资深技术专家 Perry Lea 的严肃指南剖析了流行语,揭示了边缘计算如何影响您的业务和 IT 决策,从硬件和软件系统到您与客户、客户和员工的互动方式.

Getting Started with Bluetooth Low Energy: Tools and Techniques for Low-Power Networking (2014) by Kevin Townsend, Carles Cufí, Akiba and Robert Davidson [4.5]

> 这本书提供了关于设备如何使用 Ble 相互通信的可靠、高层次的概述. 您将学习用于开发和测试支持 Ble 的移动应用程序和嵌入式固件的实用低成本工具,并获得使用各种开发平台的示例,包括适用于应用程序开发人员的 iO 和 Android 以及适用于产品设计师和硬件工程师的嵌入式平台.

IoT Inc: How Your Company Can Use the Internet of Things to Win in the Outcome Economy (2017) by Bruce Sinclair [4.6]

> 本基本指南深入介绍了物联网——它是如何工作的以及它如何改变业务; 通过 IoT 的视角看待您自己的业务、客户和竞争对手的方法,并深入探讨如何制定和实施强大的 IoT 战略.

Smart Things: Ubiquitous Computing User Experience Design (2010) by Mike Kuniavsky [4.5]

> Smart Things 提出了一种解决问题的方法来满足设计师的需求,并专注于过程,而不是技术细节,以防止很快过时. 它密切关注相关媒体的能力和局限性,并讨论商业环境中设计的权衡和挑战.

JavaScript on Things: Hardware for Web Developers (2018 - est.) by Lyza Danger Gardner [early access book]

> JavaScript on Things 是您进入激动人心的小型电子编程娱乐世界的第一步. 如果你知道足够多的 JavaScript 来一起破解一个网站,你会让事情发出哔哔声、闪烁和旋转的速度比你说“nodebot”还快. 这本图文并茂的实践书向您展示了如何使用 Arduino、Tessel 和 Raspberry Pi 等平台.

Articles

Papers

License

CC0

在法律允许的范围内, Halim Qarroum 已放弃该作品的所有版权和相关或邻接权.