第一次使用esp8266,想把数据上传到物联网平台,无意间发现贝壳物联这个平台,为了加快研发速度,采用arduino平台,但是第一次调试esp8266,吃了好多苦头,运气不佳,现把出现的问题总结一下,以及调试思路,在这里分享给各位。
一、目标
Arduino通过ESP8266连接贝壳物联,将DS18B20温度传感器获取到的环境温度实时发送至服务器,用户可通过设备的实时数据界面查看实时环境温度。
二、硬件
Arduino mega 2560 开发板 ×1
ESP8266无线模块 ×1(注:ESP8266无线模块需进行透传设置)
DS18B20 温度传感器 ×1
===================================================================================================
首先要将ESP8266进行数据透传设置。
这里首先要讲一下ESP8266固件版本的问题,买回来的模块AT固件版本都比较老,网上现有教程的透传模式一般都不支持,怎么办呢?
首先让esp8266用usb-ttl连接电脑,用串口调试助手发送命令,然后看一下现有的版本号。
AT+GMR 然后回车,好像是这个命令,记不清楚了。如果发现AT命令是1.0.0版本以后的 那么就进行如下设置
v1.0+固件命令如下:
AT
ATE0
AT+RESTORE
AT+CWMODE=3
AT+CWJAP="SSID","Password"
AT+CIPMUX=0
AT+CIPMODE=1
AT+SAVETRANSLINK=1,"121.42.180.30",8181,"TCP"
如果是0.4.0那些比较老的版本,建议你刷一下AT固件,我刚开始买的就是比较老的版本,折腾了好久,所以听我的,你可以少走弯路。
还有一个是0.9.5.2版本的
依次输入以下命令(v0.9.5.2版):
//设置WiFi应用模式为Station AT+CWMODE=1 //连接到WiFi路由器,请将SSID替换为路由器名称,Password替换为路由器WiFi密码 AT+CWJAP="SSID","Password" //连接贝壳物联服务器 AT+CIPSTART="TCP","www.bigiot.net",8181 //设置为透传模式 AT+CIPMODE=1 //进入透传模式 AT+CIPSEND
完成以上命令重启,自动进入透传模式,并连接贝壳物联服务器。
连接完了开始把程序烧进arduino,程序烧录方法不在此赘述了。
这是程序,我已经开源了。
链接:https://pan.baidu.com/s/1o7CtmQ2 密码:oper
程序下进去后,再重新把ESP8266连接到arduino 开发板上,连接好了,上电,在arduino IDE 串口那里可以看到
看到这些后,才表示你真的成功了。刚开始点开了,得等一小会,才出来这些数据的。
这个时候把贝壳物联打开,就发现设备已经显示在线了,具体贝壳物联那里怎么设置我就不在这里说了。
整个结果大概是这样的,图是我在网上找的,懒得自己弄图。主要是ESP8266那里固件的问题,别的都没什么问题,总之很简单的。
感兴趣的同学可以加入我们的QQ群:620069427 (arduino机器人编程)一起学习讨论。