SWA2G422&485JK2G基础篇: 手机APP通过APMACBind方式绑定W5500(以太网)设备,实现MQTT远程通信控制

说明

  上一节演示了W5500实现MQTT通信控制

  通过上一节咱知道

  W5500订阅的主题为:user/W5500的MAC地址

  W5500发布的主题为:device/W5500的MAC地址

  这节演示下APP利用APMACBind方式获取W5500的MAC地址,进而做到和W5500实现MQTT通信

APMACBind方式介绍

  (只沿着别人的脚步,只会故步自封!咱需要有创造性的解决问题!)

  APMACBind是我自己做的一种方式,这种方式目前有一个项目在使用.

  不过那是前年做的项目,当时是为了解决微信配网绑定问题

  不过自从微信小程序支持了UDP,这种方式也被我淘汰(在我心底被淘汰了,有了更为简便的方式)

  不过还是有必要拿出来讲一下,因为这种方式比较经典!体现了知识的灵活运用.

  首先说明简要说明一下如何实现的让手机APP获取W5500的MAC地址

  1.W5500连接路由器,连接上MQTT

  2.W5500获取路由器的MAC地址

  3.W5500发布的主题:device/路由器MAC

  4.手机APP和W5500连接一个路由器

  5.手机APP获取路由器MAC地址

  6.手机APP订阅:user/路由器MAC

  这样W5500就能够把自身的MAC地址通过MQTT发给手机APP,实现绑定

  至于为什么用路由器的MAC地址作为主题(因为唯一)

  所有用户都用一个MQTT服务器,我需要保证同时绑定的时候互不干扰

  W5500获取路由器MAC使用的是arp,我没有找到别的简便方式.....学艺不精....

演示这节的功能

  一,设备上电,网线连接路由器

    

    

  二,下载单片机程序

    

  三,安装手机APP

    

    

通过APMACBind绑定W5500

  一,选择添加设备

    

  二,请确保自己的手机连接了路由器(和W5500连接的同一个)

    连接路由器以后,将自动显示路由器的MAC地址

    

  三,确定开发板指示灯是否是1S闪耀

    注:1S闪耀说明开发板连接了MQTT,APMACBind需要借助MQTT,

    所以需要先保证开发板连接上了MQTT服务器

    

  三,长按开发板的 PB5 按钮,直至指示灯快闪

    注:闪耀频率加快

    

  四,点击APP上的 添加设备 按钮

    

  五,搜索成功以后 自动跳转到主页面 并显示绑定的设备

    

测试

  一,点击设备进入控制页面

    

  二,控制第一路继电器吸合

     

  三,控制第二路继电器吸合

     

单片机源码说明(流程说明)

   注:这节代码只是在上一节的基础上增加的功能,只叙述这节增加的功能

    1.1点击按钮3S左右,获取路由器MAC地址,并订阅主题

    

    

    1.2 订阅主题成功以后,每隔1S通过MQTT发送W5500自身的MAC地址信息

    发布的主题为: device/路由器的MAC地址

    

    1.3 超时(60S),或者收到APP发来的 "{\"bind\":\"success\"}" 信息以后停止发送信息

    

单片机源码说明(ARP说明)

  一,我是利用arp获取的路由器的MAC地址信息

  

  二,为了获取路由器的MAC,ARP的远端IP我写的网关

  咱先前在DHCP的时候获取了网关.

  因为咱的W5500连接的路由器,路由器的IP就是网关

  

APP源码说明

  一,进入绑定页面,监听网络信号改变的广播,然后获取手机APP连接的路由器的MAC地址

    

    

  二,点击添加设备以后

    1.订阅主题 device/路由器的MAC地址

    2.显示等待对话框

    3.启动绑定超时

    

  三,获取到W5500发来的信息

    1.提取MAC地址信息,携带信息跳转到主页面

    

  

原文地址:https://www.cnblogs.com/yangfengwu/p/12181710.html

时间: 2024-10-16 17:15:52

SWA2G422&485JK2G基础篇: 手机APP通过APMACBind方式绑定W5500(以太网)设备,实现MQTT远程通信控制的相关文章

SWA2G422&485JK2G基础篇: 硬件使用说明

开发板板载介绍(当前使用的测试板,以后期最终版为准) 一,实物图 硬件说明 一,开发板主控芯片说明: 1. 单片机: STM32RET6 2. GPRS模块: Air202 二,开发板外设说明: 1. 以太网模块: W5500 2. 外设通信接口:  422或者485通信 3. 继电器:两路继电器输出 通信控制说明 一,电脑串口和GPRS下载调试口通信 二,电脑串口和STM32串口1通信 三,422/485和电脑串口通信 四,422/485和STM32串口3通信 五,GPRS串口1和STM32串

SWA2G422&485JK2G基础篇: STM32+W5500实现MQTT通信控制,485/422透传通信

说明 这节实现的功能: STM32+W5500实现MQTT通信控制 细节功能: 1.DHCP动态获取IP 2.DNS域名解析 3.网口<--MQTT-->485/422透传通信 测试准备工作 注:如果想连接自己的服务器测试,请修改为自己的MQTT连接信息 一,按照下面方式短接通信端口 电脑串口<-->STM32串口1 422/485 <-->STM32串口3 二,连接网线(网线另一端连接可以上网的路由器或者交换机) 三,连接485/422通信模块(任选一种即可,下面说明

8-STM32物联网开发WIFI+GPRS基础篇(STM32+GPRS(AT指令)实现MQTT远程通信控制)

https://www.cnblogs.com/yangfengwu/p/11482905.html 上一节测试的是Wi-Fi 这节测试  GPRS 看名字就知道了,简单的说 就是  单片机使用AT指令控制模块实现MQTT通信控制 这节是 STM32+GPRS(AT指令)实现MQTT通信控制: 一,下载STM32程序 1,方式一,串口下载(其他下载方式在最后补充) ①调整拨动开关位置 → 短接BOOT0和3.3V → 复位STM32 ②打开下载软件,下载程序 选择对应的串口 去掉短接,复位下单片

7-STM32物联网开发WIFI+GPRS基础篇(STM32+Wi-Fi(AT指令)实现MQTT远程通信控制)

https://www.cnblogs.com/yangfengwu/p/10840517.html 新板子终于到了,耽搁时间了,抱歉哈!为了表达歉意,我做了几套代码提供给大家 这节的代码也作为整版测试 看名字就知道了,简单的说 就是  单片机使用AT指令控制模块实现MQTT通信控制 先看这节 STM32+WIFI(AT指令)实现MQTT通信控制: 一,下载STM32程序 1,方式一,串口下载(其他下载方式在最后补充) ①调整拨动开关位置 → 短接BOOT0和3.3V → 复位STM32 ②打开

9-STM32物联网开发WIFI+GPRS基础篇(STM32+SIM800实现MQTT远程通信控制)

https://www.cnblogs.com/yangfengwu/p/11484159.html 注意:TCP运行在云端服务器上,因为GPRS只能连接公网IP哈!  如果自己测试可以使用花生壳映射! 可以直接搜索我的博客      要写就写的更全面一点吧,把常用的芯片全部都写上 先说一下SIM800的问题 长时间不通信,通信就死掉了,服务器发送数据发送不过去了 但是可以看到串口那边没有报任何的错误..... 查询状态..查询不到 然后我多发了几次查询状态 所以...实际如果做成项目,必须有心

H5如何做手机app(移动Web App)?图片轮播?

移动Web App 跨平台开发 用户不需要去卖场来下载安装App 任何时候都可以发布App只需要一个开发项目 可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python) 1 MUI-轻量APP框架 快速体验 Quickly get up and running with a mui app. 1. 下载Hello mui App 点击下载 已打包好的Hello mui 手机app,直接在手机上体验mui的控件UI及能力展示: 2

Hybrid APP基础篇(二)-&gt;Native、Hybrid、React Native、Web App方案的分析比较

说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid App React Native App 分析 各大开发模式直观对比 如何选择开发模式 另类的app方案 微网页 微信小程序 其它 前言 参考来源 前人栽树,后台乘凉,本文参考了以下来源 对当前主流hybrid app.web app与native app工具的初步比较与分析 H5.React Nati

使用Xamarin开发手机聊天程序 -- 基础篇(大量图文讲解 step by step,附源码下载)

如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!而且,Xamarin已经被微软收购并被大力推广,.NET开发人员将时间投资在Xamarin上,以应对移动开发的热潮,应该是值得的. 好了,废话不多说,就开始吧.本系列文章将详细介绍如何使用Xamarin开发出一个简单的即时通信IM聊天系统(文末有源码下载,可先睹为快),本文作为第一篇基础篇,将着重介绍Xamarin Andro

【转帖】H5 手机 App 开发入门:概念篇

H5 手机 App 开发入门:概念篇 http://www.ruanyifeng.com/blog/2019/12/hybrid-app-concepts.html 作者: 阮一峰 日期: 2019年12月10日 感谢 腾讯课堂NEXT学院 赞助本站,腾讯官方的前端课程 免费试学. 手机现在是互联网的最大入口.根据<中国互联网报告>,手机网民已经超过8亿,人均每天上网三个多小时. 毫不奇怪,手机应用软件(mobile application,简称 mobile App)的开发工程师供不应求,一