handle.c 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /******************************************************************
  2. ** Copyright (c) 2009 Wuhan xinyun Technology Co., Ltd .
  3. ** FileName: handle.c
  4. ** Author: chw
  5. ** Mail:
  6. ** Editor: chw
  7. ** Date: 2020-12-03 13:34
  8. ** Version: 2020-12-03
  9. ** File Description: 业务逻辑核心代码实现部分
  10. ******************************************************************/
  11. extern ArrQueue *m_pque;//任务队列
  12. extern list_node* file_list; //文件链表
  13. //指令发送相关指令
  14. #include "cmd.h"
  15. //处理设备上传指令
  16. #include "handle.upload.c"
  17. //处理设备请求指令
  18. #include "handle.request.c"
  19. //处理设备确认指令
  20. #include "handle.ack.c"
  21. // 消息和其对应的处理函数表格, 建议频度从高往下排
  22. static struct cmd_pro ctr_handle_tab[] = {
  23. {"$queue/DT/EPD", 0, do_DT_EPD}, //设备电气数据
  24. {"$queue/DT/SDT", 0, do_DT_SDT}, //设备传感器数据
  25. {"$queue/DT/COP", 0, do_DT_COP}, //流量计数据
  26. {"CN/FTC", 0, do_CN_FTC}, //设备上电
  27. {"CN/RCN", 0, do_CN_RCN}, //设备重连
  28. {"DT/SIM", 0, do_DT_SIM}, //SIM卡ICCID号5
  29. {"ACK/CFG/BKS", 0, do_ACK_CFG_BKS}, //备份服务器配置确认
  30. {"ACK/CFG/ULI", 0, do_ACK_CFG_ULI}, //数据上传间隔配置确认
  31. {"ACK/CFG/STS", 0, do_ACK_CFG_STS}, //开关时间段设置确认
  32. {"ACK/CFG/SRV", 0, do_ACK_CFG_SRV}, //额定电压设置确认
  33. {"ACK/CFG/SRC", 0, do_ACK_CFG_SRC}, //额定电流设置确认10
  34. {"ACK/CFG/SCM", 0, do_ACK_CFG_SCM}, //开关控制模式(拉合闸)设置确认
  35. {"ACK/CFG/DGS", 0, do_ACK_CFG_DGS}, //调光节点分组设置确认
  36. {"ACK/CFG/GNV", 0, do_ACK_CFG_GNV}, //子节点版本号回复
  37. {"ACK/CFG/SAT", 0, do_ACK_CFG_SAT}, //传感器报警阀值设置确认
  38. {"ACK/CTR/RSC", 0, do_ACK_CTR_RSC}, //远程开关控制确认15
  39. {"ACK/CTR/RDC", 0, do_ACK_CTR_RDC}, //远程手动调光确认
  40. {"ACK/CTR/RGC", 0, do_ACK_CTR_RGC}, //远程开关编组控制确认
  41. {"SCR/BKS", 0, do_SCR_BKS}, //备份服务器配置请求
  42. {"SCR/NAT", 0, do_SCR_NAT}, //节点信息表配置请求
  43. {"SCR/SRV", 0, do_SCR_SRV}, //额定电压配置请求20
  44. {"SCR/SRC", 0, do_SCR_SRC}, //额定电流配置请求
  45. {"SCR/STS", 0, do_SCR_STS}, //开关时间段配置请求
  46. {"SCR/SCM", 0, do_SCR_SCM}, //开关控制模式请求
  47. {"SCR/SAT", 0, do_SCR_SAT}, //传感器阈值配置请求
  48. {"SCR/NTP", 0, do_SCR_NTP}, //服务器时间同步请求25
  49. {"SCR/OTA", 0, do_SCR_OTA}, //远程升级请求
  50. {"ACK/OTA", 0, do_ACK_OTA}, //远程升级返回确认
  51. {"$SYS/brokers/+/clients/+/disconnected", 0, do_SCR_SCM}, //订阅系统消息,设备离线(订阅作用,其他地方处理)
  52. {"$SYS/brokers/+/clients/+/connected", 0, do_SCR_SCM}, //订阅系统消息,设备连接(订阅作用,其他地方处理)29
  53. {"$queue/DT/PIG", 0, do_DT_PIG} //猪称重数据30
  54. };