文章目录
该开源项目能够实现房间内人数的监测,并将信息通过互联网传输到物联网平外Blynk上进行监控。
博主作为小白,选择了这个简易的开源项目,通过该项目可以学到以下几点:
- Arduino框架下对ESP32单片机的入门(控制引脚,基础函数的使用),顺手练习一下C语言代码。
- 立创EDA绘制简单的PCB板并手动焊接(只需要焊接排针,非常简单)。
开源网址:IoT Visitor Counter using ESP32 & Ultrasonic Sensor,具体的项目说明见原网址。
成品展示
1.硬件
2.应用场景测试
将一个超声探测器放在入口,另一个放在出口,出入走动测试,Blynk界面如下
能够实现房间内人数的监控,当拜访者进入和出去时,蜂鸣器发声,若房间内有人,Blynk模拟的白色LED灯就打开。
一、 Blynk服务器搭建和Blynk组件设置
1. Blynk服务器搭建
由于Blynk的官方服务器目前无法使用,这里推荐的方法是使用阿里云网站免费试用一个服务器(试用时间3个月),创建容器运行Blynk,搭建Blynk服务器具体方法见以下文章:
2.Blynk组件设置
这里建议跟着原文章进行设置:IoT Visitor Counter using ESP32 & Ultrasonic Sensor。
简单来说就是硬件的信号传递给Blynk的控件的虚拟引脚,并能图形化展示。
二、ESP32程序
#include <Arduino.h>
#include <WiFiClient.h>
#define BLYNK_TEMPLATE_ID "**********"
#define BLYNK_TEMPLATE_NAME "***********"
#define BLYNK_AUTH_TOKEN "********************" //我使用的是VSCode的platformIO插件开发Arduino,使用下一行库函数时要求提前定义好上方三个字符串,这三行代码可以先随便写,以避免库函数编译出错,之后重新定义了auth[]字符串。
#include <BlynkSimpleEsp32.h>
#include <Adafruit_GFX.h>
#include <U8g2lib.h>
#include <Wire.h>
// wifi信息
char ssid[] = "*********"; //wifi name
char pass[] = "*********"; //wifi password
// 密钥信息
char auth[] = "*************************"; // the token of your project on Blynk
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
#define Disntance_Detect 40 //uint:cm
#define PIN_OLED_SDA 21
#define PIN_OLED_SCL 22
#define PIN_TRIG1