zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    SSH框架——(二)四层结构:DAO,Service,Controller,View层
    Spring知识概括梳理
    设计模式——(一)工厂模式2
    设计模式——(一)工厂模式1
    Spring——(一)IoC
    Toad 实现 SQL 优化
    string 和String的区别
    StructureMap依赖注入
    Oracle/PLSQL: BitAnd Function
    log.debug(e.getMessage());
  • 原文地址:https://www.cnblogs.com/ninghechuan/p/6863541.html
Copyright © 2011-2022 走看看