机器云


mqtt服务端订阅

<ul> <li>请求后台的数据字段</li> </ul> <table> <thead> <tr> <th style="text-align: left;">字段</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">空</th> <th>默认</th> <th>注释</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">topic</td> <td style="text-align: left;">string</td> <td style="text-align: left;">否</td> <td></td> <td>主题</td> </tr> <tr> <td style="text-align: left;">type</td> <td style="text-align: left;">int</td> <td style="text-align: left;">否</td> <td></td> <td>数据类型(无需关注)</td> </tr> <tr> <td style="text-align: left;">qos</td> <td style="text-align: left;">int</td> <td style="text-align: left;">否</td> <td></td> <td>消息服务质量</td> </tr> <tr> <td style="text-align: left;">flag</td> <td style="text-align: left;">int</td> <td style="text-align: left;">否</td> <td></td> <td>包序号</td> </tr> <tr> <td style="text-align: left;">payload</td> <td style="text-align: left;">string</td> <td style="text-align: left;">否</td> <td></td> <td>负载(消息体)</td> </tr> </tbody> </table> <ul> <li>备注:qos为0 后台无需回应,qos&gt;=1则需要使用如下json串格式回应服务端代理订阅 <pre><code>{ "status":"success", "flag":1, "qos":1 }</code></pre></li> <li> <p>备注:qos与flag为请求时的qos与flag参数的值,status固定为success。</p> </li> <li>mqtt服务端代理配置文件字段如下:</li> </ul> <table> <thead> <tr> <th style="text-align: left;">字段</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">空</th> <th>默认</th> <th>注释</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">notify_ip</td> <td style="text-align: left;">string</td> <td style="text-align: left;">是</td> <td></td> <td>后台服务器ip(一般如果处于同一服务器则使用127.0.0.1)</td> </tr> <tr> <td style="text-align: left;">notify_port</td> <td style="text-align: left;">int</td> <td style="text-align: left;">否</td> <td></td> <td>后台端口(只支持http协议的端口(一般为80))</td> </tr> <tr> <td style="text-align: left;">notify_url</td> <td style="text-align: left;">int</td> <td style="text-align: left;">否</td> <td></td> <td>通知地址</td> </tr> <tr> <td style="text-align: left;">mqtt_serv</td> <td style="text-align: left;">int</td> <td style="text-align: left;">否</td> <td></td> <td>mqtt服务器ip</td> </tr> <tr> <td style="text-align: left;">mqtt_port</td> <td style="text-align: left;">string</td> <td style="text-align: left;">否</td> <td></td> <td>mqtt服务器port</td> </tr> <tr> <td style="text-align: left;">mqtt_topic</td> <td style="text-align: left;">string</td> <td style="text-align: left;">否</td> <td></td> <td>订阅的主题</td> </tr> <tr> <td style="text-align: left;">mqtt_user</td> <td style="text-align: left;">string</td> <td style="text-align: left;">否</td> <td></td> <td>mqtt用户名</td> </tr> <tr> <td style="text-align: left;">mqtt_pass</td> <td style="text-align: left;">string</td> <td style="text-align: left;">否</td> <td></td> <td>mqtt密码</td> </tr> <tr> <td style="text-align: left;">mqtt_qos</td> <td style="text-align: left;">int</td> <td style="text-align: left;">否</td> <td></td> <td>发布消息时使用的服务质量,可以使用默认值2即可</td> </tr> <tr> <td style="text-align: left;">mqtt_worker_num</td> <td style="text-align: left;">int</td> <td style="text-align: left;">否</td> <td></td> <td>mqtt服务端代理进程数量,填4即可</td> </tr> <tr> <td style="text-align: left;">path_log</td> <td style="text-align: left;">string</td> <td style="text-align: left;">否</td> <td></td> <td>mqtt服务端代理得日志目录,使用默认日志文件:/tmp/mqttClient.log即可</td> </tr> </tbody> </table> <ul> <li>配置示例: <pre><code>notify_ip= 120.77.72.190 notify_port=80 notify_url=120.77.72.190/babycar/writelog mqtt_serv=127.0.0.1 mqtt_port=1883 mqtt_topic=test/+ mqtt_user=mqttproxy mqtt_pass=123456 mqtt_qos=2 mqtt_worker_num=1 path_log=/tmp/mqttClient.log</code></pre></li> <li> <p>注意:只能配置单notifyurl,如果是多notifyurl需要在后台服务器上做分发,每个配置项使用空格换行,如需注释,在改配置项最前端加上#号即可,配置文件需要放置在于编译后的可执行文件同一目录。</p> </li> <li>脚本说明:</li> </ul> <table> <thead> <tr> <th style="text-align: left;">字段</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">空</th> <th>默认</th> <th>注释</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">checkmqtt</td> <td style="text-align: left;">sh文件</td> <td style="text-align: left;">否</td> <td></td> <td>检查以及启动mqtt脚本(需要在脚本内配置可执行文件的绝对路径)</td> </tr> <tr> <td style="text-align: left;">stopmqtt</td> <td style="text-align: left;">sh文件</td> <td style="text-align: left;">否</td> <td></td> <td>停止mqtt服务端代理的运行</td> </tr> </tbody> </table> <ul> <li>安装流程: <pre><code>1、将文件上传到服务器/home/wwwroot目录之下,配置mqtt_config文件,注意事项如上。 2、进入mqttClient目录,修改CMakeLists.txt 中的cmake_minimum_required(VERSION 2.8) 保证包VERSION版本小于当前服务器的cmake版本,一般服务器版本为2.8. 3、输入命令 cmake ./ (生成makefile) 4、输入命令 make (编译) 5、输入命令 crontab -e (添加定时任务) 6、在文件尾端增加 */10 * * * * /bin/bash /home/wwwroot/mqttClient/checkmqtt (增加定时任务),并保存退出 7、手动执行 ./checkmqtt 启动脚本 8、安装完成,交互日志可在path_log所配置的目录中去查看。</code></pre></li> </ul>

页面列表

ITEM_HTML