前言:

说明两个地方

1.点击按钮启动SmartConfig的地方

2.最终跳转的地方

说明

这节说明一下,如何把本人源码里面的SmartConfig程序移植到自己的工程

我要把所有的全部拿出来讲,让大家可以方便的把每一个功能移植到自己的工程.

新建一个项目

主页面只放一个按钮和一个文本框

按钮是负责跳转到配网绑定页面,文本框显示配网绑定完成以后获取的Wi-Fi的MAC信息

新建一个新页面,配网绑定用的

名字随意

换个布局

里面放一个EditText  用来显示咱连接的路由器名称

一个EditText 用来输入密码

一个按钮用来启动SmartConfig

打开教程的APP源码

注意:不支持中文目录,把源码拷贝到英文目录下,然后用软件打开

自己新建的工程选择导入模块

选择源码里面的esptouch

添加依赖

implementation project(‘:esptouch‘)

拷贝源码里面的 ActivityBindDevices 到咱的新工程

这种错误是因为SDK版本不一致可能报错,自己可以重新敲

我是用的28,大家如果用29,就会报错,29的包开始用 Androidx.XXXXX

修改布局的名字,根据控件的ID修改下

在AndroidManifest里面加上Activity

android:name=".ActivityBindDevices"

android:label="@string/app_name">

在AndroidManifest里面加上权限

我把咱后期用到的全部加上了

加上动态权限申请

String[] PermissionString={//需要提醒用户申请的权限

Manifest.permission.READ_EXTERNAL_STORAGE,

Manifest.permission.CAMERA,

Manifest.permission.ACCESS_FINE_LOCATION,

Manifest.permission.READ_PHONE_STATE,

Manifest.permission.WRITE_EXTERNAL_STORAGE,

Manifest.permission.REQUEST_INSTALL_PACKAGES,

};

主页面加上按钮点击跳转事件

主页面加上显示跳转过来传递的MAC数据

测试

一,下载单片机程序

"测试APP使用SmartConfig绑定Wi-Fi 设备通过MQTT控制设备"

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

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

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

五.输入路由器密码,点击APP的"搜索设备"按钮,开始搜索设备

六.配网以后自动跳转到主页面,显示配网获取的Wi-Fi的MAC地址

结语

反正APP的SmartConfig也就是这样使用,后期自己想优化程序和页面自己搞吧.

原文:https://www.cnblogs.com/yangfengwu/p/11925612.html

新建项目拷贝html报错,ESA2GJK1DH1K基础篇: 移植源码中SmartConfig程序到自己的项目...相关推荐

  1. Nginx基础篇-Nginx 源码编译安装与平滑升级

    Nginx基础篇-Nginx 源码编译安装与平滑升级 Nginx官网下载地址 http://nginx.org/ 1.安装依赖包 yum -y install pcre-devel zlib-deve ...

  2. Nginx实战基础篇一 源码包编译安装部署web服务器

    Nginx实战基础篇一 源码包编译安装部署web服务器 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览.表演.放映.广播或通 ...

  3. Lua源码分析 - 基础篇 - Lua源码的结构和架构图(01)

    目录 一.Lua语言简介 二.Lua架构图 三.Lua源码结构 很久很久没有写博客了,一直忙于工作和项目,最近依然想静下来阅读一些好的源码.自从读完了Nginx和Memcache的源码后,对服务器端的 ...

  4. 【报错笔记】在eclipse中复制代码后代码中会报画红线错,而且项目也会报错。

    在eclipse中复制代码后代码中会报画红线错,而且项目也会报错. 错误原因:复制过程中由于不同文件编码方式的不同,使文件对空格的编码方式不同,从而无法识别. 解决方案:点击报错文件点右键->p ...

  5. 关于使用IDEA导入项目后依赖报错的解决方案

    关于使用IDEA导入项目后依赖报错的解决方案 参考文章: (1)关于使用IDEA导入项目后依赖报错的解决方案 (2)https://www.cnblogs.com/cgy-home/p/1117117 ...

  6. java计算机毕业设计科技项目在线评审系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计科技项目在线评审系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计科技项目在线评审系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目 ...

  7. java项目如何启动tomcat服务器,Java web项目启动Tomcat报错解决方案

    Java web项目启动Tomcat报错解决方案 点击运行项目时显示 A Java Exception has occurred. 'Starting Tomcat v9.0 Server at lo ...

  8. Eclipse中导入项目后js报错解决方法

    Eclipse中导入项目后js报错的原因与解决方法 在我们将项目导入Eclipse后,配置好各种编译条件.加载好jar包.配置好tomcat后发现项目还是报错,(前提是项目本身并没有错误,而是我们在初 ...

  9. idea项目依赖导入失败_解决idea导入项目后依赖报错问题

    1.在idea首页 Confige-->setting-->build,execution,deployment-->buildTool-->maven-->work o ...

最新文章

  1. go语言笔记——切片底层本质是共享数组内存!!!绝对不要用指针指向 slice切片本身已经是一个引用类型就是指针...
  2. android人脸识别源代码,Android自带的人脸识别
  3. mongodb的增、删、改、插的一个实例
  4. 周末,说声php的settergetter(魔术)方法,你们辛苦了
  5. 用python操作浏览器的三种方式_python的webbrowser模块支持对浏览器进行一些操作...
  6. X-AdminABP框架开发-系统日志
  7. java输出不同颜色_Java设计模式-策略模式、状态模式
  8. Java开发笔记(五十六)利用枚举类型实现高级常量
  9. web 开发一个能进行人员管理(查询,删除,添加)的应用
  10. angular 上传图像的使用总结
  11. 这么多牛逼的Java常用Json库,万万没想到它的性能最好!
  12. 多线程程序设计学习(1)之多线程程序的评量标准
  13. android自定义日历代码,Android自定义日历Calender代码实现
  14. 酒店机器人:酒店增收提质的新引擎
  15. 二叉树非递归遍历算法
  16. android系统性能优化工具,十条Android系统优化技巧, 让手机更流畅
  17. LeetCode刷题(158)~从尾到头打印链表【递归|辅助栈】
  18. 本命年第三季度阶段反思
  19. 激光雷达发射的激光属于哪个范围???和毫米波波长相比如何???
  20. Ubuntu 2004 鼠标可以移动但是点击无响应 排查流程

热门文章

  1. 台式计算机用u盘给电脑安装系统,台式电脑如何用u盘装系统xp
  2. 关于react props获取不到的问题
  3. 如何才能简单、快速地提取图片中的文字?
  4. 群控,云控:资料整理
  5. java反序列化失败怎么处理_处理dubbo反序列化失败的坑
  6. SpringCloud学习笔记,课程源自黑马程序员,笔记持续更新中...
  7. Android 天气预报App的简单实现
  8. CSS+JS实现图片集展示(二)
  9. python兼职平台信号处理_Python 中 FIR 数字滤波器设计与时序信号处理——信号与系统大作业...
  10. 社群运营,正确的社群管理工具使用方式是?