SSL/TLS 双向认证(三) -- ESP8266与mosquitto的MQTT双向认证

本文详细介绍了如何实现ESP8266与mosquitto MQTT服务器的双向认证。通过ESP8266NONOS SDK和MQTT Demo,配合证书制作和烧录,以及mosquitto配置,成功实现ESP8266与MQTT broker的安全连接。故障排除部分提供了常见问题的解决方法。
摘要由CSDN通过智能技术生成

本文部分参考:
https://github.com/tuanpmt/esp_mqtt
http://espressif.com/zh-hans/products/hardware/esp8266ex/overview

前言

ESP8266是一颗低功耗、高集成度、性能稳定的 Wi-Fi 芯片,是物联网开发的首选设备。ESP8266EX 专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现了最低功耗。ESP8266EX 有三种运行模式:激活模式、睡眠模式和深度睡眠模式,能够延长电池寿命。 ESP8266EX 是业内集成度最高的 Wi-Fi 芯片,最小封装尺寸仅为 5mm x 5mm。ESP8266EX 高度集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,仅需很少的外围电路,可将所占 PCB 空间降到最低。ESP8266EX 集成了更多的元器件,性能稳定,易于制造,工作温度范围达到 -40°C 到 +125°C。
mosquitto是一款精致的MQTT broker.一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。
mosquitto的相关使用请参考上一篇博客: http://blog.csdn.net/ustccw/article/details/76905459#t8

一: 目的

使用mosquitto broker 作为 MQTT server,开启双向认证。同时 mosquitto broker 订阅主题 /mqtt/topic/1 ,使用 ESP8266 作为 MQTT Client,开启双向认证,订阅和发布主题 /mqtt/topic/1。如果 mosquitto broker 收到ESP8266 的消息,则成功实现ESP8266与mosquitto的MQTT双向认证。

二: ESP8266及开发环境搭建

如果您熟悉ESP8266开发环境,可以很顺利理解下面步骤; 如果您不熟悉某个部分,比如编译,烧录。需要您结合官方的相关文档来理解。http://espressif.com/zh-hans/support/download/overview,如您需阅读ESP8266 快速入门指南文档。

1.1 ESP8266NONOS SDK和MQTT Demo获取

$git clone https://github.com/ustccw/MQTTESP8266.git

可获取ESP8266开发SDK,此SDK可以保证ESP8266良好工作。如图,esp_mqtt_proj 目录是MQTT Demo.

esp8266

1.2 编译器获取

https://github.com/ustccw/RepoForShareData/tree/master/ESP/ESP8266/compiler,xtensa-lx106-elf.tar.bz2是编译器压缩包,解压后 xtensa-lx106-elf 是编译器根目录,将编译器拷贝至 /opt/ 下。

1.3 mqtt demo 修改

esp_mqtt_proj/include/mqtt_config.h 需修改的地方

        1. #define CFG_HOLDER   0x00FF55A4      // 编译前,改变这个数值。如将 0x00FF55A4 改为 0x00FF55A5。下次编译,不用再改,这个参数将保证设备自动配网,如会保存WiFi账号密码等。
        2. #define MQTT_SSL_ENABLE              // 不可注释,单向认证和双向认证必选
        2. #define MQTT_HOST "192.168.111.100"  // 修改为 MQTT 服务器的IP或域名
        3. #define MQTT_PORT    8883                // 修改为 MQTT 服务器开放的端口号
        4. #define MQTT_CLIENT_ID   "chenwucontr
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值