久久久久久一级片,游客逛长隆发现满地动物饼干,熟女视频一区二区三区老色批,黑人狂躁女人10次高潮视频

邊緣計算網(wǎng)關(guān)(BMG800系列)二次開發(fā)指導(dǎo)手冊

  • 時間 :2020-10-19
  • 作者 :佰馬科技
  • 瀏覽數(shù) :3218

圖片11.jpg


邊緣計算網(wǎng)關(guān)二次開發(fā)指導(dǎo)手冊

庫函數(shù)接口介紹

(適用于:BMG800系列)

 

目錄

 

1. 獲取溫濕度(硬件設(shè)備為sht10) 

2. 獲取大氣壓(硬件設(shè)備為bmp180) 

3. 讀取ADC值(硬件設(shè)備為ms1112) 

4. 狀態(tài)燈控制(硬件設(shè)備為pcal6416) 

5. GPIO控制繼電器

    5.1設(shè)置繼電器狀態(tài)

    5.2 查詢繼電器狀態(tài)

6. DI控制操作

7. COM口



BMG800邊緣計算網(wǎng)關(guān),是一款功能強大的智能網(wǎng)關(guān)。該系列網(wǎng)關(guān)盒子,采用工業(yè)級ARM處理器, DDR3 內(nèi)存最大1GB(可選),和大容量 FLASH,為邊緣節(jié)點業(yè)務(wù)提供強大計算資源, 有效分擔(dān)云端負荷。BMG800系列邊緣計算網(wǎng)關(guān)采用Linux 操作系統(tǒng),集成Python開發(fā)環(huán)境和C語言開發(fā)環(huán)境,提供標準API接口及開發(fā)指導(dǎo),為用戶的二次開發(fā)提供穩(wěn)定快捷的平臺。


圖片22.jpg

邊緣計算網(wǎng)關(guān)二次開發(fā),首先定義的庫函數(shù)、宏定義包含在了libgeneral.so動態(tài)庫中,其次使用時需要包含頭文件:

#include <gpio_ops.h>

#include <i2c-sensor.h>



1. 獲取溫濕度(硬件設(shè)備為sht10)

原型:int get_humidity_tempareture(sht10_st *value)

參數(shù):sht10_st結(jié)構(gòu)體指針,讀取的結(jié)果填充該結(jié)構(gòu)體。結(jié)構(gòu)體定義見后面

返回值:0-成功,-1 - 參數(shù)錯誤,-2 - 設(shè)備節(jié)點不存在,-3 - 讀取失敗

typedef struct{

int humidity;  // 單位:mRH到RH得除以1000

int temperature;//單位:m℃到℃得除以1000

}sht10_st;



2.獲取大氣壓(硬件設(shè)備為bmp180)

原型:int get_pressure_temparature(atmos_st *value)

參數(shù):atmos_st結(jié)構(gòu)體指針,讀取的結(jié)果填充該結(jié)構(gòu)體。結(jié)構(gòu)體定義見后面

返回值:0-成功,-1 - 參數(shù)錯誤,-2 - 設(shè)備節(jié)點不存在,-3 - 讀取失敗

typedef struct{

int temperature;

int pressure;  //單位:Pa

}atmos_st;



3.讀取ADC值(硬件設(shè)備為ms1112)

原型:int adc_channel_get(int channel_no,int *value)

  參數(shù):channel_no - 通道 (取值范圍1-8),int型指針-adc采樣結(jié)果。

返回值:0-成功,-1 - 參數(shù)錯誤,-2 - 設(shè)備節(jié)點不存在,-3 - 讀取失敗


該函數(shù)原始的adc,還需要原始值轉(zhuǎn)為采樣電壓。

采樣電壓 = ( (*value) * 2.048)/32768/0.4,單位= V

若輸入的為電流模式,需進一步換算,輸入電流 = 采樣電壓/250,電流單位為A



4.狀態(tài)燈控制(硬件設(shè)備為pcal6416)

   原型:int led_control_set(led_num_e led_no,led_state_e enable)

   參數(shù): led_no - led編號,enable - led設(shè)置狀態(tài)

 返回值:0-成功,-1 - 參數(shù)錯誤,-2 - 設(shè)備節(jié)點不存在,-3 - 設(shè)置失敗

typedef enum { 

LED_SINGAL_C, 

LED_SINGAL_B, 

LED_SINGAL_A, 

LED_WIRELESS, 

LED_GPS, 

LED_ONLINE, 

}led_num_e; 


typedef enum{

LED_OFF,

LED_ON,

}led_state_e;



5.GPIO控制繼電器

    5.1設(shè)置繼電器狀態(tài)

    原型:int gpio_direction_output(int gpio_no,int state)

    參數(shù):gpio_no: gpio編號,state: 0 斷開(低電平),1 閉合(高電平)

    返回值:0-成功,負數(shù)-失敗


    5.2 查詢繼電器狀態(tài)

    原型:int  gpio_get_value(int gpio_no,int *gpio_state)

    參數(shù):gpio_no: gpio編號,int型指針: 存放讀取結(jié)果,*gpio_state=0 當(dāng)前繼電器斷開(低電平), *gpio_state =1 當(dāng)前繼電器閉合(高電平)

    返回值:0-成功,負數(shù)-失敗


繼電器對應(yīng)的GPIO編號:(內(nèi)核中已經(jīng)注冊了繼電器管腳,可直接用提供的gpio函數(shù)控制):

#define RELAY_1_BY_GPIO  GET_CPU_RELAY_GPIO(3) 

#define RELAY_2_BY_GPIO  GET_CPU_RELAY_GPIO(2) 

#define RELAY_3_BY_GPIO  GET_CPU_RELAY_GPIO(4) 

#define RELAY_4_BY_GPIO  GET_CPU_RELAY_GPIO(1) 

RELAY_1_BY_GPIO - RELAY_4_BY_GPIO分別對應(yīng)繼電器1到繼電器4



6. DI控制操作

DI對應(yīng)的GPIO編號:

#define GPIO(n,x)       ((n-1)*32 + x)

#define GPIO_DI1_IN_EN          GPIO(4,28) 

#define GPIO_DI2_IN_EN          GPIO(4,27) 

#define GPIO_DI3_IN_EN          GPIO(4,26) 

#define GPIO_DI4_IN_EN          GPIO(4,25)

GPIO_DI1_IN_EN - GPIO_DI4_IN_EN分別對應(yīng)DI1到DI4


linux應(yīng)用控制gpio的方法如下:

以下為控制DI1的操作過程參考:

6.1 進入 /sys/class/gpio/ 目錄

6.2 其次如下

    echo 124 > export  

    //124=(4-1)*32 + 28

    //GPIO(n,x)->((n-1)*32 + x)

    //GPIO_DI1_IN_EN->GPIO(4, 28)

6.3 此時會產(chǎn)生一個gpio124 的目錄.

6.4  cd gpio124

6.5 關(guān)注以下幾個文件:

direction     這個文件是控制你是輸出還是輸入模式

                如果想設(shè)置為輸入:echo in > direction

                如果想設(shè)置為輸出:echo out > direction

value        這個文件記錄當(dāng)前狀態(tài)

                為輸出時:

                輸出高電平:echo 1 > value

                輸出低電平:echo 0 > value

                為輸入時:

                當(dāng)前的輸入狀態(tài)

edge         這個控制中斷觸發(fā)模式

                 無: echo none > edge

                上升沿觸發(fā):echo rising > edge

                下降沿觸發(fā):echo falling > edge

                輪詢:echo both > edge

6.6 關(guān)閉這個GPIO控制。

        cd /sys/class/gpio/

        echo 124 > unexport

以上為控制DI1的操作過程參考



7.COM口

各com口對應(yīng)的設(shè)備節(jié)點如下:


   Com2-"/dev/ttymxc1"

   Com3-"/dev/ttymxc2"

   Com4-"/dev/ttymxc3"

   Com5-"/dev/ttymxc6"

   Com6-"/dev/ttymxc4"

   Com7-"/dev/ttymxc5"


Com口可以直接用文件操作函數(shù)處理(open/read/write/close等)進行初始化和讀寫。






聯(lián)系我們
聯(lián)系我們

佰馬Baimatech,集M2M產(chǎn)品研發(fā)、IoT平臺服務(wù)、國際化運營于一體,讓我們聯(lián)接,共創(chuàng)未來