# maxicam **Repository Path**: wenfree/maxicam ## Basic Information - **Project Name**: maxicam - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2025-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MaixCAM Pro MQTT连接指南 本项目包含了为MaixCAM Pro设备编写的MQTT客户端程序,用于连接到您指定的MQTT服务器。 ## 文件说明 1. **mqtt.py** - 主要的MQTT客户端程序,用于在MaixCAM Pro设备上运行 2. **mqtt_test.py** - PC端测试程序,用于在开发环境中测试MQTT连接 3. **test_websocket_mqtt.py** - 简化的WebSocket MQTT连接测试工具 4. **emqx_commander.py** - 交互式MQTT指令发送工具 5. **EMQX_管理教程.md** - 详细的EMQX后台管理教程 6. **EMQX_Web界面操作指南.md** - EMQX Web界面操作步骤指南 7. **LED控制指南.md** - LED闪光灯控制使用说明 8. **普通电机控制说明.md** - 摄像头云台普通电机控制指南 9. **MQTT_QoS详解.md** - MQTT服务质量详细说明 10. **README.md** - 本说明文档 ## MQTT服务器配置 根据您提供的信息,程序已配置连接到以下MQTT服务器: - **服务器地址**: 82.157.22.162 - **端口号**: 8083 - **客户端ID**: emqx_MTcxMz - **WebSocket路径**: /mqtt - **传输协议**: WebSocket - **发布主题**: maixcam/data - **订阅主题**: maixcam/cmd ## 环境要求 ### MaixCAM Pro设备 - MaixPy 环境(设备自带) - paho-mqtt 库 ### PC测试环境 - Python 3.6+ - paho-mqtt 库 ## 安装步骤 ### 1. 在MaixCAM Pro设备上安装paho-mqtt 连接到MaixCAM Pro设备,在终端中执行: ```bash pip install paho-mqtt ``` 或者如果使用包管理器: ```bash python -m pip install paho-mqtt ``` ### 2. 在PC上安装paho-mqtt(用于测试) ```bash pip install paho-mqtt ``` ## 使用方法 ### 在MaixCAM Pro设备上运行 1. 将 `mqtt.py` 文件传输到MaixCAM Pro设备 2. 确保设备已连接到网络 3. 运行程序: ```bash python mqtt.py ``` ### 在PC上测试连接 **方法一:使用简单测试脚本** ```bash python test_websocket_mqtt.py ``` **方法二:使用交互式指令工具** ```bash python emqx_commander.py ``` **方法三:使用完整测试程序** ```bash python mqtt_test.py ``` ## 功能特性 ### MQTT客户端功能 - ✅ 自动连接到指定MQTT服务器 - ✅ 订阅和发布消息 - ✅ 心跳监控 - ✅ 设备状态报告 - ✅ 命令处理 - ✅ 错误处理和重连 ### 支持的消息类型 #### 发布的消息 1. **心跳消息** - 每30秒发送一次 ```json { "type": "heartbeat", "timestamp": 1640995200, "device": "MaixCAM Pro" } ``` 2. **状态消息** - 设备状态信息 ```json { "device": "MaixCAM Pro", "client_id": "emqx_MTcxMz", "timestamp": 1640995200, "connected": true, "message_count": 10, "uptime": 1640995200 } ``` 3. **传感器数据** - 自定义传感器数据 ```json { "type": "sensor", "timestamp": 1640995200, "data": {...} } ``` #### 接收的命令 1. **ping** - 响应pong 2. **status** - 返回设备状态 3. **JSON格式命令** - 支持结构化命令 ```json { "type": "led", "state": "on" } ``` ## 配置说明 您可以根据需要修改以下配置: ```python # MQTT配置参数 MQTT_BROKER = "82.157.22.162" # MQTT服务器地址 MQTT_PORT = 8083 # MQTT端口号 MQTT_CLIENT_ID = "maixcam" # 客户端ID MQTT_KEEPALIVE = 60 # 保活时间 MQTT_PATH = "/mqtt" # WebSocket路径 # 主题配置 TOPIC_PUBLISH = "maixcam_data" # 发布主题 TOPIC_SUBSCRIBE = "maixcam_cmd" # 订阅主题 ``` ## 故障排除 ### 连接问题 1. 检查网络连接 2. 确认MQTT服务器地址和端口 3. 检查防火墙设置 4. 验证客户端ID是否唯一 5. **WebSocket连接问题**:如果连接失败,可能需要安装额外的WebSocket支持 ```bash pip install paho-mqtt[websockets] ``` 6. **路径问题**:确认WebSocket路径 `/mqtt` 是否正确 ### 依赖问题 如果提示找不到paho-mqtt模块: ```bash pip install paho-mqtt ``` ### 权限问题 如果需要用户名和密码认证,在代码中取消注释并设置: ```python self.client.username_pw_set("username", "password") ``` ## 扩展功能 您可以根据需要添加以下功能: 1. **摄像头图像传输** - 将摄像头图像通过MQTT发送 2. **传感器数据采集** - 定期读取和发送传感器数据 3. **远程控制** - 接收远程控制命令 4. **日志记录** - 添加详细的日志记录功能 5. **SSL/TLS加密** - 添加安全连接支持 ## 示例使用场景 1. **设备监控** - 实时监控设备状态和运行情况 2. **数据采集** - 定期采集和上传传感器数据 3. **远程控制** - 通过MQTT命令远程控制设备 4. **告警通知** - 设备异常时发送告警消息 ## 注意事项 1. 确保设备网络连接稳定 2. 定期检查MQTT服务器状态 3. 监控消息发送频率,避免过于频繁 4. 适当设置心跳间隔和重连机制 5. 处理网络中断和异常情况 ## 联系支持 如果您在使用过程中遇到问题,请检查: 1. 网络连接是否正常 2. MQTT服务器是否可访问 3. 配置参数是否正确 4. 依赖库是否正确安装