Skip to content

Repository files navigation

AM36-WildCam

语言:中文 | English

AM36-WildCam 是一个基于利尔达 AM36 ESP32-S3 与 LR2021 平台的开源远距离无线图像传输演示项目。同一份固件既可以作为野外拍摄端,也可以作为手持显示网关使用。

拍摄端集成摄像头、PIR 人体感应器、麦克风和 LR2021 无线芯片;网关提供 LCD、触摸操作、实体按键、链路信息和 HTTP 图片库。拍摄端可安装在树木、围栏、农场、林地、设备外壳或室外入口等位置,并通过远程命令或自动触发方式拍摄。

AM36-WildCam 拍摄端与显示网关正反面

目录

主要功能

  • 通过网关手动发起远程拍照。
  • 拍摄端支持定时、PIR 感应和声音触发拍照。
  • 使用 LR2021 FLRC 传输图像,并支持丢包检测和重传。
  • 低功耗模式下使用 LoRa 长前导码唤醒,再进入 FLRC 传输。
  • 可选拍摄前录音和本地语音告警。
  • 网关 LCD 提供图片、设置、接收进度和链路状态页面。
  • 支持触摸点击以及左右滑动操作。
  • HTTP 图片库可查看和下载已接收的图片与音频。
  • 同一份固件支持持久化保存网关/拍摄端角色。

AM36-WildCam 拍摄触发方式

硬件平台与设备角色

本项目使用 利尔达 L-LRMAM36-FANN4-DK01 开发套件。网关和拍摄端各使用一套相同的开发套件和固件,AM312 PIR 感应模块需要单独外购。

利尔达 L-LRMAM36-FANN4-DK01 开发套件
利尔达 L-LRMAM36-FANN4-DK01 开发套件(点击图片打开购买页面)

角色 套件与外购件 用途
野外拍摄端 利尔达 L-LRMAM36-FANN4-DK01 开发套件https://item.taobao.com/item.htm?id=1074290287510) + AM312 PIR 感应模块https://e.tb.cn/h.8QmQiC5bW3w6Jr4?tk=MG18TXmjFKS) 拍摄图片和可选音频,并将结果传输到网关。
显示网关 利尔达 L-LRMAM36-FANN4-DK01 开发套件https://item.taobao.com/item.htm?id=1074290287510) 控制拍摄端,接收并显示图片,查看链路状态,并提供 HTTP 图片库。

除单独外购的 AM312 PIR 感应模块外,项目所需的其他硬件均由 DK01 开发套件提供,不再拆分列出。购买链接来自硬件厂商提供的淘宝商品入口;库存、套装内容、价格和商品信息以销售页面为准。

外购配件与 PIR 接线

野外拍摄端的 PIR 人体感应功能需要外接一个 AM312 微型热释电红外感应模块。

外购配件 用途 购买链接
AM312 微型人体红外感应模块 检测人体或动物移动产生的红外变化,并触发拍摄端拍照 淘宝:微型 AM312 人体红外线感应模块https://e.tb.cn/h.8QmQiC5bW3w6Jr4?tk=MG18TXmjFKS)

请断电后接线,并优先使用开发板的 3.3 V 电源:

AM312 引脚 连接到 L-LRMAM36-FANN4-DK01 说明
VCC 3V3 建议使用 3.3 V 供电,避免把高于 3.3 V 的信号送入 ESP32-S3。
OUT GPIO12 固件配置为输入下拉和高电平触发。
GND GND AM312 与开发板必须共地。

PIR 仅用于拍摄端模式GPIO12 在网关模式下同时用于触摸屏中断,因此不要在网关模式下让 AM312 与触摸中断共用该引脚。接线排针或焊盘位置请以 DK01 板卡丝印和硬件资料为准。

AM312 是被动式红外传感器,它检测视野内红外辐射的变化,而不是持续判断是否“有人”。应让目标尽量横向穿过传感器视野,并避免镜头正对阳光、热风口或快速变化的热源。常见 AM312 模块的典型探测距离约为 3–5 米、视场角不超过约 100°,实际效果会受到安装高度、环境温度、外壳窗口和目标移动方向影响。

固件启动约 5 秒后才对 GPIO12 进行布防。AM312 输出高电平时立即产生 PIR 事件;触发后固件等待 15 秒再重新布防,PIR 与声音触发共用拍摄冷却时间。在低功耗模式下,高电平还可以唤醒拍摄端并启动拍照上传。使用前需要在网关设置页开启 PIR Motion,该配置会发送到拍摄端并保存在 NVS 中。

说明文档

开发要求

  • 建议准备两套利尔达 L-LRMAM36-FANN4-DK01 开发套件,分别作为网关和拍摄端。
  • 如需人体/动物移动触发,准备一个外接 AM312 PIR 模块。
  • USB 数据线及所需的 USB 转串口驱动。
  • 必须使用 ESP-IDF v5.5.3。
  • 安装 ESP-IDF 安装程序提供的 Python 和编译工具。
  • 首次解析 ESP-IDF Component Manager 依赖时需要访问网络。

项目目标芯片为 esp32s3,使用 8 MB Flash 和自定义分区表 partitions.csv。组件清单当前从 Espressif staging registry 获取 lierda-iot/esp_lora_driver 0.0.7

使用 VS Code 编译与烧录

  1. 克隆仓库并使用 Visual Studio Code 打开仓库根目录。
  2. 在 VS Code 扩展市场安装 Espressif 官方 ESP-IDF 扩展。
  3. 在扩展提示时选择已安装的 ESP-IDF v5.5.3 环境。本机安装路径不会写入仓库。
  4. 点击状态栏中的 ESP-IDF Build 图标。
  5. 连接开发板,在 ESP-IDF 状态栏选择串口,然后点击 Flash;使用 Monitor 查看串口输出。

ESP-IDF 工程配置由仓库中的 CMake、sdkconfigsdkconfig.defaults 提供;本机 VS Code 路径和串口设置不纳入仓库。

使用终端编译与烧录

在项目目录中打开 ESP-IDF v5.5.3 终端。

仓库中的 sdkconfig.defaults 会在重新生成 sdkconfig 时保留 ESP32-S3 目标、240 MHz CPU、8 MB DIO Flash、自定义分区表、Octal PSRAM 和面向发布的编译优化配置。

idf.py set-target esp32s3
idf.py build

烧录固件并打开串口监视器。请将 COMx 替换为开发板实际串口号。

idf.py -p COMx flash monitor

Ctrl+] 退出监视器,然后对第二块开发板重复烧录。两块板使用相同固件,并在设备上选择各自角色。

如果项目曾使用其他 ESP-IDF 版本或目标芯片进行配置,请先清理生成配置再重新编译:

idf.py fullclean
idf.py set-target esp32s3
idf.py build

按键与角色切换

开发板上的实体按键从上到下标为 K1K5。设备角色保存在 NVS 中,重启后继续生效。

当前角色 操作 功能
网关 短按 K1 打开图片页面。
网关 长按 K1 至少 1.5 秒后松开 保存拍摄端角色,并重启进入野外拍摄端模式。
网关 短按 K2 打开设置页面。
网关(电池供电) 长按 K3 开启或关闭设备电源。
网关 K4 打开 FLRC 链路状态页面。
网关 K5 立即发起远程拍照。
拍摄端 短按 K2 保存网关角色,并重启进入显示网关模式。
拍摄端(电池供电) 长按 K3 开启或关闭设备电源。

未保存过角色的开发板默认以拍摄端模式启动。准备两台设备时,可让一块板保持拍摄端模式,在另一块板上短按 K2 将其切换为网关。

触摸操作

显示网关支持独立的触摸操作:

操作 功能
点击控件 执行屏幕上显示的操作。
左右滑动 在支持的页面或可滑动控件之间导航。

基本使用

  1. 将同一份固件烧录到两套 AM36 开发套件。
  2. 将其中一块配置为显示网关,另一块保持为野外拍摄端。
  3. 将拍摄端安装在观察位置并将摄像头对准目标;如果需要使用 PIR 或声音触发,请确保感应器和麦克风没有被遮挡。
  4. 让网关保持在 LR2021 无线通信范围内,通过设置页面配置 PIR、声音、定时、录音、语音告警、频率和低功耗行为。
  5. 点击屏幕上的 CAPTURE 控件或按网关 K5 发起手动拍照;拍摄端完成拍摄后通过 FLRC 返回图片。
  6. 按网关 K4 打开链路状态,短按 K2 打开设置,短按 K1 打开图片页面;使用电池供电时,长按 K3 可开关设备电源。
  7. 可直接点击屏幕控件,并在支持页面导航的位置左右滑动。
  8. 在网关上查看接收图片、RSSI、传输速率、丢包率和传输时间。
  9. 如需浏览已保存结果,请使用手机或电脑连接网关设置页面显示的 Wi-Fi,并访问 http://192.168.4.1

演示网络安全说明

SoftAP 当前有意配置为开放网络(WIFI_AUTH_OPEN),配置页、图库和图片接口不需要认证。本设计仅适用于受控演示或现场环境,不适合直接用于生产部署。正式使用前,应配置 WPA2/WPA3 密码,并为 HTTP 接口增加身份认证和访问授权。

无人值守时可启用定时、PIR 或声音触发。低功耗模式下,拍摄端可长期部署在远程观察位置;只有 PIR 触发或网关发送 LoRa 唤醒后,才会启动所需的 FLRC 传输流程。

3D 打印结构件

docs/3d-print/ 目录提供 7 个 STEP 结构模型文件,用于 AM36-WildCam 的外壳、安装支架及其他结构件。

仓库结构

AM36-WildCam/
|-- main/                              应用、BSP、摄像头、无线、UI、音频和 Web 代码
|-- docs/images/                       README 使用的图片
|-- docs/guides/                       中英文功能说明
|-- docs/3d-print/                     3D 打印结构件预留目录
|-- docs/hardware/schematic/           DK01 开发套件原理图
|-- docs/hardware/pcb/                 DK01 开发套件 PCB 源文件
|-- CMakeLists.txt                     ESP-IDF 项目入口
|-- README.MD                          中文 README(默认)
|-- README_EN.md                       英文 README
|-- version.txt                        固件版本唯一来源
|-- CHANGELOG.md                       版本历史
|-- sdkconfig.defaults                 可复现的默认配置
|-- sdkconfig                          当前项目配置
|-- partitions.csv                     自定义 Flash 分区表
|-- dependencies.lock                  已解析的组件版本
|-- THIRD_PARTY_NOTICES.md             第三方源码和生成资源声明
`-- LICENSE                            BSD-3-Clause 许可证

许可证

AM36-WildCam 使用 BSD-3-Clause 许可证发布。

第三方源码和生成资源继续适用各自的许可与署名要求,详情见 THIRD_PARTY_NOTICES.md

版本与社区

当前固件版本保存在 version.txt 中,由 ESP-IDF 写入应用镜像,并记录在 CHANGELOG.md 中。发布版本使用语义化版本和 vMAJOR.MINOR.PATCH Git 标签。

About

Open-source ESP32 + LR2021 wildlife camera kit with low-power triggers, FLRC image transfer, handheld LVGL display, Wi-Fi configuration, and 3D-printable enclosures.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages