英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
在SECE中连接物理世界与Arduino
Hyunwoo Nam |
Jan Janak |
Henning Schulzrinne |
Department of Electrical Engineering |
Department of Computer Science |
Department of Computer Science |
Columbia University |
Columbia University |
Columbia University |
New York, NY |
New York, NY |
New York, NY |
hn2203@columbia.edu |
janakj@cs.columbia.edu |
hgs@cs.columbia.edu |
【摘要】—物联网使得物理世界能够与互联网相连接并控制。这篇论文展示了一种智能网关平台通过互联网来连接生活中常见的事物,例如灯光、温度计和电视设备。这种被提及的硬件构造和一些列的现成的家用技术例如Zigbee和X10都,被装配在一个Arduion平台上,这种SECE(探测万物,控制万物)系统可以让使用者创造出不同的物联网设备,例如检测传感器,控制驱动器,触发动作事件和周期的传感报告。我们对于这种基于Arduion的灵活的构造以及多SECE的整合提出了一个大致的概论。
- 简介
我们正在发展SECE来创造各种通过位置即现状来完善的服务,邮件、推特和脸书,联网工作的家用设备以及传感器[1],[2]。 SECE是一个事件驱动的系统,该系统使用户能够创建通信流量和控制通过因特网物理设备设计在线服务。例如,用户可以设置一个规则来从他的谷歌日历得知SECE提取会议详细信息,通过他的桌面电话进行Skype小组通话,并改变他的Facebook状态为“我正在通话中”。根据他的智能手机的位置信息,SECE可以在他下班回家前自动打开家里的空调。
尽管最近家用小工具,如智能电视可以使用Wi-Fi连接到互联网,我们不能想当然地认为大多数日常物品(例如,灯和空调)都有这样的互联网接入功能。为了使非联网设备连接到互联网,SECE使用了一种基于平台的智能方法。使用基于微控制器的平台,SECE允许用户通过因特网远程操作,监视和控制传感器和驱动器。
在本文中,我们提出了一个简单的方法即使用Arduino平台[3]来实现简单和低成本的家庭网关。 Arduino是一个开源开发平台的原型形式,提供了易于使用的硬件和编程环境。相比像BeagleBone[4]其他基于微控制器的平台相对便宜。要通过原型实现一个简单的家用自动系统,我们正在通过一些列的现有的家用自动模块和通信技术,例如Zigbee[5]、蓝牙和X10[6]来研发基于Arduino的平台。它是专门设计并通过SECE系统,例如检测传感器、控制驱动器、动作触发事件和周期的传感报告来用于创造简单的物联网运用并完善一些列的传感器和驱动器。
本文的其余部分安排如下。本文的第二部分介绍了相关工作。在第三节中,我们描述了相关实施。在第四部分我们介绍了通过使用基于Arduino平台的因特网来控制一系列传感器和驱动器的各种各样物联网运用。最后,我们对向我们的实验在第五部分进行了总结。
- 相关工作
在设计这种基于微处理器控制平台的方法前已经有大量工作基础。Zulkifli等利用的Arduino和XBee [7]的优点构建了一个用于运动训练[8]的无线心脏速率监控系统。 Rao等已经实现使用全球移动通信系统(GSM)的技术通过移动电话[9]来实现家电家庭自动化系统。 Piyare和Tazil都采用了蓝牙技术构建一个家庭自动化系统[10]。通过蓝牙技术,移动电话控制的Arduino使家用设备的功能更为广泛。 Gill等已经开发出一种基于ZigBee的家庭网关,其提供Zigbee网络和因特网设计家庭自动化系统[11]之间的相互操作。Van Der Werff等已经实施了基于移动的家庭自动化系统[12]。为了演示原型,他们已经开发出一种手机模拟器使其能够发送短信消息到家庭网关控制家电。
大多数涉及的智能网关不容易建立,并且其功效有限。他们使用特定的通信技术来监测传感器或控制家电。在本文中,我们正在结合Arduino平台,如Zigbee的[5],红外线,X10 [6]来开发一个简单但功能强大的智能网关与各种现成的家庭自动化模块和通信协议,使用基于Arduino平台,我们已经实现了物联网的应用,如监测传感器,执行器控制,触发动作事件和定期报告的传感器。根据设定的应用,SECE将允许用户轻松地创建自己的物联网服务。
- 通过Arduion在SECE中建立智能网关
在本节中,我们介绍了一个Arduino平台用于在SECE建立智能网关。我们将其与其他他基于微控制器的平台,如BeagleBone[4]和Raspberry[13]进行比较,并描述了Arduino和SECE服务器之间的整个通信。
表1: 微处理器控制平台
Arduino UNO |
BeagleBone |
Raspberry Pi |
||
模型 |
R3 |
Rev A5 |
Model B |
|
处理器 |
ATmega328 |
ARMCortex-A8 |
ARM11 |
|
时钟频率 |
16 MHz |
700 MHz |
700 MHz |
|
RAM |
2 KB |
256 MB |
256 MB |
|
Flash |
32 KB |
4 GB |
SD |
|
最小功率 |
42 mA |
170 mA |
700 mA |
|
数字输出 |
14 |
66 |
8 |
|
模拟输出 |
6 |
7 |
N/A |
|
以太网 |
N/A |
10/100 |
10/100 |
|
Dev. IDE |
Arduino tool |
Python,Scratch, |
IDLE,Scratch, |
|
Cloud9/Linux |
Squeak/Linux |
|||
成本 |
$ 29.95 |
$ 199.95 |
$ 35.00 |
图1:在SECE中基于Arduino的平台
A.Arduino平台
Arduino是一个开源的单板微控制器可以连接到各种传感器和执行器用于创建交互式的对象和环境。Arduino的编程语言是基于Wiring[14]。Wiring是一个用于微处理器的开源编程框架。不同于低层次的编码,它定义了一套抽象物,这使得它更容易编写软件。抽象物是又C和C 编写的函数和库。Arduino开发环境(IDE)由Java编写(基于步骤[15])。IDE提供了一个基本的调试环境,并能使Arduino的引导装载程序编写程序到Arduino板的闪存中。这种图形处理工具和简化的编程风格让用户轻松地与一个Arduino板从过计算机串口通信。该IDE可用于Linux,Windows和Mac OS。
B.其他基于微控制器的平台
在表1中,我们简单地比较了Arduino平台与其他流行的基于微控制器的平台,如BeagleBone [4]和Raspberry Pi[13]。根据上面的表格,以及Arduino和Raspberry Pi价格较便宜,而且Raspberry Pi和BeagleBone展现出强大的性能。当涉及到的成本和硬件性能,好像Raspberry P在这一点上是最好的选择。但是,为了能够运行Raspberry P,用户需要购买SD卡和外接扩展板将模拟传感器连接到主板。Raspberry P和BeagleBone都可以运行Linux操作系统,Linux其可在同一时间运行多个应用程序,并且可以用许多不同的语言进行编程。另一方面,Arduino在设计上非常简单。 Arduino的集成开发环境允许甚至是非技术用户在Arduino板上开发传感器的应用。相比BeagleBone和Raspberry P,Arduino具有最低的功耗,并提供与外部设备的接口最简单的方法。
C.在SECE基于Arduino的平台
为了显示在SECE中建立传感器和驱动器原型的可能性,我们选择了Arduino UNO。图1表示在SECE中的基于Arduino的平台。多种现成的传感器,致动器,和通信模块都可用于在SECE系统中设计物联网。例如,Phidgets[16]提供了各种即插即用传感器,例如温度计和运动探测器。 X10 [6]模块用于控制电气设备,例如灯,投影仪和有线或无线电电视。我们选择XBee [7]模块从Arduino主板访问 Zigbee[5]网络。对于知名家居自动化模块,如Zigbee和X10,他们的库都已经可以使用。
在SECE,Arduino通过TCP/IP被连接到SECE服务器。我们通过RJ-45电缆(图2)使用以太网扩展板将Arduino板连接到互联网。标准的Internet协议如TCP / IP和DHCP都是用于Arduino IDEs。 Arduino通过WecSocket 和HTTP与SECE服务器来通信。WebSocket通过现有的TCP 连接[17]建立双向和全双工信道。一旦WebSocket连接被建立,直到连接被关闭Arduino和SECE服务器之间的双向通信信道仍然有效。该属性使得NATs后的Arduinos建立了一个到SECE服务器可靠的连接。 Arduino的和SECE服务器之间的所有通信都通过TCP的80端口,其有利于对于防火墙不允许除80端口外连接的开发环境。
HTTP和JavaScript Object Notation(JSON)用于交换Arduino和SECE服务器之间的信息。JSON是比XML[18]更轻质的数据格式,而且对于人来说很容易进行读写。一个简单的JSON模式可用于创造一个Arduino和SECE服务之间的信息。比如,下列JSON消息由用于报告给SECE服务器的Arduino上附加的传感器和驱动器的Arduino产生。
{ 'gateway': 'Arduino', 'id': '7A:62:4B:CD:89:12', 'devices': [
{ 'name': 'TV',
'Pin Number': 'D1', 'type': 'digital', 'communication': 'X10', 'value': 'on'},
{ 'name': 'temperature', 'Pin Number': 'A1', 'type': 'analog', 'communication': 'wired', 'value': '65'}]}
Arduino的的唯一标识由Arduino的MAC地址和Arduino上所连接设备的名称组成。它可用于在SECE系统发现传感器和致动器。
图2: Arduino 以太网扩展板
图3: TMP36温度监控
4.连接Arduino和物理世界
在本节中,为了在SECE中建立简单的物联网服务,例如监测传感器,控制驱动器,触
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[153785],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。