NodeMCU HTTP POST数据至中移OneNET云平台

工具:ESPlorer
语言:LUA

之前写过一篇MQTT上传的,这一次的相对比较简单,不过多阐述HTTP协议及中移OneNET,直接进入主题。这里献上自己录的视频,视频内容就是本节HTTP上传数据,看不懂代码上官网找文档,文档写的很细。

视频链接
链接:https://pan.baidu.com/s/1ccuOFDA6RLODzwj2_qPF8g
提取码:ba8b

一.要点

  1. 首先在中移OneNET云平台有产品及设备,需要有(产品ID,设备ID,鉴权信息,API-KEY);
  2. OneNET的服务器IP: 183.230.40.39;port: 6002
  3. 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.要不然是连不上的!

有问题直接邮箱:[email protected]
或QQ:1033878279
本人也是初学了解不深,有错望大家及时指出!!十分感谢!

你可能感兴趣的:(物联网,NodeMCU)