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

功能列表(部分)

  1. 文件系统 FS

  2. 系统信息 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相关推荐

  1. HaaS轻应用(JavaScript)总览

    2.0新版本发布: 来了!HaaS轻应用(JavaScript)2.0!It just works HaaS轻应用 (JavaScript) 介绍: 轻应用介绍 - 用JavaScript进行嵌入式开 ...

  2. HaaS轻应用(JavaScript)低功耗蓝牙案例

    1.案例简介 HaaS100自带低功耗蓝牙功能,可以通过自带的蓝牙功能完成诸如与手机交互,蓝牙配网等功能. 本案例主要演示使用HaaS轻应用框架(JavaScript),在HaaS100上完成BLE的 ...

  3. HaaS学习笔记 | 最详细的HaaS Python轻应用开发快速入门教程

    [1]摘要  本教程主要讲述HaaS框架开发环境的搭建以及在ESP32开发板上进行HaaS Python轻应用开发的基本流程,结合小蜜蜂老师研制的蓝蜻蜓ESP32开发套件,通过"Hello ...

  4. HaaS轻应用(Python): 使用“千里传音“服务打造您的专属云喇叭

    1.前言 Python 语言的是一款非常容易使用的解释性语言,它的主要特点如下: ● 易学易用 ● 可扩展可移植 ● 丰富的三方库 正是由于以上这些特点,使得Python在一些逻辑简单,功能复杂的场景 ...

  5. HaaS轻应用(Python)总览

    在物联网方案多样化与场景碎片化等大背景下,基于阿里云物联网数亿设备落地经验,阿里云物联网团队推出了HaaS这个加速AIoT中小开发者的创新平台. HaaS(Hardware as a service) ...

  6. 《JavaScript快速全栈开发》作者Azat Mardanov:现在是拥抱Node技术栈的最佳时机

    非商业转载请注明作译者.出处,并保留本文的原始链接:http://www.ituring.com.cn/article/195742 Azat Mardanov是一位有着12年开发经验的资深软件工程师 ...

  7. 前端三大技术 HTML、CSS、JavaScript 快速入门手册

    听到前端技术,不少朋友一定会感到有些陌生.但其实,前端,你每天都在接触. 你正在使用的APP,你正在浏览的网页,这些你能看到的界面,都属于前端. 而前端最重要的三大技术,HTML,CSS,JavaSc ...

  8. JavaScript快速入门(四)——JavaScript函数

    函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)--JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提.function func() { ...

  9. Skippr – 轻量、快速的 jQuery 幻灯片插件

    Skippr 是一个超级简单的 jQuery 幻灯片插件.只是包括你的网页中引入 jquery.skippr.css 和 jquery.skippr.js 文件就能使用了.Skippr 能够自适应窗口 ...

最新文章

  1. Read file, CSV read String
  2. python基础day2作业:购物车
  3. 网络技术学习资料分享
  4. 『ACM--算法--KMP』信息竞赛进阶指南--KMP算法(模板)
  5. OpenStack基础知识-virtualenv工具详解
  6. Webpack构建性能优化指南
  7. virtualbox ,centos 的多网卡如何设置
  8. 怎样改变计算机桌面的特效主题,电脑桌面主题、图片怎么设置的技巧大全
  9. c++socket发送文字少一个字符_Socket粘包问题的3种解决方案,最后一种最完美
  10. 【报告分享】2021年小红书美妆护肤洞察报告.pdf(附下载链接)
  11. 剑指 Offer II 106. 二分图
  12. c++贪吃蛇_细致的C语言写贪吃蛇教程+详细思路-适合新手附源码
  13. python输入文字字符串、如何提取字符_用python正则表达式提取字符串
  14. LINUX当前目录下的文件夹大小
  15. 着迷英语900句_字体令人着迷
  16. 漏洞挖掘之通达OA2017任意文件上传(漏洞已失效)
  17. visio如何使箭头指向插图的任意一处
  18. Windows 使用winPe装机详细教程(图片来来源网络,仅为交流学习之用,谢谢)
  19. 人民币对美元汇率中间价报6.7969元 下调115个基点
  20. 数据简化社区Google和Linux代码风格指南(附PDF公号发“代码风格”下载)

热门文章

  1. 论坛社区类网站的推广方法
  2. 求助网易云信的互动白板的实现流程
  3. 电脑服务器名称怎么修改,怎么修改云服务器计算机名
  4. ViewState的用法
  5. IT行业的发展前景你知道多少?
  6. 2021年河南省高考考成绩查询,河南省考公务员2021年成绩 河南省考成绩查询时间2021...
  7. JMVM系列之一 MVC多视点参考帧管理类
  8. flask路由规则及正则转换器converter
  9. 基于s3c6410 otg controller的gadget driver及usb枚举分 析
  10. 泛型模板和STL语法入门