IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【征文活动投稿】前端开发者入门物联网福音,HaaS510如何连接物联网平台 -> 正文阅读

[嵌入式]【征文活动投稿】前端开发者入门物联网福音,HaaS510如何连接物联网平台

硬件:haas510 (2.0版本),USB串口

软件:win7 x64,vscode

?

目录

1.在阿里云物联网平台注册产品和设备

?2.编写设备上云源代码

3.烧录程序到开发板

?4.运行效果

5.关于HaaS


1.在阿里云物联网平台注册产品和设备

注册产品和设备是为了做本文介绍的实验,获取一个云平台的虚拟的设备的“三元组”数据。

如果您已经有了注册好的设备,可以直接用自己的设备来实验,从而跳过这一步。

按照下图所示,新增一个产品。联网方式选择蜂窝。不过根据实验,即使选择wifi,对操作也没有影响。

?

?创建成功后,这个“智能灯”还不具有任何属性,比如它连个开关也没有,更别说是色彩了。

?

?可以编辑草稿,添加想要的功能。

?

?添加一个自定义的开关

?

?为了做其他实验,我们新增一个备注属性

?

?接下来发布上线,上线之后就可以添加很多具备这两个属性的设备了。一个产品是一类设备的统称。

?

?新增一个设备light001,那么这个设备就自动具有主灯开关和备注2个属性。

?

?点击进入设备详情页,然后查看三元组数据

?

?三元组数据是三个字符串,长度不同。可以一键复制,将这三个字符串记下来。

?

?复制后的数据是json格式的,可以用在很多地方。

?

?2.编写设备上云源代码

haas系列硬件离开alios things物联网操作系统的支持,就与普通的物联网模块毫无差别。

比如510开发板,采用的是移远的EC600S模组。基于这种模组的各种类型的开发板或者模块五花八门。开发模式也多种多样,假如模组内置的是移远官方固件的话,可以支持AT指令开发。例如要想连接阿里云物联网平台,您就需要使用一个MCU通过UART发送若干个UART指令来告诉这个模组连接物联网平台。

?

?我们注意到,EC600S模组本身就具有MCU功能,那么何苦再加一个MCU发送指令来实现联网的功能呢?能不能用它本身实现联网和具体功能的实现?

阿里云haas已经为我们准备好了。

例如haas510,我们可以将它看做是一块内置了JavaScript引擎,还内置了阿里云物联网操作系统的具备二次开发功能的开发板。

通过vscode即可非常方便地对它进行编程。

假如我们想用510连接阿里云,仅仅需要20余行代码(这中间还保留着必要的注释)就可以实现。

上云的过程是阿里云的固件自动适配的,无须像AT指令那样,还要关注每一步是否应答了成功的指令。

代码如下

var iot = require('iot');
var network = require('network');
var net = network.openNetWorkClient();
/* 设备三元组信息获取请参考common目录下的iot组件说明 */
var productKey = 'gc4XXXXXnjX';
var deviceName = 'light001';
var deviceSecret = 'b25XXXXXXXXXXXXXXXXXXXXXXXXXXXXe6db';
// 构建物联网连接实例
var device;
net.on('connect', function () {
? ? device = iot.device({
? ? ? ? productKey: productKey,
? ? ? ? deviceName: deviceName,
? ? ? ? deviceSecret: deviceSecret,
? ? ? ? region: 'cn-shanghai',
? ? ? ? success: function () {
? ? ? ? ? ? console.log('iot: [success] connect');
? ? ? ? },
? ? ? ? fail: function () {
? ? ? ? ? ? console.log('iot: [failed] connect');
? ? ? ? }
? ? });
})


3.烧录程序到开发板


连接硬件。使用2个USB串口的目的是一个烧录,一个观察调试信息。

?

详细的过程可以参考文章,烧录的操作是通过vscode实现的。

阿里云开发板vscode开发环境搭建https://blog.csdn.net/youngwah292/article/details/120356887?spm=1001.2014.3001.5501

出现下图的界面就烧录成功了。

?

?4.运行效果

经过前面的步骤,一个极简代码上云的物联网设备就做好了。

烧录(或者叫做推送)之后,我们登录阿里云物联网平台,就可以看到设备成功在线。

怎么样简单吧?!!

?

下面对比一下EC600S使用AT指令使设备在线的复杂步骤。可以看到每一步都需要观察模块是否返回来正确的信息,例如是否返回了“OK”。假如我们每发送一个AT指令都采用“延时”再发送下一条指令的形式来使设备在线,那么后果将是不稳定和不可控。我亲自做了实验,有的时候(例如网络信号弱),真的有这种尽管发送AT指令正确,但是不能成功与云平台连接的情况发生。这样对比,就能看出来haas的过人之处了。因为它对阿里云无线网平台是“自适应”的。

?

我们还可以通过调试串口可以观察一下调试信息。

当然这只是辅助措施,当设备成功在线后,看不看调试信息都行。

如果后续开发其他功能时,借助调试串口可以弥补JavaScript不能单步调试的不足,使我们可以迅速定位故障,使用haas快速实现产品原型,抢占先机。

?

5.关于HaaS


在物联网方案多样化与场景碎片化等大背景下,基于阿里云物联网数亿设备落地经验,阿里云物联网团队推出了HaaS这个加速AIoT中小开发者的创新平台。HaaS(Hardware as a service)硬件即服务。通过向用户提供物联网场景中的的标准硬件以及嵌入到硬件中的软件驱动及功能模块,为用户提供物联网设备高效开发服务。旨在帮助AIoT中小开发者聚焦业务,能做到低门槛快速组装软硬件积木,实现设备安全上云,加速AIoT创新迭代。

HaaS设备端搭载阿里IoT团队全面开源的物联网操作系统AliOS Things。AliOS Things 是面向AIoT 领域的、高可伸缩的物联网统一操作系统。致力于搭建云端一体化 IoT 基础设备。具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云IoT平台,可广泛应用在智能家居、智慧城市、工业、新出行等领域。


?

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-24 10:44:32  更:2021-09-24 10:46:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:31:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码