前言

实现功能概要

  STM32控制WI-Fi模块以AT指令TCP透传方式连接MQTT服务器, 实现MQTT通信控制.

  

测试准备工作(详细下载步骤请参考 硬件使用说明 )

一,下载单片机程序

  

二,安装APP软件

  

三,调整波动开关位置,STM32和Wi-Fi通信

  

四,短接STM32的PB2和Wi-Fi模块的RST引脚(为了做项目稳定可靠,请使用单片机硬件复位Wi-Fi)

  

开始测试

一.打开手机APP,点击右上角菜单 "添加设备" ,手动输入自家路由器密码.(路由器名称为自动获取,不需要用户填写)

             

二.长按PB5大约4S,等待指示灯快闪,松开PB5,Wi-Fi模块进入配网状态

  

三.点击APP的搜索设备按钮,开始搜索设备,搜索成功,将自动跳转到主页面,并显示设备

      

四.单片机控制Wi-Fi连接上MQTT服务器以后,指示灯1S闪耀

  

五.点击设备进入,设备控制页面,页面显示当前温湿度数据,显示当前设备的状态

  

六.远程控制继电器吸合

      

七.远程控制继电器断开

      

八.请自行控制家电(最大支持10A,注意安全!)

其它

  Wi-Fi模块发布的主题: device/设备MAC  Wi-Fi模块订阅的主题: user/设备MAC

  APP通过SmartConfig获取Wi-Fi的MAC,然后设置订阅的主题:device/设备MAC  发布的主题:user/设备MAC

一,硬件程序

  1.1:

    1.1.1: MQTT处理,采用官方C语言MQTT包+本人二次封装.(方便大家快速的移植使用)

    1.1.2: 工程截图(本人二次封装主要是为了减轻移植使用的难度.如有雷同,必为盗版 )

      

    

    1.1.3: 连接MQTT服务器部分程序

          

    1.1.4: 处理MQTT服务器返回的数据部分程序

      

  1.2: 控制Wi-Fi模块连接路由器采用SmartConfig/Airkiss配网

    1.2.1: 处理程序部分截图

      

二,APP程序

  2.1:APP目录部分说明

    

最新文章

  1. Jquery知识点
  2. PHP乱码完美解决
  3. 启动kafka出现找不到或无法加载主类
  4. (转)Do not use "using" for WCF Clients - 不要将WCF Client 放在 ‘Using’ 代码块中
  5. <li>高度自适应
  6. 个性化EDM数据营销的三大提醒
  7. 使用函数的递归调用来解决Hanoi(汉诺)塔问题。
  8. 【转】解决警告 warning: directory not found for option
  9. C# 颜色有3种表示方式: 6位16进制、RGB、 颜色关键字
  10. ubuntu下vpn无反应的解决办法
  11. Laravel5.3 流程粗粒度分析之bootstrap
  12. C# 验证数字
  13. Akka Serialization
  14. 如何使用 Bootstrap 搭建更合理的 HTML 结构
  15. msp430系统时钟
  16. 【NLP】BLEU值满分是100分吗?
  17. JSP基础知识➣结构及生命周期(一)
  18. 4、Zookeeper简单介绍
  19. LeetCode Search Insert Position (二分查找)
  20. WP8.1学习系列(第七章)——应用选项卡Pivot交互UX

热门文章

  1. springboot mybatis常见异常及处理方法
  2. Java ReentrantLock中tryLock与lock的区别(非公平锁与公平锁)
  3. 基于 HTML5 WebGL 的 3D 智慧隧道漫游巡检
  4. 【leetcode-152】 乘积最大子序列
  5. Python学习笔记之使用 python -m SimpleHTTPServer 快速搭建http服务
  6. jquery点击放大图片
  7. SpringBoot项目解决全局响应返回中文乱码问题
  8. 写css注意的事项
  9. uni-app通过判断接口403跳转登录页面的问题
  10. C++ OpenSSL 之三:生成CSR文件