如何开发物联网应用程序?

简介:

物联网(IoT)的突然爆发其实并不是那么难以理解的事情。传感器、网络芯片和其他技术都要求连接到网络设备上,这一范围可以电灯扩展到智能手环,再到工业设备,所以这些设施都变得比以往更加便宜。

所有这些连接的设备都在不停地发送和接收来自于网络的数据,这一网络可能与地理属性如温度、湿度、脉搏、光感、速度或每分钟转速相关,现时还会收发一些更加复杂的数据如维护需求、声音,以及静态和动态图像等等。

为了在实际中得到应用,物联网收集和转换的数据不得不连接到Forrester分析师所谓的自动化系统上。如软件系统,可以智能管理事物和他们使用的网络,可组织和存储他们所产生的大量数据,同时在处理他们,然后在呈现给最终用户。那么要如何开发出物联网所需要的应用程序?

开发之间的重要问题

这些问题对物联网应用开发人员很重要。哪一种才是最好的方法,来构建一个“物联网应用”,它可以做很多事情,从远程控制家庭应用到对引擎改动机制造商发送通知,而这一需要维护服务的引擎有个能在世界任何一个地方 ?开发人员要具备怎样的技能?要从哪里先开始?

物联网应用开发的始占在于它本身 。这些边缘设备通常没有屏幕(尽管并非总是如此)、处理器功耗低,搭载的是某种嵌入式操作系统,使用一个或多个通信协议进行交流(通常是无线)。这些东西可能直接与网络、相邻事物和网络网关相连,一般外形就是一个盒子带一些闪闪发光的灯。

系统的下一层即集成层是软件和基础设施,运行在企业数据中心或云中,来从各种事物中接收和管理数据流。运行在集成层的软件通常也负责管理这些事物,必要时更新固件。

接下来就分析层,用于管理并处理数据。最后,还有一个终端用户层,这一层上应用程序用于用户之间交流。这些可能是企业应用、可能是网络应用,也可能是移动应用。

如果你正在想办法构建物联网应用,最后两层将会是你接触最多的。作为开发人员,你可能没有工具处理这些边缘设备或网关,或者没有适应集成层的能力。

这也就是为什么说构建应用程序要从已经就绪的“物联网平台”开始是有道理的了。这些平台通常包含集成层,这一层承载着以时间为序列输入的数据,以及分析层、自动精简配置,激活和管理功能,实时消息总线和建立其上的平台和应用之间的通信API。

现在市场上有许多公司都在提供这类平台。这有 Xively、Mnubo、 Bug Labs和ThingWorx ,他们都有能力与不同的制造商产生的大量“事物”进行沟通。

还有些比较有名的公司,如微软的智能系统服务,和企业软件厂商如SAP的物联网解决方案,这些厂商都在他们的产品中增加了物联网功能。

从相当大量的工作开始构建IoT平台

位于加利福尼亚州的OnFarm使用了ThingWorx的云IoT平台来开发他自己的web农场信息应用程序。这可以从大量不同的事物中收集数据,如土壤湿度传感器,同时还能集成其它来源的数据,,如天气信息提供者。然后它把这些信息通过定制的控制板呈现给它的农户。

OnFarm的CEO曾一度考虑招聘开发人员,从头构建一个物联网平台,但这个想法很快就被拒绝了。这样做将有相当大量的工作要做。就只单单构建他们自己后端就要一、两年时间。即使用一、两年他们完成了这项工作,那么他们公司在落于人后了。

通过使用ThingWorx所有数据的处理,OnFarm减少了大量的web控制面板的工作,只需通过ThingWorx的API就能连接到数据上了。

该公司聘请了一位开发人员来通过JavaScript编写连接器,允许新传感器与ThingWorx平台通信。这一代码置于ThingWorx内部。另外,该公司还聘请了四位开发人员进行OnFarm web应用前端的开发,大部分的编程工作使用了 Bootstrap、AngularJS和JavaScript。这个前端通过RESTful API可以连接到后面的ThingWorx上。这个过程非常简单,让人能够专注于前端使用数据进的数据性能和灵活性。

目前,OnFarm收集的数据来自在于5,000多种客户的“事物”,每个月收集大约7百万条数据。这一数据以每年30%的速度在增长。所有的预构建平台还有一个好处是就它的可扩展性,现已经经过验证。这很重要,因为物联网应用程序相对较新。如果物联网可以像许多人期望的那样获得成功,然后像OnFarm这样的应用程序供应商可能需要每年以非常快的速度来扩展他们的产品。


原文发布时间为: 2014年11月14日

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
3月前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
2月前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
2月前
|
存储 传感器 物联网
结合物联网开发探讨C语言的变量
在物联网(IoT)开发中,C语言的变量起着至关重要的作用。由于物联网设备资源有限,C语言的高效性和对硬件的直接控制使其成为开发嵌入式系统的首选。
|
6月前
|
监控 物联网
LabVIEW开发基于物联网的多功能功率分析仪
LabVIEW开发基于物联网的多功能功率分析仪
49 2
|
6月前
|
传感器 机器学习/深度学习 算法
LabVIEW开发工业物联网状态监测
LabVIEW开发工业物联网状态监测
70 2
|
6月前
|
传感器 存储 物联网
【C 言专栏】基于 C 语言的物联网开发
【5月更文挑战第6天】C 语言在物联网发展中扮演关键角色,适用于开发嵌入式系统、通信协议及云平台后端服务。其高效、灵活、可移植的特性适应资源有限的环境,确保设备兼容性。尽管开发挑战较大,如代码可读性,但借助辅助工具可改善。随着物联网技术进步,C 语言将持续发挥重要作用,塑造智能未来。
135 0
【C 言专栏】基于 C 语言的物联网开发
|
6月前
|
传感器 安全 物联网
C语言:物联网开发利器
C语言:物联网开发利器
|
6天前
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
70 50
|
6天前
|
安全 物联网 物联网安全
制定统一的物联网技术标准和规范的难点有哪些?
制定统一的物联网技术标准和规范的难点有哪些?
19 2
|
6天前
|
存储 数据采集 物联网
物联网技术在物流领域的应用会遇到哪些挑战?
物联网技术在物流领域的应用会遇到哪些挑战?
20 4

相关产品

  • 物联网平台