毕设-解决微信小程序使用HTTP协议从onenet平台获取数据和下发命令的问题

微信小程序从onenet平台获取数据和下发命令

  • 前言
  • 关于onenet平台
    • onenet开发文档
  • 获取数据和下发命令
    • 获取数据
    • 下发命令
  • 总结
    • 关于我的终端设备

前言

个人在做毕业设计的时候参考哔哩哔哩上的视频教程,在这里感谢B站大佬发的小白教程给予我启发。

关于onenet平台

近期onenet平台在升级,旧版控制台与新版控制台数据不互通请注意

onenet开发文档

这个项目是通过调用api的方式来获取数据,使用的是http协议.
官方文档链接: link.

下面是相关参数的介绍
毕设-解决微信小程序使用HTTP协议从onenet平台获取数据和下发命令的问题_第1张图片

获取数据和下发命令

获取数据

获取数据通过调用api的方式,下面是详细代码

const devicesid ='000000000'//你的设备id 
const datastreams = '*********'//你的数据流ID 可以多个
const apikey = '**************'//你的apikey
//获取设备数据流
    wx.request({
     
      url: `https://api.heclouds.com/devices/${
       devicesid}/datastreams?datastream_ids=${
       datastreams}`,
      header: {
     
            "api-key": `${
       apikey}`,
          },
      success(res){
     
        console.log(res.data);//请求成功返回数据
      },
      fail(){
     //请求失败
        wx.showToast({
     
          title: '与服务器通信失败',
          icon: 'fail',
          duration: 2000
        })
      }
    })

下发命令

因为是物联网设备,我不仅仅是要获取数据而且还要下发命令到终端控制设备进行一些操作。
下面是详细代码。


const devicesid ='000000000'//你的设备id 
const apikey = '**************'//你的apikey
wx.request({
     
          url: `http://api.heclouds.com/cmds?device_id=${
       devicesid}`,
          header: {
     
            'api-key': `${
       apikey}`
          },
          method: 'POST',
          data: 121,//data里面是我发送的命令,发送什么命令进行什么操作根据你在终端自己写的代码进行判断
          success(res){
     
            console.log(res.data)
          },
          fail(res){
     
            console.log(res)
          }
        })

总结

以上就是我从onenet平台获取数据和下发命令的解决方案,当然在物联网中终端、服务器、上位机三者之间利用mqtt协议比较好。onenet平台给我们提供了这个功能,我觉得上位机与服务器之间使用http协议通信,终端使用mqtt协议与服务器通信也是一种可行的办法。至于如何去选择需要根据具体情况来决定。

关于我的终端设备

我的终端使用的是树莓派,与服务器使用mqtt协议进行通信。使用python语言编写的代码。
至于如何实现上传数据与接收命令,我后期会做详细介绍。请大家多多关注我留言评论,给出你们的一些好的建议或者我有什么错误的地方提出来我会加以改正。希望可以帮助到大家 谢谢。

你可能感兴趣的:(物联网,毕设,微信小程序,小程序,vue.js,javascript)