基于Arduino的物联网接入器的设计

  • 格式:doc
  • 大小:588.00 KB
  • 文档页数:7

基于Arduino的物联网接入器的设计
作者:崔晓梦
来源:《电子技术与软件工程》2015年第03期
摘要结合当前的物联网接入技术,并基于近几年较热的Arduino技术,提出了一种能够实现物联网设备接入的新型系统,构建了一个性能稳定、适用范围广、相对经济的物联网接入器。

接入器的硬件平台以Arduino系列中的Intel Galileo为中心,外接必要的扩展模块;软件平台以嵌入式Linux为操作系统,Arduino IDE for Galileo为开发环境。

该物联网接入器可以将感知设备采集到的信息传送至互联网上的应用系统,验证了Arduino技术的特点和在物联网上的实用性。

【关键词】Arduino 物联网接入 Galileo Linux
1 引言
物联网是继计算机、互联网之后,世界信息产业的第三次浪潮;可广泛应用于城市智能交通、生态环境、医疗卫生、智能家居等重要领域。

物联网是要把众多没有计算能力的“物”通过互联网连接在一起,其关键是物联网接入器,即能够把各种“物”连接到互联网并能进行信息交换的技术和设备。

目前,有很多企业、高校与研究机构都在研究物联网接入设备,并呈持续上升趋势。

但是物联网发展至今,还没有形成统一的概念、体系结构、技术标准等。

在实际的研究和应用中,研究人员和开发商等利用各种技术实现物联网设备的接入。

本文探索出的“基于Arduino的物联网接入器”,首先,灵活、广泛的采集“物”的信息;然后,进行信息的处理;最后,经以太网/3G/4G网络传送至互联网的应用系统。

2 系统的整体设计
物联网接入器既是物联网接入器应用系统的一个子系统,又是一个相对独立的系统。

物联网接入器应用系统包括三个子系统:感知系统、物联网接入器、应用系统。

感知系统完成信息采集,物联网接入器实现信息的转发,应用系统用于信息的接收。

感知系统采用“物理连接”的方式与物联网接入器相连,物联网接入器把采集到的“物”的相关信息(视频、音频、传感器数据等)通过以太网/3G/4G等通讯网络发送至互联网的应用系统。

物联网接入器的应用系统示意图如图1所示。

根据其应用系统示意图,物联网接入器的系统结构应分为三个部分,如图2所示。

从图2可以看出,物联网接入器应具备如下的3个基本功能:
(1)通过“信息采集接口单元”接收“感知系统”采集的信息的功能;
(2)通过“信息接入处理单元”对接收的信息进行处理的功能;
(3)通过“有线/无线通信单元”对接收的信息进行发送的功能。

3 系统的硬件平台
Arduino是源自意大利的电子原型制作平台,其硬件平台和软件环境都是开源的;Arduino 包括一系列的开发板且在不断的更新中。

因为Arduino入门简单,拥有多种开发板、丰富易用的外围模块、容易掌握的开发环境和语言,大量的库支持,所以Arduino目前已经在各个领域都有了广泛的应用。

在物联网领域,Arduino作为一种轻量级的物联网实现方式是大规模的物联网应用的一种低成本补充,能够在特定场合实现独特的功能。

3.1 信息接口采集单元
感知系统,如图1所示,包括摄像头、麦克风/拾音器、传感器等感知设备,种类繁多、接口丰富。

为了实现各种感知设备都能简单、轻便的与物联网接入器连接,经过大量的市场调查,物联网接入器的信息接口采集单元需具备以下接口:
(1)以太网网口。

(2)USB接口。

(3)Arduino IO接口。

(4)IIC接口。

(5)RS232接口。

(6)RS485接口。

3.2 信息接入处理单元
“信息接入处理单元”需对“信息接口采集单元”中接收到的信息进行相应的处理和转化。

其内部结构如图3所示。

其中,“信息处理模块”是“信息接入处理单元”的核心模块,也是物联网接入器核心部分。

该模块采用Arduino中的Intel Galileo开发板。

Intel Galileo开发板是基于英特尔夸克Quark SoC X1000应用处理器的微控制器板,同时它也是第一款基于英特尔X86架构设计的Arduino 控制器。

在产品定位上,Intel 将 Quark 定位于面向物联网、可穿戴设备的X86处理器。

其基本配置如下:CPU主频达400Mhz;256Mbyte DDR3内存;丰富的对外接口:10/100Mbps以太网、PCle2.0规范的Mini-PCIE接口、USB2.0 Host/Client、JTAG调试接口、SPI 25Mhz Max、IIC、串口x2、ADC x6、GPIO x14(PWM x6);8Mbyte SPI Flash;microSD卡读卡器。

根据“信息接口采集单元”所需的接口及Galileo自身能提供的接口,还需外接以下接口模块:
(1)RS232 shield for Galileo。

(2)RS485 shield for Galileo。

这些接口模块都可以通过直插在Intel Galileo主板上使用。

“以太网/无线通讯协议模块”用来将“信息处理模块”输出的信息按照以太网/3G/4G通讯协议进行转换和处理,使其成为能够在以太网/3G/4G通讯网络传输的数据格式。

3.3 有线/无线通讯单元
有线/无线通讯单元用来将转换完成的数据包发送至互联网。

因为Intel Galileo本身自带以太网接口,所以需外接针对Galileo设计的3G扩展模块。

该模块可以直插在Galileo上使用。

通过以上的分析可知,该物联网接入器的硬件平台以Intel Galileo为中心,外接以下模块:
(1)RS232 shield for Galileo。

(2)RS485 shield for Galileo。

(3)3G shield for Galileo。

4 系统的软件设计
该物联网接入器的软件设计主要包括启动操作系统以及针对特定应用场景设计的应用程序。

Intel Galileo可以运行Linux操作系统。

在Intel Galileo上有两种Linux操作系统,即微型版Linux操作系统和完整版Linux操作系统。

在Galileo启动后将默认启动微型版Linux,它带有Galileo主板上基本的外设驱动,并保证Arduino 程序能正常运作。

如果需要更多功能,就要采用外接SD卡,使用Intel提供的完整版本Linux。

另外,如果希望让Galileo支持更多的硬件设备,或者希望在Linux中增加更多的软件包时,需要自定义Linux系统。

在该物联网接入器的设计中,采用的是完整版Linux操作系统。

在Intel的Galileo下载界面提供了该Linux系统的SD卡文件。

将它们复制到FAT格式的SD卡根目录下,然后将SD卡插入Galileo,并给Galileo通电即可。

Galileo将会引导来自SD卡的Linux系统,可以通过串口或者以太网登录至该系统。

值得注意的是,由于采用了X86构架,因此 Arduino 官方 IDE 尚不能直接用于 Intel Galileo,并且为基于传统 AVR 芯片设计的 Arduino 程序和库也可能需要做出修改。

为此,Intel 提供了一个修改版本的 Arduino IDE。

需在Arduino IDE for Galileo中开发应用程序。

以较为复杂的的视频信息为例,数据的传输过程如图4所示。

在与本物联网接入器连接的感知系统中,摄像头采用USB摄像头,输出的是经H.264编
码的视频信息;然后,物联网接入器接收、处理、转发视频信息。

根据图4中的数据传输流程,应用程序的设计应包括以下的部分:
(1)初始化准备。

(2)接收来自应用系统中客户端的视频请求。

(3)启动摄像头。

(4)接收视频流。

(5)处理视频流。

(6)发送视频流等。

麦克风、传感器等其他感知设备采集的信息也要经过类似的传输过程。

综上,该物联网接入器的软件平台以嵌入式Linux为操作系统,以Arduino IDE for Galileo 为开发环境,以及针对具体应用场景的应用程序。

5 结束语
本文设计了一个基于Arduino和嵌入式Linux的物联网接入器,能够将“物”连接至互联网,实现了接入器的基本功能。

该接入器具有功耗低、体积小、稳定性高等优点。

该物联网接入器能较方便的进行维护,可以快速的进行故障查询、故障排解、升级优化等。

同时,该物联网接入器也验证了Arduino技术在物联网领域的实用性。

参考文献
[1]郭谭娜,焦艳冰.基于AVR单片机的Arduino控制器应用浅析[J].数字技术与应用,2013.
[2]Intel Galileo伽利略开发板数据手册.
[3]Intel Galileo伽利略开发板入门指南中文版
[4]谢希仁.计算机网络[M].北京:电子工业出版社,2013.
作者单位
北京工业大学北京市 100124。