HaaS531 DTU

531-1

产品简介

HAAS531是一款基于4G CAT1传输的无线数据采集终端。支持DI开关量输入,支持模拟量AI采集,支持DO继电器输出,支持RS485/RS232接口。采用工业化设计,接口隔离保护,是一款高可靠的物联网产品。

产品特点:

  • 工业级处理器Cortex-A5@500MHz ,1MB SRAM,1MB Flash

  • 支持外挂16MB Flash存储空间

  • 支持LTE-TDD、LTE-FDD、GSM

  • 支持GPS+BEIDOU定位

  • 系统硬件看门狗设计,稳定可靠

  • 支持DC918V,或者DC1836V或者DC9~30V多种宽电压输入;

  • 支持2路隔离RS485/RS232

  • 支持光耦输入8路DI

  • 支持模拟量隔离输入2路AI

  • 支持4路DO继电器输出

  • 多指示灯,运行状态灯和网络指示灯

功能特点

  • 工业级设计: 工作温度-30℃~70℃

  • 电源接口: DC918V,或者DC1836V或者DC9~30V,隔离保护防反接

  • 接口保护:全部接口隔离设计,ESD保护

  • 防护等级:按照IEC61000测试,三级EMC

  • 数据存储:16MB数据存储空间

  • 二次开发:支持AliOS Things轻应用框架,可通过JS脚本完成二次开发

  • 支持协议:支持标准Modbus RTU、支持读取、写入操作

  • 支持DI输入:支持光电开关,霍尔开关,支持工厂计件统计

  • 网络平台:阿里云物联网平台、乐舜物联网平台

  • 网络协议:MQTT、HTTP、TCP、UDP、NTP等

  • 定制开发:可协议定制开发,支持AliOSThings二次开发

  • 接入网络:支持阿里云IoT云鹰智能卡。

  • 远程维护:OTA远程升级

产品尺寸

531-2

96*140(mm*mm),不含挂耳

接口说明

531-3531-4

产品名称

4G CAT1 RTU 基础版本

全隔离版本

选配选项

产品型号

HAAS531-N(普通)

HAAS531-E(隔离)

主处理器

Cortex-A5@500M 8M flash, 500K SRAM

Cortex-A5@500M 8M flash, 500K SRAM

存储器

外置16Mbyte

外置16Mbyte

操作系统

实时RTOS操作系统

实时RTOS操作系统

外部接口

 

 

 

 

DI输入

9PIN, DI 8路IO光耦输入(需要外部24V配电)

9PIN, DI 8路IO光耦输入(需要外部24V配电)

AI输入

2路ADC 0~5V ,隔离保护

DO输出

4路继电器输出 5A 250VAC;5A 30VDC

4路继电器输出 5A 250VAC;5A 30VDC

RS485/RS232

默认2路485;保护设计

默认2路485;隔离保护设计

可选1路485,1路232;下单时需说明

4G 速率

LTE FDD Rel.13: 10Mbps DL/5Mbps UL LTE TDD Rel.13 : 8.2Mbps DL/3.4Mbps UL GPRS: 85.6Kbps DL/85.6Kbps UL

LTE FDD Rel.13: 10Mbps DL/5Mbps UL LTE TDD Rel.13 : 8.2Mbps DL/3.4Mbps UL GPRS: 85.6Kbps DL/85.6Kbps UL

电源

电源2PIN,预留DC 5.5cm接口,防反接,保护设计

电源2PIN,预留DC 5.5cm接口,防反接,隔离保护

指示灯

4路, POWER,NET,WORK(可编程),LINK(可编程)

4路, POWER,NET,WORK(可编程),LINK(可编程)

SIM卡槽

Nano SIM卡槽/贴片卡兼容设计(默认贴片卡)

Nano SIM卡槽/贴片卡兼容设计(默认贴片卡)

需下单时说明

GNSS

GPS+BeiDou

AGNSS功能

选配

SMA接口

2个SMA接口,4G天线和GPS天线,当选择无GNSS版本时,GPS天线无效(默认不含)

2个SMA接口,4G天线和GPS天线,当选择无GNSS版本时,GPS天线无效(默认不含)

GNSS选配

按键

2个,系统保留

2个,系统保留

电气性能

 

 

 

 

电源输入

DC 9~30V

DC 9~18V

功耗

12V@120mA

12V@120mA

工作温度

-30℃~70℃

-30℃~70℃

电磁干扰

按照IEC61000-4-2

按照IEC61000-4-2

工作湿度

5%~95%相对湿度(非冷凝)

5%~95%相对湿度(非冷凝)

震动环境

可靠工作在频率5Hz~20Hz范围内,0.96m²/s³

可靠工作在频率5Hz~20Hz范围内,0.96m²/s³

大气压力

70kPa~106kPa

70kPa~106kPa

外观特征

 

 

 

 

尺寸

10*14.9cm

10*14.9cm

重量

370克(不含配件,外包装)

370克(不含配件,外包装)

备注:1.全隔离中未描述项表示和基础版本一致

电源接口

基础保护版本:DC9~30V输入,最大值36V

隔离保护版本:DC9~18V输入(默认),最大值20V(18~36V版本需定制)

串口

基础保护版本:默认提供2路RS485接口,无电气隔离。

隔离保护版本:默认提供2路隔离RS485接口。

注:订购时可选择1路RS232加1路RS485版本

天线接口

2个SMA接口,4G天线和GNSS天线

按键

预留2路按键功能

数字量DI输入

支持8路光耦输入,板子不提供配电。

输入PNP: 接入两线,DI.n 接外部信号,XCOM接外部地

输入NPN或者干接点:接入两线,DI.n接外部信号,XCOM接外部地

531-5

模拟量AI输入

支持2路0~5VDC 单端输入。

继电器DO输入

支持4路继电器输出,5A 250VAC;5A 30VDC

产品应用

  • 实验室设备监控

  • 自动售货机制造

  • 共享设备改造

  • 车间机器远程监控

  • 仪器仪表采集远程监控

  • 环保、水处理采集远程监控

  • 电力设施采集远程监控

开发环境搭建

HaaS531 仅支持在windows环境下进行开发。

连接设备

531-6

通过USB转485数据线连接HaaS531的COM1 485接口。

热更新

热更新详细可参考《开发环境--命令行工具》章节。

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

本地更新

推送脚本到设备

./amp.exe serialput ./app COMXX -m duktape -b 9600  

/* serialput 是选择本地热更新 */
/* app 是 JavaScript应用脚本目录 */
/* COMXX 是日志串口号,此处填写USB转485数据线的串口号 */
/* -m duktape HaaS531 选择JS Engine 为 duktape */
/* -b 9600  HaaS531 串口波特率为 9600 */

执行推送命令的时候需要关闭日志串口

  • HaaS531 断电再上电

  • 等待脚本传输完成,打开日志串口观察脚本运行情况

示例代码

app.js中的用例逻辑如下:控制 HaaS531 的继电器周期性打开、关闭。

var relay = require('./relay');

relay.init();

setInterval(function() {
    console.log('relay all on');
    relay.setAll("on");
    sleepMs(5000);

    console.log('relay all off');
    relay.setAll("off");
    sleepMs(5000);
}, 10000);

relay.js 为继电器驱动代码

/*
 *
 * 使用方法:
 * 通过HaaS531 SPI来控制74HC595的移位操作,
 * 一次操作8个IO,低4位对应Q0~Q3继电器,比如0x0C
     0   0   0   0   1   1   0   0
     Q7  Q6  Q5  Q4  Q3  Q2  Q1  Q0
 *
 * 步骤:
 * 1.初始化SPI2 模式0,时钟SCK空闲时0,上升沿有效。
     RCK = 0 低电平

 * 2.增加OE引脚控制595芯片使能,对应PIN24(电路设计上0 无效,1 使能)
 * 3.OE=1,使能
 * 4.通过SPI发送数据0x0F
 * 5.拉低RCK 延时60us,拉高RCK
 * notice: 时钟频率,建议在us级别,SPI 1MHz
 *                    74HC595输出1,继电器导通
 *
 */

var spiRequire = require('spi');
var gpio = require('gpio');
var spi;
var gpio_rck;
var gpio_oe;
var stu = 0x00;

var init = function() {
    spi = spiRequire.open({
        id: 'SPI2'
    });

    gpio_oe = gpio.open({
        id: 'GPIO_OE'
    });

    gpio_rck = gpio.open({
        id: 'GPIO_RCK'
    });
};

var sendByte = function(d) {
    if (d == undefined) {
        return;
    }
    spi.write(d);
};

var set = function(ch, status) {
    gpio_oe.writeValue(1);
    sleepMs(1);
    if (status === "on") {
        stu = (1 << ch) | stu;
    }
    else if (status === "off") {
        stu = ~(1 << ch) & stu;
    }
    else {
        console.log('parameter status is illeagal');
        return;
    }

    if (ch < 0 || ch > 7) {
        console.log('parameter ch is illeagal');
        return;
    }
    var data =[stu];
    sendByte(data);
    gpio_rck.writeValue(0);
    sleepMs(1);
    gpio_rck.writeValue(1);
    sleepMs(1);
};

var setAll = function(status) {
    for (var i = 0; i < 4; i++) {
        set(i, status);
    }
}
console.log('relay module init success');

module.exports = {
    init:   init,
    set:    set,
    setAll: setAll
}

继电器控制单元在 app.json 定义如下。

{
  "version": "1.0.0",
  "io": {
   "SPI2":{
      "type":"SPI",
      "port":1,
      "mode":0,
      "freq":1000000
    },
    "GPIO_OE": {
        "type": "GPIO",
        "port": 24,
        "dir": "output",
        "pull": "pulldown"
    },
    "GPIO_RCK": {
        "type": "GPIO",
        "port": 27,
        "dir": "output",
        "pull": "pulldown"
    }
  },
  "debugLevel": "DEBUG"
}