运用物联网实现远程遥控电源开关——《无线电》201410
2014-11-03 13:33:00 在上中学时,我就做过无线电遥控装置,受发射功率的限制,记得当时遥控距离最远也就几百米。后来,有人试验利用电话机进行远程遥控,采用模拟摘机后再进行控制的方式,但这种方式使用并不方便。一直以来,我都有一个愿望,就是远程对家里的电器进行控制,现在,随着物联网技术的兴起与应用,我的这一愿望终于得以实现了,本文介绍的作品,就是我运用物联网做的远程遥控电源开关。
方案概述
我们要通过网络实现远程遥控,必需具备下面两个条件:(1)控制设备的计算机或手机(主机),和被控制设备(从机)都连接网络;(2)有连接双方的通信平台,可借助于物联网服务平台实现。其具体工作过程是这样的:我们先在物联网服务平台上注册一个账号,添加设备并为设备添加传感器,再把设备传感器与你家里被控制的设备绑定。使用时,只要用计算机或手机连接物联网服务平台,改变这个设备传感器的工作状态(比如开和关),家里的被控设备也不断访问物联网服务平台,查询其对应设备传感器的工作状态,并将自己调整为相同的工作状态,这样就实现了远程控制功能。从上面的过程中我们可以看出,我们并没有直接对被控制设备进行操作,而是借助物联网服务平台完成的,本文使用的物联网为yeelink 平台。
电路工作原理
用计算机作被控制设备的控制器显然不合适,那么能不能只使用网卡呢?也不行,因为网卡上网要依靠http、tcp/ip 等协议,而这些协议是计算机软件提供的,离开计算机,这些协议就不存在了,网卡也就不可能工作了。还好现在有了网络模块,如w5100,它内部集成有 10/100mbit/s 以太网控制器,可以实现没有操作系统的 internet连接。w5100 内部还集成了全硬件的tcp/ip 协议栈,只要进行简单的端口编程,配合一个用单片机做的控制器就能实现上网了,并完成相应的远程控制功能。
为了制作和编程的方便,单片机控制电路我使用了arduino 开发板,这样一来即使不懂单片机,制作也不会太困难。此制作的电路图见图1。此制作的电路以arduino uno 开发板为核心,arduino uno 实际上是一个单片机系统, 单片机芯片为avr 的atmega328p。arduino ethernet w5100 网络扩展板和arduino uno 之间采用spi 总线进行通信。arduino uno 通过w5100 网络扩展板和yeelink 的服务平台通信,我们可以通过手机或计算机访问服务平台,从而实现对arduino uno 相关的控制和数据传输。
注册并配置yeelink 用户
首先要在yeelink网站注册并激活账号,详细过程见yeelink 网站教程。
■ 图1 远程遥控电源开关电路图
未完。。。
全文详见《无线电》2014.10