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,用户把这节工程放到开发环境的下面的目录

3,可以使用连接路由器测试或者使用4G测试
默认超过10S连接不上路由器就执行4G联网


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

5,编译下载以后,日志会打印设备订阅和发布的主题
后面的一串数字是4G模组的IMEI(每个设备不一样,保证唯一)

6,打开MQTT调试助手

8,配置如下
上位机上发布的主题是填写设备订阅的主题
上位机上订阅的主题是填写设备发布的主题

9,使用串口模块连接设备进行测试
程序上使用GPIO38作为RX; GPIO18作为TX; 可以根据自己的需求更改

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

10,打开串口调试助手(波特率115200),然后进行测试串口和MQTT透传数据
使用调试助手发送数据, 数据会转发到MQTT


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


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

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

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


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


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


4.串口的其它数据发送到消息队列, 消息队列判断是串口数据以后发送到MQTT
提示:MQTT发送数据应该是线程保护的, 所以可以直接在串口接收以后发送,不需要按照我下面的方式发送


5.MQTT的消息通过串口输出
提示:串口发送数据函数也是线程保护的, 所以可以直接调用串口发送,不需要按照我下面的方式发送


其它程序说明
1,等待4G联网成功


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

3,服务器端程序

.
浙公网安备 33010602011771号