佰馬BMG8200系列4G/5G智能網關,專為智慧桿物聯(lián)網應用研發(fā),具備豐富功能接口,擁有強大供電管理能力,方便智慧桿物聯(lián)網設備實現(xiàn)一站式對接、通信、數(shù)據(jù)采集&轉發(fā)、邊緣計算、供電管理、遠程控制、自主策略執(zhí)行等。是打造智慧桿物聯(lián)網系統(tǒng)的重要核心。本篇是BMG8200系列4G/5G智能網關的二次開發(fā)說明。
開發(fā)要求
此文檔只適用于設備BMG8200,開始開發(fā)之前,請務必確認手上的設備是BMG8200。
操作系統(tǒng)要求:64位CPU,2G內存,10G硬盤
二次開發(fā)只能在centos,redhat,ubuntu等linux系統(tǒng),無法在windows系統(tǒng)上開發(fā)
編程語言要求:二次開發(fā)只能使用C、C++開發(fā);需要開發(fā)者熟練掌握socket,linux設備文件操作。
軟件接口說明
1.串口對應設備文件
a)RS485_1對應的設備接口是/dev/ttyS2,
b)RS485_2對應的設備接口是/dev/ttyS1
編碼編譯
準備交叉編譯環(huán)境
如要您已經拿到我司的交叉編譯工具,那么可以先把交叉編譯工具拷貝到linux系統(tǒng)。
現(xiàn)假設您已經把交叉編譯工具拷貝到linux系統(tǒng),比如拷到/opt/,接下來是解壓縮交叉編譯工具:
tar xzvf staging_dir.tgz –C /opt/
配置交叉編譯環(huán)境:
export PATH=$PATH:"/opt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/bin/"
在命令行輸入命令:mipsel-openwrt-linux-musl-gcc, 說明編譯環(huán)境已經正常
一個簡單的例子:
下面以一個簡單例子來說明如果進行二次開發(fā),代碼如下:
#include <stdio.h>
#include <string.h>
{
printf(“start to test\n”);
printf(“hello world\n”);
}
Makefile的內容如下:
LIB_DIR=/opt/staging_dir/target-mipsel_24kc_musl/usr/lib/
INCLUDE_DIR=/opt/staging_dir/target-mipsel_24kc_musl/usr/include
CC=mipsel-openwrt-linux-musl-gcc
CFLAGS=-I $(INCLUDE_DIR)
LDFLAGS=-L $(LIB_DIR)
all: test
%.o:%.c
$(CC) $(CFLAGS) -c -o $@ $^
test: test.o
$(CC) $(LDFLAGS) -o $@ $^
我司會提供該程序代碼;您可以在該示例代碼上直接修改。
如果上面的交叉編譯環(huán)境配置好了,那么直接make,會生成test的可執(zhí)行程序,如下圖:
編譯好的可執(zhí)行文件test現(xiàn)在可以tftp到設備主板上運行,比如你的電腦IP是192.168.1.10;(注:路由器通過網線與電腦相連,接LAN口中的任何一個)
a. 那么先在你的電腦上運行tftpd32程序,把當前目錄改成test文件所在的目錄
b. telnet 192.168.1.1到設備,默認用戶名跟密碼都是admin
c. 運行命令tftp –r test –g 192.168.1.10 //下載test到設備
d. chmod a+x test //修改程序為可運行
e: ./test //運行程序
如果程序調試OK,可以把該程序放到/usr/bin/目錄下
f. 如果要把該程序配置成開機運行,那么只要在/etc/rc.local加上該程序,如下圖:
后面的&是必須的
佰馬Baimatech,集M2M產品研發(fā)、IoT平臺服務、國際化運營于一體,讓我們聯(lián)接,共創(chuàng)未來