硬件接线中将5-3.3v电压转换模块的电源线同某一感应模块的电源线绑在一起,实现同时插拔。通过检测电压转换模块连接的GPIO口电平状态,即高电平时说明其绑定的感应模块也插上了。
网络端的设备则根据net_pro线程中对net_flag的动态修改结果,将网络设备加入链表
dev_pro.h
#ifndef __SL2000_DEV_PRO_H
#define __SL2000_DEV_PRO_H
int dev_update(int *fd,char dev_type,char flag,char * dev_file);
void * dev_pro(void * arg);
#endif
dev_pro.c
#include "config.h"
#include "dev_pro.h"
extern struct sys_all g_dev[1];
extern struct sys_dev * head_node;
extern struct dev_fd g_dev_fd;
extern unsigned char net_flag;
void * dev_pro(void * arg)
{
int fd=-1;
int i;
int old_count=0;
char da[4];//0-光感;?-声音;?-继电器1;3-继电器2
fd=open(SEARCH_DEV,O_RDWR);
if(fd<0){
printf("open %s device err...\n",SEARCH_DEV);
return 0;
}
old_count=g_dev->count_dev;
g_dev_fd.relay1_fd=-1;
g_dev_fd.relay2_fd=-1;
g_dev_fd.pir_fd=-1;