有什么图片做视频的网站吗,做网站用eclipse吗,永久免费网站推荐,电商app系统开发公司背景
HaaS: Hardware as a Service。
HAAS510 是一种开板式 DTU #xff0c;旨在为用户已开发好的设备快速增加 4G 连云能力的 4G CAT1 数传模块。它通过将模组与用户设备集成到一个外壳内#xff0c;既保持设备的一体性#xff0c;又降低重新开发 PCB 的时间消耗和模组开…背景
HaaS: Hardware as a Service。
HAAS510 是一种开板式 DTU 旨在为用户已开发好的设备快速增加 4G 连云能力的 4G CAT1 数传模块。它通过将模组与用户设备集成到一个外壳内既保持设备的一体性又降低重新开发 PCB 的时间消耗和模组开发的难度。 HAAS510 产品采用了 JavaScript 脚本的方式将模组的本地串口通信和通过 4G 连接云端平台的能力开放给用户。同时它还为用户提供了编写本地业务逻辑的能力使得用户可以根据不同的应用场景在设备侧完成数据清洗甚至一些简单的控制功能从而给用户带来更大的创新自由度。
依托阿里云物联网平台结合 HAAS510 的连云能力、实际生产环境中的电气火灾监控系统以及4G物联网卡实现对电气火灾的远程监测。
物料准备 硬件设备 HaaS510USB转双TTL串口FPC天线SIM卡 软件环境 amp-winSSCOM V5.13.1串口调试助手VSCodeMQTTX
HAAS510 上有两个 UART 并且为方便接线对杜邦线做了分组 Main UART (用于烧录部署应用)和 Debug UART (用于调试与查看日志)由于我先接了 Debug UART 所有 COM 口的情况如下
Debug UARTCOM3Main UARTCOM4
实际连云的接线图如下 搭建环境
硬件连接
根据 HAAS510 的文档下载了 amp-win 结合 SSCOM V5.13.1串口调试助手 进行了测试按下复位键apm shakehand begin。 软件工具
在 VSCode 的插件市场搜索 haas-studio 安装点击左下角的激活 Aos 插件。 在 VSCode 的已安装插件列表中修改了 haas-studio 的版本从 v2.3.1 降到了 v2.2.0 支持创建 JavaScript 的项目。 HaaS510的HelloWorld
创建的 JavaScript 项目中自带了 HelloWorld 示例程序点击部署运行选择本地更新——选择串口我这里是COM4Main UART——波特率115200。 或者使用以下命令进行烧录
c:\Users\nxq01\.vscode\extensions\haas.haas-studio-2.2.0/amp/amp-win/dist/amp.exe serialput d:\JavaScript\Node.js\haas-test\test_demo\solutions\test_demo COM4 -b 115200根据提示复位 DTU 板(板子上的reset按钮)可以通过串口工具在 Debug UART 我这里是 COM3 查看调试输出。 HaaS510真机连云上报数据
硬件连线
分别连接了 Main UART (用于烧录部署应用)和 Debug UART (用于调试与查看日志)。
注意
如果烧录程序后发现云平台的设备依然不在线可能是没装SIM卡、没安装天线或者SIM卡存在机卡分离等原因。用的是实际生产环境下的物联网SIM卡因此要到物联网卡管理平台进行激活避免机卡分离的问题。
物联网平台配置
添加产品——添加设备——编辑物模型。
设备三元组
{ProductKey: ibneFAfjvhy,DeviceName: ElectricalFireMonitoringSystem,DeviceSecret: 9dc9c43e02ad25448de2d0913b49f802
}实际编码之前先用 MQTTX 工具测试下设备的连接性。 物模型
根据实际的电气火灾监控系统监测指标模拟了剩余电流、电压、电流以及功率等参数。 编码实现
以下代码修改自创建的模板项目中的实例 iot-device 。
let iot require(iot);
let network require(network);let net network.openNetWorkClient();/* 设备三元组信息 */
let productKey ibneFAfjvhy;
let deviceName ElectricalFireMonitoringSystem;
let deviceSecret 9dc9c43e02ad25448de2d0913b49f802;let device;
let topic /sys/ productKey / deviceName /thing/event/property/post;/* 模拟属性数据JSON字符串*/
let json {RC:0.5,LineCurrent:8.0,LineVotage:210.0,LinePower:20.0};function createDevice() {device iot.device({productKey: productKey,deviceName: deviceName,deviceSecret: deviceSecret});device.on(connect, function() {console.log((re)connected);device.subscribe({topic: topic,qos: 0});setInterval(function() {/* post props */device.postProps(json);}, 5000);/* 云端设置属性事件 */device.onProps(function(res) {console.log(cloud req msg_id is res.msg_id);console.log(cloud req params_len is res.params_len);console.log(cloud req params is res.params);});/* 云端下发服务事件 */device.onService(function(res) {console.log(received cloud msg_id is res.msg_id);console.log(received cloud service_id is res.service_id);console.log(received cloud params_len is res.params_len);console.log(received cloud params is res.params);});});/* 网络断开事件 */device.on(disconnect, function() {console.log(disconnect );});/* mqtt消息 */device.on(message, function(res) {console.log(mqtt message)console.log(mqtt topic is res.topic);console.log(mqtt payload is res.payload);})/* 关闭连接事件 */device.on(end, function() {console.log(iot client just closed);});/* 发生错误事件 */device.on(error, function(err) {console.log(error err);});
}let status net.getStatus();
console.log(net status is: status);if (status connect) {createDevice();
} else {net.on(connect, function() {createDevice();});
}注意 JSON 字符串中的值类型与物模型中定义的值类型要一致一开始将在字符串中将传感器的值写成了字符串类型导致云平台无法解析为 Double 报错。 部署到DTU
将上述代码通过 Main UART 发布至 HAAS510 。 从 Debug UART 串口可以看到属性上报的记录。 效果验证
阿里云物联网平台上可以看到设备已在线。 以下是在日志服务、在线调试以及物模型数据在设备上报属性时的记录与展示。
日志服务 在线调试 物模型数据 小总结
这篇文章主要介绍了 HaaS510 开板式 DTU 数据传输单元的真机连云过程以及如何将监测数据上报至阿里云物联网平台。文章提供了硬件和软件环境的准备步骤包括硬件设备和软件工具的连接和配置。然后文章演示了如何使用 HaaS510 的 HelloWorld 示例程序和 JavaScript 编码实现真机连云上报数据的功能。最后文章验证了连云效果并提供了参考资料供进一步学习和开发。
Reference
AIOT应用框架开发手册HaaS510