蓝狮在线BM-A6系列AI智能网关,是一款工业级5G千兆网关,CPU采用四核64位Cortex-A55处理器,主频高达2Ghz,支持丰富AI算法,赋能各行业智能分析联动控制应用。为客户提供便捷的设备接入、算力支撑、算法配置、应用升级等功能,具有轻量化、高性能、低功耗、接入便捷、易于扩展等特点。
蓝狮BM-A6系列AI智能网关具备3路千兆LAN口、1路千兆WAN口、1路USB 3.0、1路RS232(复用其中1路RS485)、6路RS485,2路继电器,3路开关量输入,2路受控电源输出,标配支持TF卡、WiFi 6 、HDMI输出,可选配单模双卡、AI加速芯片、安全加密芯片、外接硬盘(M2.0标准接口,最大支持2T固态硬盘)、超级电容等.
该系列产品可帮助用户快速接入高速互联网,实现安全可靠的数据传输。该系列网关具有设备具有多功能性、稳定性和可扩展性,超强边缘计算、易于二次开发等优点。广泛应用于智慧城市、智能交通、工业物联网等场景。
BM-A6系列AI智能网关Ubuntu系统二次开发指南
1、蓝狮BM-A6系列AI智能网关硬件资源如下:
2、蓝狮BM-A6系列AI智能网关接口设备文件说明
蓝狮BM-A6系列AI智能网关支持对串口,DO, DI开次开发。串口,DO, DI在Linux系统中均以设备文件的形式出现。支持标准的Linux文件操作。用户可以使用open, read, write, close等标准Linux API对设备文件进行操作。下面介绍各种接口对应的设备文件。
(1)RS485/RS232
蓝狮BM-A6系列AI智能网关包含6个RS485串口,其中一个RS485串口与RS232复用。各个串口对应的设备文件如下:
(2)DI/DO(继电器)
蓝狮BM-A6系列AI智能网关支持2路DO,3路DI。DI/DO对应的设备文件如下:
目前两路继电器默认是常开的,如果要闭合,只要对设备文件下的value操作即可。如要闭合继电器1,可以下命令:
echo 1 >/sys/class/gpio/relay1/value
反正要断开,只要写入0即可。
如果想要读取DI的状态,读取value的值。如要读取DI1的值,可以下命令:
cat /sys/clase/gpio/di1/value
如果输出的值为1,说明DI接地,否则是悬空。
3、Ubuntu系统二次开发指南
(1)登陆设备
蓝狮BM-A6系列AI智能网关支持telnet, ssh,debug串口三种登陆设备方式。如果有串口线,可以接debug口。如果有网线,可以用telnet或者ssh。
假如你的电脑接设备的LAN口,接下来就可以在你的PC命令行中下telnet 192.168.1.1或者ssh [email protected] 以登陆设备,默认用户名/密码是admin/admin.
使用sudo –s进入超级用户模式。超级用户的密码也是admin
(2)设备联网
蓝狮BM-A6系列AI智能网关支持以太网(WAN)口,与4G/5G两种联网方式。WAN口接入一台可以上网的设备,或者设备接SIM卡,接天线,设备即可上网。用ping 8.8.8.8验证一下设备是否可以上网。
(3)安装gcc
默认系统是不带gcc,用户可以通过apt install安装.命令如下:
sudo apt update
sudo apt install gcc
sudo apt install make
安装完gcc,即可设备的C语言二次开发。 用户也可以使用python开发,默认自带python
一个例子
比如写一个读取DI的程序,如下:
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
void main(int argc, char *argv[])
{
int fd;
int ret;
char path[128];
char buff[32] = {'\0'};
if (argc < 2) {
printf("not enough parameter, should great 2 \n");
return;
}
snprintf(path, sizeof(path), "/sys/class/gpio/sd_/value", argv[1]);
fd = open(path, O_RDONLY);
if (fd < 0) {
printf("Fails to open sd_\n", path);
return;
}
ret = read(fd, buff, sizeof(buff));
if (ret <= 0) {
printf("Fails to read\n");
close(fd);
return;
}
ret = atoi(buff);
printf("DI value is %d\n", ret);
close(fd);
}
把代码保存成main.c, 接下来,就可以用gcc –o test main.c编译生成一个可执行程序test.
可用./test di1来测试di的值