基于Lora通讯加STM32空气质量检测WIFI通讯

  目录

 目录

前言

一、本设计主要实现哪些很“开门”功能?

二、电路设计原理图

1.电路图采用Altium Designer进行设计:

2.实物展示图片

三、程序源代码设计

四、获取资料内容


前言

随着环境污染问题的日益严重,空气质量的监测与管理已经成为社会关注的焦点。传统的空气质量监测系统往往存在布线复杂、传输距离有限以及数据实时性不足等问题,难以满足现代环境监测的需求。为了解决这些问题,我们设计并实现了一种基于Lora通讯和STM32微控制器的空气质量检测系统,同时结合了WIFI通讯技术,以实现数据的远程传输和实时监控。

本系统采用STM32微控制器作为核心控制单元,利用其强大的处理能力和丰富的外设接口,实现了对空气质量传感器数据的采集与处理。同时,系统集成了Lora通讯模块,利用其低功耗、远距离传输的特点,实现了传感器节点与中心网关之间的无线数据传输。这种无线传输方式不仅简化了系统的布线,还大大提高了数据传输的灵活性和可靠性。

为了进一步实现数据的远程监控和管理,系统还集成了WIFI通讯模块。通过WIFI模块,系统可以将采集到的空气质量数据实时上传到云端服务器或远程监控中心,用户可以通过手机、电脑等终端设备随时随地查看空气质量数据,及时采取相应的措施。这种远程监控方式不仅提高了监测效率,还为环境保护和健康管理提供了有力的数据支持。

一、本设计主要实现哪些很“开门”功能?

1、空气中甲烷传感器智能监测

2、一氧化碳检测,实时更新数据值

3、两套设备。一套用于专门采集空气指令的涉笔,一套用于联网上云数据通讯设备

4、环境温度值与湿度值的检测

5、设备之间采用Lora模块进行通讯,通讯采用加密协议,通讯距离长大500-1000米

6、接收数据设备接收到Lora模块的数据,将其解码数据,通过WIFI模块联网上抛值云端。

7、手机APP绑定设备,连接设备获取数据值,实时掌握

8、当检测空气质量阈值超标是,会进行电机启动窗帘打开通风

二、电路设计原理图

三、实物展示图片

四、程序源代码设计

代码如下(示例):

#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"    
#include "timer.h"
#include "LED.h" 
#include "adc.h"
#include "oled.h"
#include "function.h"
#include "dht11.h"
int main(void)
{
    delay_init();             //延时函数初始化    
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
    TIM2_Int_Init(5999,7199);//1000ms
    LED_Init();    
    Adc_Init();
    uart2_init2(9600);//LORA
    Adc_Init2();
    DHT11_Init();
    delay_ms(500);
    OLED_Init(); 
    OLED_Clear();
    ProLoraTXdata(1);
    //温度:湿度:CO: 甲醛:     
    OLED_ShowCHinese(0,0,0);
    OLED_ShowCHinese(18,0,1);
    OLED_ShowCHinese(0,2,2);
    OLED_ShowCHinese(18,2,3);
    OLED_ShowCHinese(0,4,4);
    OLED_ShowCHinese(18,4,5);
    OLED_ShowCHinese(36,4,6);
    OLED_ShowCHinese(54,4,7);
    OLED_ShowCHinese(0,6,8);
    OLED_ShowCHinese(18,6,9);
    TIM_SetCompare1(TIM3,1500);    //0度
    //TIM_SetCompare1(TIM3,2000);    //45度
    //TIM_SetCompare1(TIM3,2500);    //90度
    SysReadata();
    LED0=1;
    while(1)
    {        
        SysReadata();
        if(F_start)
        {
          SysDispdata();
            ProLoraTXdata(0);        ProLoraTXdata(0);
            LED0=!LED0;
            F_start = 0;
        }
    }
}


 

 

四、获取资料内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/473035.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitLab 降级安装出现 500 错误,如何解决?

本文分享 GitLab 中文版在降级的过程中出现 500 错误的修复方法。 写在前面 强烈不建议大家自行降级,如果真有降级需求,要么自己能力过硬,要么寻求专业服务【https://dl.gitlab.cn/cm33bsfv】,要不出问题很麻烦! 问…

2024-11-16 串的存储结构

一、顺序存储。 1.首先定一个静态数组,然后定义i记录串的实际长度。(缺点:长度不可变) 2.使用malloc申请动态空间,定义指针指向串的地址。(需手动ferr) 方案一: 数组末尾记录长度 …

PCHMI串口接收实验

插入的唯一一行代码 config1.START((Control)this, System.Reflection.Assembly.GetExecutingAssembly().GetTypes(), null);

代码随想录第46期 单调栈

这道题主要是单调栈的简单应用 class Solution { public:vector<int> dailyTemperatures(vector<int>& T) {vector<int> result(T.size(),0);stack<int> st;st.push(0);for(int i1;i<T.size();i){if(T[i]<T[st.top()]){st.push(i);}else{wh…

Spring 中的 BeanDefinitionParserDelegate 和 NamespaceHandler

一、BeanDefinitionParserDelegate Spring在解析xml文件的时候&#xff0c;在遇到<bean>标签的时候&#xff0c;我们会使用BeanDefinitionParserDelegate对象类解析<bean>标签的内容&#xff0c;包括<bean>标签的多个属性&#xff0c;例如 id name class in…

ODC 如何精确呈现SQL耗时 | OceanBase 开发者工具解析

前言 在程序员或DBA的日常工作中&#xff0c;编写并执行SQL语句如同日常饮食中的一餐一饭&#xff0c;再寻常不过。然而&#xff0c;在使用命令行或黑屏客户端处理SQL时&#xff0c;常会遇到编写难、错误排查缓慢以及查询结果可读性不佳等难题&#xff0c;因此&#xff0c;图形…

Bugku CTF_Web——No one knows regex better than me

Bugku CTF_Web——No one knows regex better than me 进入靶场 一段PHP代码 <?php error_reporting(0); $zero$_REQUEST[zero]; $first$_REQUEST[first]; $second$zero.$first; if(preg_match_all("/Yeedo|wants|a|girl|friend|or|a|flag/i",$second)){$key$…

爬虫——JSON数据处理

第三节&#xff1a;JSON数据处理 在爬虫开发中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;是最常见的数据格式之一&#xff0c;特别是在从API或动态网页中抓取数据时。JSON格式因其结构简单、可读性强、易于与其他系统交互而广泛应用于前端与后端的数…

OpenHarmony-1.启动流程

OpenHarmony启动流程 1.OpenHarmony 标准系统启动引导流程 OpenHarmony标准系统默认支持以下几个镜像&#xff1a; 每个开发板都需要在存储器上划分好分区来存放上述镜像&#xff0c;SOC启动时都由bootloader来加载这些镜像&#xff0c;具体过程包括以下几个大的步骤&#xf…

力扣刷题日记之150.逆波兰表达式求值

今天继续给大家分享一道力扣的做题心得今天这道题目是 150.逆波兰表达式求值 题目如下&#xff0c;题目链接&#xff1a;https://leetcode.cn/problems/evaluate-reverse-polish-notation 1&#xff0c;题目分析 这道题说是一道中等难度的题目&#xff0c;其实如果理解了其中的…

Redis五大基本类型——String字符串命令详解(命令用法详解+思维导图详解)

目录 一、String字符串类型介绍 二、常见命令 1、SET 2、GET 3、MGET 4、MSET 使用MGET 和 使用多次GET的区别 5、DEL 6、SETNX SET、SET NX和SET XX执行流程 7、INCR 8、INCRBY 9、DECR 10、DECYBY 11、INCRBYFLOAT 12、APPEND 13、GETRANGE 14、SETRANGE …

如何知道表之间的关系(为了知识图谱的构建)

今天就简单点&#xff0c;把今天花时间做的一个程序说下。 我们在做常规知识图谱的时候&#xff0c;面临一个问题就是要知道关系是如何建立。如果表的数量比较少&#xff0c;人工来做还是比较容易的。 如果有非常多的表&#xff0c;并且这些表之间的关联关系都不清楚的情况下…

【软件测试】一个简单的自动化Java程序编写

文章目录 自动化自动化概念回归测试常见面试题 自动化测试金字塔 Web 自动化测试驱动 Selenium一个简单的自动化示例安装 selenium 库使⽤selenium编写代码 自动化 自动化概念 自动的代替人的行为完成操作。自动化在生活中处处可见 生活中的自动化可以减少人力的消耗&#x…

网络学习第四篇

引言&#xff1a; 我们在第三篇的时候出现了错误&#xff0c;我们要就行排错&#xff0c;那么我们要知道一下怎么配置静态路由实现ping通&#xff0c;这样子我们才知道下一跳到底是什么&#xff0c;为什么这样子做。 实验目的 理解和掌握静态路由的基本概念和配置方法。 实…

LeetCode题解:17.电话号码的数字组合【Python题解超详细,回溯法、多叉树】,知识拓展:深度优先搜索与广度优先搜索

题目描述 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits "23" 输出…

Python爬虫项目 | 一、网易云音乐热歌榜歌曲

文章目录 1.文章概要1.1 实现方法1.2 实现代码1.3 最终效果 2.具体讲解2.1 使用的Python库2.2 代码说明2.2.1 创建目录保存文件2.2.2 爬取网易云音乐热歌榜单歌曲 2.3 过程展示 3 总结 1.文章概要 学习Python爬虫知识&#xff0c;实现简单的一个小案例&#xff0c;网易云音乐热…

消息中间件分类

消息中间件&#xff08;Message Middleware&#xff09;是一种在分布式系统中实现跨平台、跨应用通信的软件架构。它基于消息传递机制&#xff0c;允许不同系统、不同编程语言的应用之间进行异步通信。 常见的消息中间件类型包括&#xff1a; 1. JMS&#xff08;Java Message S…

GoogleCloud服务器的SSH连接配置

首先&#xff0c;Google的服务器默认是通过自带的SSH网页端连接的&#xff0c;比较麻烦和容易断开&#xff0c;不是很好用&#xff0c;常见的解决办法有两种一种是通过修改ssh的配置&#xff0c;添加密码的方式进行连接&#xff0c;一种是通过配置公钥进行连接。 密码连接之前有…

31.3 XOR压缩和相关的prometheus源码解读

本节重点介绍 : xor 压缩value原理xor压缩过程讲解xor压缩prometheus源码解读xor 压缩效果 xor 压缩value原理 原理:时序数据库相邻点变化不大&#xff0c;采用异或压缩float64的前缀和后缀0个数 xor压缩过程讲解 第一个值使用原始点存储计算和前面的值的xor 如果XOR值为0&…

【图像压缩感知】论文阅读:Content-Aware Scalable Deep Compressed Sensing

tips&#xff1a; 本文为个人阅读论文的笔记&#xff0c;仅作为学习记录所用。本文参考另一篇论文阅读笔记 Title&#xff1a; Content-Aware Scalable Deep Compressed Sensing Journal&#xff1a; TIP 2022 代码链接&#xff1a; https://github.com/Guaishou74851/CASNet…