修改MQTT开源客户端mosquitto
1、 将pub和sub合并,作为守护进程模式,运行后不退出。
2、 从文件读取基本配置。
3、 无限等待直到broker可用,断线后持续重连(原sub部分应该已实现,需验证)。
4、 sub接收到的message payload:
i. 若经过了zip压缩,调用zlib解压缩得到新payload
ii. 若payload(原始或新的)前部为<SAVE=path>则将剩余payload存储为文件,路径为path。若无该字段,则以当前时间(UNIX秒数)为文件名存储在/tmp
iii. 若存储的文件开头为#bash则作为脚本执行。
5、通过socket形式接收其它程序发来的报文并pub(去掉原有通过命令行发送的功能):
i. 端口在配置文件中指定。
ii. 报文格式:qos=0;retain=0;topic=xxxxxxx;message=xxxxxxxxxxxxxxxxxxx