2026/4/6 9:52:45
网站建设
项目流程
Linux 物联网网关主控系统-Web部分四调用关系总体框架main.htmltop.htmlleft.htmlright.htmlcgi部分调用关系总体框架main.html调用的 HTMLtop.htmlleft.htmlright.html框架集页面加载顶部、左侧、右侧三个子页面top.html调用的 HTML无只加载静态资源不跳转到其他 HTMLleft.htmlenv1.html,调用env1.cgienv2.htmlvideo.html调用capture1.cgicontrol1.html调用zigbee_led.cgizigbee_beep.cgizigbee_fan.cgicontrol2.htmlphoto.htmlpicture1.cgisetting1.html调用cgi-bin/set_msg.cgicgi-bin/set_wifi.cgisetting2.htmlsetting_user.htmlright.html调用无cgi部分模块包含文件核心功能CGI基础库cgic.ccgic.h所有网页交互的基础用户管理login.c、regist.c、user.db、sqlite3.h登录/注册环境监控env1.c、env2.c、data_global.h、sem.h共享内存读取实时数据摄像头capture1.c抓拍照片图片管理picture1.c、picture2.c、delete.c浏览、翻页、删除历史照片Zigbee控制zigbee_beep.c、zigbee_led.c、zigbee_rely.c、zigbee_cmd.h蜂鸣器、LED、风扇控制构建Makefile编译所有.cgi全局定义data_global.h数据结构、消息队列、共享内存capture1.c作用摄像头抓拍CGI程序。功能接收网页表单参数 mode抓拍张数通过消息队列msgtype3向后台发送抓拍命令成功/失败后返回HTML提示页3秒自动跳转回 video.html。定位摄像头控制入口。关联依赖 cgic.h 消息队列与主程序 pthread_camera 交互。cgic.c作用CGIC库核心实现文件Thomas Boutell的CGI库 v2.0。功能处理CGI环境变量、GET/POST表单解析支持 application/x-www-form-urlencoded 和 multipart/form-data、文件上传、Cookie、环境保存/恢复等。定位所有CGI程序的底层库其他.c 文件都 #include “cgic.h” 并链接此文件。关联被 Makefile 编译进所有 .cgi 可执行文件。cgic.h作用CGIC库头文件。功能声明CGI环境变量、表单处理API如 cgiFormString、cgiFormInteger、文件上传API、Cookie API、头输出函数等。定位所有CGI程序的接口声明。data_global.h作用项目全局数据结构与宏定义头文件。功能定义设备路径串口、LED、蜂鸣器、摄像头等。定义消息类型MSGTYPE_ENV、MSG_LED、MSG_BEEP、MSG_M0 等。定义共享内存结构体struct env_info_array、struct shm_addr。定义消息队列结构体 struct msg。定位整个项目CGI 主控程序的公共数据约定。delete.c作用删除所有历史照片CGI。功能执行 system(“rm /www/pice/*”)成功后跳转回 picture1.cgi。定位图片管理辅助功能。env1.c作用1号存储节点环境数据实时展示CGISTO_NO1。功能从共享内存读取温度、光照、气体、红外等数据生成刷新页面每1秒刷新一次。定位Web端环境监控入口之一。env2.c作用2号存储节点环境数据实时展示CGISTO_NO2。功能与 env1.c 类似但显示湿度、电池、加速度等更多字段。定位Web端环境监控入口之二。login.c作用用户登录CGI。功能从 user.db 查询用户名/密码成功跳转 main.html失败提示并返回登录页。定位Web系统入口验证。Makefile作用项目构建脚本。功能编译所有 .c 文件生成 .cgi并移动到 ./out/ 目录。定位构建工具。picture1.c作用历史照片浏览CGI带翻页功能。功能扫描 /pice 目录获取照片列表。支持 prev / next 翻页通过隐藏表单字段 number、index、action 传递状态。显示当前照片 文件名。定位图片查看主界面。picture2.c作用历史照片列表展示CGI简单版。功能遍历 /pice 目录逐张显示缩略图 文件名无翻页。定位图片查看备用/旧版界面。regist.c作用用户注册CGI。功能向 user.db 插入新用户记录成功/失败均跳转回登录页。定位用户管理。sem.h作用信号量操作封装头文件。功能提供 init_sem、sem_p、sem_v 函数用于共享内存互斥访问。定位env1.c、env2.c 等需要读共享内存的CGI的同步工具。sqlite3.h作用SQLite3库头文件完整API声明。定位login.c、regist.c 使用SQLite时必须包含。user.db作用用户数据库文件SQLite3格式。内容包含 user 表name, password已有 root/root 用户。定位登录/注册的数据源。zigbee_beep.c作用Zigbee蜂鸣器控制CGI。功能接收 beep 和 store 参数编码命令后通过消息队列msgtype4发送给后台。定位Zigbee设备控制之一。zigbee_cmd.h作用Zigbee命令编码头文件。功能定义 born_cmd() 函数将端点号、设备类型风扇/蜂鸣器/LED、操作码打包成1字节命令。定位zigbee_beep.c、zigbee_led.c、zigbee_rely.c 的公共命令生成工具。zigbee_led.c作用Zigbee LED控制CGI。功能与 zigbee_beep.c 类似控制LED灯。定位Zigbee设备控制之一。zigbee_rely.c作用Zigbee风扇/继电器控制CGI。功能支持0~3档风扇控制通过消息队列发送命令。定位Zigbee设备控制之一。