【NodeMCU_LUA系列】微信小程序獲取中移OneNET數據

序號 其它NodeMCU LUA開發文檔
NodeMCU/ESP8266 DHT11使用
NodeMCU/ESP8266 HTTP POST數據至中國移動OneNET
NodeMCU/ESP8266 MQTT接入中國移動OneNET
NodeMCU/ESP8266 遠程升級(OTA)
微信小程序獲取中移OneNET數據
NodeMCU/ESP8266 NodeMCU連接阿里雲

此教程主要講解微信小程序獲取中移OneNET數據。
本教程不會過多講解中國移動OneNET及小程序的使用。
有關中國移動OneNET的介紹請移步至此
使用協議:HTTP

1.協議介紹

http是一個簡單的請求-響應協議,它通常運行在TCP之上。它指定了客戶端可能發送給服務器什麼樣的消息以及得到什麼樣的響應。請求和響應消息的頭以ASCII碼形式給出;而消息內容則具有一個類似MIME的格式。這個簡單模型是早期Web成功的有功之臣,因爲它使得開發和部署是那麼的直截了當。[以上出自百度百科]
HTTP的一次訪問可以分爲四個部分:
①:請求行
②:請求頭
③:空一行
④:請求體
更多細節大家慢慢了解,最好買書看。
像我們平時在瀏覽網頁的時候,可以經常看到http或https的身影,一般後者居多,比如https://www.baidu.com,當然,直接輸www.baidu.com也可以,但是最終也是以https訪問,多了個s就代表訪問時會進行加密,保證了安全性。

2.先使用Postman來試試

①:先看看某個產品中的某個設備的三元組:
獲取API-key
獲取設備ID
獲取鑑權信息

在這裏插入圖片描述

②:在我這個設備裏面已經有數據流了,是我之前上傳的,現在就用Postman來獲取看看:
在這裏插入圖片描述

配置好信息後,點擊Send

http://api.heclouds.com/devices/586718834/datapoints?type=3

在這裏插入圖片描述

可以看到返回的數據就是剛剛在OneNET上看到的數據
在這裏插入圖片描述

3.小程序

這裏只貼js代碼,其實都對於應用的我們來說,本質沒什麼區別,只是換了個軟件,改改就行。想要完整小程序代碼的同學,文章末尾加羣,羣文件裏資源多多。

init: function () {
    var that = this
    wx.request({
      url: "https://api.heclouds.com/devices/586718834/datapoints",   
      //將請求行中的數字換成自己的設備ID
      header: {
        "api-key": "ctk3FcLj1rYpRyFD77NvCbmgytc="                     
        //換成自己的api-key
      },
      data: {
        limit: 1
      },
      method: "GET",
      success: function (e) {
        console.log(e.data.data)
        //此處打印GET回來的json數據
        that.setData({
          temperature: e.data.data.datastreams[0].datapoints[0].value,
          humidity : e.data.data.datastreams[1].datapoints[0].value,
        })
      }
    });
  }

在這裏插入圖片描述

再把數據顯示出來即可:
在這裏插入圖片描述

4.總結

若發現錯誤,請及時告知,十分感謝!!
主要是使用HTTP協議遠程訪問服務器,三元組一定要填寫正確(設備ID,鑑權信息,api-key)。
Q交流羣:612683349
進羣之後大家可以有啥說啥,隨意水羣,平時沒事進來打打架,聊聊人生
^ _ ^。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章