国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1286|回復: 0
打印 上一主題 下一主題

BMG8200系列智慧桿智能網關 二次開發教程

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2020-11-25 10:08:37 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

佰馬BMG8200網關,是佰馬科技專為智慧路燈桿、智能燈桿、5G路燈桿、多功能桿等場景應用而研發的智能網關,配置7路LAN口、1路WAN口、4路POE供電、2路千兆光口等,具有強大的交流與直接電源供給能力、設備接入能力、通信協議轉換、運算處理能力、聯動控制能力。智慧燈桿上眾多設備包括:智能照明、視頻監控、環保監測、氣象監測、LED 顯示屏、無線 WIFI 覆蓋、 公共廣播、一鍵報警,充電樁,微基站等,可以通過BMG8200 網關一站式接入。

智慧燈桿網關融入智能網關、邊緣計算等功能模塊,高性能的工業級ARM高端處理器,Linux 操作系統,集成Python開發環境和C語言開發環境,提供標準API接口及開發指導,為用戶的二次應用開發提供穩定快捷的平臺。

二次開發要求
此文檔只適用于佰馬科技智慧桿網關BMG8200,開始二次開發之前,請務必確認手上的設備是BMG8200系統智能網關。

操作系統要求:
64位CPU,2G內存,10G硬盤
二次開發只能在centos,redhat,ubuntu等linux系統,無法在windows系統上開發。

編程語言要求:
二次開發只能使用C、C++開發;需要開發者熟練掌握socket,linux設備文件操作。

軟件接口說明
1.串口對應設備文件
    a)  RS485對應的設備接口是/dev/ttyS1

2.讀取adc
    int read_adc_raw(int adc_num)
    參數說明:
    adc_num: 取值1,2,用來指示讀取哪一路adc
    返回值:返回一個0~4096的原始值
    假設返回值是X,需要使用公式Y =(X/4096)*6.72 轉化成實際電壓

3.設置GPIO輸入,輸出方向
    int gpio_set_dir(unsigned int gpio_num, unsigned int dir)
    參數說明:
    gpio_num:  取值GPIO_DI1,GPIO_DI2或者GPIO_RELAY1, GPIO_RELAY2,指示要操作哪一路gpio
    dir:  取值DIR_IN,DIR_OUT,控制要配置成輸入,還是輸出
    返回值:
    配置成功返回1,配置失敗返回0

4.獲取GPIO的值:
    int gpio_get_val(unsigned int gpio_num, unsigned int *val)
    gpio_num:  取值GPIO_DI1,GPIO_DI2或者GPIO_RELAY1, GPIO_RELAY2,指示要操作哪一路gpio
    val: 對應gpio的值,有0,1兩個取值
    返回值:
    獲取成功返回1,獲取失敗返回0

5.配置GPIO的值
    int gpio_set_val(unsigned int gpio_num, unsigned int val)
    gpio_num:  取值GPIO_DI1,GPIO_DI2或者GPIO_RELAY1, GPIO_RELAY2,指示要操作哪一路gpio
    val:只能0或者1,其它值無法配置
    返回值:
    配置成功返回1,配置失敗返回0

編碼編譯
準備交叉編譯環境
如要您已經拿到我司的交叉編譯工具,那么可以先把交叉編譯工具拷貝到linux系統。
現假設您已經把交叉編譯工具拷貝到linux系統,比如拷到/opt/,接下來是解壓縮交叉編譯工具:
tar xzvf BMG8200_toolchain.tgz –C /opt/

配置交叉編譯環境:
export PATH=$PATH:"/opt/staging_dir/toolchain-mipsel_24kc_gcc-7.3.0_musl/bin/"
在命令行輸入命令:
mipsel-openwrt-linux-gcc,如果命令可以運行, 說明編譯環境已經正常

一個簡單的例子:
下面以一個簡單例子來說明如果進行網關二次開發:
比如現在要讀取adc1的電壓值,DI1的開關量,控制繼電器閉合,代碼如下:

#include
#include
#include    /* 必須 include , GPIO_DIx, GPIO_RELAYx定義在這個頭文件 */

int main(void)
{
    int ret;
    int raw_adc;
    float voltage;
    unsigned int val;

    printf("start to test \n");

    raw_adc = read_adc_raw(1);  /* 讀ADC通道1 */
    printf("raw adc 1 value is %d\n", raw_adc);
    voltage = (float)raw_adc / 4096;
    voltage *= 6.72;
    printf("adc1 voltage is %.3f\n", voltage);

    ret = gpio_set_dir(GPIO_DI1, DIR_IN);  /* 配置DI1為輸入 */
    if (ret == 1) {
        ret = gpio_get_val(GPIO_DI1, &val);
        printf("GPIO_DI1 value is %d\n", val);
    } else {
        printf("Fails to set di dir %d\n", GPIO_DI1);
    }

    ret = gpio_set_dir(GPIO_RELAY1, DIR_OUT);  /* 配置RELAY1為輸出 */
    if (ret == 1) {
        val = 1;
        ret = gpio_set_val(GPIO_RELAY1, val);
    } else {
        printf("Fails to set relay dir %d\n", GPIO_RELAY1);
    }

    return 0;
}

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-gcc

CFLAGS=-I $(INCLUDE_DIR)
LDFLAGS=-L $(LIB_DIR)

all: test

%.o:%.c
    $(CC) $(CFLAGS) -c -o $@ $^

test: test.o
$(CC) $(LDFLAGS) -o $@ $^ -lgpio

我司會提供該程序代碼;您可以在該示例代碼上直接修改。
如果上面的交叉編譯環境配置好了,那么直接make,會生成test的可執行程序,如下圖:


編譯好的可執行文件test現在可以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加上該程序,如下圖:

后面的&是必須的

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品aaa国产福利| 在线日韩不卡| 五月婷婷丁香在线视频| 四虎影院最新入口| 4438全国免费观看| 国产三级在线观看视频| 欧美午夜免费观看福利片 | 男人团apk| 欧美美女在线观看| 思思久久96热在精品国产免费| 午夜不卡视频| 一个人的视频www片免费| 公开超碰在线视频| 皮皮在线精品亚洲| 亚洲痴女| 日韩免费大片| 校花的第一次好紧好爽| 99在线免费观看| 免费精品国产人妻国语| 在线日本高清日本免费| 欧美在线视频观看| 视频国产91| 北条麻妃夫の友人196| 性春院| 午夜影院福利| 天天做夜夜爽| 曰本在线网| 女人张腿让男人桶免费| 亚洲激情 欧美| 日韩精品在线免费观看| 自拍欧美亚洲| 中文字幕乱理片免费完整的| 欧美丰满熟妇BBB久久久| 欧美专区一区| 日韩中文字幕网站| 亚洲黄v| 国产精品99久久久久久AV蜜臀| 亚洲一区在线观看无码欧美| 色天天综合色天天看| 亚洲wuma| 2020亚洲 欧美 国产 日韩|