【推荐教程2】W5100+arduino+乐联网平台实现传感器数据上传

2013-03-21 19:43

 

1 说明
案例说明:使用Arduino+W5100来实现将几类传感器的测量数据发布到乐联网上进行远程实时查看,查看方式包括在乐联网网页上查看和手机APP查看。
APP:乐联网乐联网 APP open.lewei50.com/home/sitecontent/ydkhd
系统平台:乐联网开放平台
2 反向控制硬件连线
 

传感器
传感器引线
Arduino引脚
BH1721
3.3V
3.3V
SCL
SCL
SDA-
SDA
GND
GND
DHT11
VCC
5V
S
A2
GND
GND
Gadgeteer UV
5V
5V
OUT
A0
GND
GND
PPD42NS
PIN1
GND
PIN3
5V
PIN4
D8

 
3 Arduino模板程序获得与修改
3.1 获得arduino 代码
乐联网的相关Arduino代码托管在Github上,地址https://github.com/lewei50/leweiclient, 打开链接,点击Zip下载按钮,将名称为master.zip的文件下载到本地。
下载后解压,打开你电脑里的Arduino IDE所在文件夹里的libraries文件夹,在里面新建一个leweiclient的文件夹,将master压缩包解压缩后LeweiClient-master文件夹里的文件全部拷贝到这个文件夹里。
3.2 修改usrkey
运行Arduino.exe,在顶部菜单File—Examples—Leweiclient里面能看到control和upload,打开upload即是数据上传的Arduino编程代码。
 
在执行代码前,首先需要到乐联网(http://www.lewei50.com/)上注册用户名和密码,在主页右上角有注册按钮,点击后填写账号、密码和邮箱以后,再登录到邮箱里面激活账号即可。登录进入系统后,通过点击左边管理菜单下“我的账号”—“设置个人信息”里面可以看到你的userkey,这个userkey是每个用户唯一的。
如下图,这是第一处需要修改的地方,首先将程序里面的define LW_USERKEY后面的数值改成你实际个人账号的userkey
其它的变量基本不需要修改,解释如下:
LW_GATEWAY:乐联网的配置的网关标识;
MY_NAME:网关名称;
MY_NAME:网关介绍;
my_addr[50]:被控制的Arduino UNO板可以采取由无线路由器DHCP自动分配IP地址的方式来获取IP,也可以采用手动输入的静态的IP地址,如果采用静态IP地址,则这里输入http://静态IP地址/api,如图中,则表示静态的IP地址为192.168.1.221。
port:给Arduino UNO这个网络终端分配的控制端口号(跨网络控制时候有意义,数据上传编程此变量无意义);
3.3 定义不同的传感器
Leweiclient里已经将几种传感器的代码进行了封装,目前已有的包括:
Ø 模拟量输出的传感器,包括Dfrobot的 Uvsensor 和 moisture sensor
Ø DHT 类别的温湿度传感器
Ø 颗粒物传感器(PM1sensor)
Ø 光照传感器(BH1721 BH1750)
对于每种传感器,你都可以在给一个缩写,例如上面程度中用“UV”表示UV紫外线传感器,这是第二个根据你自己想定义的传感器缩写来进行修改的地方,注意这些传感器需要登录到乐联网物联网应用平台进行创建,创建的传感器的缩写必须和程序里面的缩写保持一致。后面我们会介绍如何在乐联网平台添加设备。
3.4 设置Arduino的网络参数
这里是第三处需要根据你实际的应用场景来进行修改的地方。
这段程序中上面的代码中,如果是“if 0”,则表示不采用静态IP地址的方式,如果是“if 1”,则表示采用静态IP地址,则继续执行下面代码,解释如下:
IPAddress myip:这里需要输入手动配置给Arduino UNO板的IP地址,与前面的my_addr[50]里的IP地址要保持一致;
IPAddress dnsip:这里需要输入与W5100相连接的路由器的DNS的IP地址,查询方法,登录进入路由器配置界面,查看WAN口状态(不同厂商的路由器查询方法不一致,但都能看到WAN口状态)里面的DNS服务器选项。
IPAddress dnsip:这里需要输入与W5100相连接的路由器的IP地址;
IPAddress gateway:这里需要输入与W5100相连接的路由器的DNS的IP地址
3.5 注册传感器
如下图的代码是注册你需要上传数据的传感器,可以根据你实际的应用来进行修改,将需要上传数据的传感器注册一下,把其它传感器的注册代码语句注释掉就可以了。这里是第四处需要你根据实际的应用场景来修改的地方。
这里设置完成以后,便可以运行该程序,运行成功以后。便需要在乐联网的物联网平台管理平台上增添你的测量设备。
4 乐联网上的配置
4.1 网关信息查看
登录进入乐联网管理平台,乐联网采用三级的物联网架构,即“云端服务器”—“网关”—“设备”,“云端服务器”即乐联网的后台服务器,“网关”是桥接测量设备或控制设备和互联网的设备,在本应用指的是Arduino+W5100,设备即前端的测量设备或控制设备,本应用都是测量设备即各类传感器。
登录进入乐联网,进入左边管理菜单下“我的物联网”—“我的网关”里面可以看到你的网关列表,系统默认为每个用户添加一个网关。
4.2 添加测量设备
下一步需要在新创建的网关上建立你的测量设备,进入左边管理菜单下“我的物联网”—“添加设备”,点击右边“添加测量设备”页签,如下图,填写相关信息后,点击保存就可以了。
相关参数解释如下:
缩写:测量设备的缩写,必须与程序里面定义的一致;(根据前面的程序,分别需要建立的缩写是PM1 UV BH TEMP HM 几个设备)
类型:可以在下拉菜单选择不同的测量设备类型,区别是不同类型的数值单位不一样,如温度是︒C,浓度是%等等;
单位:与类型相关联,如果“类型”中选择“其他类型”,则需要这里手动输入单位;
选择网关:从下列菜单选择该测量设备连接的网关,本应用只有一个网关,直接选择;
名称:测量设备名称;
数值转换:可以校准你的设备,最终的保存数值=上传数值*系数+偏移,如果你的测量设备没有系数和偏移值,则可以留空,主要应用于仪器仪表类测量设备;
照片:可以上传你测量设备的照片,公开后在乐联网公开设备地图可以看到;
是否公开:是否公开你的测量设备,只有当网关和网关连接的测量设备同时公开,你才可以看到测量设备的信息和数据;
正常值范围:设置数据的正常值范围;
超过范围告警:勾选,则测量数值不在正常值范围会自动短信告警,详见第五节;
发送频率:当前设备的最小保存时间,发送频率仅作为判断测量设备在线的衡量标准,如果服务器在发送频率设置的时间内没有收到数据,则显示该设备不在线;
备注:测量的设备的备注信息;
发送超时报警:设备超时(超过发送频率设置的时间)不发送数据有短信告警;
自动发微博:可以绑定新浪微博,乐联网的资深玩家会开通根据测量值的不同自动推送不同的微博内容的应用;
这里有你使用几个传感器,这里就需要配置几个设备,设备配置完成后,便可以点击“我的物联网”—“实时数据”可以查看你传感器的测量数据或者使用手机APP来查看各项数据。
结束语
 
以上介绍了乐联网的反向控制Arduino的一个应用,希望能够让大家对乐联网的物联网应用有更进一步的了解,并能借鉴这个应用启发您的思路,一起在乐联网上实现自己的各类创意。后续,我们会推出通过数值的变化来控制设备实现不同的变化的更为复杂的控制方案,尽请期待!
如果你需要更详细的技术交流或者疑问咨询,可以加入乐为物联技术支持群:59162154;或关注乐为物联新浪微博@乐为物联

关注乐联网微信:搜索公众账号乐联网。或者扫描下面的二维码来添加关注乐联网