物联网软件开发指南--工具

文章目录

  • 嵌入式操作系统
  • 开源
  • 合作伙伴生态系统
  • 中间件
  • 可视化编程工具
  • 自然语言

原始链接: http://postscapes2.webhook.org/internet-of-things-software-guide

嵌入式操作系统

系统 概述 编程模型 语言
Tiny OS TinyOS是一种开源的,BSD许可的操作系统,专为低功耗无线设备而设计,例如用于传感器网络,普适计算,个人局域网,智能建筑和智能电表的设备。来自学术界和工业界的全球社区使用,开发和支持操作系统及其相关工具,平均每年下载35,000次。-TinyDB 事件驱动,支持TOS线程 NesC
Contiki Contiki是一款开源,高度便携,多任务操作系统,适用于内存高效的网络嵌入式系统和无线传感器网络。 Contiki已被用于各种项目,如公路隧道火灾监测,入侵检测,野生动物监测和监控网络.Contiki专为具有少量内存的微控制器而设计。典型的Contiki配置是2千字节的RAM和40千字节的ROM。 Protothreads和事件 C.
Mantis CU Boulder的MANTIS集团开发了一个用C编写的开源多线程操作系统,用于无线传感器网络平台。 MANTIS OS(MOS)的一些关键功能:1. 适用于Linux和Windows开发环境的开发人员友好型C API, 2. 自动抢占时间切片,用于快速原型设计 3,多种平台支持,包括MICA2,MICAz和TELOS微尘 3. 用于传感器节点的占空比休眠的节能调度器 4.占地面积小(RAM少于500B,闪存14KB) Threads C
Nano-RK Nano-RK是Carnegie Mellon大学完全抢先预留的实时操作系统(RTOS),具有多跳网络支持,可用于无线传感器网络。 Nano-RK目前运行在FireFly传感器网络平台以及MicaZ微尘上。它包括一个轻量级嵌入式资源内核(RK),具有丰富的功能和时序支持,使用少于2KB的RAM和18KB的ROM。 Nano-RK支持固定优先级抢占式多任务处理,以确保满足任务期限,同时支持CPU,网络以及传感器和执行器预留。任务可以指定其资源需求,操作系统提供对CPU周期和网络数据包的及时,有保证和受控的访问。这些资源共同形成虚拟能源预留,允许操作系统实施系统和任务级别的能源预算。 Threads C
LiteOS LiteOS是一个开源,交互式,类UNIX操作系统,专为无线传感器网络而设计。使用LiteOS附带的工具,您可以以类似Unix的方式操作一个或多个无线传感器网络,传输数据,安装程序,检索结果或配置传感器。您还可以为节点开发程序,并将此类程序无线分发到传感器节点。 线程和事件 LITEC++
FreeRTOS FreeRTOS是嵌入式设备的实时操作系统,可以移植到多个微控制器上。它在GPL下分发,但有一个可选的例外。 C

nesC:深度网络化系统的编程语言

其他

  • SOS
  • EmberNet
  • Smart-its
  • Ant Nut/OS
  • Squawk Virtual Machine
  • Oracle Java ME Embedded
  • Synapse’s SNAP network operating system “支持互联网的,即时启动,多跳,网状网络,旨在经济高效地在各种流行的微处理器和微控制器上高效运行”
  • ClearConnex “ClearComm是一个成熟的,经过验证的,与硬件无关的软件平台,可以加载到任何现成的调制解调器上,也可以添加到定制设计的硬件中。”
  • Abacus OS “借助Abacus OS,开发人员可以在云服务和本地设备之间创建移动应用程序。”

开源

系统 描述
RIOT 描述:RIOT OS是物联网(IoT)设备的操作系统。它基于微内核,专为:能效,硬件独立开发,高度模块化而设计。
thingsquare-mist Thingsquare Mist描述:Thingsquare Mist为物联网带来了弹性无线网状网络和真正的互联网连接。 Thingsquare Mist开源固件非常轻巧,经过实战验证,可与多种带有各种无线电的微控制器配合使用。
saphire-os Saphire OS描述:Sapphire是一个完整的堆栈,开源,低功耗无线平台,从硬件引脚到网络及其他。 Sapphire结合了灵活的低成本硬件,轻巧但功能强大的嵌入式操作系统和网络连接工具,可帮助您将任何东西连接到一切。
Nimbits 说明:Nimbits是用于将时间序列数据记录到云中的软件集合。当您的系统使用REST Web服务将新的数字,json或xml数据发送到Nimbits数据点时,新值可以触发级联计算,警报,统计信息等。使用Nimbits Server作为应用程序的后端,使用公共云使用javascript生成图表和数据可视化,或者下载并构建自己的基础架构。
thingspeak Thingspeak 描述:ThingSpeak是一个开源的“物联网”应用程序和API,用于通过Internet或局域网使用HTTP存储和检索数据。使用ThingSpeak,您可以创建传感器日志记录应用程序,位置跟踪应用程序以及具有状态更新的社交网络。
alljoyn 说明:一个开源项目,提供通用的软件框架和核心系统服务集,使各制造商之间的互联产品和软件应用程序之间的互操作性能够创建动态的近端网络,从而使产品 - 家庭,汽车和企业 - 能够以新的,令人兴奋的和有用的方式进行互动,以吸引用户并使用户满意。
openalerts OpenAlerts 描述:openAlerts是免费的开源软件,用于远程监控和控制IP网络上的传感器。使用openAlerts,您可以从Web浏览器配置,控制和监视传感器,接收电子邮件和文本消息警报,并根据传感器条件触发控制命令。
IoT Toolkit 描述:物联网工具包是一个开源项目,用于开发一套工具,用于构建多协议物联网网关和服务网关,实现多种不同协议和云服务之间的水平协作。该项目包括智能对象API,网关服务和相关工具:
The Thing System 描述:控制事物, 你的生活和你的房子从一台计算机变成物联网。从平板电脑到灯泡,从传感器到媒体盒,每个人都可以获得自己的互联网。今天,你必须打击你的东西。他们不互相交谈,应用程序不起作用,它是一个巴贝尔塔。我们的解决方案 - Thing System - 是开源的。我们会谈论任何事情,你可以破解系统,它有一个开放的API。通过Thing System,您可以最终控制您的东西。
Nitrogen 描述:Nitrogen是建立连接设备和使用它们的应用程序的平台。Nitrogen提供身份验证,授权,事件记录,设备配置,发现服务和实时消息传递框架,以便您可以专注于您的设备和应用程序。所有这些都具有一致的开发平台,可以利用无处不在的Javascript。
Argot 描述:“Argot是一个软件工具包,允许开发人员快速构建使物联网成为现实所需的语言。它使用紧凑的可扩展元数据字典的概念,可以嵌入到最小的设备上。”
dat dat是一项新举措,旨在通过提供更好的协作工具来增加开放数据运动的吸引力:自动同步和更新整个数据集(或子集),数据集可能非常大(数十亿项)或经常更新(实时数据),同步和转换插件API,用于将dat连接到任何现有数据库或格式,考虑到自动化和分散式工作流程

合作伙伴生态系统

生态系统 描述
Berg Cloud 描述:BERG Cloud是为家庭或企业制作连接产品的最简单方法。完美适用于一次性原型,作为您下一个Kickstarter项目的支柱,最后作为上市时为您的产品提供动力的平台,它具有低带宽,低功耗要求以及即插即用的优势组态。BERG Cloud最适合直接与网络通信的产品。对于个人智能手机外围设备,我们建议使用蓝牙4,对于流媒体我们建议使用wifi。所有BERG Cloud产品都与一个或多个用户帐户相关联,并利用我们为Little Printer创建的相同共享,控制和配置用户体验。
iotos iOTOS 描述:iOTOS使用“物件”现有的无线功能或集成我们的称为NiO™的桥接设备,使“事物”与我们全球可访问的ThingServer™建立并保持持续连接。注册“thing”的序列号并将其设置为连接到您的WiFi网络后,可以使用我们的公共API通过发送和接收JSON包来访问和控制它。典型用户将使用应用程序或通过我们的网站与“事物”进行交互。
electricimp Electric Imp 描述:imp是一个功能强大但很小的硬件模块,可运行imp OS。我们的操作系统为您的设备构建高级功能和服务奠定了基础,它与imp云协同工作,为您的设备提供软件,第三方服务和外部服务器的无缝,安全连接。
carriots Carriots 描述:Carriots是一个专门为物联网(IoT)和机器到机器(M2M)相关项目设计的应用程序托管和开发平台。我们可以非常轻松地从连接对象中收集数据,存储它,并使用几行Groovycode构建功能强大的应用程序。您可以通过强大的API,Web服务和完全免提的主机环境轻松地将您的应用程序与外部IT系统集成,该环境可自动扩展以满足任何需求,无论您是保留多个设备还是数百万设备。
Realtime.io 用于实时物联网的基础设施
Kynetx 使用Kynetx,您可以轻松编写寻找事件和用户上下文的应用程序,引入各种数据源,然后根据URL中的条件触发操作。而且由于您的应用是基于云的,因此当您更新代码时,每个用户都会立即看到更改。

行业特定
智能家居:
Lelylan

中间件

名字 描述
ProSyst 物联网连接器。我们使用中间件来使连接的设备和设备变得智能化并实现价值驱动的创新。
MundoCore 通信中间件MundoCore专为满足移动和无处不在的系统需求而设计。MundoCore基于微内核设计,支持动态重新配置,并为各种不同设备上的不同编程语言(Java,C ++,Python)提供一组通用API。体系结构模型解决了对正确语言绑定,不同通信抽象(发布/订阅,分布式对象计算和流),对等覆盖,不同传输协议,不同调用协议和自动对等发现的需求。
Gaia Gaia将操作系统的功能带入物理空间。支持常见的操作系统功能,例如事件,信号,文件系统,安全性,进程,进程组等.Gaia扩展了典型的操作系统概念,包括上下文,位置感知,移动计算设备和门锁和灯开关等执行器。
Ubiware (UBIWARE)将允许创建自我管理的复杂工业系统,包括不同性质的分布式,异构,共享和可重用组件,例如智能机器和设备,传感器,执行器,RFID,Web服务,软件组件和应用程序,人类等
SensorWare 为传感器网络提供简单,高效的动态可编程性的框架。
ROS(机器人操作系统) 提供库和工具,帮助软件开发人员创建机器人应用程序。它提供硬件抽象,设备驱动程序,库,可视化器,消息传递,包管理等。ROS是根据开源BSD许可证授权的。
SensorBus 传感器总线在地理传感器网络和传感器Web之间建立一个中间层,以缩小由不同协议栈和数据模型产生的这两个不同层之间的概念差距。因此,传感器总线便于新传感器的集成以及新的传感器Web服务。
Resouces 演示:物联网统一中间件作者:Honbo Zhou, 研究:物联网智能语义中间件(PDF)
EEML:扩展环境标记语言 用于在远程响应环境(物理和虚拟)之间共享传感器数据的协议。它可用于促进任何两个环境之间的直接连接
SensorMLOpenGIS® 传感器模型语言编码标准(SensorML)规定了模型和XML编码,它们提供了一个框架,在该框架内可以定义传感器和传感器系统的几何,动态和观测特征。
Websockets 一种通过单个传输控制协议(TCP)套接字提供双向全双工通信信道的技术。它旨在在Web浏览器和Web服务器中实现,但它可以由任何客户端或服务器应用程序使用。WebSocket API正在由W3C标准化,WebSocket协议正由IETF标准化。由于到80以外的端口的普通TCP连接经常被家庭环境之外的管理员阻止,因此它可以用作克服这些限制的方法,并提供类似的功能以及一些额外的协议开销,同时通过单个TCP端口复用多个WebSocket服务。
IBM MessageSight IBM MessageSight以极高的事务率,大规模和可预测的低延迟扩展了消息传递网络。它为企业的边缘提供消息传递,以接触不断扩展的物联网,可以与及时信息连接的并发设备数量的显着扩展。
MQTT MQ遥测传输 - MQTT协议以极轻量级的方式启用发布/订阅消息传递模型。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程位置的连接非常有用。
Koneki Koneki项目为机器对机器解决方案开发人员提供工具,帮助他们开发,模拟,测试和部署他们的M2M应用程序。
MIHINI Mihini项目提供了一个运行在Linux之上的嵌入式运行时,它公开了一个用于构建机器到机器应用程序的高级Lua API。
oBIX(开放建筑信息交换) 行业领导者和协会致力于创建标准XML和Web服务指南,以促进智能建筑之间的信息交换,实现企业应用程序集成并实现真正的系统集成。
约束应用协议(CoAP) 一种专用的RESTful(代表性状态转移)协议,用于受限网络和节点,用于智能能源和楼宇自动化等机器对机器应用。

可视化编程工具

开源

Node-RED “用于连接物联网的可视化工具”
NETLab工具包 “拖放物联网”

商业/企业

DGLux5 “用于开发物联网应用程序的企业级解决方案”
ReactiveBlocks “构建强大的物联网应用程序的专业工具”
AT&T Flow Designer “通过使用Flow Designer进行原型设计,构建和托管应用程序,释放您的物联网数据的力量”

额外

- WoTKit “Web of Things Toolkit是一个平台即服务,允许您将内容连接到Web。该系统用作传感器数据聚合器,仪表板,远程控制和数据处理工具。开发人员还可以使用它们创建自己的应用程序随平台提供的RESTful API。“
NodeJs “Node.js是一个基于Chrome JavaScript运行时的平台,可轻松构建快速,可扩展的网络应用程序.Node.js使用事件驱动的非阻塞I / O模型,使其轻量级,高效,非常适合数据密集型跨分布式设备运行的实时应用程序。“
DeviceJS “基于JavaScript的开发平台,用于对传感器和控制设备作出反应。它基于谷歌的V8 JavaScript引擎,Node.js和实时JSON数据库。”

自然语言

Wit.AI “Wit.AI使开发人员能够在几分钟内为他们的应用程序或设备添加自然语言界面。它比Siri更快,更准确,无需前期投资,专业知识或培训数据集。”
HyperCat “是一种基于JSON的轻量级超媒体目录格式,用于公开URI集合。每个HyperCat目录可能会暴露任意数量的URI,每个URI都有任意数量的类似RDF的三重语句.HyperCat易于使用,并允许开发人员使用发布资源的链接数据描述。HyperCat旨在通过Web公开有关IoT资产的信息。它允许服务器向客户端提供一组资源,每个资源都有一组语义注释。实施者可以自由选择或发明任何一套注释,以满足他们的需求。“
QEST “是讲MQTT的设备世界和讲HTTP和REST的应用程序世界之间的星际之门。”

你可能感兴趣的:(嵌入式/IoT/物联网)