全部产品

HaaS600

更新时间:2020-09-27 21:38:38

HaaS600 Kit

HaaS600

HaaS600 Kit 是一款基于 HaaS600模组(移远EC100YLTE Cat 1)的开发板,可应用于共享控制、金融支付、智能语音、泛工业等场景的智能硬件产品开发。

HaaS600套件包含以下物料:

  • 开发板 x 1

  • micro-USB线缆 x 1

  • 5V/2A电源适配器 x 1

  • 4G天线 x 1

硬件与系统环境

硬件连接与启动

  • sim卡插入单板背面的卡槽

  • 设置单板到下载模式

  • 电源适配器供电

  • USB线缆与开发主机的Debug&User UART口连接

  • 等待AMP_STU灯每秒钟闪烁一次,说明系统正常启动

硬件连接与启动

系统环境

Windows

安装USB转串口驱动,在设备管理器中可以看到以下虚拟串口:

Windows驱动安装

macOS

安装USB转串口驱动,在dev目录下可以看到以下虚拟串口:

macOS驱动安装

开发工具

下载命令行工具

打开示例应用

下载示例应用代码包

这里通过一个简单的LED闪灯的用例来介绍。

下载应用代码包,LED闪灯用例的代码目录如下所示:

app
├── app.json    # 应用与板级配置
└── app.js      # 用户代码

参考硬件资源介绍,已经在app.json中配置好User LED灯对应的port口为33。

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

在app.js中的用例逻辑如下:首先根据LED灯的配置创建一个GPIO实例,然后启动定时器,周期性的通过GPIO读写接口开关LED灯,并读取开关状态。

var gpio = require('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);
  
  vol = led.readValue();
  console.log('gpio: led get value ' + vol);  
}, 1000);

应用代码热更新到目标硬件

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

本地热更新

在线热更新

  • 在线热更新不涉及单板模式的切换,可直接参考应用热更新完成,更新完成后自动执行应用

应用示例运行后,可以观察到User LED灯按照每秒钟一次的频率闪烁。

应用热更新

附录

硬件资源介绍

开发板示意图2

硬件资源映射表

功能/接口

PIN/IO 资源映射表

轻应用 port 配置

I2C0

SDA(IO50)

SCL(IO49)

0

SPI0

MISO(IO35)

MOSI(IO36)

SCK(IO33)

0

ADC0

A0

0

ADC1

A1

1

UART0

默认板级日志打印

0

UART1

TXD(IO54)

RXD(IO53)

1

UART2

用户串口/REPL串口

TXD(IO52)

RXD(IO51)

2

GPIO

IO51

IO52

IO17

IO16

IO59

IO121

IO54

IO53

IO124

IO122

IO34

IO36

IO35

IO33

IO57

IO0

IO1

D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

D12

D13

D14

D15

D16

功能列表(部分)
  • 文件系统 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 参考示例
{
  "io": {
    "I2C0": {
      "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
    },
    "UART1":{
      "type":"UART",
      "port":1,
      "dataWidth":8,
      "baudRate":115200,
      "stopBits":1,
      "flowControl":"disable",
      "parity":"none"
    },
    "UART2":{
      "type":"UART",
      "port":2,
      "dataWidth":8,
      "baudRate":115200,
      "stopBits":1,
      "flowControl":"disable",
      "parity":"none"
    },
    "SPI0":{
      "type":"SPI",
      "port":0,
      "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": "output",
      "pull": "pulldown"
    },
    "D3": {
      "type": "GPIO",
      "port": 16,
      "dir": "output",
      "pull": "pulldown"
    },
    "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": 0,
      "dir": "output",
      "pull": "pulldown"
    },
    "D16": {
      "type": "GPIO",
      "port": 1,
      "dir": "output",
      "pull": "pulldown"
    },
  },
  "debugLevel": "DEBUG"
}

FAQ

硬件相关问题

多路UART的使用

faq

将电脑和硬件开发板的Debug&User UART通过USB转串口线连接,然后安装USB转串口驱动,PC端可以看到两个虚拟串口,其功能及说明如下所示

虚拟串口名称

串口速率

功能说明

1

下载串口

115200

单板在下载模式中,该串口用于本地更新固件;单板在运行模式中,该串口用于REPL调试;

2

调试串口

115200

串口打印日志单板复位后,该串口会有大量日志输出,可用于区分下载串口

下载/运行模式

通过控制Download&Run开关,单板可以在下载模式和运行模式之间切换。单板下载模式中,不会执行应用程序,只会等待接收下载串口传过来的应用代码;单板位于运行模式中,会正常执行应用程序。

下载运行模式

  • 下载模式

Download&Run开关拨到DL侧,然后按下复位键,重启完成后,单板进入下载模式

  • 运行模式

Download&Run开关拨到RUN侧,然后按下复位键,重启完成后,单板进入运行模式