一、硬件设计

1. 硬件选型

主控:使用NodeMCU开发板。

人体感应器:使用PIR红外热释电人体感应模块,静态功耗小于0.1mA 。

2. 原理图设计

二、软件设计

1. ESP8266程序设计

1.1 ESP8266程序编写可以使用安信可提供的开发工具,也可以使用Arduino IDE来编写,

我使用的Arduino IDE来编写编写程序。

1.2 人体感应模块程序:PIR红外热释电人体感应模块是感应到人时输出高电平,人离开后输出低电平,因此在程序中检测人体感应模块OUT引脚的高低电平即可知道是否有人。

  // 如果人体感应模块感应到人if (digitalRead(PIR_SENSOR) == HIGH){// 感应到人时的操作// ...// 蜂鸣器报警digitalWrite(beep, HIGH);} // 如果人体感应模块没有感应到人else {// 没有感应到人时的操作// ...// 关闭蜂鸣器digitalWrite(beep, LOW);}

1.3 OLED模块程序:本设计使用的是4 PIN的OLED模块,IIC通讯。使用OLED来显示是否有人闯入的信息。

// 引入库文件
#include <Adafruit_ssd1306syp.h>
// 定义引脚
#define SCL D5                                            // OLED SCL
#define SDA D6                                            // OLED SDAAdafruit_ssd1306syp display(SDA, SCL);void setup() {// 初始化OLEDdisplay.initialize();     // ...
}void loop() {// 如果人体感应模块感应到人if (digitalRead(PIR_SENSOR) == HIGH){// OLED显示信息display.setTextSize(1);display.setTextColor(WHITE);display.setCursor(0,0);display.print("isPerson YES");} // 如果人体感应模块没有感应到人else {// OLED显示信息display.setTextSize(1);display.setTextColor(WHITE);display.setCursor(0,0);display.print("isPerson NO");}// ...}

1.4 蜂鸣器驱动程序:高电平时,三极管导通,蜂鸣器响;低电平时,三极管截止,蜂鸣器不响。

// 打开蜂鸣器
digitalWrite(beep, HIGH);
// 关闭蜂鸣器
digitalWrite(beep, LOW);

1.5 智能配网:本设计使用微信配网来实现ESP8266的智能配网。

// 引入头文件
#include <ESP8266WiFi.h>static WiFiClient espClient;// 智能配网
void smartConfig()
{// 设置WIFI模块为STA模式WiFi.mode(WIFI_STA); // smartconfig进行初始化WiFi.beginSmartConfig();// 等待连接成功while (1){digitalWrite(LED, LOW);delay(500);digitalWrite(LED, HIGH);delay(500);//如果连接成功if (WiFi.smartConfigDone()){// 设置自动连接WiFi.setAutoConnect(true);  break;}delay(1000);}
}// 自动配置
bool autoConfig()
{WiFi.begin();for (int i = 0; i < 20; i++){int wstatus = WiFi.status();if (wstatus == WL_CONNECTED){WiFi.printDiag(Serial);return true;}else{delay(1000);}}Serial.println("自动配置失败" );return false;
}void setup() {Serial.begin(9600);   if (!autoConfig()){// 进入智能配网模式smartConfig();}
}

1.6 连接阿里云物联网:本设计使用阿里云物联网平台实现数据上传云端,首先在阿里云物联网平台创建一个设备,获取到ProductKey,DeviceName,DeviceSecret后填写到代码中。

// 引入阿里云 IoT SDK
#include <AliyunIoTSDK.h>// 设置产品和设备的信息,从阿里云设备信息里查看
#define PRODUCT_KEY "XXXXXXXXXXX"                         // ProductKey
#define DEVICE_NAME "XXXXXXX"                             // DeviceName
#define DEVICE_SECRET "XXXXXXXXXXXXXX"                    // DeviceSecret
#define REGION_ID "cn-shanghai"                           // 地区void setup() {// 初始化 iot,需传入 wifi 的 client,和设备产品信息AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
}void loop() {// 如果人体感应模块感应到人if (digitalRead(PIR_SENSOR) == HIGH){// 将信息上传阿里云物联网平台AliyunIoTSDK::send("isPerson", YES);// ...} // 如果人体感应模块没有感应到人else {// 将信息上传阿里云物联网平台AliyunIoTSDK::send("isPerson", NO);}AliyunIoTSDK::loop();
}

PIR红外热释电人体感应模块感应到人时,阿里云平台显示有人闯入;无人时显示无人。

1.7 微信小程序编写

资料下载(包含原理图、完整ESP8266程序、微信小程序源码)

https://item.taobao.com/item.htm?ft=t&id=681395870786

基于ESP8266的人体红外感应报警系统设计相关推荐

  1. 基于NB-IoT物联网人体红外防盗报警检测

    文章目录 前言 一.实验设计目的与意义 1.背景需求 2. 研究现状 3.存在的问题 4.改进建议 二.实验设计方案 1.系统总体架构与功能描述 2.终端设计 3.管道设计 4.云端设计 三.实验设计 ...

  2. 51单片机——人体红外感应报警

    //模块感应到信号后,输出高电平,此时LED的D7灯点亮,蜂鸣器报警.没有信号后,D8灯亮,蜂鸣器停止. #include <reg52.h> #define uchar unsigned ...

  3. K_A12_004 基于STM32等单片机采集人体红外感应(HC-SR501)模块串口与OLED0.96双显示

    K_A12_004 基于STM32等单片机采集人体红外感应(HC-SR501)模块串口与OLED0.96双显示 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 模块工作原理: 对应程序: 四 ...

  4. 基于STM32智能人体红外和声音感应声光控开关设计

    模块: 人体红外传感器:arduino HC-SR501人体红外感应模块(又名热释电) 声音传感器模块 声音检测模块 咪头模块 声控口哨开关 2路带光耦继电器模块   当检测到生物体靠近时,打开继电器 ...

  5. 基于单片机双路温度检测报警系统设计-基于单片机声光控智能开关控制灯设计-基于单片机热电偶智能体温检测设计-基于单片机小型家用燃气锅炉控制系统设计-基于单片机一氧化碳有毒气体采集报警系统设计

    1628基于单片机双路温度检测报警系统设计(串口上位机控制) 基于pcf8591 tlc2543的双路温度检测报警系统 带串口上位机控制带仿真 源程序 温度传感器是 LM35 两路测温通道所用的ad芯 ...

  6. [转载]HC-SR501 人体红外感应模块

    热释电红外感应模块 原文地址:HC-SR501 人体红外感应模块作者:XingHeStudio 技术参数: 1.工作电压:DC5V至20V 2.静态功耗:65微安 3.电平输出:高3.3V,低0V 4 ...

  7. Arduino人体红外感应+继电器+蜂鸣器

    实现功能:当人体红外感应到人时,蜂鸣器报警,继电器模块闭合:反之,继电器模块断开. 模块连接: Arduino人体红外和继电器连接同Arduino人体红外感应+继电器. 蜂鸣器连接: Arduino ...

  8. [转载]HC-SR501 人体红外感应模块_北国的雪_新浪博客

    热释电红外感应模块 原文地址:HC-SR501 人体红外感应模块作者:XingHeStudio 技术参数: 1.工作电压:DC5V至20V 2.静态功耗:65微安 3.电平输出:高3.3V,低0V 4 ...

  9. 基于单片机热电偶智能体温检测系统设计-基于单片机一氧化碳CO有毒气体采集报警系统设计-基于单片机热电偶智能体温检测系统设计(仿真,原理图,报告)【资料转发分享】

    1626基于单片机小型家用燃气锅炉控制系统设计(仿真,程序,论文) 1. 设计任务 结合实际情况,基于AT89C51单片机设计一个小型家用燃气锅炉单片机控制系统. 该系统应满足的功能要求为: (1) ...

最新文章

  1. [转载] CSS模块化【封装-继承-多态】
  2. js实现语音播报功能
  3. php防止模拟请求,php防止伪造跨站请求实现程序_PHP教程
  4. 成功解决UserWarning: Update your `Conv2D` call to the Keras 2 API问题
  5. FineReport报表和J2EE应用的集成
  6. AtCoder - 4172 Modulo Summation 贪心
  7. 酒店管理与计算机技术结合,(定稿)某酒店内部管理系统的开发与应用(完整版)...
  8. java 获取工程编码格式_java 获取获取字符串编码格式
  9. perl亲身试验ini---使用perl读写配置文件
  10. 如何使用SPSS进行计算变量的操作
  11. 自动生成光纤测试资料的软件,光缆测试模板生成工具官方版
  12. 计算机组装维护理论知识大全,计算机组装与维护知识汇总.docx
  13. Project2013快速使用入门教程(简单四步)
  14. 聚合支付系统搭建如何对接
  15. QML类型:Emitter、TrailEmitter
  16. php-opencv身份证识别,python opencv实现证件照换底功能
  17. 译文推荐 | Apache BookKeeper 洞察系列(二)— 安全关闭 Ledger
  18. Exchange 2010 Ps 之使用更新脱机地址簿系列命令get-offlineaddressbookUpdate-offlineaddressbook
  19. android百度日语输入法下载,百度日文输入法
  20. 010 Rust死灵书之Drop检查

热门文章

  1. iOS App-Mac文件共享操作
  2. 荣耀猎人游戏本散热怎么样?测试一下就知道
  3. 植物大战僵尸无尽版游泳池优秀阵容推荐(一)
  4. STM32+ESP8266使用MQTTAT固件连接云
  5. 关于stable diffusion的embedding训练的一篇随笔
  6. 蓝桥杯:翻转旋转变换(矩阵旋转)
  7. visio 中取消 交叉连接线的拱形的方法
  8. spring boot 2.5.5 reference chapter 5 生词
  9. PROE塑胶产品结构标准设计视频教程灯具设计
  10. 首台微型计算机,全球首台骁龙820微型电脑:DragonBoard 820c