首页 > 其他分享 >基于ESP32单片机的蓝牙环境检测手机APP设计

基于ESP32单片机的蓝牙环境检测手机APP设计

时间:2024-09-04 09:54:13浏览次数:9  
标签:info ESP32 public 单片机 data APP DHT11



基于ESP32单片机的蓝牙环境检测手机APP设计

  • 0、毕业设计选题原则说明(重点)
  • 1、项目简介
  • 1.1 系统构成
  • 1.2 系统功能
  • 1.3 演示视频
  • 2、部分电路设计
  • 2.1 esp32单片机核心板电路设计
  • 2.2 DHT11温湿度检测电路设计
  • 2.3光照检测电路设计
  • 3、ESP32代码展示
  • 3.1 系统初始化
  • 3.2 ESP32与手机APP蓝牙通信
  • 3.3 DHT11读取温湿度数据
  • 4、Anrdoid Studio APP代码设计
  • 4.1、创建网络服务器
  • 4.2、手机APP与单片机通信


0、毕业设计选题原则说明(重点)

  • 选题之前,同学们要弄明白一件事情,做毕业设计是干什么用的!
  • 这里我告诉大家,毕业设计对于你来说,不是让你去搞研究,掌握运用所学知识的,也不是让你去比谁做的毕业设计多么牛逼,多么厉害。
  • 说白点,它的作用就是一个,让你顺利毕业,能够拿到学位证,毕业证而已!!!
  • 当你明白这一点后,作毕业设计的要求就是在满足老师的要求后,越简单越好,这样不但容易去做,而且你自己也容易去理解,掌握,同样也能花最少的钱!!!
  • 满足老师的要求,这个没办法,毕竟他是决定你是否能通过答辩的人。
  • 每年都有很多同学找到我的时候,后悔当初为什么要把功能写的那么复杂,后悔没有提前找我咨询一下!所以在这里提醒同学们,提交开题报告之前一定

1、项目简介

1.1 系统构成

  • esp32单片机最小系统+dht11温湿度传感器+水位传感器+光照采集电路+继电器控制电路+电源电路构成。

1.2 系统功能

  • 功能介绍:
  • 1、采集温度、湿度、光照强度、降水量数据
  • 2、使用手机app实时显示湿度、光照强度、降水量数据
  • 3、可以设置温度,湿度,光照,降水量的报警阈值
  • 4、数据超过阈值时,进行报警,比如温度超过报警阈值30,蜂鸣器报警

1.3 演示视频

2、部分电路设计

2.1 esp32单片机核心板电路设计

  • ESP32单片机是一款基于改进的Tensilica LX6微架构的32位双核处理器 SoC,配备2.4 GHz Wi-Fi和蓝牙功能。由于其低功耗、高速度和广泛的应用适用性而被广泛应用。
  • 处理器与内存:采用双核处理器设计,包括一个主频高达240MHz的主核和一个协处理器核心,通常配备约520KB到4MB的RAM,包括内部RAM和外部PSRAM,用于存储程序和数据。
    无线通信:内置Wi-Fi和蓝牙功能,支持IEEE 802.11 b/g/n Wi-Fi标准(工作在2.4GHz频段)以及蓝牙4.2(包括BR/EDR和BLE),使得ESP32能够轻松连接到无线局域网络,进行Internet访问、局域网通信和远程控制,同时也能与各种蓝牙设备进行通信。
    外设与接口:拥有丰富的外设和接口,包括最多34个可编程GPIO引脚、UART、SPI、I2C、I2S、PWM等多种通信协议支持,以及12位ADC(最多18通道)、8位DAC(2通道)、触摸传感器(最多10通道)等模拟和数字信号处理能力。
    低功耗特性:支持深度睡眠模式,其中所有非必要的电路都被关闭,以最小化功耗。此外,Wi-Fi模块和蓝牙模块都支持功耗优化功能,可以在数据传输时限制功率消耗,从而延长电池寿命。ESP32还具有一个低功耗的RTC模块,可在芯片进入深度睡眠模式时继续运行,用于提供时间戳或执行时间相关的任务。

单片机最小系统原理图如下图所示:

基于ESP32单片机的蓝牙环境检测手机APP设计_单片机

实物图:

基于ESP32单片机的蓝牙环境检测手机APP设计_单片机_02

2.2 DHT11温湿度检测电路设计

  • DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复 合传感器。它包括一个电阻式感湿元件和一个 NTC 测温元件。每个 DHT11 传 感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在 OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数,用户 无需重新校准。单线制串行接口,使系统集成变得简易快捷。超小的体积、 极低的功耗,信号传输距离可达 20 米以上。

其具体电路原理图如下图所示:

基于ESP32单片机的蓝牙环境检测手机APP设计_课程设计_03

  • 实物图:
  • 基于ESP32单片机的蓝牙环境检测手机APP设计_毕业设计_04

2.3光照检测电路设计

  • 光敏电阻为一种无结(PN结)器件,光敏特性主要利用了光导电体导电特性。 当光敏电阻在受到光的照射时,如果光子能量大于本征半导体材料的禁带宽度,则价带中的电子吸收一个光子后就足以跃迁到导带,并产生一个自由电子和一个自由空穴,从而使其导电性能增加,电阻值下降。光照停止,自由电子与空穴逐渐复合,电阻又恢复原值。光敏电阻的电阻值会随着入射光的强弱而发生改变;
  • 即当入射光较强时,光敏电阻的阻值会明显减小;当入射光变弱时,光敏电阻的电阻会显著增大。

其具体电路原理图如下图所示:

基于ESP32单片机的蓝牙环境检测手机APP设计_单片机_05


实物图如下:

基于ESP32单片机的蓝牙环境检测手机APP设计_esp32_06


3、ESP32代码展示

3.1 系统初始化

/* 系统初始化 */
void setup() {
  Serial.begin(115200);

  BEEP_INIT;  /* 蜂鸣器初始化 */
  BEEP_ON     /* 蜂鸣器打开 */
  delay(1000);  /* 延时 */
  BEEP_OFF     /* 蜂鸣器关闭 */
  DHT11Init();  /* dht11 温湿度传感器初始化 */
  
  WiFiAPPInit();  /* wifi模式初始化 */
}

3.2 ESP32与手机APP蓝牙通信

/* 处理与app通信数据 */
static void DealWithAppData(WiFiClient *p_client, DeviceData *p_data, uint8_t *rcv_data, uint8_t *send_data, uint8_t len)
{
  if(rcv_data[0] == 0x85)
  {
    if(rcv_data[1] == 0x09)
    {
      p_data->yuzhi_temp = rcv_data[2];     //温度阈值
      p_data->yuzhi_humi = rcv_data[3];     //湿度阈值
      p_data->yuzhi_light = rcv_data[4];    //光照阈值
      p_data->yuzhi_water = rcv_data[5];    //水位阈值
      p_client->write(send_data, len);      //向手机发送数据
    }
  }
}

3.3 DHT11读取温湿度数据

uint8_t DHT11_Read_Data(uint8_t *temp,uint8_t *humi)    
{        
  uint8_t buf[5];
  uint8_t i;
  DHT11_Rst();
  if(DHT11_Check()==0)
  {
    for(i=0;i<5;i++)//读取40位数据
    {
      buf[i]=DHT11_Read_Byte();
    }
    if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
    {
      *humi=buf[0];
      *temp=buf[2];
    }
    
  }else return 1;
  return 0;     
}

4、Anrdoid Studio APP代码设计

4.1、创建网络服务器

public void connect_server() {
        public_info.buf_length = 8;
        public_info.buf = new byte[public_info.buf_length];
        public_info.need_send_cmd = false;
        public_info.recv_thread_exit = false;
        public_info.info_thread_exit = false;
        public_info.temp_yuzhi = 10;

        if (public_info.connect_cnt > 0)
            public_info.info_thread_exit = true;              //如果之前已经有连接了,需要断开后再连接
        //创建网络线程,并在线程中连接服务器
        client_info_thread = new clientInfoThread(netMessageHandle);
        client_info_thread.start();
    }

4.2、手机APP与单片机通信

public void send_buffer_to_network(byte []msg,byte length) {
        while (true) {
          if (public_info.need_send_cmd) {         //如果正在发送数据,则要等待它完成再做操作
            try {
                Thread.sleep(100);         //100ms延时
            }catch (Exception ex) {}
            continue;
          }
          break;
        }
        //设置要发送的数据和长度
        public_info.buf_length = length;
        public_info.buf = msg;
        public_info.need_send_cmd = true;
    }


标签:info,ESP32,public,单片机,data,APP,DHT11
From: https://blog.51cto.com/u_14938734/11916338

相关文章

  • 基于uniapp的畅玩旅游景点门票预订系统的设计与实现b3w12 微信小程序
    目录博主介绍技术栈系统设计......
  • 学成在线app的设计与实现-计算机毕业设计源码+LW文档
    摘 要随着信息技术的飞速发展,计算机专业人才的需求日益增长,而传统的学习方式已无法满足现代教育的需求。移动学习平台以其便捷性、灵活性和个性化等特点,为计算机专业核心课程的学习提供了全新的解决方案。该平台能够让学生随时随地获取优质的教育资源,打破时间和空间的限制,提高学......
  • 单片机开发过程中经常会遇到什么问题?
    开发过程中经常遇到的问题包括数值异常、动作异常以及程序崩溃等。具体如下:1.数值异常问题及其解决方法  数组越界:数组越界是一种常见的问题,当数组的索引超出了其实际范围时,可能会导致相邻变量的值被错误地修改。解决这类问题通常需要结合内存映射文件(map文件),通过分析map......
  • A-计算机毕业设计定制:76114客户关系管理系统(免费领源码)可做计算机毕业设计JAVA、PHP
    摘 要 随着信息化时代的发展,各行各业都逐渐意识到客户关系管理的重要性。传统的客户管理方式已经无法满足日益增长的客户群体及复杂的业务需求。因此,客户关系管理系统应运而生,以提高服务质量、降低成本、促进营销活动,并实现客户与企业之间更紧密的互动。本文主要探讨如何......
  • uni-app的计算属性
    计算属性,也就是使用2个或者两个以上的值来计算或者组合首先我们先写两个输入框然后写一个框的组合:方法(1):方法(2):就是使用官方给的一个是属性computed   使用 computed 时需要注意的是,在模板成需要在变量后面添加value  否者会直接把源码显示上去方法(3)......
  • 【Azure App Service】App service无法使用的情况分析
    问题描述Appservice无法使用,返回500错误或一直没有响应的情况。 问题原因AppService集成子网后,如果子网网段中的剩余IP地址非常少的情况下,会在AppService实例升级时(先加入新实例,然后在移除老实例)。新加入的实例不能被分配到正确的内网IP地址,无法成功的访问内网资源。......
  • Go - Web application 3
    Displayingdynamicdatafunc(app*application)snippetView(whttp.ResponseWriter,r*http.Request){id,err:=strconv.Atoi(r.PathValue("id"))iferr!=nil||id<1{http.NotFound(w,r)return}snippet,......
  • 基因图谱(Genomic Mapping)分析与应用
    基因图谱(GenomicMapping)是基因组学研究中一项至关重要的技术,它为科学家提供了关于基因的位置和距离的详细信息。通过基因图谱的构建,研究人员可以揭示基因与性状之间的关系,探索疾病的遗传机制,并推动个性化医学的发展。本文将详细分析基因图谱的类型、构建方法、应用场景以及它......
  • 国内外主流服务器管理面板 AMH、AppNode、WDAP、宝塔
    一.AMH1.AMH国内领先的云主机面板,安装请使用纯净系统。(Centos、Debian、Ubuntu)二.AppNode1.可视化、简易高效、操作透明、高可扩展三.WDAP1.可视化四.宝塔1.可视化......
  • uniapp 复制编译后sourcemap复制到工程内
    sourcemap.jsconstfs=require('fs');constpath=require('path');/***将/dist/dev/.sourcemap文件复制到/dist/dev/mp-toutiao/.sourcemap*/lettriggerMove=false;module.exports=async()=>{if(triggerMove)return;tri......