ESA2GJK1DH1K基础篇: Android实现SmartConfig简单Demo
下载源码去
百度安信可
导入源码
等待加载完
我的提示更新下软件 ,我就更新下
安装完成以后重新导入工程
安装到手机
注意,由于Android 9.0 以后的获取WIFI名称需要打开GPS,所以如果提示下图
需要自己手动打开GPS
输入密码,然后测试
测试准备工作
一,下载单片机程序
"测试APP使用SmartConfig绑定Wi-Fi 设备通过MQTT控制设备"
二,调整波动开关位置,STM32和Wi-Fi通信
三,短接STM32的PB2和Wi-Fi模块的RST引脚(为了做项目稳定可靠,请使用单片机硬件复位Wi-Fi)
开始测试
一.长按PB5大约4S,等待指示灯快闪,松开PB5,Wi-Fi模块进入配网状态
二.点击APP的"确认"按钮,开始搜索设备,配网成功以后,会获取到WIFI的MAC地址信息,还有WI-Fi当前分配的IP地址信息
结语
SmartConfig呢,就是控制WI-Fi连接上路由器,同时获取到WI-Fi的MAC地址信息
有些人可能会问,为什么需要WI-Fi的MAC地址.
我的单片机程序订阅的主题是这样的
我单片机
订阅的主题是: user/WI-Fi的MAC地址
发布的主题是:device/WI-Fi的MAC地址
而APP在SmartConfig的时候获取到了这个MAC地址
我设置的APP订阅的主题是:device/WI-Fi的MAC地址
APP发布的主题是:user/WI-Fi的MAC地址
这样APP和设备就完成了数据通信了...
有人又会问,自己指定不可以吗???你自己想想会出什么问题吧!
太麻烦了.......APP怎么做到动态绑定呢!!!!!!!
我说说现在用MAC的好处.
第一: 每个设备订阅和发布的主题唯一,各个设备不会冲突(MAC地址全球唯一)
第二: 设备端的程序只需要程序获取MAC然后设置订阅和发布的主题就可以了
第三: APP在SmartConfig的时候获取到设备的MAC,然后设置订阅和发布的主题就可以了
现在厂商都是利用MAC地址绑定.....
ESA2GJK1DH1K基础篇: Android实现SmartConfig简单Demo的更多相关文章
- ESA2GJK1DH1K基础篇: Android连接MQTT简单的Demo
题外话 我老爸也问我物联网发展的趋势是什么!!!!!! 我自己感觉的:(正在朝着 "我,机器人" 这部电影的服务器方向发展) 以后的设备都会和服务器交互,就是说本地不再做处理,全部 ...
- ESA2GJK1DH1K基础篇: Android实现MQTT封装源码使用说明
说明 这一节说明一下基础篇APP源码里面MyMqttCilent.java这个文件的使用 新建工程 安装MQTT的jar包 implementation 'org.eclipse.paho:org.e ...
- Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步
Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步 一.概述 PV操作是对信号量进行的操作. 进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消 ...
- ESA2GJK1DH1K基础篇: 移植源码中SmartConfig程序到自己的项目
前言: 说明两个地方 1.点击按钮启动SmartConfig的地方 2.最终跳转的地方 说明 这节说明一下,如何把本人源码里面的SmartConfig程序移植到自己的工程 我要把所有的全部拿出来讲,让 ...
- ESA2GJK1DH1K基础篇: 测试APP使用SmartConfig绑定Wi-Fi 设备并控制设备
前言 实现功能概要 STM32控制WI-Fi模块以AT指令TCP透传方式连接MQTT服务器, 实现MQTT通信控制. 测试准备工作(详细下载步骤请参考 硬件使用说明 ) 一,下载单片机程序 二,安装A ...
- Android SQLite最简单demo实现(增删查改)
本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍, ...
- ESA2GJK1DH1K基础篇: 移植官方MQTT包,让TCP实现MQTT功能(以GPRS模块为例)
前言 这节代码将在这一节的基础上实现 拷贝第一节测试里面的MQTT文件夹到当前工程 当前工程建个MQTT的文件夹,用于存放那个MQTT文件夹里面的内容 添加文件到里面 注意:::: 实际源码拷贝位置 ...
- ESA2GJK1DH1K基础篇: 来吧! 彻底了解一下MQTT
首先你需要知道MQTT并不是什么高大上的事物,它只是一个软件,对就是一个软件.其实就是个TCP服务器 一,既然是TCP服务器,这个TCP服务器和咱平时做的有什么不一样呢. 首先,平时的时候咱做的TCP ...
- [Android 性能优化系列]内存之基础篇--Android怎样管理内存
大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处(http://blog.csdn.net/kifile),再次感谢 原文地 ...
随机推荐
- Qt Quick 常用元素:ComboBox(下拉列表) 与 ProgressBar(进度条)
一.ComboBox ComboBox,即下拉列表框,由一个列表框和一个标签控件(或编辑控件)组成.ComboBox 的下拉列表是使用 Menu 实现的,列表内的每个条目对应一个 Menultem. ...
- ROS消息vs服务
1.ROS包消息/服务模式与要点 从功能上看,ROS包是信息交互和处理的基本单元.根据信息的交互和处理方式,ROS包有以下两大类: 消息发布者与订阅者 服务器与客户端 对于消息模式的包,信息的提供者主 ...
- [转帖]PG的时间函数使用整理如下
PG的时间函数使用整理如下 https://blog.csdn.net/dahuzix/article/details/48576945 1.获取系统时间函数 -- :: -- :: -- :: 2. ...
- 图解微信小程序---scroll_view实现首页排行榜布局
图解微信小程序---scroll_view实现首页排行榜布局 什么是scroll-view? 滚动视图可滚动视图区域.使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 h ...
- How to call a stored procedure in EF Core 3.0 via FromSqlRaw(转载)
问: I recently migrated from EF Core 2.2 to EF Core 3.0. Unfortunately, I haven't found a way to call ...
- swagger 集成后发布到服务器报错[Could not find file 'D:\\home\\site\\wwwroot\\bin\\WebAPI.XML]
webapi集成swagger后,在本地运行没有问题,但是发布到服务器上就有问题. 报错信息:Could not find file 'D:\\home\\site\\wwwroot\\bin\\We ...
- 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(4)-Excel文件读、写操作
Excel文件读.写可以使用Office自带的库(Microsoft.Office.Interop.Excel),前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题.还 ...
- 基于DockerSwarm 部署InfluxDB并使用JAVA操作
Docker中部署InfluxDB 1.运行容器 $ docker run --rm \ -e INFLUXDB_DB=db0 -e INFLUXDB_ADMIN_ENABLED=true \ -e ...
- linux命令之——grep详解
grep命令用于查找文件里符合条件的字符串:也可以用于查找内容包含指定的范本样式的文件.它能使用正则表达式搜索,用于在文件中搜索指定的字符串模式,列出含有匹配模式子符串的文件名,并输出含有该字符串的文 ...
- Markdown 文件如何实现 chm 文件打包
需要借助2个工具,下面的链接都有对应的网址 LME和 hhw, 有不清楚的可以下面评论,7*24小时在线解答问题,也可以加博主微信 首先借助 Markdown To CHM(LME) 工具将Markd ...