littlebot
Published on 2025-04-10 / 1 Visits
0

【源码】基于C语言的家用树莓派报警系统

项目简介

本项目是一个用C语言编写的应用程序,可将Raspberry Pi(树莓派)转化为家用报警系统。该系统能监控人体感应传感器(PIR传感器)的状态,当检测到活动时,会通过互联网向用户手机发送通知,利用树莓派相机拍照存储,并将照片上传到Owncloud服务器。此外,还搭建了网络流服务器,便于用户远程查看树莓派相机画面、管理报警系统状态以及控制连接到GPIO引脚的继电器。

项目的主要特性和功能

  1. 入侵监测与响应:实时监测PIR传感器,检测到活动时向手机发通知,拍照存储本地并上传Owncloud服务器。
  2. 夜间照明控制:若连接灯光到树莓派,夜间检测到活动自动开灯。
  3. 远程监控管理:通过网络流服务器,支持远程查看相机画面、管理报警系统状态和控制继电器。
  4. 多线程任务处理:利用多线程技术,同时处理图像捕获、通知发送和数据存储等任务。
  5. 网络映射:支持使用UPnP实现网络端口映射,方便远程访问树莓派。

安装使用步骤

硬件准备

确保树莓派连接以下硬件: - PIR传感器连接到GPIO 17(引脚11)。 - 树莓派相机连接到相机端口。 - 可选:最多4个继电器开关可连接到GPIO 8、9、10和11。

软件配置

  1. 下载项目源码:从代码托管平台下载alarm4pi项目的源代码。
  2. 配置可选组件
    • Pushover:购买并安装Pushover应用,获取用户密钥。在项目目录下创建pushover_conf.txt文件,配置相关信息。未创建该文件,通知机制将被禁用。
    • SocketXP:树莓派通过使用CG - NAT的网络连互联网时,需在SocketXP注册账号,下载并配置socketxp代理。不需要反向隧道功能,可在alarm4pi.c中注释REVERSE_TUNNELING定义。
    • Owncloud:在Owncloud服务器注册账号,安装命令行客户端,创建存储照片的目录。在项目目录下创建owncloud_conf.txt文件,配置相关信息。未创建该文件,上传机制将被禁用。
  3. 激活相机接口:树莓派相机接口未激活时,运行sudo raspi - config进行激活。
  4. 编译mjpg - streamer
    • 安装依赖:sudo apt - get install cmake libjpeg8 - devsudo apt - get install gcc g++
    • 从项目目录编译:cd mjpg - streamer - master/mjpg - streamer - experimental,然后执行make
    • 可单独测试:cd mjpg - streamer - master/mjpg - streamer - experimental,执行./mjpg_streamer -i "input_raspicam.so" -o "output_http.so -w www -p 8008",在树莓派浏览器中访问http://localhost:8008
  5. 编译alarm4pi:安装依赖libminiupnpc - dev(若之前未安装gcc,还需安装),然后在项目目录执行make
  6. 安装服务:执行sudo./install_service.sh创建系统服务,使alarm4pi在开机时自动启动。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】