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的接口如下图所示:

Arduino UNO +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,表示连接正常,如果没有返回值,检查引脚是否连接正确。

Arduino UNO +ESP8266采集数据上传到贝壳网

发送AT命令:+++,返回CLOSED,表示关闭之前设定的模式。

Arduino UNO +ESP8266采集数据上传到贝壳网

发送AT+CWMODE=3+回车,设置WiFi模块为AT/AP模式,(WiFi模块的知识需要看手册),返回OK,表示设置成功

Arduino UNO +ESP8266采集数据上传到贝壳网

发送AT+CWJAP=”WIFI name”,”WIFI 密码”+回车,连接WiFi。返回OK表示连接正确。

Arduino UNO +ESP8266采集数据上传到贝壳网

然后发送AT+CIPSTART="TCP","www.bigiot.net",8181+回车,返回如图所示,表示连接到贝壳网。

Arduino UNO +ESP8266采集数据上传到贝壳网

这样WiFi模块就配置好了,然后将WiFi模块连接到开发板上,通电后,就会自动连接到贝壳网上了。

连接手机端

重复上述步骤,当连上WiFi后,在串口调试助手上发送AT+SAVETRANSLINK=1,"192.168.10.101",5000,"TCP"+回车,中间的IP地址是手机端网络调试助手,作为tcp sever激活后显示的地址,端口也是一样

Arduino UNO +ESP8266采集数据上传到贝壳网

Arduino UNO +ESP8266采集数据上传到贝壳网

然后将USB转TTL线拔下来,在插到电脑上,串口关闭再重新打开,然后手机和WiFi模块就会连接上了(一次不成功可以多试几次)

Arduino UNO +ESP8266采集数据上传到贝壳网

Arduino UNO +ESP8266采集数据上传到贝壳网

如上图所示,进行数据收发都没问题,

三、 将数据发送到贝壳网

WiFi模块配置好了之后。我们这里用第一个WiFi模块配置连接到贝壳网,贝壳网是一个物联网,可以实现与硬件进行远程交互。

注册一个贝壳网账号www.bigiot.net

点击添加一个设备

Arduino UNO +ESP8266采集数据上传到贝壳网

添加一个数据接口,这里可以修改借口类型

Arduino UNO +ESP8266采集数据上传到贝壳网

添加完成后,每一个设备都有自己专属的ID,APIKEY,

Arduino UNO +ESP8266采集数据上传到贝壳网

每个设备有对应的数据接口,也有对应的ID

Arduino UNO +ESP8266采集数据上传到贝壳网

我这里添加了两个数据接口

Arduino UNO +ESP8266采集数据上传到贝壳网

然后,将我的代码粘贴复制,把引脚配置或自己设置好插好,设备ID,APK都修改好,数据端口ID也是一样,最后下载到板子上,然后在登录贝壳网,就可以会显示在线喽!

将arduino程序和库文件分享出来,将开源进行到底。

链接:http://pan.baidu.com/s/1geJOevL
密码:xp2p

Arduino UNO +ESP8266采集数据上传到贝壳网

水滴模块的初始状态为0(没有水滴)

Arduino UNO +ESP8266采集数据上传到贝壳网

当水滴模块上沾点水在上面,显示的数值会变成1.

Arduino UNO +ESP8266采集数据上传到贝壳网

打开重力传感器的数据接口,等待一段时间后会出现数据显示在接口上

Arduino UNO +ESP8266采集数据上传到贝壳网

最后附上我的成果图,为了搞好这个,我可是苦思冥想了好久。

Arduino UNO +ESP8266采集数据上传到贝壳网

我这里使用的是水滴模块和中立传感器模块,需要使用把其他模块的数据上传的同学自己改代码吧。

转载请注明出处:NingHeChuan(宁河川)

原文地址:http://www.cnblogs.com/ninghechuan/p/6863541.html

上一篇:Google浏览器解决编码乱码问题


下一篇:自定义继承于Page的基类