ESP32CAM + Android APP(基于kotlin)的MQTT远程数据(图像)收发demo

ESP32CAM + Android APP(基于kotlin)的MQTT远程数据(图像)收发demo

演示效果

video

所需环境

硬件

  • 一块esp32cam核心板,一块esp32cam的下载底板 esp32cam

  • 一根microUSB数据线

  • 一部安卓手机

软件

  • Arduino IDE
  • Android Studio

使用说明

  1. 该demo中我使用的是免费的EMQX Cloud服务器,在创建了自己的服务器后可以看到其信息:

    message

  2. 我们还需要添加认证,我的用户名为t,密码为2

    identification

  3. 通过Arduino IDE打开ESP32CAM文件夹中的ESP32CAM.ino,注意修改mqtt.h中MqttManager类的私有变量ssidpassword,他们分别为你的ESP32CAM将要连接的wifi(2.4GHz频段)名称和密码。此外还需要修改下面MQTT云服务器的一些参数再下载代码到esp32cam:

    参数说明
    mqtt_broker云服务器的连接地址
    topicesp32cam订阅的话题(demo中并未使用到,可以按需添加其用途)
    mqtt_username认证的用户名
    mqtt_password认证的密码
    mqtt_portMQTT端口
    ca_certCA证书,需要下载后用记事本打开并黏贴到代码中
  4. 通过Android Studio打开testMqtt,我们也需要在MainActivity.kt修改其中MQTT云服务器的一些参数再部署到手机上。

注意事项

ESP32CAM

  • mqtt通信协议是TCP协议的一层封装,我们在使用WiFiClientSecure库的同时也需要使用官方封装好的mqtt的库PubSubClient。不过该库的原代码中对一个数据包的大小做了限制,事实上,MQTT本身就不能传输过大的消息(我记得是256KB)。所以为了传输图像我们需要更改PubSubClient.h中的宏定义MQTT_MAX_PACKET_SIZE为50000(你可以尝试更大的值,不过esp32cam只有520KB的SRAM)。

APP

  • 整个工程中的核心是MainActivity.ktMQTTManager.ktmain_layout.xmlraw/emqxsl_ca.crt

    tree

    代码地址

    This is code

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值