文章导航:
微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云
微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一)
微信小程序连接阿里云物联网平台操控设备(IOT)三 微信小程序开发(二)

微信小程序连接阿里云物联网平台操控设备(IOT)三

  • 微信小程序开发(二)
    • 阿里云物联网平台的云端API
    • 激活设备
    • 连接物联网平台获取设备属性值
    • 调用设备服务,通知设备打开设备或关闭设备

前两篇,我们已经对设备进行上云操作并且编写了用于访问阿里云物联网平台的云端API的sdk。这一篇我们将使用我们编写好的sdk来访问阿里云物联网平台的云端API。以此来实现获取设备信息,并调用我们第一篇中为设备添加的服务,实现对设备发送指令。

微信小程序开发(二)

阿里云物联网平台的云端API

我们可以在阿里云物联网平台官方文档中查看到云端API的列表。此次示例主要使用QueryDevicePropertyStatus(获取设备属性快照)和InvokeThingService(调用设备服务)两个接口来进行演示。

激活设备

如果不进行设备激活是无法获取设备状态的。前面在设备上云时并未激活设备。设备激活是指设备首次通过MQTT通道或者HTTPS通道连接阿里云物联网平台。激活后的设备就会显示离线。具体设备接入可参考官方文档。有多种语言的接入方式可供选择。


我使用c#语言搭建了一个.net core跨平台程序模拟了一个设备进行了激活,效果如下。

连接物联网平台获取设备属性值

1.查看API需要的参数

2.用之前第二篇封装好的sdk访问物联网平台云端API获取设备的属性值。因为篇幅关系我就不讲全部源码贴出了。需要源码的小伙伴请点击链接下载源码

var that = thisaliSdk.request({Action: "QueryDevicePropertyStatus",ProductKey: app.globalData.productKey,DeviceName: app.globalData.deviceName}, {method: "POST"},(res) => {console.log("success")console.log(res) //查看返回数据if (res.data.Code) {console.log(res.data.ErrorMessage)wx.showToast({title: '设备连接失败',icon: 'none',duration: 1000,complete: () => {}})that.setPropertyData(null)} else {that.setPropertyData(res.data.Data.List.PropertyStatusInfo)}},(res) => {console.log("fail")wx.showToast({title: '网络连接失败',icon: 'none',duration: 1000,complete: () => {}})this.setPropertyData(null)},(res) => {console.log("complete")})

可以看到物联网平台返回的Response结果如下。

界面展示从云端API获取到的设备数据。

调用设备服务,通知设备打开设备或关闭设备

1.查看调用API所用参数

2.使用sdk调用我们第一篇为设备设定的服务。

var that = this//防止重复点击that.setData({buttonDisabled: true})aliSdk.request({Action: "InvokeThingService",ProductKey: app.globalData.productKey,DeviceName: app.globalData.deviceName,Identifier: that.data.openedDevice ? "CloseDevice" : "OpenDevice",Args: "{}" //无参服务,所以传空}, {method: "POST"},(res) => {console.log("success")console.log(res) //查看返回response数据that.setData({openedDevice: !that.data.openedDevice})},(res) => {console.log("fail")wx.showToast({title: '网络连接失败',icon: 'none',duration: 1000,complete: () => {}})},(res) => {console.log("complete")that.setData({buttonDisabled: false})})

物联网平台返回的Response结果如下,可以看到success为true就是调用成功。

下面我们到物联网平台看一下日志是否成功调用该服务。

点击MessageID可以看到具体信息

调用成功,如果设备连接了订阅了物联网平台的Topic,那么平台会自动下发此条命令给设备,设备就可以运行啦。请大家动动手指为我点个赞,全套小程序源码放在文章顶部资源里了。
至此微信小程序连接阿里云物联网平台获取设备数据和操控设备就已经实现了。阿里云物联网平台还有很多强大功能,比如内部RDS数据流转、服务端订阅数据等等,在这我就不给大家一一演示了,如果大家感兴趣可以尝试自己搞一下。

顺便给我们的公司官网做做广告,有智能软硬件需求或者全息显示需求的小伙伴可以看看。

文章导航:
微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云
微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一)
微信小程序连接阿里云物联网平台操控设备(IOT)三 微信小程序开发(二)

微信小程序连接阿里云物联网平台操控设备(IOT)三相关推荐

  1. 微信小程序连接阿里云物联网平台操控设备(IOT)一

    文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...

  2. 微信小程序连接阿里云物联网平台操控设备(IOT)二

    文章导航: 微信小程序连接阿里云物联网平台操控设备(IOT)一 设备上云 微信小程序连接阿里云物联网平台操控设备(IOT)二 微信小程序开发(一) 微信小程序连接阿里云物联网平台操控设备(IOT)三 ...

  3. 微信小程序连接阿里云物联网平台——物联网远程控制开发1

    博主在尝试使用微信小程序与阿里云物联网平台的topic通信,但有些资源说的不够详细,容易搞懵小白,因此补充一些. 内容框架参考: [物联网]微信小程序接入阿里云物联网平台 微信小程序连接阿里云物联网平 ...

  4. 微信小程序连接阿里云物联网平台 - MQTT协议题

    参考文章:[物联网]微信小程序接入阿里云物联网平台_mxj1428295019的博客-CSDN博客_微信小程序 阿里云物联网 在参考文章中下载源码,然后在微信小程序开发者工具中打开,并且修改下图中这些 ...

  5. esp8266驱动_【直播视频】微信小程序连接阿里云物联网控制esp8266实现rgb调节。...

    前天晚上感谢各位小伙伴的捧场直播:我今年下半年立志会出一档实战视频<微信和支付宝小程序如何控制esp8266>,会第一时间通知大家! 昨晚在遇到一些小问题,耽误了一个小时,开始直播时候喉咙 ...

  6. 微信小程序连接阿里云物联网

    文章目录 添加文件至utils目录 把下面代码粘贴至需要通信的页面的JS中 举例:我放在goExpress.js下 改动 改动1 改动2 测试 发送给阿里云端消息: 添加文件至utils目录 一个是m ...

  7. 基于阿里云物联网平台的设备之间传输十六进制数据

    基于阿里云物联网平台的设备之间传输十六进制数据 文章目录 基于阿里云物联网平台的设备之间传输十六进制数据 1. 创建阿里云物联网产品 1.1 创建新的产品 1.2 为产品创建自定义topic 1.3 ...

  8. 阿里云物联网平台创建设备

    阿里云物联网平台创建设备 阿里云物联网平台创建设备 创建产品 创建设备 在线调试 阿里云物联网平台创建设备 本文演示使用阿里云物联网平台进行产品.设备的创建和使用,模拟调试,观察日志. 创建产品 1. ...

  9. 合宙Air780e+luatos+阿里云物联网平台完成设备通信与控制(属性上报+4G远程点灯)

    一.简介 1.项目介绍 之前发布的文章有采用合宙的4G LTE Cat.1模块,编程语言用的是lua,整体来说代码比较简洁,实现对华为云物联网平台的设备通信与控制,即采用一个变量作为模拟属性定时上报, ...

最新文章

  1. VMware记录(一)- vCenter Server 服务安装提示无法解析此完全限定域名
  2. 邓白氏码查询不能用_SQL多表查询
  3. python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...
  4. web项目开启日志打印
  5. java怎么创建log4_如何使用log4j记录日志
  6. idea源码注释乱码_idea中文注释出现乱码,我靠自己解决了
  7. Python爬虫加密
  8. 看网络电子围栏如何做好周界安防
  9. java integer valueof_对 Java Integer.valueOf() 的一些了解
  10. ups计算软件_浅析UPS与蓄电池与逆变器的区别
  11. [病毒木马] 什么是LSP劫持
  12. 牛顿迭代法求解开根号、泰勒展开式求解arctan及cordic的原理
  13. 【模拟电路仿真】LM324加法器电路(激励源与正弦信号源的使用)
  14. 盯市盈亏、浮动盈亏、总盈亏的计算方法
  15. ISO26262对软件开发的规定
  16. Pytorch安装教程 及 解决 torch.cuda.is_available() 返回 False 的问题
  17. 一个优秀妹子的后台面试经验,含泪总结...
  18. App Inventor “908错误”处理办法
  19. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第42讲:PHP数据库开发案例
  20. 黑帽大会:黑客把入侵汽车当兴趣

热门文章

  1. cemu有linux版本吗,cemu更新版本下载-cemu升级版本v1.16.1 最新版 - 极光下载站
  2. Nginx反向代理400错误
  3. excel把多个工作表合并怎么做?
  4. 解决pip3 install mysqlclinet 报错 OSError: mysql_config not found
  5. AgileEAS.NET SOA平台多帐套的实现
  6. CSDN 浏览器助手初体验-chrome版
  7. linux设置mysql定时任务_Linux下如何实现Mysql定时任务
  8. ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.al
  9. KCNA考试 第二章:Cloud Native Architecture
  10. 高德地图获取坐标距离_利用java、js或mysql计算高德地图中两坐标之间的距离