HaaS600 Kit

简介: HaaS600 Kit 是一款基于 HaaS600系列模组评估的高性价比开发板。可应用于共享控制、金融支付、智能语音、泛工业等场景的智能硬件产品开发。

本页目录

系统环境
第一个轻应用示例
附录
更多示例代码

HaaS600 Kit

image.png
HaaS600 Kit 是一款基于 HaaS600系列模组评估的高性价比开发板。可应用于共享控制、金融支付、智能语音、泛工业等场景的智能硬件产品开发。

HaaS600 Kit 套件包含以下物料:

· 开发板 x 1
· micro-USB线缆 x 1
· 5V/2A电源适配器 x 1
· 4G天线 x 1
· GPS天线 x 1

系统环境

连接设备

按照下图所示将开发电脑跟设备的调试/用户串口通过MicroUSB连接,连接后,将在PC设备管理器中出现两个串口,分别用于调试和用户串口输入输出。
image.png

安装USB转串口驱动

· Windows XP/Vista
· Windows7/8/8.1
· Windows10
· MacOS

安装完成之后,在设备管理器中可以看到以下虚拟串口:

Windows

image.png

MacOS

image.png

Note:

1.不同的电脑生成的串口号和名称不一样,以实际生成的为准。

2.生成的两个串口,一个是debug串口(查看运行日志,只读),另一个是用户串口(JavaScript交互式解释器或其他用途)

开发工具

轻应用开发使用一套命令行工具管理和推送应用脚本到设备。

下载命令行工具:

· Mac版
· Windows版

Note:

Mac版需要设置执行权限:chmod +x ./amp
请参考:命令行工具
将命令行工具解压到工作目录,如图所示对应文件

├── amp             # 命令行工具
├── app             # 示例代码(hello world)
│   ├── app.json
│   └── app.js
└── bindings.node   # 本地更新库码

第一个轻应用示例

· 查看设备连接状态

在命令行工具下使用该命令查看设备连接状态

./amp.exe seriallist
COM194
COM195

Note:

如果返回值跟设备管理器中生成的一致,说明设备连接和命令行工具运行正常

命令行工具默认示例代码运行hello world程序,此处使用LED Blink来作为第一个轻应用示例来介绍。

使用下面的app.js 和 app.json文件替换命令行工具示例代码目录下的同名文件,如下:

LED Blink app.json

{
    "version": "1.0.0",
    "io": {
        "D13": {
            "type": "GPIO",
            "port": 33,
            "dir": "output",
            "pull": "pulldown"
        }
    },
    "debugLevel": "DEBUG"
}

LED Blink app.js:

var gpio = require('gpio');

var led = gpio.open({
  id: 'D13'
});

var vol = 0;

setInterval(function() {
 vol = 1 - vol;
  
 led.writeValue(vol);
 console.log('gpio: led set value ' + vol);
 
 vol = led.readValue();
 console.log('gpio: led get value ' + vol); 
}, 1000);

本地热更新

· 切换到下载模式

下载/运行模式切换开关(MODE)拨到DL侧,并通过电源选择开关(POWER SWITCH)断电重启,稍等片刻待AMP_STU指示灯间歇性双闪,如下图,说明设备已经进入本地下载模式。
image.png

· 通过amp工具推送应用代码到设备

./amp.exe seriallist
COM194
COM195

./amp.exe serialput ./app COM194

Note:

Windows环境下,热更新命令的串口号需要大写。

· 切换到运行模式(RUN)并复位

· 运行效果如图:

image.png

在线热更新

在已插SIM卡有网络连接的情况下,也可参考在线应用热更新推送轻应用代码到目标设备。

附录

硬件资源介绍

image.png

硬件资源映射表

image.png

功能列表(部分)

· 文件系统 FS

· 系统信息 SYSTEM

· 键值对存储 KV

· 电源管理 PM

· 硬件I/O

UART
GPIO
I2C
SPI
ADC
DAC
PWM
TIMER
RTC
WDG

· 网络协议

UDP
TCP
MQTT
HTTP

· 高阶功能

IoT 阿里云IoT平台连接组件
audioplayer 音频播放组件
app.json 参考示例

{
  "version": "1.0.0",
  "io": {
    "I2C0": {
      "type": "I2C",
      "port": 0,
      "addrWidth": 7,
      "freq": 400000,
      "mode": "master",
      "devAddr": 72
    },
    "ADC0": {
      "type": "ADC",
      "port": 0,
      "sampling": 12000000
    },
    "ADC1": {
      "type": "ADC",
      "port": 1,
      "sampling": 12000000
    },
    "UART1": {
      "type": "UART",
      "port": 1,
      "dataWidth": 8,
      "baudRate": 9600,
      "stopBits": 1,
      "flowControl": "cts",
      "parity": "none"
    },
    "UART2": {
      "type": "UART",
      "port": 2,
      "dataWidth": 8,
      "baudRate": 115200,
      "stopBits": 1,
      "flowControl": "disable",
      "parity": "none"
    },
    "SPI1": {
      "type": "SPI",
      "port": 1,
      "mode": "master",
      "freq": 3250000
    },
    "PWM0": {
      "type": "PWM",
      "port": 31,
      "mode": "master",
      "freq": 3250000
    },
    "PWM1": {
      "type": "PWM",
      "port": 32,
      "mode": "master",
      "freq": 3250000
    },
    "D0": {
      "type": "GPIO",
      "port": 51,
      "dir": "output",
      "pull": "pulldown"
    },
    "D1": {
      "type": "GPIO",
      "port": 52,
      "dir": "output",
      "pull": "pulldown"
    },
    "D2": {
      "type": "GPIO",
      "port": 17,
      "dir": "irq",
      "pull": "pulldown",
      "intMode": "both"
    },
    "D3": {
      "type": "GPIO",
      "port": 16,
      "dir": "irq",
      "pull": "pullup",
      "intMode": "both"
    },
    "D4": {
      "type": "GPIO",
      "port": 59,
      "dir": "output",
      "pull": "pulldown"
    },
    "D5": {
      "type": "GPIO",
      "port": 121,
      "dir": "output",
      "pull": "pulldown"
    },
    "D6": {
      "type": "GPIO",
      "port": 54,
      "dir": "output",
      "pull": "pulldown"
    },
    "D7": {
      "type": "GPIO",
      "port": 53,
      "dir": "output",
      "pull": "pulldown"
    },
    "D8": {
      "type": "GPIO",
      "port": 124,
      "dir": "output",
      "pull": "pulldown"
    },
    "D9": {
      "type": "GPIO",
      "port": 122,
      "dir": "output",
      "pull": "pulldown"
    },
    "D10": {
      "type": "GPIO",
      "port": 34,
      "dir": "output",
      "pull": "pulldown"
    },
    "D11": {
      "type": "GPIO",
      "port": 36,
      "dir": "output",
      "pull": "pulldown"
    },
    "D12": {
      "type": "GPIO",
      "port": 35,
      "dir": "output",
      "pull": "pulldown"
    },
    "D13": {
      "type": "GPIO",
      "port": 33,
      "dir": "output",
      "pull": "pulldown"
    },
    "D14": {
      "type": "GPIO",
      "port": 57,
      "dir": "output",
      "pull": "pulldown"
    },
    "D15": {
      "type": "GPIO",
      "port": 32,
      "dir": "output",
      "pull": "pulldown"
    },
    "D16": {
      "type": "GPIO",
      "port": 31,
      "dir": "output",
      "pull": "pulldown"
    },
    "D17": {
      "type": "GPIO",
      "port": 76,
      "dir": "output",
      "pull": "pulldown"
    }
  },
  "debugLevel": "DEBUG",
  "repl": "disable"
}

更多示例代码

· 打包下载(需注册gitee账号):
https://gitee.com/alios-things/amp-examples/repository/archive/master.zip

相关文章
|
Java API PHP
(转载)为什么不推荐使用swoole和hyperf官方框架
(转载)为什么不推荐使用swoole和hyperf官方框架
5310 0
|
12月前
|
Linux 程序员 开发工具
OpenHarmony开发板环境搭建
本文详细介绍如何在Windows、Linux搭建OpenHarmony开发环境,包括安装VSCode、DevEco Device Tool及相关插件,帮助开发者快速上手OpenHarmony开发。君志所向,一往无前!
447 65
|
数据采集 数据可视化
国内77个城市建筑物轮廓(带高度)数据分享(附百度网盘)
国内77个城市建筑物轮廓(带高度)数据分享(附百度网盘)
1839 1
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
1209 0
|
芯片
【寄存器开发速成】半小时入门STM32寄存器开发(一)
【寄存器开发速成】半小时入门STM32寄存器开发(一)
505 0
|
缓存 网络协议 算法
【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)
在Linux环境下,主要存在四种IO模型,它们分别是阻塞IO(Blocking IO)、非阻塞IO(Non-blocking IO)、IO多路复用(I/O Multiplexing)和异步IO(Asynchronous IO)。下面我将逐一介绍这些模型的定义:
684 2
|
存储 安全 物联网
安防摄像头IPC如何快速接入阿里云Link Visual视频服务(阿里云生活物联网)
Link Visual是生活物联网平台针对视频产品推出的增值服务,提供视频数据上云、存储、转发、AI计算等能力。 大白话就是:通过阿里云的Link Visual视频服务,可以让你的IPC摄像头设备完成上云功能,并快速实现如下功能介绍中的功能。其中可以享受阿里云P2P协议支持,帮助企业节省流量服务器流量带宽。
1347 7
|
存储 消息中间件 网络协议
Linux 系统编程从入门到进阶 学习指南
本文旨在为初学者提供一个清晰的 Linux 系统编程入门指南,带你步入 Linux 系统编程的世界,从基本概念到实用技能,一步步建立起您的知识体系。
Linux 系统编程从入门到进阶 学习指南
|
人工智能 自然语言处理 搜索推荐
|
存储 C语言 芯片
C/C++ stm32基础知识超详细讲解(系统性学习day14)
C/C++ stm32基础知识超详细讲解(系统性学习day14)