804-Air724UG模块(4G全网通GPRS开发)-手机APP扫码绑定Air724,并通过MQTT实现远程查看摄像头图像(自建MQTT服务器)

2022-09-30 15:30:17 浏览数 (1)

实际效果

上面显示的是图像,下面温室湿度是模拟的数据,还有一个继电器的开关(实际控制开发板上的小灯)

测试(默认连接我的MQTT服务器测试)

1,安装好手机卡,天线,摄像头

2,下载这节的程序到开发板

程序里面设置的摄像头为30W,所以需要使用自定义的CORE, 可以自己生成,也可以使用我提供的

3,正常情况下开发板日志会显示如下

4,安装手机APP

5.点击APP右上方的菜单栏,选择 扫一扫

6.扫描模组上面的二维码

7.扫描成功以后将会在主页面添加一个设备

注:显示的内容为模组的IMEI号

8.扫描成功以后,自动跳转到主页面,并添加了一个设备

显示的为设备的IMEI号

9.点击设备进入设备控制页面

最上面会显示摄像头图像(每隔6S左右更新一张图片)

点击下面的控制按钮可以控制开发板上的灯

Air724程序说明

1,设置连接的MQTT信息,和订阅主题(user/设备的imei)

2,采集并发送图片数据(发送的主题:device/msg/设备的imei)

提示:发送图片的格式 {"imgdata":"FFD8...图片数据....FFD9","index":1,"count":2,"size":4567}

一张图片是分了好几次发送的,一次发送最大2184字节.

整体为json格式,图片数据是字符串形式的16进制,  count代表总共有几帧数据, index代表当前传的第几帧, size代表整个图片数据长度

3,MQTT接收数据

4,接收到消息以后,调用的sys.publish 发送通知(返回消息给MQTT)

发送的主题:device/base/设备的imei

下面是接收消息通知,并把消息发送到MQTT;

再下面是模拟发送的温湿度数据

android程序说明

1.APP扫码程序使用的是Google 谷歌的zxing

2.点击菜单扫一扫进入扫码页面

3.扫码成功以后携带着数据跳转到主页

4.activity 接收数据并把信息存储listview和数据库

5.数据库操作是使用的郭霖写的litepel

6,现在看MQTT程序

app使用的jar包为: org.eclipse.paho.client.mqttv3-1.2.0

MyMqttCLient是封装的mqtt文件,用户后期通信都是使用这个里面的api函数

用户可以根据自己的mqtt服务器更改参数

7,连接mqtt只需要在一开始的时候调用下 

MyMqttClient.sharedCenter().setConnect();//连接MQTT

然后内部就是自动连接.

8,点击APP页面上的设备,携带着设备的MAC地址信息跳转到设备控制页面

9,控制页面接收跳转的数据

10.设置一些回调函数,启动定时器订阅主题

11.在handler中处理MQTT数据

12.点击按钮发布继电器控制命令

0 人点赞