HaaS轻应用(JavaScript)快速开始 @HaaS100
1、HaaS100介绍
HaaS100开发板阿里云IoT团队推出的物联网通用性云端一体开发板,不但硬件资源丰富,而且还支持HaaS轻应用开发,可以方便的使用JavaScript或Python进行物联网应用开发。
HaaS100简介
HaaS100硬件规格
2、硬件与系统环境
2.1、硬件连接与启动
电源适配器供电
使用MicroUSB数据线连接开发板与PC
2.2、系统环境
Windows
安装USB转串口驱动,在设备管理器中可以看到以下串口:
不同PC的串口号不一致
macOS
安装USB转串口驱动,在dev目录下可以看到以下串口:
javascript
Editor
crw-rw-rw- 1 root wheel 18, 4 9 21 16:23 /dev/tty.SLAB_USBtoUART
2.3、获取轻应用固件
使用官方标准固件
haas100固件
烧录说明:将固件包解压,进入aos_burn_tool目录,打开cmd或者powershell终端,执行以下命令
python flash_program.py --bin=ota_rtos.bin
自己编译固件
git clone https://github.com/alibaba/AliOS-Thingscd solutions/amp_demo/aos make -b haas100
2.5、开发工具
参见 Visual Studio Code (AliOS Studio) 或者 命令行工具 章节
3、打开示例应用
下载示例应用代码包
这里通过一个简单的LED闪灯的用例来介绍。
下载应用代码包,LED闪灯用例的代码目录如下所示:
app
├── app.json # 应用与板级配置
└── app.js # 用户代码
参考硬件资源介绍,已经在app.json中配置好LED3对应的port口为36。
{"version": "1.0.0","io": {"led": {"type": "GPIO","port": 36,"dir": "output","pull": "pulldown"}},"debugLevel": "DEBUG"
}
在app.js中的用例逻辑如下:首先根据LED灯的配置创建一个GPIO实例,然后启动定时器,周期性的通过GPIO读写接口开关LED灯。
import * as gpio from 'gpio'var led = gpio.open({id: 'led',success: function () {console.log('gpio: open led success')},fail: function () {console.log('gpio: open led failed')}
});var vol = 0;setInterval(function() {vol = 1 - vol;led.writeValue(vol);console.log('gpio: led set value ' + vol);
}, 1000);
4、应用代码更新到目标硬件
将应用代码拷贝到amp工具的目录下,然后用户可以选择任意一种热更新方式(本地或在线)下载应用代码到开发板。
本地更新
打开命令行工具
推送脚本到设备
执行推送命令
/* app是JavaScript应用脚本目录 */
/* COMXX是日志串口号,此处填写自己的串口号 */
/* -b 1500000 HaaS100串口波特率为1.5M */./amp.exe serialput ./app COMXX -m quickjs -b 1500000
执行推送命令的时候需要关闭日志串口
复位开发板
等待脚本传输完成,打开日志串口观察脚本运行情况
附录
排针接口
板载LED灯序号示意图
硬件资源映射表
功能/接口 |
PIN/IO/资源映射 |
轻应用 Port 配置 |
I2C1 |
SDA2 SCL2 |
port=0 |
I2C2 |
SDA3 SCL3 |
port=1 |
ADC0 |
ADC0 |
port=0 |
ADC1 |
ADC1 |
port=1 |
ADC2 |
ADC2 |
port=2 |
PWM0 |
PWM0 |
port=0 |
PWM1 |
PWM1 |
port=1 |
PWM2 |
PWM2 |
port=2 |
PWM3 |
PWM3 |
port=3 |
UART0 |
默认板级log打印 |
port=0 |
UART2 |
UART2_TXD UART2_RXD |
port=2 |
GPIO |
GPIO41 GPIO40 GPIO47 GPIO46 |
port=33 port=32 port=39 port=38 |
SPI |
SPI0_MISO SPI0_MOSI SPI0_CLK SPI0_CS0 |
port=0 |
功能列表(部分)
文件系统 FS
系统信息 SYSTEM
键值对存储 KV
硬件I/O
UART
GPIO
I2C
SPI
ADC
PWM
网络协议
UDP
TCP
MQTT
HTTP
高阶功能
IoT 阿里云IoT平台连接组件
app.json 参考示例
{"io":{"D1":{"type":"GPIO","port":32,"dir":"output","pull":"pulldown"},"D2":{"type":"GPIO","port":33,"dir":"output","pull":"pulldown"},"D3":{"type":"GPIO","port":38,"dir":"output","pull":"pulldown"},"D4":{"type":"GPIO","port":39,"dir":"output","pull":"pulldown"},"I2C1":{"type":"I2C","port":0,"addrWidth":7,"freq":100000,"mode":"master","devAddr":118},"I2C2":{"type":"I2C","port":0,"addrWidth":7,"freq":100000,"mode":"master","devAddr":118},"ADC0":{"type":"ADC","port":0,"sampling":12000000},"ADC1":{"type":"ADC","port":1,"sampling":12000000},"ADC2":{"type":"ADC","port":2,"sampling":12000000},"PWM0":{"type":"PWM","port":0},"PWM1":{"type":"PWM","port":1},"PWM2":{"type":"PWM","port":2},"PWM3":{"type":"PWM","port":3},"UART2":{"type":"UART","port":2,"dataWidth":8,"baudRate":115200,"stopBits":1,"flowControl":"disable","parity":"none"},"SPI0":{"type":"SPI","port":0,"mode":"master","freq":3250000}},"debugLevel":"DEBUG"
}
开发者支持
如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号。
更多技术与解决方案介绍,请访问HaaS官方网站https://haas.iot.aliyun.com。
HaaS轻应用(JavaScript)快速开始 @HaaS100相关推荐
- HaaS轻应用(JavaScript)总览
2.0新版本发布: 来了!HaaS轻应用(JavaScript)2.0!It just works HaaS轻应用 (JavaScript) 介绍: 轻应用介绍 - 用JavaScript进行嵌入式开 ...
- HaaS轻应用(JavaScript)低功耗蓝牙案例
1.案例简介 HaaS100自带低功耗蓝牙功能,可以通过自带的蓝牙功能完成诸如与手机交互,蓝牙配网等功能. 本案例主要演示使用HaaS轻应用框架(JavaScript),在HaaS100上完成BLE的 ...
- HaaS学习笔记 | 最详细的HaaS Python轻应用开发快速入门教程
[1]摘要 本教程主要讲述HaaS框架开发环境的搭建以及在ESP32开发板上进行HaaS Python轻应用开发的基本流程,结合小蜜蜂老师研制的蓝蜻蜓ESP32开发套件,通过"Hello ...
- HaaS轻应用(Python): 使用“千里传音“服务打造您的专属云喇叭
1.前言 Python 语言的是一款非常容易使用的解释性语言,它的主要特点如下: ● 易学易用 ● 可扩展可移植 ● 丰富的三方库 正是由于以上这些特点,使得Python在一些逻辑简单,功能复杂的场景 ...
- HaaS轻应用(Python)总览
在物联网方案多样化与场景碎片化等大背景下,基于阿里云物联网数亿设备落地经验,阿里云物联网团队推出了HaaS这个加速AIoT中小开发者的创新平台. HaaS(Hardware as a service) ...
- 《JavaScript快速全栈开发》作者Azat Mardanov:现在是拥抱Node技术栈的最佳时机
非商业转载请注明作译者.出处,并保留本文的原始链接:http://www.ituring.com.cn/article/195742 Azat Mardanov是一位有着12年开发经验的资深软件工程师 ...
- 前端三大技术 HTML、CSS、JavaScript 快速入门手册
听到前端技术,不少朋友一定会感到有些陌生.但其实,前端,你每天都在接触. 你正在使用的APP,你正在浏览的网页,这些你能看到的界面,都属于前端. 而前端最重要的三大技术,HTML,CSS,JavaSc ...
- JavaScript快速入门(四)——JavaScript函数
函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)--JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提.function func() { ...
- Skippr – 轻量、快速的 jQuery 幻灯片插件
Skippr 是一个超级简单的 jQuery 幻灯片插件.只是包括你的网页中引入 jquery.skippr.css 和 jquery.skippr.js 文件就能使用了.Skippr 能够自适应窗口 ...
最新文章
- Read file, CSV read String
- python基础day2作业:购物车
- 网络技术学习资料分享
- 『ACM--算法--KMP』信息竞赛进阶指南--KMP算法(模板)
- OpenStack基础知识-virtualenv工具详解
- Webpack构建性能优化指南
- virtualbox ,centos 的多网卡如何设置
- 怎样改变计算机桌面的特效主题,电脑桌面主题、图片怎么设置的技巧大全
- c++socket发送文字少一个字符_Socket粘包问题的3种解决方案,最后一种最完美
- 【报告分享】2021年小红书美妆护肤洞察报告.pdf(附下载链接)
- 剑指 Offer II 106. 二分图
- c++贪吃蛇_细致的C语言写贪吃蛇教程+详细思路-适合新手附源码
- python输入文字字符串、如何提取字符_用python正则表达式提取字符串
- LINUX当前目录下的文件夹大小
- 着迷英语900句_字体令人着迷
- 漏洞挖掘之通达OA2017任意文件上传(漏洞已失效)
- visio如何使箭头指向插图的任意一处
- Windows 使用winPe装机详细教程(图片来来源网络,仅为交流学习之用,谢谢)
- 人民币对美元汇率中间价报6.7969元 下调115个基点
- 数据简化社区Google和Linux代码风格指南(附PDF公号发“代码风格”下载)