如何开发物联网应用程序_物联网软件开发

如何开发物联网应用程序_物联网软件开发,第1张

物联网开发应用最重要的是各种接口的兼容性。

首先物联网终端设备数量比手机大得多,而且本身没有显示界面,通常只是能够通过特定网络协议回传数据的传感器(直接连入互联网或者通过网关设备),也就是说在物联网大数据汇聚的前端,数据的汇入是自动化进行的,应用开发的重点是后端的汇聚层。

物联网应用后端汇聚层需要有一个智能化软件系统(通常运行于数据中心),来管理物联网设备(包括固件升级等)、网络、处理海量数据,并提供给用户。

在设备层、汇聚层之外,物联网应用还需要一个分析层,负责处理物联网设备产生的大数据。

最后,是最终用户层,负责将有用的数据分析结果以可视化的方式展示到用户的终端设备中,这个层面的开发,可以是移动web网站也可以是一个手机APP。

由于设备层和汇聚层第三方专业产品和服务的完善,实际上今天的物联网应用开发,主要指的是分析层和用户层这两个层面,换而言之,未来物联网开发生态主要建立在成熟的云计算物联网平台上。成熟的物联网平台通常都提供汇聚层需要的大数据存储、实时信息总线以及于前端应用通讯的API。

实际上今天已经有大量面向物联网应用开发的平台,例如Xively、Mnubo、BugLabs和ThingWorx等,这些平台通常能够兼容大量物联网产品厂商的设备。

物联网传输层分为有线通信传输层和无线通信传输层。
有线通信技术包括中长距离的广域网络和短距离的现场总线;无线通信层分为长距离的无线局域网、中短距离的无线局域网和超短距离的无线局域网。

物联网可分为三层:网络层、应用层、感知层。

网络层由各种私有网络、互联网、有线和无线通信网、网络管理系统和云计算平台等组成,相当于人的神经中枢和大脑,负责传递和处理感知层获取的信息。

应用层是物联网和用户(包括人、组织和其他系统)的接口,它与行业需求结合,实现物联网的智能应用。

感知层由各种传感器以及传感器网关构成,包括二氧化碳浓度传感器、温度传感器、湿度传感器、二维码标签、RFID标签和读写器、摄像头、GPS等感知终端。

感知层的作用相当于人的眼耳鼻喉和皮肤等神经末梢,它是物联网识别物体、采集信息的来源,其主要功能是识别物体,采集信息。

扩展资料:

相关技术

1、地址资源

物联网的实现需要给每个物体分配唯一的标识或地址。最早的可定址性想法是基于RFID标签和电子产品唯一编码来实现的。

另一个来自语义网的想法是,用现有的命名协议,如统一资源标志符来访问所有物品(不仅限于电子产品,智能设备和带有RFID标签的物品)。这些物品本身不能交谈,但通过这种方式它们可以被其他节点访问,例如一个强大的中央服务器。

2、人工智能

自主控制也并不依赖于网络架构。但目前的研究趋势是将自主控制和物联网结合在一起在未来物联网可能是一个非决定性的、开放的网络,其中自组织的或智能的实体和虚拟物品能够和环境交互并基于它们各自的目的自主运行。

3、架构

在物联网中,一个事件信息很可能不是一个预先被决定的,有确定句法结构的消息,而是一种能够自我表达的内容,例如语义网。

相应地,信息也不必要有着确定的协议来规范所有可能的内容,因为不可能存在一个“终极的规范”能够预测所有的信息内容。

那种自上而下进行的标准化是静态的,无法适应网络动态的演化,因而也是不切实际的。在物联网上的信息应该是能够自我解释的,顺应一些标准,同时也能够演化的。

4、系统

物联网中并不是所有节点都必须运行在全球层面上,比如TCP/IP层。举例来讲,很多末端传感器和执行器没有运行TCP/IP协议栈的能力,取而代之的是它们通过ZigBee、现场总线等方式接入。

这些设备通常也只有有限的地址翻译能力和信息解析能力,为了将这些设备接入物联网,需要某种代理设备和程序实现以下功能:在子网中用“当地语言”与设备通信。

将“当地语言”和上层网络语言互译;补足设备欠缺的接入能力。因此该类代理设备也是物联网硬件的重要组成之一。

参考资料来源:百度百科--物联网

物联网 *** 作系统内核、辅助外围模块(文件系统、图形用户界面、通信协议栈、各类常见设备的驱动程序等)、集成开发环境等组成,基于此,可衍生出一系列面向行业的特定应用。
物联网 *** 作系统与传统的个人计算机 *** 作系统和智能手机类 *** 作系统不同,它具备物联网应用领域内的一些独特特点,现说明如下。
物联网 *** 作系统内核的特点
1、内核尺寸伸缩性强,能够适应不同配置的硬件平台。比如,一个极端的情况下,内核尺寸必须维持在10K以内,以支撑内存和CPU性能都很受限的传感器,这时候内核具备基本的任务调度和通信功能即可。在另外一个极端的情况下,内核必须具备完善的线程调度、内存管理、本地存储、复杂的网络协议、图形用户界面等功能,以满足高配置的智能物联网终端的要求。这时候的内核尺寸,不可避免的会大大增加,可以达到几百K,甚至M级。这种内核尺寸的伸缩性,可以通过两个层面的措施来实现:重新编译和二进制模块选择加载。重新编译措施很简单,只需要根据不同的应用目标,选择所需的功能模块,然后对内核进行重新编译即可。这个措施应用于内核定制非常深入的情况下,比如要求内核的尺寸达到10K以下的场合。而二进制模块选择加载,则用在对内核定制不是很深入的情况。这时候维持一个 *** 作系统配置文件,文件里列举了 *** 作系统需要加载的所有二进制模块。在内核初始化完成后,会根据配置文件,加载所需的二进制模块。这需要终端设备要有外部存储器(比如硬盘、Flash等),以存储要加载的二进制模块;
2、内核的实时性必须足够强,以满足关键应用的需要。大多数的物联网设备,要求 *** 作系统内核要具备实时性,因为很多的关键性动作,必须在有限的时间内完成,否则将失去意义。内核的实时性包涵很多层面的意思,首先是中断响应的实时性,一旦外部中断发生, *** 作系统必须在足够短的时间内响应中断并做出处理。其次是线程或任务调度的实时性,一旦任务或线程所需的资源或进一步运行的条件准备就绪,必须能够马上得到调度。显然,基于非抢占式调度方式的内核很难满足这些实时性要求;
3、内核架构可扩展性强。物联网 *** 作系统的内核,应该设计成一个框架,这个框架定义了一些接口和规范,只要遵循这些接口和规范,就可以很容易的在 *** 作系统内核上增加新的功能的新的硬件支持。因为物联网的应用环境具备广谱特性,要求 *** 作系统必须能够扩展以适应新的应用环境。内核应该有一个基于总线或树结构的设备管理机制,可以动态加载设备驱动程序或其它核心模块。同时内核应该具备外部二进制模块或应用程序的动态加载功能,这些应用程序存储在外部介质上,这样就无需修改内核,只需要开发新的应用程序,就可满足特定的行业需求;
4、内核应足够安全和可靠。可靠性就不用说了,物联网应用环境具备自动化程度高、人为干预少的特点,这要求内核必须足够可靠,以支撑长时间的独立运行。安全对物联网来说更加关键,甚至关系到国家命脉。比如一个不安全的内核被应用到国家电网控制当中,一旦被外部侵入,造成的影响将无法估量。为了加强安全性,内核应支持内存保护(VMM等机制)、异常管理等机制,以在必要时隔离错误的代码。另外一个安全策略,就是不开放源代码,或者不开放关键部分的内核源代码。不公开源代码只是一种安全策略,并不代表不能免费适用内核;
5、节能省电,以支持足够的电源续航能力。 *** 作系统内核应该在CPU空闲的时候,降低CPU运行频率,或干脆关闭 CPU。对于周边设备,也应该实时判断其运行状态,一旦进入空闲状态,则切换到省电模式。同时, *** 作系统内核应最大程度的降低中断发生频率,比如在不影响实时性的情况下,把系统的时钟频率调到最低,以最大可能的节约电源。
物联网 *** 作系外围模块的特点
外围模块指为了适应物联网的应用特点, *** 作系统应该具备的一些功能特征,比如远程维护和升级等。同时也指为了扩展物联网 *** 作系统内核的功能范围,而开发的一些功能模块,比如文件系统、网络协议栈等。物联网 *** 作系统的外围模块(或外围功能)应该至少具备下列这些:
1、支持 *** 作系统核心、设备驱动程序或应用程序等的远程升级。远程升级是物联网 *** 作系统的最基本特征,这个特性可大大降低维护成本。远程升级完成后,原有的设备配置和数据能够得以继续使用。即使在升级失败的情况下, *** 作系统也应该能够恢复原有的运行状态。远程升级和维护是支持物联网 *** 作系统大规模部署的主要措施之一;
2、支持常用的文件系统和外部存储。比如支持FAT32/NTFS/DCFS等文件系统,支持硬盘、USB stick、Flash、ROM等常用存储设备。在网络连接中断的情况下,外部存储功能会发挥重要作用。比如可以临时存储采集到的数据,再网络恢复后再上传到数据中心。但文件系统和存储驱动的代码,要与 *** 作系统核心代码有效分离,能够做到非常容易的裁剪;
3、支持远程配置、远程诊断、远程管理等维护功能。这里不仅仅包涵常见的远程 *** 作特性,比如远程修改设备参数、远程查看运行信息等。还应该包涵更深层面的远程 *** 作,比如可以远程查看 *** 作系统内核的状态,远程调试线程或任务,异常时的远程dump内核状态等功能。这些功能不仅仅需要外围应用的支持,更需要内核的天然支持;
4、 支持完善的网络功能。物联网 *** 作系统必须支持完善的TCP/IP协议栈,包括对IPv4和IPv6的同时支持。这个协议栈要具备灵活的伸缩性,以适应裁剪需要。比如可以通过裁剪,使得协议栈只支持IP/UDP等协议功能,以降低代码尺寸。同时也支持丰富的IP协议族,比如Telnet/FTP/IPSec/SCTP等协议,以适用智能终端和高安全可靠的应用场合;
5、对物联网常用的无线通信功能要内置支持。比如支持GPRS/3G/HSPA/4G等公共网络的无线通信功能,同时要支持Zigbee/NFC/RFID等近场通信功能,支持WLAN/Ethernet等桌面网络接口功能。这些不同的协议之间,要能够相互转换,能够把从一种协议获取到的数据报文,转换成为另外一种协议的报文发送出去。除此之外,还应支持短信息的接收和发送、语音通信、视频通信等功能;
6、内置支持XML文件解析功能。物联网时代,不同行业之间,甚至相同行业的不同领域之间,会存在严重的信息共享壁垒。而XML格式的数据共享可以打破这个壁垒,因此XML标准在物联网领域会得到更广泛的应用。物联网 *** 作系统要内置对XML解析的支持,所有 *** 作系统的配置数据,统一用XML格式进行存储。同时也可对行业自行定义的XML格式进行解析,以完成行业转换功能;
7、支持完善的GUI功能。图形用户界面一般应用于物联网的智能终端中,完成用户和设备的交互。GUI应该定义一个完整的框架,以方便图形功能的扩展。同时应该实现常用的用户界面元素,比如文本框、按钮、列表等。另外,GUI模块应该与 *** 作系统核心分离,最好支持二进制的动态加载功能,即 *** 作系统核心根据应用程序需要,动态加载或卸载GUI模块。GUI模块的效率要足够高,从用户输入确认,到具体的动作开始执行之间的时间(可以叫做click-launch时间)要足够短,不能出现用户点击了确定、但任务的执行却等待很长时间的情况;
8、支持从外部存储介质中动态加载应用程序。物联网 *** 作系统应提供一组API,供不同应用程序调用,而且这一组 API应该根据 *** 作系统所加载的外围模块实时变化。比如在加载了GUI模块的情况下,需要提供GUI *** 作的系统调用,但是在没有GUI模块的情况下,就不应该提供GUI功能调用。同时 *** 作系统、GUI等外围模块、应用程序模块应该二进制分离, *** 作系统能够动态的从外部存储介质上按需加载应用程序。这样的一种结构,就使得整个 *** 作系统具备强大的扩展能力。 *** 作系统内核和外围模块(GUI、网络等)提供基础支持,而各种各样的行业应用,通过应用程序来实现。最后在软件发布的时候,只发布 *** 作系统内核、所需的外围模块、应用程序模块即可。
物联网 *** 作系统集成开发环境的特点
集成开发环境是构筑行业应用的关键工具,物联网 *** 作系统必须提供方便灵活的开发工具,以开发出适合行业应用的应用程序。开发环境必须足够成熟并得到广泛适用,以降低应用程序的上市时间(GTMT)。集成开发环境必须具备如下特点:
1、 物联网 *** 作系统要提供丰富灵活的API,供程序员调用,这组API应该能够支持多种语言,比如既支持C/C++,也支持Java、Basic等程序设计语言;
2、 最好充分利用已有的集成开发环境。比如可以利用Eclipse、Visual Studio等集成开发环境,这些集成开发工具具备广泛的应用基础,可以在Internet上直接获得良好的技术支持;
3、 除配套的集成开发环境外,还应定义和实现一种紧凑的应用程序格式(类似Windows的PE格式),以适用物联网的特殊需要。通过对集成开发环境进行定制,使得集成开发环境生成的代码,可以遵循这种格式;
4、 要提供一组工具,方便应用程序的开发和调试。比如提供应用程序下载工具、远程调试工具等,支撑整个开发过程。
可以看出,上述物联网 *** 作系统内核、外围模块、应用开发环境等,都是支撑平台,支撑更上一层的行业应用。行业应用才是最终产生生产力的软件,但是物联网 *** 作系统是行业应用得以茁壮生长和长期有效生存的基础,只有具备了强大灵活的物联网 *** 作系统,物联网这棵大树才能结出丰硕的果实。

SOA(Service Oriented Architecture)和云计算以及SaaS一样,也是近年来IT业界的热点,其受关注度甚至超过云计算和SaaS。到2008年,从百度指数可以看出,“物联网”、“传感网”、“M2M”这三个词在中文网站中受关注度猛然升高。

焦点是集成

SOA、EAI(Enterprise Application Integration)、M2M乃至物联网等技术的焦点都是信息集成,目标是消除信息孤岛,实现泛在的互联互通。物联网技术的要点是要消除“物-物相联的信息孤岛”,而SOA的目标是要消除所有的IT信息孤岛。
SOA和EAI作为重要的应用集成中间件技术,必然是物联网所依赖的重要技术之一。
计算机应用系统的发展经历了“独立应用系统”(Packaged Applications)和“集成应用系统”(Integrated Applications)两个主要阶段,随着无处不在的网络技术的发展,早年普遍存在的“独立应用系统”越来越少,或“被集成”为“集成应用系统”的一部分。集成应用系统和技术的发展和演变主要围绕EAI和SOA两个理念,SOA是对更早出现的EAI技术和理念的演变和提升。SaaS技术也和SOA密切相关,都强调“服务”,可以说,SaaS是SOA技术和理念的一种扩展和特有的存在形式。
EAI是一种将使用各种不同技术和平台(CORBA、NET、JavaEE、LAMP等)构建的各种异构应用集成的一种技术和方法。国外往往习惯加Enterprise(企业级)这个词,说成是“企业应用集成”,但EAI不只是面向“企业”应用。可以毫不夸张地说,IBM、Oracle、微软、SAP等软件巨头都是EAI公司,早期的EAI公司还有很多,如BEA、WebMethods、SeeBeyond、TIBCO、VITRIA等等。
从架构上看,EAI主要有两种方式:Hub/Spoke和BUS。Hub/Spoke方式好比“中心城市和卫星城市”的构架,所有外延(Spoke)的系统都通过适配器(Adaptor)与中心枢纽(Hub)系统实现多点对一点(非P2P)连接和集成。BUS方式是一种更开放和通用的架构,使用一个统一总线,一般是MQ(Message Queue)或ESB(Enterprise Serice Bus),子系统把消息发送给总线,总线负责消息的路由,可实现P2P服务或总体应用集成。
SOA将各种应用或子系统看成一个个独立的、自包含并良好定义的服务或组件(Service Component Architecture),通过把这些服务进行组装,统一注册,并在网络系统中发布,让(泛在)网络上的别的应用能够查询、发现和调用这些服务,实现应用集成或构成新的应用。SOA(包括相关的Web Service、SOAP、SCA等理念)的出现,一统了CORBA、NET、JavaEE乃至LAMP(Linux、Apache、MySQL、Perl/PHP/Python)等几大技术阵营多年来“水火不相容”的“不妥协”竞争局面, 这也是物联网技术和产业发展值得借鉴的宝贵经验。SOA的愿景同样是实现“无处不在”的泛在计算和服务。
业界一般认为SOA这个理念和技术比EAI晚出现,其实也不尽然,笔者记得SOA的理念早在1996年就在BEA公司内部实现TUXEDO系统的升级开发时就提出来了。从SOA概念诞生之日起,围绕SOA与EAI的重合、关联及差异所展开的争论一直没有平息。顾名思义,EAI以集成应用为己任,通过接口标准化整合应用,而这恰恰也是SOA的核心任务。SOA将一些EAI功能模块进行封装,并使之标准化,以满足应用的整合、拼装和复用的需要。在Intranet(内网)、Extranet(专网)和Internet(互联网)部署环境中,独立应用一般运行在内网,EAI一般运行在专网, SOA一般运行在专网和互联网上。
SOA和EAI是一种相辅相成、共同发展的关系,EAI理念近几年提得较少,笔者在这里再重提EAI,是希望其在物联网、M2M应用中能够得以广大发扬,以MAI(M2M Application Integration)的方式实现物联网的互联互通和大集成,进一步发展到以M2M as a Service(MaaS)或TaaS(Things as a Service)的基于云计算的营运方式提供大规模IOT服务。

SODA:将设备“统领”起来

笔者在《物联网:技术、应用、标准和商业模式》一书中提出并强调“统一的数据交换标准”是物联网技术的核心,中间件是物联网产业发展的关键,也指出了面向于RFID应用的RFID中间件EPCIS、Savant和Edgeware(边缘件),以及ONS、PML等标准对总体物联网技术发展的重要借鉴意义。而基于SOA技术和理念的SODA(Service Oriented Device Architecture,面向服务的设备架构)的提出,包括类似的基于OSGi技术框架的ECF(Eclipse Communication Framework)等,对物联网数据标准和中间件的发展也具有重要的代表意义,值得深入研究。
SODA是一个由IBM和美国Florida大学发起的倡议(Initiative)和联盟(Alliance),通过引入基于服务(SOA)的编程模型,以规范和简化智能设备(Devices)与企业应用的集成。SODA致力于充分利用嵌入式系统和IT领域已有的标准,为智能设备与SOA技术的融合提供一个标准平台。 SODA的目标是让软件开发者能够像用SOA技术实现IT业务集成那样在诸如远程医疗、军事以及RFID等物联网系统中实现与传感器和执行器的集成。
具体来说,SODA提供标准接口,把硬件设备功能转换成与硬件无关的可调用的软件服务,实现如下目标:
1 将应用集成商与设备和传感器制造商无缝对接;
2 Integrate once, Deploy everywhere, 使用户专注于整体应用方案而不是陷于设备连接工作;
3 在应用和众多(泛在)设备协议之间建立一个通用接口和DDL(设备描述语言),形成统一数据交换标准;
4 作为一个中间件平台,为众多行业应用提供应用支持。
在SODA的系统架构中,设备集成接口定义是关键,也就是所谓的API(Application Programming Interface)和设备描述语言(Device Description Language)的定义。由于末端设备对实时性以及footprint大小要求较高,一般用REST而不是用SOAP来定义和实现Web Services接口。
目前SODA的工作基本上还处在研究阶段,中间件和数据接口标准作为物联网的关键和核心,在世界范围内还没有统一标准。SODA属于美国在开展的几个类似项目之一,欧盟已经有了基于SOA的HYDRA物联网中间件项目和EPoSS项目。中国急需参与或自己成立一个联盟,开展类似SODA这样的工作,提出自己的数据标准和中间件参考实现,这是占领物联网产业制高点的关键之一!

联联看
烟草物联网全国布局

9月16日,全国烟草行业物联网建设规划研讨会在无锡召开。中烟电子商务有限责任公司总经理秦前浩、江苏省烟草专卖局(公司)局长、总经理尉彭城等领导出席会议。
会议围绕国家局局长姜成康对行业物联网提出的“全面覆盖、全面感知、全程控制、全面提升”的总体目标要求,对行业物联网建设规划进行了全面的探讨和研究。与会代表着重就《烟草行业物联网总体框架与卷烟物流物联网规划》(讨论稿)的六个方面内容进行了认真的讨论交流,并对《规划》提出了改进完善的建议。
秦前浩在总结讲话中阐述了打造烟草行业物联网的意义,提出了深化行业物联网建设规划工作的具体思路,要求成立烟叶工商各物流环节的专业化工作小组,明确了先行试点单位、试点内容以及试点完成时间,确定了《规划》分步实施、全面实现的步骤和措施。他要求各单位强化组织领导,调动和发挥力量,汇聚资源,共同推动行业物联网建设工程。
尉彭城在讲话中指出,打造中国烟草物联网,是实现“卷烟上水平”的重要内容,是提升企业核心竞争实力的重要支撑。要多听取各方面的好经验、好建议,用创新的思路做好烟草物联网的规划工作,努力实现低成本、高效率。江苏烟草将在物联网规划与实施上作进一步的探索,为打造中国烟草物联网做出自己的贡献。
与会代表还参观了无锡物联网产业研究院以及无锡市烟草专卖局(公司)物流中心。

中移动“宜居通”亮相通信展

物联网应用“宜居通”是中移动在“2010中国国际信息通信展”上展出的、中移动首个基于TD的典型物联网应用。据了解,该业务已于今年5月17日在重庆试商用,随后在北京的一些小区进行了试推广。“宜居通”作为中移动的全国一类业务,在移动内部深受重视。一方面,它是首个基于TD的物联网产品,此前中移动的物联网业务很多用的是GPRS网络;另一方面,它将TD 3G网络以及家庭内部的小型传感网络融合在了一起;再有,此前中移动的物联网业务大多都是政企行业应用,而“宜居通”则是首个面向大众的物联网产品,能将中移动的用户资源与TD业务很好地结合在一起。
“宜居通”整合了家庭安防、智能家居和通信等各种功能。未来,用户可通过家中的TD家庭多功能信息终端和TD手机来 *** 控“宜居通”,如远程控制空调等家电,预警温度、烟雾等危险,使家中的各种设备通过传感器连成了一个小型传感网,并与TD网络进行信息交互。
据了解,“宜居通”最晚将在明年1月在全国大规模试商用,明年6月将正式商用。
为了这一产品的顺利推广,中移动专门制定了家庭场景下的传感网通信标准,目前产业链内上下游厂商针对此标准已经开发了相应的产品。
(作者系同方泰德国际科技公司CTO)周洪波


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13161017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-14
下一篇 2023-06-14

发表评论

登录后才能评论

评论列表(0条)

保存