佰馬科技BM-A6系列AI智能網(wǎng)關,是一款工業(yè)級5G千兆網(wǎng)關,CPU采用四核64位Cortex-A55處理器,主頻高達2Ghz,支持豐富AI算法,賦能各行業(yè)智能分析聯(lián)動控制應用。為客戶提供便捷的設備接入、算力支撐、算法配置、應用升級等功能,具有輕量化、高性能、低功耗、接入便捷、易于擴展等特點。
佰馬BM-A6系列AI智能網(wǎng)關具備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固態(tài)硬盤)、超級電容等.
該系列產品可幫助用戶快速接入高速互聯(lián)網(wǎng),實現(xiàn)安全可靠的數(shù)據(jù)傳輸。該系列網(wǎng)關具有設備具有多功能性、穩(wěn)定性和可擴展性,超強邊緣計算、易于二次開發(fā)等優(yōu)點。廣泛應用于智慧城市、智能交通、工業(yè)物聯(lián)網(wǎng)等場景。
BM-A6系列AI智能網(wǎng)關Ubuntu系統(tǒng)二次開發(fā)指南
1、佰馬BM-A6系列AI智能網(wǎng)關硬件資源如下:
2、佰馬BM-A6系列AI智能網(wǎng)關接口設備文件說明
佰馬BM-A6系列AI智能網(wǎng)關支持對串口,DO, DI開次開發(fā)。串口,DO, DI在Linux系統(tǒng)中均以設備文件的形式出現(xiàn)。支持標準的Linux文件操作。用戶可以使用open, read, write, close等標準Linux API對設備文件進行操作。下面介紹各種接口對應的設備文件。
(1)RS485/RS232
佰馬BM-A6系列AI智能網(wǎng)關包含6個RS485串口,其中一個RS485串口與RS232復用。各個串口對應的設備文件如下:
(2)DI/DO(繼電器)
佰馬BM-A6系列AI智能網(wǎng)關支持2路DO,3路DI。DI/DO對應的設備文件如下:
目前兩路繼電器默認是常開的,如果要閉合,只要對設備文件下的value操作即可。如要閉合繼電器1,可以下命令:
echo 1 >/sys/class/gpio/relay1/value
反正要斷開,只要寫入0即可。
如果想要讀取DI的狀態(tài),讀取value的值。如要讀取DI1的值,可以下命令:
cat /sys/clase/gpio/di1/value
如果輸出的值為1,說明DI接地,否則是懸空。
3、Ubuntu系統(tǒng)二次開發(fā)指南
(1)登陸設備
佰馬BM-A6系列AI智能網(wǎng)關支持telnet, ssh,debug串口三種登陸設備方式。如果有串口線,可以接debug口。如果有網(wǎng)線,可以用telnet或者ssh。
假如你的電腦接設備的LAN口,接下來就可以在你的PC命令行中下telnet 192.168.1.1或者ssh admin@192.168.1.1 以登陸設備,默認用戶名/密碼是admin/admin.
使用sudo –s進入超級用戶模式。超級用戶的密碼也是admin
(2)設備聯(lián)網(wǎng)
佰馬BM-A6系列AI智能網(wǎng)關支持以太網(wǎng)(WAN)口,與4G/5G兩種聯(lián)網(wǎng)方式。WAN口接入一臺可以上網(wǎng)的設備,或者設備接SIM卡,接天線,設備即可上網(wǎng)。用ping 8.8.8.8驗證一下設備是否可以上網(wǎng)。
(3)安裝gcc
默認系統(tǒng)是不帶gcc,用戶可以通過apt install安裝.命令如下:
sudo apt update
sudo apt install gcc
sudo apt install make
安裝完gcc,即可設備的C語言二次開發(fā)。 用戶也可以使用python開發(fā),默認自帶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編譯生成一個可執(zhí)行程序test.
可用./test di1來測試di的值
佰馬Baimatech,集M2M產品研發(fā)、IoT平臺服務、國際化運營于一體,讓我們聯(lián)接,共創(chuàng)未來