博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【连载】物联网全栈教程-从云端到设备(十一)---调用阿里云API,获取物的属性。...
阅读量:7223 次
发布时间:2019-06-29

本文共 1567 字,大约阅读时间需要 5 分钟。

物联网全栈教程-从云端到设备(十一

千千万万的物联网设备通过ALink协议接入到了云端,它们不断地按照ALink协议的规范向云端汇报数据,同时也一直在等待服务器下发一些数据并处理这些数据。关于物联网设备端如何搞定这些数据,零妖老哥会在下一篇文章中以一个型号叫做STM32F103的单片机为例子进行硬件电路和程序代码的详细讲解,不要说你没有基础什么都不懂,你要是没有打开电脑上网的基础的话就关闭这篇文章吧(⊙o⊙ )。

今天这篇文章零妖将告诉你云端怎么调用设备的数据。调用设备数据,给设备下发数据,获取设备当前是否在线等等,都是通过调用阿里云提供的API(相当于一个子函数,运行一下出一个结果那种)来实现的。我们就以一个API的使用方法为例子进行示范,起一个抛砖引玉的作用。

 

零妖在上一章介绍了一种方法,在网页上显示了一个仪表盘,今天就来尝试一下将设备上报的温度数据显示到仪表盘上。

在LinkDevelop平台中定义好一个产品后,你会得到一个产品的IoT-TSL(物的描述语言)。在云端看来,设备无非就是一串串符合ALink协议规范的JSON字符串。零妖老哥当初定义物联网弹幕器这个设备有两个属性,一个是温度,一个是弹幕。

好了,我们的目标很明确了,我们要通过调用API的方式获取设备的一个属性,即获取温度这个属性。请你打开这个网址,找到  物的管理服务 里面的 获取物的指定属性快照数据 这个API的官方帮助文档。

  

 

 4829754a7396292cef5d742a110ba50a71d42d34

 

然后就你就可以看到关于这个API的使用方法示例了,其实很简单,只需要修改一下他们例程里面的参数,然后通过例程上给的方法调用一下,就可以得到一个返回值,这个返回值里面会有一个参数就是我们想得到的温度属性的数值。

 f63dd1f2f71479f27134ce081d3ac5dae9a19f6c

 

 

撸起袖子开始抄!复制,粘贴!注意一下哈,这里面也import了一个东西,其实是导入了另外一个新的组件,名字叫做   @bone/linkdevelop-sdk  ,你要自己安装一下。方法在零妖的上一篇文章中已经介绍了,不再说了啊。然后我们要修改里面的内容。你需要进入你的 测试设备 这个页面,读取两个参数如下图。这里得到的参数是 ProductKey 和 ProductSecret 。

 220d88d645b364bd4913e04cf8ed103b23ab954e

然后去 功能定义 里看一下温度属性的标识符:

e79635e3c042292ade37526b62173a8877e2a4a1 

最后把上述得到的三个参数复制到代码里,替换原来的数值。

 58be480c2e3edf06343b9a3a4fb9d720d316b362

 

上述代码中有一个地方是零妖自己琢磨了一会后发现的,就是修改仪表盘显示数值的那个变量。有个小技巧,先猜测某个变量最有可能是对应仪表盘显示的,然后修改这个变量,观察结果。(高级的我真的不懂了,谁让我是半路出家的竟会些歪门邪道。)

告诉你一个很神奇的代码,能够提高调试代码的效率:   console.log(this.Temperature);  ,作用是在控制台输出this.Temperature这个变量的内容,你可以修改为任何你想查看的变量。

零妖并不是特别擅长写“云上”这些代码,我只是告诉你一种方法来调用物的属性。其实如果你是专业的云端工程师,到这里就够了,你可以去开发你的代码了,不管你是基于哪个框架的哪种编程语言的,只要会调用API不就行了吗?

最后,打开我们的MQTT客户端,模拟设备端发送一个数据过来。仪表盘同步变化了!

708753b3071637decf0daa2d86ec5bf17aec4cc2

 

阶段小结:如果你看到这里,其实就可以完成云端工程师的工作了。完全可以用MQTT客户端来模拟设备发送数据和接收数据,你就能调试云端和应用端的代码了。关于设备端的研发套路,零妖从下一篇文章开始介绍,主角是STM32F103C8T6这颗单片机!

我已经把前11章的内容制作成为一个总的PDF文件了,非常适合做云端产品的朋友阅读,完全不用硬件就可以调试产品的应用程序,非常方便。需要的朋友加零妖QQ号聊聊吧,记得说你是在技新网看到的信息昂。QQ:1827702167    暗号:  上云

 

转载地址:http://vqhym.baihongyu.com/

你可能感兴趣的文章
用Visual C#来清空回收站(2)
查看>>
Yahoo团队总结的关于网站性能优化的经验(转)
查看>>
【转】10分钟搭建NDK的Android开发环境
查看>>
开涛spring3(3.4) - DI 之 3.4 Bean的作用域
查看>>
Flume Channel
查看>>
JS学习(二)
查看>>
Android 获取SDCard中某个目录下图片
查看>>
【Eclipse提高开发速度-插件篇】Eclipse插件安装慢得几个原因
查看>>
Jenkins学习五:更改Jenkins的主目录
查看>>
[JS] 页面回车键提交表单-常用于登录页面
查看>>
奇怪吸引子---Hadley
查看>>
数字三角形问题
查看>>
linux线程的实现
查看>>
美的程序不可能从修修补补中来。它必须完美的把握住事物的本质,否则就会有许许多多无法修补的特例(转)...
查看>>
OpenCV 2.4.11 VS2012 Configuration
查看>>
使用像素生成图象
查看>>
SimpleDateFormat使用具体解释
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]4.3.25
查看>>
用css3实现各种图标效果(2)
查看>>
hadoop: hbase1.0.1.1 伪分布安装
查看>>