基于IAIDL 的家庭网关设计与实现
规则进行推理,用户如果需要选择信息家电间智能协作方式,可以在远程终端或客户端通过浏览器界面使用该系统,由推理机对协作规则匹配、比较得到判断结果,将结果以HTML 页面形式反馈到用户端,专家协作系统推理正确后会调用与协作相关的信息家电API 接口来实现信息家电间的智能协作。下列语句是几个信息家电协作的规则。
If (电视机 on) then DVD on;
If (门打开) (time=17:30), then 灯打开;
4.4 嵌入式数据库MySQLite 设计及实现
家庭网关数据库MySQLite 中包含有三种类型的数据表:用户信息表、协作规则库表和家电信息表。用户信息表用于存储用户名称和密码,以保证家庭网关的使用安全。协作规则库表用于存储可以智能协作的信息家电组信息,以及家电之间协作的动作及规则。家电信息表主要存储家电的运行状态数据,主要与家电控制程序controller 、查询程序query 进行交互。下面的代码主要说明在家庭网关应用程序中是如何将客户的注册信息,通过CGI 程序写入数据库文件IA_db 中表users 中的。
#include sqlite.h> // 其它头文件略过2 sqlite *db=sqlite_open(“/home/liwenbo/jx44b0/uClinux_dist/user/mySQLite/IA_db”,0777,errmsg); //打开数据库语句void insert_device_list(char *table_name, int type_id, char *device_name, int device_ip) //用于处理新的信息家电注册信息,将其插入MySQLite 中
基金资助项目名称:传感器网络密钥预分配方案的组合论研究(编号:10571052) 颁发部门:国家自然科学基金委
{ //int i; //i 为最新注册的信息家电id 号 //i=sqlite_last_insert_rowid(db)+1; printf(“/n table_name: %s type_id: %d device_name: %s ip: %d\n”,.
table_name, type_id, device-name, device_ip); qry=sqlite_mprintf(“INSERT INTO users (type_id, device_name, device_ip)” “VALUES(‘%d’,upper(‘%q’),’%q’)”,
type_name, type_id, device_name, device_ip); ret=sqlite_exec(db,qry, NULL, NULL, errmsg); if(ret!=SQLITE_OK)
{
printf(stderr, ”SQL error: %s\n”,errmsg);
}
sqlite_close(db);
}
5.结束语
本实验通过以上代码,已经基本实现了智能家庭网关中几大主要模块的功能,并已经在ARM7 平台上得到模拟实验结果,PC 机能通过浏览器发出家电监控请求,网关通过访问数据库来获得家电最新状态和属性信息;新的家电加入网络时能通过B/S 方式实现其在数据库中的注册;专家协作系统的推理机和数据库中知识库的使用结合,用于实现多个信息家电之间的智能协作。完善之后的系统将是集多种智能管理于一身的智能家庭网关系统,相信会获得很好的市场前景。
2. 6.本文作者创新点
本文在传统网关的设计基础上,加入了适合嵌入式系统的嵌入式数据库(MySQLite); 并创造性地将IAIDL 编译器移植到家庭网关上,解决了不同品牌家电加入智能家居网络时的异构问题;此外,还首次将专家协作系统作为智能家庭网关的一个模块添加进来,实现智能家居中的智能家电协作功能。
设计 实现 网关 家庭 IAIDL 基于 智能家庭网关 编译器专家协作系统 嵌入式 相关文章:
- 直接变频接收机设计可实现多标准/多频带运行(10-11)
- 基于蓝牙芯片的无线通信模块设计与开发(02-03)
- 无线通信网络设计与现场测试(10-10)
- WiMAX数据传输加密方案设计与实现(05-25)
- 高性能TD-SCDMA接收机的设计(03-15)
- 初步设计WiMAX射频系统(03-29)