CC2530+esp8266使用AT指令上传与获取onenet服务器的数据
我们首先看效果视频,
VID_20221023_175149(0)(0)
我一开始做这个项目的时候我发现对于这个CC2530的参考资料少之又少,而且示例也很少,所以显得一度感觉这个做不下去了。主要还是要自己一点点摸索出来。一个发送指令,
项目的 开始我们首先要熟悉一下esp8266的指令,我们做每一个项目开始前要了解这个该怎么做,具体步骤是什么,我们首先梳理一下这个项目的基本关系,
1,首先我们可以使用esp01s与烧入工具插入电脑把固件烧录进去,这里我们使用安可信官方提供的固件进行烧入,
2.熟悉了解按可信官方提供的AT指令集主要熟悉其中的一部分要用的就行。
学会AT指令可以事半功倍,AT指令其实不难只要一步一步的测试过去就比较简单的。
第一条指令 AT+CWMODE=1 设置为STA模式,这个模式主要试为了好连接wifi。
第二条指令 AT+CWJAP_DEF=“study_test1”,“esp8266test” 连接WiFi,这个需要使用可用WiFi如果WiFi没有开启就会导致连接不上,还有一个问题就是需要等待一段时间,让其中的WiFi趋于稳定的时候再连接,
第三条指令 AT+CIPMUX=0 设置为单连接,这步主要是为了方便连接onenet服务器,使其他的指令不会影响到我们的连接
第四条指令 AT+CIPSTART=“TCP”,“183.230.40.33”,80 连接onenet数据库
第五条指令,AT+CIPMODE=1 这个一定要确保上面的第四条连接onenet数据库成功,如果不成功的话就会导致失败。这个是让wifi模块进入透传模式。
第六条指令, AT+CIPSEND 这个是让esp8266准备发送数据,这个主要是挂起通过http上传数据过去,我们主要还是需要确保这最后一部是可用的。
最后我们就可以使用POST指令上传数据了。或者使用GET命令获取数据
我们先来学习一下POST指令与GET指令
POST指令:
POST /devices/你的设备id/datapoints?type=3 HTTP/1.1
api-key:你的apikey
Host:api.heclouds.com
Connection:close //这个可以不要
Content-Length:59 //这个最好大于下面发送的数据长度,没有规定的大小
{"a":25,"b":65,"c":78,"d":56}
获取到是的数据格式是这样的
HTTP/1.1 200 OK
Date: Sun, 16 Oct 2022 11:24:45 GMT
Content-Type: application/json
Content-Length: 26
Connection: close
Server: Apache-Coyote/1.1
Pragma: no-cache
{"errno":0,"error":"succ"}
GET指令:
下面的指令是获取全部数据的
GET http://api.heclouds.com/devices/你的设备号/datapoints? HTTP/1.1
api-key:你的api-key
Host:api.heclouds.com
获取特定数据GET请求为:
GET http://api.heclouds.com/devices/你的设备号/datapoints?datastream_id=temp HTTP/1.1
api-key:你的api-key
Host:api.heclouds.com
获取的数据如下所示
{"errno":0,"data":{"count":1,"datastreams":[{"datapoints":[{"at":"2022-10-16 19:58:18.683","value":8}],"id":"a"}]},"error":"succ"}
这样你就完成了开启项目的第一步。
如有错误还请指导,我将继续更新项目难点,如果有什么不懂的欢迎问我。也可查看我以前博客,了解更多的内容。