天天看點

HaaS600 Kit

本頁目錄

系統環境

第一個輕應用示例

附錄

更多示例代碼

HaaS600 Kit

HaaS600 Kit

HaaS600 Kit 是一款基于 HaaS600系列模組評估的高成本效益開發闆。可應用于共享控制、金融支付、智能語音、泛工業等場景的智能硬體産品開發。

HaaS600 Kit 套件包含以下物料:

· 開發闆 x 1

· micro-USB線纜 x 1

· 5V/2A電源擴充卡 x 1

· 4G天線 x 1

· GPS天線 x 1

連接配接裝置

按照下圖所示将開發電腦跟裝置的調試/使用者序列槽通過MicroUSB連接配接,連接配接後,将在PC裝置管理器中出現兩個序列槽,分别用于調試和使用者序列槽輸入輸出。

HaaS600 Kit

安裝USB轉序列槽驅動

· Windows XP/Vista

· Windows7/8/8.1

· Windows10

· MacOS

安裝完成之後,在裝置管理器中可以看到以下虛拟序列槽:

Windows

HaaS600 Kit

MacOS

HaaS600 Kit

Note:

1.不同的電腦生成的序列槽号和名稱不一樣,以實際生成的為準。

2.生成的兩個序列槽,一個是debug序列槽(檢視運作日志,隻讀),另一個是使用者序列槽(JavaScript互動式解釋器或其他用途)

開發工具

輕應用開發使用一套指令行工具管理和推送應用腳本到裝置。

下載下傳指令行工具:

· Mac版

· Windows版

Mac版需要設定執行權限:chmod +x ./amp

請參考:指令行工具

将指令行工具解壓到工作目錄,如圖所示對應檔案

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

· 檢視裝置連接配接狀态

在指令行工具下使用該指令檢視裝置連接配接狀态

./amp.exe seriallist
COM194
COM195           

如果傳回值跟裝置管理器中生成的一緻,說明裝置連接配接和指令行工具運作正常

指令行工具預設示例代碼運作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訓示燈間歇性雙閃,如下圖,說明裝置已經進入本地下載下傳模式。

HaaS600 Kit

· 通過amp工具推送應用代碼到裝置

./amp.exe seriallist
COM194
COM195

./amp.exe serialput ./app COM194           

Windows環境下,熱更新指令的序列槽号需要大寫。

· 切換到運作模式(RUN)并複位

· 運作效果如圖:

HaaS600 Kit

線上熱更新

在已插SIM卡有網絡連接配接的情況下,也可參考線上應用熱更新推送輕應用代碼到目标裝置。

硬體資源介紹

HaaS600 Kit
硬體資源映射表
HaaS600 Kit

功能清單(部分)

· 檔案系統 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"
}           

· Git 倉庫:

https://gitee.com/alios-things/amp-examples/tree/master/board/HaaS600Kit

· 打包下載下傳(需注冊gitee賬号):

https://gitee.com/alios-things/amp-examples/repository/archive/master.zip

繼續閱讀