物联网(IOT)将实现万物互连,有人说它正在形成,也有说它已经出现。无论如何,了解什么是物联网以及它产生的原因都意义重大。物联网牵涉到如何连接东西(非人类)到互联网。这些东西使用或涉及数据,而这些数据是较大系统的一部分并且必须被正确测量。数据经由一个小型联网的嵌入式系统测量,其中一些嵌入式系统外形仅像邮票般大小。
这些带联网功能的嵌入式系统,属于不带人机界面的微控制器设备。相反,这些系统使用传感器或其它检测机制来收集数据,这些数据对于更大型的系统价值巨大。这些数据通过互联网发送到大型计算机上。计算机收集、分析数据,并将之存储在内存中,而且经常根据这些数据分析的结果做出一些实时系统决策。
如同任何嵌入式项目,首先第一步是选择正确的开发套件。选择合适的开发套件,应先了解物联网项目的需求。一般情况下,存在以下三种类型的IoT开发项目:
1.云连接。该类型项目可以是遍布全球的巨型系统网络,所有设备都连接到云基础设施。这种云基础设施可能包括运行分析并处理收集数据服务器应用程序的一个或多个服务器。
2. 本地网络。一些小型嵌入式系统是更大系统的远程传感器,往往位于企业内部网。
3. 网关。该类型项目是将传统应用连接到互联网的系统。
云连接开发套件
该类别应用可以展示IoT与传统嵌入式系统最显著的差异。“云”是web服务器,可配置为提供存储和服务功能。物联网节点连接到云服务器,以发送甚至接收数据和指令。云服务器上运行一个或多个软件应用程序,可以做很多事情,包括收集和存储信息以备随后复查,做近实时决策以及发送指令到联网的IoT节点。
图1:英特尔Edison物联网模块
从零开始创建云连接物联网项目可能会很耗时间。开发人员需要建立云服务器的硬件和软件环境,同时为物联网节点和云服务器编写驱动程序和应用程序代码,然后调试两系统间的连接,最终创建终端应用。为简化该过程,云开发工具提供现成的连接生态系统,包括已测试的应用代码,可以在不到一天的时间内创建工作原型。
英特尔目前有两种开发板,可以支持云开发并作为终端使用器件。第一种是是英特尔Edison,主板很小,只有邮票大小。英特尔Edison(图1)采用了一个22nm的英特尔凌动系统芯片,内置一个频率为500MHz的双核、双线程CPU,以及一个100MHz的32位微控制器Quark。板载存储器包括4GB闪存和1GB的RAM。同时支持WiFi和蓝牙4.0连接。Edition通过英特尔IoT分析云服务来提供WiFI模式器件到云的连接。这种云服务允许物联网数据采集和分析,而无需创建定制云服务器。总之,英特尔为开发者提供云服务器,本身就是一个云开发工具。英特尔也研制了Arduino开发环境,可以连接到Edison以支持编程和调试功能。
英特尔Galileo 2代(图2)是一个更大、更复杂的Arduino认证板。Galileo 2由一个400MHz的32位英特尔QarkX1000系统级芯片(SoC)驱动。互联网连接由10/100以太网提供。还支持其它一系列通用嵌入式连接选项,比如SPI和UART。开发人员也将Galileo 2连接到英特尔物联网分析云服务器,并且执行比Edison更复杂的任务。
图2:英特尔Galieo 2,Arduino认证的一个开发平台。资料来源:英特尔
英特尔Edison和英特尔Galileo 2开发套件展示了基本的云开发环境。开发人员可以给这些板编程以从环境中收集数据,然后将这些数据通过互联网发送并和云服务器进行互动。
更进一步,Microchip有一个简便的云开发平台,提供与亚马逊弹性计算云(EC2)的连接。不仅Microchip的开发平台可以将数据发送到亚马逊的EC2, EC2甚至也可以发送数据来控制Microchip的开发平台。这也为开发环境增加了另一层的复杂度,可以演示无需人工干预前提下的云服务器如何控制物联网节点。
本地联网物联网开发套件
本地联网的物联网节点可能不支持WiFi或以太网等TCP/ IP连接协议。这种系统可能使用非互联网协议(IP)网络,比如ZigBee,或蓝牙,其中的案例是德州仪器(TI)的CC2650STK SimpleLink蓝牙智能SensorTag IoT开发套件(图3)。该套件包括10个环境传感器,可以检测出温度,加速度,环境光亮水平等等。 TI的SensorTag套件使用蓝牙连接到Android或iOS移动应用程序。移动应用程序可以监视并显示传感器读数,以图形形式提供基本数据分析,甚至打开或者关闭SensorTag传感器。,
图3:德州仪器的SensorTag及Android应用程序 - 资料来源:德州仪器(TI)
Silicon Labs的传感器球提供了类似功能。传感器球测量环境光线、紫外线指数、环境温度和湿度,所有这些数据都可以通过低功耗蓝牙(BLE)发送到带传感器球IOS或Android应用程序的移动设备上。传感器球支持BLE广播模式,允许单个移动设备从多个球中收集并显示数据。有经验的移动开发者可以编写代码来分析这些数据,并得出有意义的结论。
物联网网关开发套件
物联网网关从不支持互联网连接的设备中拿到数据然后将这些数据通过WiFi或以太网发送到别的地方。 ZigBee是一种流行的无线网格网络标准,不支持TCP / IP协议,因此不能分配IP地址。Digi公司的XBee ZigBee云套件(图4)提供ZigBee到以太网和WiFi的网关转换。这节省了将ZigBee数据转换成TCP / IP包所需要的时间和代码开发成本。一旦连接到互联网,XBee云套件连接到Digi赞助的设备云帐号。然后,开发人员可借助任何浏览器访问在线云控制面板并与XBee云套件进行信息交互。
图4:Digi公司的XBee ZigBee云套件与云服务器应用进行通信。 - 来源:Digi
对于复杂的高端网关应用开发,英特尔提供了DK300系列网关解决方案。DK300套件支持通过2G/3G/4G蜂窝、10/100/1000以太网和无线网络连接进行网关开发。开发数据可以被收集并通过蓝牙、USB、串行端口、ZigBee等发送到互联网。
结论
对大多数开发者而言,从零开始创建可联网的物联网系统需要掌握许多不同的技术,包括有线和无线联网,嵌入式代码开发和设备驱动程序开发。虽然许多有经验的开发者可能已经熟悉了这些技术,但更多技能,如编写移动设备应用程序和云代码开发是相对较新的技能。新的物联网开发套件提供了硬件、软件、固件和集成工具,从而缩短了产品上市时间,同时也培养了开发者对这些新技术的掌握程度。
全部0条评论
快来发表一下你的评论吧 !