HaaS轻应用(JavaScript)快速开始 @ HaaS610

简介: HaaS610 开发板是由阿里云、广和通、旗点科技联合推出的一款基于 fibocom 4G Cat.1 产品 L610 openCPU 模组物联网开发板。具备 Arduino 接口, 可以支配 Arduino 接口配件板,搭配 GPS 定位、WiFi、六轴定位传感器、温度传感器、8MB Flash、麦克 风、喇叭、LCD 显示屏、摄像头、2Kb EEPROM、4*4 矩阵按键组使用。
来源 | HaaS技术社区

1、开发板简介

image.png

HaaS610 开发板是由阿里云、广和通、旗点科技联合推出的一款基于 fibocom 4G Cat.1 产品 L610 openCPU 模组物联网开发板。具备 Arduino 接口, 可以支配 Arduino 接口配件板,搭配 GPS 定位、WiFi、六轴定位传感器、温度传感器、8MB Flash、麦克 风、喇叭、LCD 显示屏、摄像头、2Kb EEPROM、4*4 矩阵按键组使用。

HaaS610 开发板具有以下特点:

  • 基于fibocom 4G Cat1 产品 L610 openCPU 模组,无需MCU,减少硬件成本。
  • 内置RTOS,提供操作系统能力。
  • 内置MQTT、HTTP、mbedtls 等开源库,方便应用开发。
  • 丰富的io资源、支持LCD屏幕、摄像头等。
  • 集成阿里云轻应用框架,可运行在轻量级嵌入式设备上的JavaScript应用。
  • 集成阿里云iot sdk包,可轻松接入阿里云物联网平台。

2、硬件资源介绍

image.png
image.png
image.png

3、开发环境搭建

L610仅支持在windows环境下进行开发。

3.1、连接设备

image.png

通过 MicroUSB 线连接 PC 和模组的USB下载口,将拨动开关拨到 V50_USB 丝印侧,通过USB为开发板供电。

3.2、驱动安装

L610模组 USB 驱动

📎FIBOCOM L610 USB Driver_Windows.zip

L610模组正常上电开机 USB 口会虚拟出7个串口

image.png

  • Port0 口: 发 AT 命令及外置 PPP 拨号;Port1 口: Diag 口,主要用于 NvEditor 以及发 DIAG 指令用;
  • Port2 口: MOS 数据输出,用于场测协议栈数据输出;
  • Port3 口: 抓 ARMTRACER log,通过 AT^TRACECTRL=0,1,2 设置
  • Port4 口:当 debug 跳线调的不支持 debug 口时, 则需要用此 USB 口抓 AP log, 该口无法抓 dump log。
  • Port5 口:可用于发 AT 命令;
  • Port6 口:可用于客户输出自定义 log;

3.3、日志抓取

HaaS610 usb转串口驱动

image.png

连接HaaS610Kit 的 USB2 ,注意不是USB下载口,打开我的电脑——管理——设备管理器,应该两个串口,分别是用于开发板调试的 Debug 串口和 UART1用户串口。一般情况下 Enhanced接口是 Debug 串口,Standard接口为 UART1 用户串口。

image.png

日志接收工具

📎cooltools-win32_custom_P3.R2.0.0005.7z

下载软件并解压,双击 coolwatcher_debughost.exe 打开日志工具 CoolWatcher。

lastcomport 填入我们刚才查看的设备管理器中 Enhanced COM 对应的COM号,例如我的电脑是 52,单击OK。

image.png

顺利的话应该可以看到左下角有 COM OPEN OK的提示。

image.png

选择Activate Tracer

image.png

日志抓取的开始、暂停、清除按键

image.png

填写要过滤的关键字,HaaS610Kit 的关键字是 AOS,然后按下回车键即可看到我们 AOS 相关的日志。

image.png

3.4、热更新

📎amp-clitool.zip

下载解压 amp-clitool 工具,将JS应用代码拷贝到 amp-clitool 工具的目录下,然后用户可以选择任意一种热更新方式(本地或在线)下载应用代码到开发板。

本地更新

运行命令行工具

windows系统 进入 amp-clitool 工具下的 amp-clitool\dist\amp-win 目录,右键选择 powershell

image.png

推送脚本到设备

image.png

  1. . /amp.exe serialput ./app COMXX -m duktape -b 115200
  2. /* serialput 是选择本地热更新 */
  3. /* app 是 JavaScript应用脚本目录 */
  4. /* COMXX 是日志串口号,此处填写自己的串口号 */
  5. /* -m duktape HaaS610 选择JS Engine 为 duktape */
  6. /* -b 115200 HaaS610 串口波特率为 115200 */

执行推送命令的时候需要关闭日志串口

  • 复位开发板
  • 等待脚本传输完成,打开日志串口观察脚本运行情况

image.png

4、示例代码

app.js中的用例逻辑如下:

首先根据uart3的配置创建对应的uart实例,然后启动定时器,周期性的通过uart3 发送字符串。 同时 uart3 把接收到数据通过日志打印,再发送出来,如果收到 'exit' 字符退出本次uart收发测试。

  1. var uart = require( 'uart');
  2. var msgbuf2 = [ 0x41, 0x42, 0x43, 0x44, 0x61, 0x62, 0x63, 0x64, 0x2B, 0X2B];
  3. function ArrayToString(fileData){
  4. var dataString = "";
  5. for ( var i = 0; i < fileData.length; i++) {
  6. dataString += String.fromCharCode(fileData[i]);
  7. }
  8. return dataString;
  9. }
  10. var serial3 = uart.open({
  11. id: 'serial3'
  12. });
  13. var cnt = 100;
  14. var intervalHandled = setInterval( function(){
  15. cnt--;
  16. if(cnt <= 0){
  17. clearInterval(intervalHandled);
  18. }
  19. serial3.write(msgbuf2);
  20. }, 2000);
  21. serial3.on( 'data', function(data) {
  22. console.log(data);
  23. console.log(ArrayToString(data));
  24. serial3.write(data);
  25. if (ArrayToString(data) === "exit") {
  26. console.log( 'uart: test finish')
  27. serial3.close();
  28. }
  29. });
  30. console.log( 'uart: test start')

uart 对应的 port口在 app.json 如下。

  1. {
  2. "version": "1.0.0",
  3. "io": {
  4. "serial1":{
  5. "type": "UART",
  6. "port": 0,
  7. "dataWidth": 8,
  8. "baudRate": 115200,
  9. "stopBits": 1,
  10. "flowControl": "disable",
  11. "parity": "none"
  12. },
  13. "serial2":{
  14. "type": "UART",
  15. "port": 1,
  16. "dataWidth": 8,
  17. "baudRate": 115200,
  18. "stopBits": 1,
  19. "flowControl": "disable",
  20. "parity": "none"
  21. },
  22. "serial3":{
  23. "type": "UART",
  24. "port": 2,
  25. "dataWidth": 8,
  26. "baudRate": 9600,
  27. "stopBits": 1,
  28. "flowControl": "disable",
  29. "parity": "none"
  30. }
  31. },
  32. "debugLevel": "DEBUG",
  33. "repl": "enable"
  34. }

开发者支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号。

image.png

更多技术与解决方案介绍,请访问HaaS官方网站https://haas.iot.aliyun.com

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
监控 JavaScript 算法
如何使用内存监控工具来定位和解决Node.js应用中的性能问题?
总之,利用内存监控工具结合代码分析和业务理解,能够逐步定位和解决 Node.js 应用中的性能问题,提高应用的运行效率和稳定性。需要耐心和细致地进行排查和优化,不断提升应用的性能表现。
188 77
|
2月前
|
存储 缓存 监控
如何使用内存监控工具来优化 Node.js 应用的性能
需要注意的是,不同的内存监控工具可能具有不同的功能和特点,在使用时需要根据具体工具的要求和操作指南进行正确使用和分析。
73 31
|
2月前
|
JavaScript 前端开发 API
深入理解Node.js事件循环及其在后端开发中的应用
本文旨在揭示Node.js的核心特性之一——事件循环,并探讨其对后端开发实践的深远影响。通过剖析事件循环的工作原理和关键组件,我们不仅能够更好地理解Node.js的非阻塞I/O模型,还能学会如何优化我们的后端应用以提高性能和响应能力。文章将结合实例分析事件循环在处理大量并发请求时的优势,以及如何避免常见的编程陷阱,从而为读者提供从理论到实践的全面指导。
|
2月前
|
JavaScript
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
50 3
|
2月前
|
Web App开发 JSON JavaScript
Node.js 中的中间件机制与 Express 应用
Node.js 中的中间件机制与 Express 应用
|
2月前
|
前端开发 JavaScript 关系型数据库
基于 Vue2.0 + Nest.js 全栈开发的后台应用
Vue2 Admin 是一个基于 Vue2 和 Ant Design Pro 开发的前端项目,配合 Nest.js 构建的后端,提供了一个完整的全栈后台应用解决方案。该项目支持动态国际化、用户权限管理、操作日志记录等功能,适合全栈开发者学习参考。线上预览地址:https://vue2.baiwumm.com/,用户名:Admin,密码:abc123456。
|
2月前
|
JavaScript 前端开发 API
Vue.js 3:深入探索组合式API的实践与应用
Vue.js 3:深入探索组合式API的实践与应用
|
JavaScript 前端开发 网络协议
HaaS轻应用(JavaScript)快速开始 @HaaS EDU K1
HaaS EDU K1是HaaS Education Kit1的缩写,是基于四核高性能HaaS1000芯片打造的、集颜值和内涵于一身的物联网教育开发板。作为云端一体全链路解决方案的软硬件积木平台,深度集成了AliOS Things物联网操作系统、HaaS轻应用、小程序和阿里云物联网平台等技术和服务,让开发者可以轻松的学习和开发云端一体全链路实战项目,解决实际场景或孵化创新应用。
388 15
HaaS轻应用(JavaScript)快速开始 @HaaS EDU K1
|
2月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
35 1
JavaScript中的原型 保姆级文章一文搞懂
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
114 2