序号 | 其它NodeMCU LUA开发文档 |
---|---|
① | NodeMCU/ESP8266 DHT11使用 |
② | NodeMCU/ESP8266 HTTP POST数据至中国移动OneNET |
③ | NodeMCU/ESP8266 MQTT接入中国移动OneNET |
④ | NodeMCU/ESP8266 远程升级(OTA) |
⑤ | 微信小程序获取中移OneNET数据 |
⑥ | NodeMCU/ESP8266 NodeMCU连接阿里云 |
全套视频教程:Lua保姆级开发教程
工具:ESPlorer
语言:LUA
之前写过一篇MQTT上传的,这一次的相对比较简单,不过多阐述HTTP协议及中移OneNET,直接进入主题。这里献上自己录的视频,视频内容就是本节HTTP上传数据,看不懂代码上官网找文档,文档写的很细。
一.要点
- 首先在中移OneNET云平台有产品及设备,需要有(产品ID,设备ID,鉴权信息,API-KEY);
- OneNET的服务器IP: 183.230.40.39;port: 6002
- NodeMCU开发板及下载线;
二. 先连网
wifi.setmode(wifi.STATION) --设置WiFi模式
cfg = {}
cfg.ssid = "603" --要连接的wifi名称
cfg.pwd = "ll123456" --WiFi密码
wifi.sta.config(cfg) --配置WiFi
wifi.sta.connect(cfg) --连接WiFi
device_id = "517872189" --设备id(写你自己的)
product_id = "213377" --产品id(写你自己的)
info = "201902271956" --鉴权信息(写你自己的)
UPbroker = "183.230.40.39" --服务器IP
UPport = 6002 --端口号
time1 = tmr.create() --创建计时器
time1:alarm(1000, tmr.ALARM_AUTO, function()
ip = wifi.sta.getip() --获取IP
if ip ~= nil then
print(ip)
time1:stop()
else
print("waiting for ip...")
end
end)
三. 连接设备
wifi.setmode(wifi.STATION) --设置WiFi模式
cfg = {}
cfg.ssid = "603" --要连接的wifi名称
cfg.pwd = "ll123456" --WiFi密码
wifi.sta.config(cfg) --配置WiFi
wifi.sta.connect(cfg) --连接WiFi
device_id = "517872189" --设备id(写你自己的)
product_id = "213377" --产品id(写你自己的)
info = "201902271956" --鉴权信息(写你自己的)
UPbroker = "183.230.40.39" --服务器IP
UPport = 6002 --端口号
time1 = tmr.create() --创建计时器
time1:alarm(1000, tmr.ALARM_AUTO, function()
ip = wifi.sta.getip() --获取IP
if ip ~= nil then
print(ip)
time1:stop()
client_TempHumiLed = mqtt.Client(device_id,120,product_id,info,false) --create mqtt.Client
client_TempHumiLed:connect(UPbroker,UPport,0,function(client) --connect device
print("connect success!")
end)
else
print("waiting for ip...")
end
end)
四.上传数据
wifi.setmode(wifi.STATION) --设置WiFi模式
cfg = {}
cfg.ssid = "603" --要连接的wifi名称
cfg.pwd = "ll123456" --WiFi密码
wifi.sta.config(cfg) --配置WiFi
wifi.sta.connect(cfg) --连接WiFi
device_id = "517872189" --设备id(写你自己的)
product_id = "213377" --产品id(写你自己的)
info = "201902271956" --鉴权信息(写你自己的)
UPbroker = "183.230.40.39" --服务器IP
UPport = 6002 --端口号
time1 = tmr.create() --创建计时器
time1:alarm(1000, tmr.ALARM_AUTO, function()
ip = wifi.sta.getip() --获取IP
if ip ~= nil then
print(ip)
time1:stop()
client_TempHumiLed = mqtt.Client(device_id,120,product_id,info,false) --create mqtt.Client
client_TempHumiLed:connect(UPbroker,UPport,0,function(client) --connect device
print("connect success!")
end)
http.post('http://api.heclouds.com/devices/'..device_id..'/datapoints?type=3',
'api-key:gBKWmZCOvcR2XV=c1gA9GDXfzEE=\r\n',
'{"temperature":"36.8"}',
function(code, data)
if (code < 0) then
print("HTTP request failed")
else
print(code, data)
end
end)
else
print("waiting for ip...")
end
end)
注意:
1.编译的时候要把中文注释删掉,不然编译会出错!
2. 那些设备id,产品id,鉴权信息啥的一定不要填错!
3.如果有多个设备,千万不要搞混这些信息!
4.要不然是连不上的!
QQ交流群:612683349