Arduino UNO +ESP8266采集数据上传到贝壳网
集成电路设计大赛赛程将至,我现在还是毫无头绪,然后又报了一个互联网+,比赛报了,东西就必须出来,时间很紧的情况下,所以选择了开源的arduino的进行完成。从开始接触Arduino到完成工程,前前后后用了快两周吧。arduino用它强大的库函数支持,即使第一次接触,只需要一些C语言的基础,就能快速学习使用了。虽然开源,但是我们选用的重力传感器模块和雨滴模块,并没有现成的工程,所以我只能硬着头皮自己做了。配置好WiFi模块就用了一周,再加上零零碎碎的一些事,晚上睡觉都一直在想着怎么完成它。还是在参考了大量的Arduino上传数据至物联网源码后,选择用贝壳物联,找到调用重力传感器模块的方法,修改一个温度上传物联网的代码,终于把数据发了上去。这一周我是有多么想FPGA啊,终于可以开始学习FPGA了。把我做的过程分享出来,将开源进行到底。
一、 使用材料
ESP8266 WIFI模块,Arduino单片机,水滴感应模块,USB转TTL模块,杜邦线数根
二、 WIFI模块的配置
ESP8266模块支持STA/AP/STA+AP 三种工作模式。
*STA 模式:ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。
*AP 模式:ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。
*STA+AP 模式:两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作。
我们这里为了方便直接设置成两种模式共存的状态。
ESP8266的接口如下图所示:
其中需要用的端口是TX,RX,CH_PD,VCC,GND
TX,RX分别接USB转TTL接口的RX,TX,
CH_PD,VCC接3.3v(切记必须为3.3v)
GND接地
联接物联网
打开串口调试助手,搜索串口,将波特率设置为115200,然后将ESP8266的VCC引脚拔下在插上,会返回一串乱码和ready,表示连接正常,如果没有返回值,检查引脚是否连接正确。
发送AT命令:+++,返回CLOSED,表示关闭之前设定的模式。
发送AT+CWMODE=3+回车,设置WiFi模块为AT/AP模式,(WiFi模块的知识需要看手册),返回OK,表示设置成功
发送AT+CWJAP=”WIFI name”,”WIFI 密码”+回车,连接WiFi。返回OK表示连接正确。
然后发送AT+CIPSTART="TCP","www.bigiot.net",8181+回车,返回如图所示,表示连接到贝壳网。
这样WiFi模块就配置好了,然后将WiFi模块连接到开发板上,通电后,就会自动连接到贝壳网上了。
连接手机端
重复上述步骤,当连上WiFi后,在串口调试助手上发送AT+SAVETRANSLINK=1,"192.168.10.101",5000,"TCP"+回车,中间的IP地址是手机端网络调试助手,作为tcp sever激活后显示的地址,端口也是一样
然后将USB转TTL线拔下来,在插到电脑上,串口关闭再重新打开,然后手机和WiFi模块就会连接上了(一次不成功可以多试几次)
如上图所示,进行数据收发都没问题,
三、 将数据发送到贝壳网
WiFi模块配置好了之后。我们这里用第一个WiFi模块配置连接到贝壳网,贝壳网是一个物联网,可以实现与硬件进行远程交互。
注册一个贝壳网账号www.bigiot.net
点击添加一个设备
添加一个数据接口,这里可以修改借口类型
添加完成后,每一个设备都有自己专属的ID,APIKEY,
每个设备有对应的数据接口,也有对应的ID
我这里添加了两个数据接口
然后,将我的代码粘贴复制,把引脚配置或自己设置好插好,设备ID,APK都修改好,数据端口ID也是一样,最后下载到板子上,然后在登录贝壳网,就可以会显示在线喽!
将arduino程序和库文件分享出来,将开源进行到底。
链接:http://pan.baidu.com/s/1geJOevL 密码:xp2p
水滴模块的初始状态为0(没有水滴)
当水滴模块上沾点水在上面,显示的数值会变成1.
打开重力传感器的数据接口,等待一段时间后会出现数据显示在接口上
最后附上我的成果图,为了搞好这个,我可是苦思冥想了好久。
我这里使用的是水滴模块和重力传感器模块,需要使用把其他模块的数据上传的同学自己改代码吧。
转载请注明出处:NingHeChuan(宁河川)
个人微信订阅号:NingHeChuan
如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号
知乎ID:NingHeChuan
微博ID:NingHeChuan