Android APP 与STM32无线环境控制系统

2023-11-10

本系统为安卓APP的环境参数远程监控系统,以STM32F103单片机作为本设计的中控中心,结合物联网技术,以Android智能手机作为远程控制的客户端,通过8266 WiFi模块实现环境监控系统硬件与Android手机的交互、环境参数的反馈,并实时提醒用户采取措施,具有异常报警功能。
使用的软件为keil5 和Android studio

在这里插入图片描述
在这里插入图片描述

STM32程序:
主要编写串口、中断。ESP8266驱动程序网上有很多,可以直接拿来使用,本系统使用的是ESP8266的AP模式,在下位机中先设置好模式:
代码为:
u3_printf(“AT+CWMODE=2\r\n”); //ÏòESP8266•¢ËÍÊý¾Ý
delay_ms(1000);
u3_printf(“AT+CWSAP=“ESP8266”,“12345678”,11,3\r\n”); //ÏòESP8266•¢ËÍÊý¾Ý
delay_ms(1000);
u3_printf(“AT+RST\r\n”); //ÏòESP8266•¢ËÍÊý¾Ý
delay_ms(3000);
u3_printf(“AT+CIPMUX=1\r\n”); //ÏòESP8266•¢ËÍÊý¾Ý
delay_ms(2000);
u3_printf(“AT+CIPSERVER=1,5000\r\n”); //ÏòESP8266•¢ËÍÊý¾Ý
delay_ms(1000);
主要了解8266的AT指令即可,现在都是集成好了的,使用非常方便。
串口代码:
//´®¿Ú3,printf º¯Êý
//È·±£Ò»´Î·¢ËÍÊý¾Ý²»³¬¹ýUSART3_MAX_SEND_LEN×Ö½Ú
void u3_printf(char* fmt,…)
{
u16 i,j;
va_list ap;
va_start(ap,fmt);
vsprintf((char*)USART3_TX_BUF,fmt,ap);
va_end(ap);
i=strlen((const char*)USART3_TX_BUF); //´Ë´Î·¢ËÍÊý¾ÝµÄ³¤¶È
for(j=0;j<i;j++) //Ñ­»··¢ËÍÊý¾Ý
{
while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //Ñ­»··¢ËÍ,Ö±µ½·¢ËÍÍê±Ï
USART_SendData(USART3,USART3_TX_BUF[j]);
}
}
APP程序:
public class MainActivity extends Activity {
private EditText pass;
private Button next;
private Button over;
private EditText pass_new;
SharedPreferences pass_word =null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(“登陆界面”);
setContentView(R.layout.activity_main);
Init();
pass_word = getSharedPreferences(“setting”, Activity.MODE_PRIVATE);

SharedPreferences.Editor editor = pass_word.edit();
next.setOnClickListener(new View.OnClickListener() {

	@Override
	public void onClick(View v) {
		String now=pass.getText().toString();
		 // now="12345";
		String pas = pass_word.getString("name","12345");
		
		//Intent intent = new Intent();
        //intent.setClass(MainActivity.this,ShowActivity.class);
        //startActivity(intent);
        
		if(pas.equals(now))
		{
			 Intent intent = new Intent();
             intent.setClass(MainActivity.this,ShowActivity.class);
              startActivity(intent);
		} 
		else{
			Toast.makeText(MainActivity.this, "密码错误", Toast.LENGTH_LONG).show();
			 
		    }
		 
	}
     });

over.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
	String now=pass.getText().toString();
	String pas = pass_word.getString("name","12345");
	if(pas.equals(now))
	{ new AlertDialog.Builder(MainActivity.this)  
	.setTitle("请输入新密码")  
	.setIcon(android.R.drawable.ic_dialog_info)  
	.setView(pass_new)  
	.setPositiveButton("确定",  new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which)
           {
        	   save() ;
           }
       })  
	.setNegativeButton("取消", null)  
	.show();  
	}
	else{
		Toast.makeText(MainActivity.this, "请输入初始密码", Toast.LENGTH_LONG).show();
	    }
	 
}
});

}

protected void onResume() {
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
}

super.onResume(); }

void Init()
{
pass=(EditText) findViewById(R.id.et_pass);
next=(Button) findViewById(R.id.access);
over=(Button) findViewById(R.id.over);
// pass_new= new EditText(MainActivity.this);
}
void save()
{
String now=pass_new.getText().toString();
Editor editor =pass_word.edit();
editor.putString(“name”, now);
editor.commit();
|
|

}
}

在这里插入图片描述
怎么发现上转不了视频,有需要看视频效果的可以加953091376技术交流,硬件原理图、PCB、代码等可加QQ获取

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android APP 与STM32无线环境控制系统 的相关文章

  • iOS 检查 WiFi 辅助是否已启用

    我正在尝试检查 WiFi 辅助是否已启用 当我连接到接入点获取一些数据时遇到问题 当我的连接状况不佳时 我的蜂窝数据会被使用并干扰我的接入点 有什么方法可以检查该选项是否启用 好吧 我想我能帮上一点忙 你需要check SCNetworkR
  • 特殊寄存器

    特殊寄存器 文章目录 前言 一 背景 二 2 1 2 2 总结 前言 前期疑问 STM32特殊寄存器到底是什么 特殊寄存器怎么查看和调试代码 本文目标 记录和理解特殊寄存器 一 背景 最近在看ucosIII文章是 里面提到特殊寄存器 这就进
  • 如何禁用 Android 设备的强制网络助手?

    当用户通过强制门户连接到开放 WiFi 时 Android 设备将打开带有强制门户 登录页面的浏览器实例 我们想禁用它 因为我们使用应用程序进行登录 我在 Android Marshmallow 中遇到了 CaptivePortal 类 我
  • 核心耦合内存在 STM32F4xx 上可执行吗?

    尝试从 STM32F429s CCM 运行代码 但每当我命中 CCM 中的第一条指令时 我总是会遇到硬故障 并且 IBUSERR 标志被设置 该指令有效且一致 STM32F4xx 是否可能不允许从 CCM 执行 数据访问效果良好 alios
  • Github (SSH) 通过公共 WIFI,端口 22 被阻止

    我目前在公共 WIFI 站点上 但无法使用 SSH 他们可能阻止了该端口 但是 我需要该连接来执行git push ssh T email protected cdn cgi l email protection ssh connect t
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 如何通过安装 .app(二进制)文件在设备上测试应用程序? (不使用Xcode进行测试)

    我创建了一个应用程序 我想将其发送给另一个人进行测试 他有一部 iPhone 和一台 Mac 但他的 Mac 上没有 xcode 他不是 iPhone 程序员 所以 如果我发送 app 文件 他可以在他的 iPhone 上测试吗 如果没有
  • 对 NEHotspotHelper.register 的调用永远不会返回

    我正在开发一个 iOS 应用程序 它需要自动连接到 WiFi 网络 我们已向 Apple 请求 NEHotspotHelper 扩展 该扩展已获得批准 现在我正在尝试自动连接到周围的WiFi网络 但是调用方法NEHotspotHelper
  • 无法理解 PcapNG 文件中的 802.11 数据帧格式

    I have PcapNG由 Wireshark 创建的文件 我尝试用它来解析python pcapng However I cannot figure out how to reconcile the output I receive f
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • 解释 802.11 Wireshark 跟踪中的帧控制字节

    我有一个 Wi Fi 捕获 pcap 我正在分析并发现 802 11 规范与 Wireshark 对数据的解释之间存在不一致之处 具体来说 我想要分解的是 2 字节 802 11帧控制 field 取自http www4 ncsu edu
  • Android:在应用程序中间时从 3G 切换到 WIFI = 网络连接丢失

    我在使用 HTC Legend Android 2 2 时遇到了一个恼人的问题 在 Xperia Galaxy Nexus 等上没有看到此问题 当我在 3G 连接上启动应用程序 获取一些数据 然后进入手机设置并启用 WIFI 时 手机会自动
  • Android 智能手机与其他设备之间的直接 Wifi 通信

    我想在 Android 设备和另一个设备 不是另一个 Android 智能手机 而是使用 C 实现的带 wifi 的设备 之间建立通信 通过 WIFI 我已经发现android提供了直接无线网络 http developer android
  • p2p0是android中WIFI DIRECT的无线接口吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我打印 Android 设备中的所有接口时 03 10 19 50 15 484 I System out 22415 lo 03 10
  • 多久轮询一次 wifi 信号强度?

    理想情况下 我希望近乎实时地监控无线网络的信号强度 比如每 100 毫秒一次 但如此高的频率可能有点过大了 我正在使用托管无线网络 http managedwifi codeplex com 库轮询 RSSI 我实例化一个WlanClien
  • HAL_Delay() 陷入无限循环

    我被 HAL Delay 函数困住了 当我调用此函数 HAL Delay 时 控制陷入无限循环 在寻找问题的过程中 我发现了这个 http www openstm32 org forumthread2145 threadId2146 htt
  • 如何在没有互联网的情况下通过 wifi 提供网站服务?

    我想通过开放的 wifi 连接提供网站服务 但我不希望此 wifi 连接能够访问互联网 这是否可能以及我将如何去做 我已经在本地设置了网站 并通过本地主机或 IP 地址在浏览器中进行了访问 但我不确定如何设置网络服务器并通过 wifi 为网
  • 两个或多个 Android 设备之间的 WiFi 聊天

    我想开发一个聊天应用程序 使用 wifi 网络在两个或多个 Android 设备之间聊天 该应用程序应该能够相互发送或接收字符串 我有在pc和android之间使用蓝牙网络的经验 任何人都可以给我任何建议或正确的方向 提前致谢 您可以在两个
  • 从 ScanResult 构造 WifiConfiguration 或: 解释 ScanResult 的“功能”字符串

    你们中的 Android 专家知道任何开源代码来创建一个WifiConfiguration http developer android com reference android net wifi WifiConfiguration ht
  • 如何打开实际上已关闭的 Wifi 适配器的无线电?

    我在用着托管无线网络 http managedwifi codeplex com获取我的 Wifi 适配器的无线电状态 如果收音机实际上已关闭 如何将其打开 像这样的东西 WlanClient wlanClient new WlanClie

随机推荐

  • Python正则表达式(一看就懂)

    目录 哈喽O O 什么是正则表达式 简单说 正则表达式是 正则表达式怎么用 sreach的用法 匹配连续的多个数值 字符 重复前面一个匹配字符一次或者多次 字符 重复前面一个匹配字符零次或者多次 字符 重复前面一个匹配字符零次或者一次 特殊
  • 【HDLBits 刷题 5】Circuits(1)Combinational Logic

    目录 写在前面 Combinational Logic Basic Gates Wire GND NOR Another gate Two gates More logic gates 7420 chips Truth table Two
  • render的使用

    在很多前端框架中 render 函数通常接受三个参数 val rec和idx 但具体的参数取决于你的应用框架和用法 通常情况下 val 表示当前要渲染的数据值 通常是当前单元格的值 rec 表示当前行的记录或数据对象 包含了这一行的各个字段
  • 某眼查的逆向

    一 准备 APP 某眼查 版本 11 4 0 工具 xposed FDex2 JustTrustMe Fiddler jadx 二 抓包 打开Fiddler 打开天眼查抓包 开启JustTrustMe能抓到包 我们抓取工商信息这块 查看Fi
  • UE Mesh Generation and Editing at Runtime

    UE Mesh Generation and Editing at Runtime 虚幻运行时和编辑器下生成和编辑 网格体 UE Mesh 虚幻中常用的三种网格体 UProceduralMeshComponent 程序化网格体 UStati
  • Java编写好的全国省市名称

    public class PlaceUtil public static final String place 北京市 市辖区 市辖县 天津市 市辖区 市辖县 安徽省 安庆市 蚌埠市 亳州市 巢湖市 池州市 滁州市 阜阳市 合肥市 淮北市
  • Tomcat设置虚拟主机时候startup闪退问题解决

    1 修改 startup bat 文件 将 call EXECUTABLE start CMD LINE ARGS 中的 start 改为 run 2 在 startup bat 文件的最后增加 pause 3 启动 tomcat 后相应错
  • 渗透学习 Linux基础知识

    你生来就值得被爱 这点你无需质疑 小白入坑学废集2 Linux 介绍 什么是Linux Linux系统结构 Linux常见发行版本 版本问题 磁盘分区表示 硬盘和分区结构 目录结构 目录名 Linux系统常用命令 命令行编辑的几个辅助操作
  • 力扣876. 链表的中间结点(java+python)

    给定一个头结点为 head 的非空单链表 返回链表的中间结点 如果有两个中间结点 则返回第二个中间结点 示例 1 输入 1 2 3 4 5 输出 此列表中的结点 3 序列化形式 3 4 5 返回的结点值为 3 测评系统对该结点序列化表述是
  • 【mysql系列】mysql安装和卸载详细教程

    mysql安装和卸载详细教程 一 安装 1 下载 2 安装 1 编辑 my ini 文件 2 初始化数据库 3 安装数据库 4 启动 mysql 服务 5 登录 mysql 数据库 6 更改密码 二 卸载 1 停止Mysql服务 2 卸载m
  • c 服务器信息 源代码,ftp服务器c源代码

    ftp服务器c源代码 内容精选 换一换 根据各功能的平台依赖性 需要分别准备两套环境 一套x86环境 一套鲲鹏环境 本文实际使用了如表1和表2两套环境 鲲鹏代码迁移工具是一款可以简化客户应用迁移到基于鲲鹏916 920的服务器的过程的工具
  • gta5因为计算机丢失xinput1,xinput1_3.dll_gta5丢失xinput1_3.dll_xinput1_3.dll win10

    xinput1 3 dll官方下载由起点下载免费提供 起点提供xinput1 3 dll官方下载 xinput1 3 dll是Microsoft DirectX for Windows的控制模块 当运行程序或者游戏时 系统弹出错误提示 找不
  • 【c语言】练手:一个简单的图书管理系统

    c语言 练手 一个简单的图书管理系统 最近在学习结构体和结构体指针等内容 为了巩固所学习的内容 于是写了一个简陋的图书管理系统 在敲代码过程中也遇到一些容易忽略的问题 于是记录下来 大家可以给给建议 核心功能主要有3个 录入书籍信息 打印书
  • Android 退出整个程序代码

    今天在网上看见个博客关于退出整个程序的 感觉不错 拿来分享学习 SysApplication这个类复制到工程里面 然后在每个Acitivity的oncreate方法里面通过SysApplication getInstance addActi
  • layui table 字体大小_layui table表格详解

    上次做table有些东西 忘记了 这次当作来个分析总结一下 跟大家共同学习 闲话不多说 直接上例子 代码 layuitable初始化代码 layui use table function var table layui table tabl
  • Https 公钥私钥交换过程

    记录一下Https 公钥私钥加密过程 对称加密 编 解码使用相同密钥的算法 一般是共享密钥 非对称加密 非对称加密算法需要两个密钥 公开密钥 publickey 简称公钥 和私有密钥 privatekey 简称私钥 公钥与私钥是一对 如果用
  • 滤波去噪和小波去噪

    原文 http zhidao baidu com linkurl 7vqgj2oQ4MacZxGLdJXM lTCDdW3TrY6hbeInWeW7NWgcCFjO8qHbbm0U8lONrAanc6BQR7WwJB0GRzgZXZQLK
  • 【云原生&Docker基础篇】Docker的安装与使用(适用于初学者)

    博客首页 派 大 星 欢迎关注 点赞 收藏 留言 本文由派大星原创编撰 系列专栏 Docker 云原生 本系列记录容器化技术的初次探险与深入思考历程 如有描述有误的地方还望诸佬不吝赐教 文章目录 Docker 是什么 Docker的优点 D
  • 机械硬盘分区 最佳性能方案

    原理 机械硬盘的通过磁头读写数据 由于角速度恒定 磁头越靠近外圈 扫描的扇区越多 读写速度越快 3个磁盘分区方案 假设 磁盘半径r 10 内层半径r1 2 5 中层半径r2 5 外层半径r3 7 5 内层面积 s1 r2xr2 r1xr1
  • Android APP 与STM32无线环境控制系统

    本系统为安卓APP的环境参数远程监控系统 以STM32F103单片机作为本设计的中控中心 结合物联网技术 以Android智能手机作为远程控制的客户端 通过8266 WiFi模块实现环境监控系统硬件与Android手机的交互 环境参数的反馈