WiFi+4G摄像头拍照图传模块(夜视2K高清1080P)-设备接收串口命令拍照,然后使用http post把照片上传到服务器,同时支持串口和MQTT服务器透传通信

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

说明

这节的功能是使用串口发送命令控制设备进行拍照,拍照以后通过http post把照片上传到服务器;

串口接收其它数据会通过MQTT服务器发送; 从MQTT接收的数据会通过串口发送; 就是实现串口和MQTT数据透传;

 

测试

1,此功能需要web服务器,然后服务器上是使用PHP接收的数据

把这个文件夹放到自己的web服务器根目录(这个和300,301,302,303,304章节的代码一样,如果已经放到了服务器,不需要重复操作)

 

Windows:(根据自己的服务器配置!!!!)

 

Linux:(根据自己的服务器配置!!!!)

 

2,用户把这节工程放到开发环境的下面的目录

 

image

 

3,可以使用连接路由器测试或者使用4G测试

 默认超过10S连接不上路由器就执行4G联网

image

image

 

4,如果使用自己的MQTT服务器,可以自己更改

image

 

5,编译下载以后,日志会打印设备订阅和发布的主题

后面的一串数字是4G模组的IMEI(每个设备不一样,保证唯一)

局部截取_20250802_235642

 

6,打开MQTT调试助手

 

8,配置如下

上位机上发布的主题是填写设备订阅的主题

上位机上订阅的主题是填写设备发布的主题

819239-20250602215553302-777231656

 

9,使用串口模块连接设备进行测试

程序上使用GPIO38作为RX; GPIO18作为TX; 可以根据自己的需求更改

image

 

这边使用串口调试助手进行测试,所以使用串口模块连接了设备;

 

10,打开串口调试助手(波特率115200),然后进行测试串口和MQTT透传数据

使用调试助手发送数据, 数据会转发到MQTT

image

 

image

 

使用MQTT调试助手发送数据, 数据会串口

image

 

image

 

11,使用串口调试助手(波特率115200),发送拍照指令

55 AA AA 55 01 55 AA AA 55 02

image

 

设备日志上会打印接收到命令以后拍照上传

image

 

 

程序说明

1.初始化串口,结束到拍照指令以后发送通知

image

 

image

 

2.初始化摄像头拍照,等待通知

image

 

image

 

3.接收到通知以后拍照上传

image

 

image

 

4.串口的其它数据发送到消息队列, 消息队列判断是串口数据以后发送到MQTT

提示:MQTT发送数据应该是线程保护的, 所以可以直接在串口接收以后发送,不需要按照我下面的方式发送

image

 

image

 

5.MQTT的消息通过串口输出

提示:串口发送数据函数也是线程保护的, 所以可以直接调用串口发送,不需要按照我下面的方式发送

image

 

image

 

其它程序说明

1,等待4G联网成功

image

 

 

image

 

2,SNTP 获取时间; 和4G通信的串口通信通过AT指令获取一些信息(客户自行查阅)

image

 

3,服务器端程序

局部截取_20250802_231401

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

posted on 2025-09-04 13:42  杨奉武  阅读(41)  评论(0)    收藏  举报

导航

支付宝 QQ群