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

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

作者:互联网

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

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

 

 

实际效果

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

 

 

测试(默认连接我的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.点击按钮发布继电器控制命令

 

标签:GPRS,扫码,APP,发送,MQTT,跳转,设备,页面
来源: https://www.cnblogs.com/yangfengwu/p/16683235.html