1、示例简介
在HaaS610开发板上把用户串口接收到的数据,通过物模型把数据上传到阿里云物联网平台。本示例适合实时性要求不高、数据量不大的应用场景。
1.1、连接示例
通过USB转TLL串口线(3.3V ),把PC与HaaS610的用户串口(上图序号 8处)连接起来。
1.2、流程
在PC上通过串口调试工具发送数据,HaaS610 Kit收到数据后触发uart监听事件。HaaS610 Kit在uart监听事件回调函数中把数据通过MQTT发送到物联网平台指定Topic。
2、示例代码
app.js
var iot = require('iot');
var network = require('network');
var uart = require('uart');var net = network.openNetWorkClient();
var serial3 = uart.open({id: 'serial3'
});function ArrayToString(fileData){var dataString = "";for (var i = 0; i }serial3.on('data', function(data) {var data_str = ArrayToString(data);console.log('serial3:' + data_str);/* post props */device.postProps('{\"serial3\": ' + '\"' + data_str + '\"' + '}');});var productKey = 'xxxx'; /* your productKey */
var deviceName = 'xxxx'; /* your deviceName */
var deviceSecret = 'xxxx'; /* your deviceSecret */var device;
var topic = '/sys/' + productKey + '/' + deviceName + '/user/haas/info';function createDevice() {device = iot.device({productKey: productKey,deviceName: deviceName,deviceSecret: deviceSecret,});device.on('connect', function () {console.log('(re)connected');/* 云端设置属性事件 */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);});
}var status = net.getStatus();
console.log('net status is: ' + status);if (status == 'connect') {createDevice();
} else {net.on('connect', function () {createDevice();});
}
app.json
{"version": "1.0.0","io": {"serial3":{"type":"UART","port":2,"dataWidth":8,"baudRate":9600,"stopBits":1,"flowControl":"disable","parity":"none"}},"debugLevel": "DEBUG","repl": "enable"
}
开发者支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号。
更多技术与解决方案介绍,请访问HaaS官方网站https://haas.iot.aliyun.com。