专业 靠谱 的软件外包伙伴

您的位置:首页 > 新闻动态 > 物联网产品硬件软件开发必须知道的相关技术!

物联网产品硬件软件开发必须知道的相关技术!

2016-06-23 19:49:29

在网络技术飞速发展的今天,物联网(Internet of Things,IoT)概念再次备受关注,更成为引爆IT变革的新导火索。物联网是新一代信息网络技术的高度集成和综合运用,是新一轮产业革命的重要方向和推动力量,将是下一个推动世界高速发展的“重要生产力”,是继通信网之后的另一个万亿级市场。物联网不仅仅提供了传感器的连接,其本身也具有智能处理的能力,能够对物体实施智能控制。物联网将传感器和智能处理相结合,利用云计算、模式识别等各种智能技术,扩充其应用领域。从传感器获得的海量信息中分析、加工和处理出有意义的数据,以适应不同用户的不同需求,发现新的应用领域和应用模式。

为了让开发者进一步的了解、熟悉物联网,了解物联网的最新知识;掌握物联网的最新技术,真正地实现万物互联。云栖社区特意组织翻译了《GitHub Awesome IoT》资源,其中不仅涵盖物联网开发测试中软硬件资源,还包括相关的协议和标准,以及与物联网相关的书籍、论文等资源。

目录列表

  • 硬件

  • 软件

    • 操作系统

    • 编程语言

    • 框架

    • 中间件

    • 库和工具

    • 其他

  • 协议和网络

  • 技术

  • 标准和联盟

  • 资源

    • 书籍

    • 文章

    • 论文

硬件

  • Arduino - Arduino是一个基于易用软硬件的开源电子原型平台。它的目的是让任何人都可以开发互动项目;

  • BeagleBoard - BeagleBoard 是一个低功耗的开源硬件单板机,其由Texas Instruments、Digi-Key与Newark element14联手共同推出;

  • Intel Galileo - 英特尔® Galileo 第二代开发板是第一款基于英特尔® 架构且经过Arduino *认证的开发和原型板,专为制造商、学生、教育工作者和电子DIY爱好者而设计;

  • Microduino - Microduino 和 mCookie为制造商、设计师、工程师、学生等各个不同年龄段的拥趸们带来了强力、小型、可扩展的电子硬件。Microduino是开源的,开发者可以利用其开发新的模块;

  • Node MCU (ESP 8266) - NodeMCU是一个开源的物联网平台。它所采用的控制指令是Lua脚本,它是基于eLua项目,并支持ESP8266SDK0.9.5;

  • OLinuXino -

    OLinuXino是一块由开源软件和硬件组成的低成本(EUR 30)Linux工业级单片机板,该板具备GPIOs功能,工作 -25°C 到+85°C之间;

  • Particle -一套用于帮助用户开发、管理物联网设备的硬件和软件工具;

  • Pinoccio -

    Pinoccio是一个袖珍的无线传感器和单片机板,同时结合了 Arduino Mega板兼容2.4GHz 的ZigBee无线通信的特点;

  • Raspberry Pi - Raspberry Pi是一个低成本、信用卡大小的计算机,支持外接电脑显示器或TV,并且可以连接标准键盘和鼠标。它可以完成任何PC机可以完成的工作,如上网、播放高清视频、制作表格、文字处理以及游戏娱乐等等;

  • Tessel - Tessel是一个完全开源且由社区驱动的物联网和机器人开发平台,主要包括开发板、硬件模块插件以及相对应的软件。

软件

操作系统

  • ARM mbed -

    ARM®MBED™物联网设备平台通过提供操作系统、云服务、工具和开发生态,使得任意规模的标准商用解决方案创建和部署成为可能;

  • Contiki - FreeRTOS是用于嵌入式设备的一个非常流行的实时操作系统内核,目前已支持35种微控制器;

  • Google Brillo - Brillo 将安卓平台扩展到所有连接的设备上,因此便于Brillo是以Android为基础的免费、开放性嵌入式操作系统,通过该操作系统,使用者可以无缝地将智能手机与IoT设备连接;

  • OpenWrt - OpenWrt是一个基于Linux内核的操作系统(更准确的说是嵌入式操作系统),主要用于嵌入式设备上的网络流量路由。其主要组件包括Linux 内核、util-linux、uClibc或 musl以及BusyBox。所有的组件的大小都经过优化处理,以便适应于家用路由器有限的存储和内存;

  • Snappy Ubuntu -Snappy Ubuntu Core是Ubuntu新版本。它提供了与当前的Ubuntu库相同的最小服务器镜像(image),但其

    应用通过简单的方式(snap包)来提供;

  • NodeOS - NodeOS是一个全部用Javascript编写的操作系统,采用 Linux 内核来处理各种底层任务;

  • Raspbian -Raspbian是基于Debian的免费操作系统,并且针对Raspberry Pi硬件进行了专门优化;

  • RIOT - 物联网的“友好”操作系统,现已开源;

  • Tiny OS - TinyOS是一个开源的、BSD许可的操作系统,专门为用于传感网络、个人区域网络、智能建筑、智能电表等低功耗无线设备而设计;

  • Windows 10 IoT Core -Windows 10 IoT是Windows 10专用于从小型工业网关到诸如售卖终端和ATM机等大型复杂设备等一系列智能物联网设备的版本。

编程语言

该小节主要整合了编译、DSL和嵌入式开发等相关的编程语言。

  • C - C语言一种通用的计算机编程语言,支持结构化编程、词法变量作用域和递归,同时静态类型可以防止许多意外操作;

  • C++ - C++一种通用的程序设计语言。它具有过程化程序设计、面向对象程序设计、泛型程序设计等功能,

    同时在低级别的内存操作上也具有优势;

  • Groovy -Groovy是一个功能强大、可选类型的动态语言,支持静态类型和静态编译。归功于其简洁、熟悉且易懂的语法,在Java平台上利用Groovy 进行Java 编程,可以成倍地提高开发者的效率。其常用于智能设备开发环境中智能应用程序的开发;

  • Lua -

    Lua是一种强大、快速、轻量级、可嵌入的脚本语言。

    Lua是动态类型语言,通过在基于寄存器的虚拟机上解析字节码运行,具有自动内存管理和增量垃圾回收机制,极适于配置、脚本和快速原型开发;

  • eLua -eLua所表达的意思就是嵌入式Lua,在嵌入式环境下提供了Lua语言的全部实现,同时扩展了其他一些特征以便于实现高效和可移植的嵌入式软件开发;

  • ELIoT - ELIoT是一种非常简单和轻量的编程语言,专门为传感器或执行器等小设备集群的快速便捷配置和控制而设计。

框架

  • AllJoyn -AllJoyn是一个开源软件框架,该框架使得设备与应用程序之间通信更为简单;

  • Apple HomeKit - HomeKit是用于智能家居设备之间相互通信与连接控制的框架;

  • Countly IoT Analytics - Countly是一个用于移动终端与物联网设备的通用分析平台,该平台现已开源;

  • Eclipse Smarthome - Eclipse SmartHome是一个被设计运行在如Raspberry Pi、BeagleBone Black、Intel Edison等嵌入式设备上的框架。它需要配置兼容JVM的Java 7和OSGi (4.2+)框架(如Eclipse Equinox);

  • Iotivity -IoTivity是一个开源软件框架,用于无缝的支持设备到设备的互联以满足新兴的物联网开发需求;

  • Kura - Kura旨在为运行在服务网关中的M2M应用提供基于Java/OSGi的容器。Kura提供或集成了M2M应用绝大多数服务的开源实现;

  • Mihini - Mihinide 主要目的是提供一个可运行在Linux上的嵌入式运行环境(Runtime),为开发M2M应用提供了高级别的API。Mihini旨在通过提供易得的M2M系统的I/O接口和通信层等实现物联网简单、便携的发展;

  • OpenHAB - OpenHAB运行环境是部署在OSGi框架(Equinox)一系列 OSGi组件的集合。它是一个纯Java的解决方案,需要运行在JVM上。基于OSGi,OpenHAB提供了高度模块化架构,甚至允许在运行时进行功能的添加和删除,同时无需停止服务;

  • Gobot -Gobot是一个用于机器人、物理机和物联网的框架,该框架是由Go语言所开发。

中间件

  • IFTTT - IFTTT是一个基于Web的服务,它允许使用者创建名为“Recipes”简单的条件语句链,其触发条件是Gmail、Facebook、 Instagram、Pinterest等Web服务的变化。IFTTT是“If This Then That”的缩写(其发音类似不包含g的“gift”发音);

  • Huginn - Huginn是一个构建代理系统,可以帮你执行自动化的在线任务;

  • Kaa - 用于快速创建物联网解决方案的开源中间件平台。

库和工具

  • Cylon.js - Cylon.js是一个用于机器人、物理计算和物联网的开发JavaScript框架,使得控制机器人和设备变得十分简单;

  • Luvit -Luvi提供了与Node.js相同的APIs,但是通过Lua语言实现 。尽管该框架没有直接地促进物联网的发展,但其仍是一种快速创建强大、高效内存的嵌入式Web应用的方法;

  • Johnny-Five - Johnny-Five是原生的JavaScript 机器人编程框架。该框架由Bocoup在2012年发布,目前通过一个满怀激情软件硬件开发人员组成的社区所维护;

  • WiringPi -WiringPi是一个用c编写的应用于树莓派(Raspberry Pi)中BCM2835的GPIO控制库函数;

  • Node-RED - 一个用于物联网开发的可视化工具。

其他

  • Amazon Dash - Amazon Dash Button是一个Wi-fi连接设备,可以实现一键帮你在亚马逊下单并且送货上门;

  • Freeboard -Freeboard能够帮助用户为物联网联网设备建立完全自定义的实时互动式界面,从仪表盘,到控制台,到控制面板。

协议与网络

物理层

史上最全的物联网资料

- 802.15.4 (IEEE)

IEEE 802.15.4是用于低速无线个人域网(LR-WPAN)的物理层和媒体接入控制层规范标准。它由IEEE 802.15工作组维护,制定于2003年。

它是ZigBee、 ISA100.11a 、WirelessHART和MiWi规范的基础,上述协议通过对上层进一步开发对IEEE 802.15.4未定义的功能进行了扩展。同样地,该标准也可用于6LoWPAN和构建嵌入式无线网络的标准网络协议中。- 维基百科

IEEE 802.15.4标准旨为无线个人区域网络(WPAN)提供基础网络层,其关注的重点在于设备间低速率、低功耗的通信。它与需要高带宽和大功率的协议(例如wifi)形成了鲜明的对比例如wifi。其重点是在几乎没有底层设施的基础下实现设备间的低成本、低功耗通信。

史上最全的物联网资料

- Bluetooth (Bluetooth Special Interest Group)

蓝牙是一种无线技术标准,(使用2.4~2.485GHz的ISM波段的UHF无线电波)可实现固定设备、移动设备和个人局域网(PANs)之间的短距离数据交换。蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为RS232数据线的替代方案。蓝牙可连接多个设备,克服了数据同步的难题。 - 维基百科

目前蓝牙由蓝牙技术联盟(Bluetooth Special Interest Group,简称SIG)管理,该技术联盟在全球拥有超过25,000家成员公司,它们分布在电信、计算机、网络、和消费电子等多重领域。

史上最全的物联网资料

- Bluetooth Low Energy (Bluetooth Special Interest Group)

低功耗蓝牙技术(BLE让蓝牙技术更加智能)是专为无线个人区域网技术而设计,目前由蓝牙技术联盟管理,旨在用于医疗保健、健身、安全以及家庭娱乐等新型应用之中。- 维基百科

与经典蓝牙技术相比较,低功耗蓝牙技术目标是在保持大致相同通信范围下,大大降低功耗和成本。蓝牙技术联盟(Bluetooth SIG )预测:到2018年,百分之九十以上具有蓝牙功能的智能手机将支持低功耗蓝牙技术。

史上最全的物联网资料

- LoRaWAN (LoRa Alliance)

LoRaWAN广域网中允许连接对象之间的低比特率通信,因此可用于物联网、M2M(Machine-to-Machine )以及智慧城市之中。- 维基百科

该技术由LoRa联盟制定。其最初由 Cycleo研发提出,该公司于2012年被 Semtech公司收购。LoRaWAN是 Long Range Wide-area network的缩写。

史上最全的物联网资料

- Sigfox (Sigfox)

Sigfox 协议为一家法国公司所有,其主要用于搭建如电表、智能手表、洗衣机等需要持续不断地传输少量数据的低功耗设备之间的无线网络。其基础结构决定了其可在物联网领域打出自己的一片天地。- 维基百科

Sigfox自称是“第一家也是唯一为物联网提供全球蜂窝连接的公司。”其基础设施完全独立于电信网络等现有网络。Sigfox目前正在寻求“部署数十亿对象和成千上万的新用途”的解决方案,以期完成处理由日常生活用品产生的PB级别的数据的长远目标。

史上最全的物联网资料

- Wi-Fi (Wi-Fi Alliance)

Wi-Fi (或WiFi)是一个允许电子设备接入网络的无线计算机局域网技术,主要采用 2.4G(12cm)UHF和5G(6cm)SHF ISM无线频段。 - 维基百科

Wi-Fi 联盟将WiFi定义为基于IEEE802.11协议的“无线局域网”(WLAN)产品。然而,WiFi一词已然成为了“WLAN”的同义词。“Wi-Fi”是Wi-Fi联盟的商标。“WiFi认证”的商标只能用在成功通过Wi-Fi联盟互操作性的认证测试产品之上。

网络层/传输层

史上最全的物联网资料

- 6LowPan (IETF)

6LoWPAN是基于IPv6的低功耗无线个域网络(IPv6 over Low power Wireless Personal Area Networks)的缩写。6LoWPAN还是IETF互联网领域中一个工作组的名称:IPv6 overLR-WPAN(简称6LowPan)工作组。-维基百科

返回首页] [打印] [返回上页]   下一篇