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(宁河川)
原文地址:http://www.cnblogs.com/ninghechuan/p/6863541.html
Arduino UNO +ESP8266采集数据上传到贝壳网的更多相关文章
- C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
目 录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章 系统架构... 3 1.1 硬件构架图... 3 1.2 ...
- 【AllJoyn专题】基于AllJoyn和Yeelink的传感器数据上传与指令下行的研究
接触高通物联网框架AllJoyn不太久,但确是被深深地吸引了.在我看来,促进我深入学习的原因有三点:一.AllJoyn开源,对开源的软硬件总会有种莫名的喜爱,虽然或许不会都深入下去:二.顺应潮流,物联 ...
- OneNET麒麟座应用开发之四:数据上传测试
已经测试过OneNET麒麟座开发板了,这次来尝试与OneNET的连接和数据上传.这也是我们测试这块开发办的主要原因,因为在十几种我们有这种将分散的采集点数据上传到后台的需求. 先看看麒麟座这块开发板, ...
- 关于数据上传阿里云MaxCompute调研
1.背景 当前的数据存储基于mysql库表存储形式,目前已经无法满足愈加增大的数据存储需求,新项目基于Maxcompute数据仓库架构,需要将统计日志上传Maxcompute,本文对Maxcomput ...
- PDA手持扫描资产标签,盘点完成后将数据上传到PC端,固定资产系统查看盘点结果
固定资产管理系统介绍: 致力于研发条码技术.集成条码系统的专业性公司,针对客户的不同需求,提供一站式的企业条码系统解决方案:包括功能强大的软件系统.安全可靠的无线网络.坚固耐用的硬件系统.灵活易用的管 ...
- 如何优化 FineUI 控件库的性能,减少 80% 的数据上传量!
在开始正文之前,请帮忙为当前排名前 10 唯一的 .Net 开源软件 FineUI 投一票: 投票地址: https://code.csdn.net/2013OSSurvey/gitop/codevo ...
- Octopus系列之数据上传格式要求说明
各个数据列要求 价格列:字符串类型[美元价格] 产品名字:可以支持"/"等字符 分类名字:去空格处理 不得包含"&"符号 主图:一定要有主图列 不为空 ...
- 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件
[源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...
- C#数据上传方法
/// <summary> /// 连接成功后开始调用数据上传程序 /// </summary> public void CallDataUpload() { //指定上传日期 ...
随机推荐
- Appium手势密码滑动之Z字形走势(java篇)
1.直接使用负的偏移量appium会报错,在后面加上moveto(1,1)就行了 2.直接看图说话 废话少说看代码如: List<AndroidElement> element = dri ...
- JSTL标签用法 详解(转)
JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...
- div内部元素居中
要让div内部元素垂直居中,则给div加上此css样式: .div-vertical-middle{ height:200px; width:304px; line-height:50px; ...
- 使用JDB调试Java程序
Java程序中有逻辑错误,就需要使用JDB来进行调试了.调试程序在IDE中很方便了,比如这篇博客介绍了在Intellj IDEA中调试Java程序的方法. 我们课程内容推荐在Linux环境下学习,有同 ...
- 【Android】基于TCP协议的网络通信
1.使用ServerSocket 创建TCP服务器端: ServerSocket server; try { server = new ServerSocket(8000); while (true) ...
- 管中窥豹——从对象的生命周期梳理JVM内存结构、GC调优、类加载、AOP编程及性能监控
如题,本文的宗旨既是透过对象的生命周期,来梳理JVM内存结构及GC相关知识,并辅以AOP及双亲委派机制原理,学习不仅仅是海绵式的吸收学习,还需要自己去分析why,加深对技术的理解和认知,祝大家早日走上 ...
- navicat与phpmyadmin做mysql的自定义函数和事件
自定义函数和事件是mysql一个很方便的功能,navicat在5.1以上版本就支持了自定义函数和事件,phpmyadmim不清楚. 用这个是由于一些简单的事情,没有必要去做一个服务器计划使用 接下来我 ...
- javascript核心概念之——数组
在javascript中数组就是一个可以存放任何类型的集合.存储在数组中的值用逗号分隔 var arr = ["hello",7,null,undifined,obj,undifi ...
- html静态页面实现微信分享思路
微信分享网页的时候,希望分享出来的链接是标题+描述+缩略图,微信开发代码示例里已提供了方法,但只适用于动态页面.由于dedecms是生成了静态文件,其实我想使用ajax获取jssdk参数也能也能实现微 ...
- Node.js 原理简介
Node.js 的官方文档中有一段对 Node.js 的简介,如下. Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript ...