- our_storage 编译最终生成的目标文件
-
- obj 编译生成中间的.o文件
- data_global.c 公共资源定义(使用在外extern即可)
-
- 定义了锁
-
- 定义了条件变量
-
- 消息队列id、共享内存id、信号量id及key值
-
- 发送短信、接收短信的号码
-
- 向消息队列发送消息的函数(与cgi进程通信)
-
- data_global.h
-
- 设备节点
-
- 通信协议
-
-
- main.c
-
- 引用data_global的互斥锁和条件变量,并初始化
-
- 信号处理函数(捕获ctrl+c,线程回收处理函数,因为这个程序一但运行不会停止
-
- 释放锁和条件变量,分离线程资源,进程退出后把线程清理)
-
- 创建线程分配资源,线程处理函数在其他文件中实现
-
- 配合创建使用,等待线程结束并收回线程资源(虽然不会执行)
- pthread_buzzer.c 线程操作
-
- 思路
-
- 蜂鸣器驱动,向上提供接口,设备节点
-
- 打开蜂鸣器,关闭蜂鸣器,通过ioctl控制设备节点
-
- pthread_led.c
-
- 思路
-
- led驱动,向上提供接口,设备节点
-
- 5. open(dev_led, )
- 6. pthread_cond_wait (cond_led, ); //等待条件表里
- 7. 获取dev_led_mask(控制标志)//互斥锁
- 8. 通过ioctl()控制led
-
- pthread_sqlite.c
-
- 保存数据、更新数据
-
- pthread_transfer.c
-
- zigbee向a9发送数据
-
- 实现进程间通信
-
- 实现线程间同步互斥
-
- 从m0上把数据拿过来通知其他线程工作
-
- pthread_refresh.c
-
- 把a9采集的数据和zigbee的采集的数据向网页上展示
-
- pthread_client_request.c
-
- 把网页当作客户端,a9当作服务端,客户端发送命令即向服务器进行请求
-
- 通过消息队列机制
-
- 通过拿到消息队列的id,实现读写
-
- 拿到消息队列的消息,判断消息类型处理不同的事情(led、蜂鸣器等)
-
- pthread_sms.c
-
- gprs线程发短信、打电话
-
- sem.c
-
- 与其他进程间通信,CGI
-
- 线程间通信、同步互斥
-
-