• 华林优配

    华林优配BMG700边缘计算网关二次开发指导书

    • 时间 :2020-11-30
    • 作者 :华林优配科技
    • 浏览数 :3371

    BMG700边缘计算网关二次开发指导书.png


    目录


    1. 获取温湿度(硬件设备为sht10)

    2. 获取大气压(硬件设备为bmp180)

    3. 读取ADC值(硬件设备为ms1112)

    4. 状态灯控制(硬件设备为pcal6416)

    5. GPIO控制

    5.1输出设置

    5.2输入设置

    5.3读取输入gpio电平

    6. COM口

    7. 相关结构体定义



    1.获取温湿度(硬件设备为sht10)

        原型:int get_humidity_tempareture(sht10_st *value)

        参数:sht10_st结构体指针,读取的结果填充该结构体。结构体定义见后面

        返回值:0-成功,-1 - 参数错误,-2 - 设备节点不存在,-3 - 读取失败



    2.获取大气压(硬件设备为bmp180)

        原型:int get_pressure_temparature(atmos_st *value)

        参数:atmos_st结构体指针,读取的结果填充该结构体。结构体定义见后面

        返回值:0-成功,-1 - 参数错误,-2 - 设备节点不存在,-3 - 读取失败



    3.读取ADC值(硬件设备为ms1112)

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

        参数:channel_no - 通道 (取值范围1-8),int型指针-adc采样结果。

        返回值:0-成功,-1 - 参数错误,-2 - 设备节点不存在,-3 - 读取失败


    注意:该函数是读取原始的adc数据,还需要将adc值转为对应的输入采样电压。

              输入电压 = ( (*value) * 2.048)/32768/0.4,单位= V



    4.状态灯控制(硬件设备为pcal6416)

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

        参数: led_no - led编号,enable - led设置状态

        返回值:0-成功,-1 - 参数错误,-2 - 设备节点不存在,-3 - 设置失败



    5.GPIO控制

        5.1输出设置

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

            参数:gpio_no - gpio编号,state - 0 输出低电平,1 - 输出高电平

            返回值:0-成功,负数-失败


        5.2输入设置

            原型:int gpio_direction_input(int gpio_no)

            参数:gpio_no-gpio编号

            返回值:0-成功,负数-失败


        5.3读取输入gpio电平

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

            参数:gpio_no - gpio编号,int型指针-存放读取结果,*gpio_state=0 输入低电平

                        *gpio_state =1 输入高电平

            返回值:0-成功,负数-失败


    注意:该部分GPIO为应用层设置底层gpio状态,需要先在内核将对应的管脚注册为普通gpio功能,应用层才可以进行操作。



    6.COM口

       Com口可以直接用文件操作函数处理(open/read/write/close等),各com口对应的设备节点如下:

       Com2-"/dev/ttymxc1"

       Com3-"/dev/ttymxc2"

       Com4-"/dev/ttymxc3"

       Com5-"/dev/ttymxc6"

       Com6-"/dev/ttymxc4"

       Com7-"/dev/ttymxc5"


    7.相关结构体定义

    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;


    typedef struct{

    int temperature;

    int pressure;  //单位:Pa

    }atmos_st;


    typedef struct{

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

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

    }sht10_st;


    联系我们
    联系我们

    华林优配Baimatech,集M2M产品研发、IoT平台服务、国际化运营于一体,让我们联接,共创未来