Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

打造可识别静态人体的人体传感器——软件部分

By: 小皮子
18 October 2021 at 14:36

以下方法经本人验证通过,环境如下:

Arduino IDE 1.8.15

PubSubClient 2.8.0

WiFiManager 2.0.4


前言:大部分人入门智能家居之处,最早接触的就是人体传感器,实现简单的如人来开灯,人走关灯的需求。我也不例外,家里各个房间布满了小米或绿米的人体传感器。

但市面上这类传感器因工作原理的原因,实际根本无法识别静态的人体。所以这类传感器只能叫人体移动传感器,算不上是真正意义上的人体存在传感器,导致在很多场景下具有天然的缺陷。

举例说明:人坐在书房看书,保持一段时间禁止后,就会被识别为无人状态,然后灯就关了!同理厕所蹲的时候也会有这种尴尬,人工智能变智障。

网上各种解决方案也有,但都治标不治本,不是我想要的完美方案。因此,我决定自己创造一个!

第一步:选择所需软件库

在之前的文章打造可识别静态人体的人体传感器——方案设计中,我列举了对软件方面的需求。同时,在上一篇文章 打造可识别静态人体的人体传感器——硬件部分 中,我结合需求,MCU选择了ESP-01S。结合自己想要达到的目标,选择了Arduino的以下库,在此对原作者表示感谢:

第二步:编码

这里我使用的是原生的 Arduino IDE 进行编码,参考WiFiManager的示例程序,完成了WiFi的配置、MQTT服务器参数以及主题的配置并将配置保存在ESP闪存中,确保断电有效。同时支持长按微动开关可清除所有配置。

MQTT部分利用PubSubClient连接到本地的mosquitto (如何在本地搭建MQTT服务可参考这篇文章)进行消息发布

接着根据微波雷达模块的通讯协议,写了一个解析函数,在状态发生改变时候(有人变无人或无人变有人)通过MQTT发布消息到服务端。

部分编码

第三步:测试和优化环节

写好的代码进行反复多次测试,对发现的问题进行修复,确保稳定

第四步:汉化和个性化调整

初始的配置界面为英文界面,因此在系统调试完毕后,做手对界面进行了汉化,以及增加了部分个性化调整,例如将WiFi的名称调整为以FEEUS为前缀等

最后完成的界面如下:

配置页面

  • 接下来,写一篇使用说明以及实际效果演示,感谢关注!

如果您喜欢这篇文章,或者它给您带来了帮助,您可以请我们喝一杯咖啡,我们将非常感谢您的支持!

WIN10 利用Arduino+esp32-cam搭建网络摄像头

By: 小皮子
17 August 2021 at 21:39

以下方法经本人验证通过,环境如下:

Win 10 专业版

Arduino IDE 1.8.15

ESP32-CAM + CP2102


第一步:官网下载并安装Arduino IDE,地址:https://www.arduino.cc/en/software

第二步:打开Arduino,在”文件“菜单打开”首选项“,在附加开发板管理器中添加网址:https://dl.espressif.com/dl/package_esp32_index.json

然后选择”工具“-”开发板“-”开发板管理器“,输入esp32后选择最新版本安装(此处建议科学上网,否则可能安装不成功)

安装后即可在开发板中选择esp32-cam

第三步:使用CP2102 连接 ESP32-CAM 和电脑

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers 下载CP2102驱动后安装

将 CP2102 和 ESP32-CAM 按下图连接起来后接入电脑,注意图中的灰色线,烧录程序时需要将IO0和GND短接

How to Program / Upload Code to ESP32-CAM AI-Thinker (Arduino IDE) | Random  Nerd Tutorials

第四步:新建CameraWebServer项目

打开Arduino,选择 CameraWebServer ,新建一个示例项目

修改项目里面的内容,保留所需的ESP32-CAM模块定义,把其余的注释掉。然后修改SSID和Password为自己的wifi名和密码

第四步:烧录程序到 ESP32-CAM

在“工具”菜单中选择 ESP32-CAM 使用的端口,我这里是COM4

在“项目”菜单中选择“上传”,等待提示上传成功即可

第五步:使用

烧录成功后,去掉IO0和GND的短接,按RST按钮重启

在路由器中会发现一个 名为 esp32-arduino 的设备已接入

在浏览器中输入ip即可打开设置页面,点击Start Stream即可查看视频流,上面有各种设置,比较简单,不再啰嗦

  • 使用时,只需要给ESP32-CAM 提供5V2A的供电即可自动启动项目,实现在内网中实时查看摄像头
  • 等我有空了考虑设计个外壳,用3D打印机打印出来美化一下?

如果您喜欢这篇文章,或者它给您带来了帮助,您可以请我们喝一杯咖啡,我们将非常感谢您的支持!

❌
❌