0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用树莓派制作可远程观看的摇摄和倾斜安全摄像机

454398 来源:网络整理 作者:网络整理 2019-11-29 10:38 次阅读

您需要的东西

带有Micro SD卡的树莓派2或3

Arduino UNO或类似的

2 x微型或小型业余伺服器

USB网络摄像头

公对公连接线

公对母连接线

各式拉链带

构建安全摄像机

使用提供的螺钉将伺服喇叭(塑料的“小形状”)安装到每个伺服上。尽管越大越好,但特定的形状并不重要。请勿过度拧紧螺钉。

现在,使用拉紧带将一个伺服器以直角连接到另一个伺服器。其中一个将是平移(从左到右),而另一个将是倾斜(向上和向下)。不管哪个人做什么,都可以在代码中对其进行调整。

最后,将您的网络摄像头连接到其中一个伺服器上。尽管我的网络摄像头带有一个固定在底部的固定夹,但您可以使用拉链领带-我卸下了固定夹并用螺钉将其固定在喇叭上。为了稳定起见,您可能需要将整个钻机安装到箱子或盒子上。一个简单的纸板箱可以很好地解决问题。您可以切一个整洁的方孔,并在表面上安装一个伺服平齐,但是只需系上一条拉链即可。

关于摄像头的信息

并非所有USB网络摄像头都是一样创建的。将网络摄像头连接到Pi的USB端口,然后运行以下命令:

lsusb

此命令显示有关连接到Pi的所有USB设备的信息。如果您的网络摄像头未在此处列出,则您可能要尝试使用有源USB集线器并重复该命令。如果仍然无法识别该网络摄像头,则可能必须购买兼容的网络摄像头。

伺服设置

虽然伺服器看起来很恐怖和复杂,但连接起来确实非常简单。伺服系统在脉宽调制(PWM)上运行,这是数字系统模仿模拟信号的一种方式。 PWM信号本质上是快速的ON-OFF信号。使用占空比来描述ON或HIGH的信号。占空比以百分比表示,并描述了信号开启的时间。占空比为25%的PWM信号将在25%的时间内打开,其余75%的时间关闭。信号在开始时并没有打开,然后一直关闭,而是在非常短的时间内定期发出脉冲。

Servos会监听这些脉冲并采取相应的措施。使用100%的占空比将与“常规” 5v相同,而0%将与接地相同。如果您不完全了解PWM的工作原理,请不要担心,您仍然可以控制伺服器(Extreme Electronics是了解更多信息的好地方)。

使用PWM的主要方法有两种:硬件或软件。硬件PWM通常提供比软件PWM更低的延迟(伺服器接收命令和移动之间的时间),但是Pi只有一个具有硬件PWM功能的引脚。外部电路可用于提供多个硬件PWM通道,但是简单的Arduino也可以处理该任务,因为它们具有多个硬件PWM引脚。

这里是电路:

仔细检查Pi的引脚排列,它们在型号之间略有不同。您需要弄清楚伺服系统的接线方式。 Servos需要三根线来控制它们,但是颜色略有不同:

红色为正,将其连接至Pi + 5v

棕色或黑色为负,将其连接至Pi上的GND

橙色或白色是信号,将其连接至Arduino引脚9和10

Arduino设置

Arduino的新功能?在这里开始。

一旦连接了伺服器,请在计算机上打开Arduino IDE并上传此测试代码。不要忘记从 Tools》 Board 和 Tools》 Port 菜单

#include // Import the library

Servo servoPan, servoTilt; // Create servo objects

int servoMin = 20, servoMax = 160; // Define limits of servos

void setup() {

// Setup servos on PWM capable pins

servoPan.attach(9);

servoTilt.attach(10);

}

void loop() {

for(int i = servoMin; i 《 servoMax; ++i) { 1

// Move servos from minimum to maximum

servoPan.write(i);

servoTilt.write(i);

delay(100); // Wait 100ms

}

for(int i = servoMax; i 》 servoMin; --i) {

// Move servos from maximum to minimum

servoPan.write(i);

servoTilt.write(i);

delay(100); // Wait 100ms

}

} 一切都很好,您应该看到两个伺服器都缓慢地来回移动。请注意,如何将“ servoMin”和“ ServoMax”定义为20度和160度(而不是0度和180度)。部分原因是这些廉价的伺服器无法准确地移动整个180度,还因为网络摄像头的物理尺寸阻止了整个范围的使用。您可能需要针对设置进行调整。

如果它们根本不起作用,请再次检查电路是否正确接线。面包板的质量有时也会有所不同,因此请考虑购买万用表进行验证。

伺服器几乎对于Arduino而言功能太强大,因此它们将由Pi。 Pi上的5v电压限制为提供给整个Pi的750mA,Pi汲取了大约500mA的电流,剩下250mA用于伺服器。这些微型伺服器消耗大约80mA电流,这意味着Pi应该能够处理其中的两个。如果您希望使用更多的伺服器或更大,功率更高的型号,则可能需要使用外部电源

现在将以下代码上传到Arduino。这将侦听传入的串行数据(如通用 Serial 总线或USB中的串行)。 Pi将通过USB将这些数据发送到Arduino,并告知将伺服器移至何处。

#include // Import the library

Servo servoPan, servoTilt; // Create servo object

String data = “”; // Store incoming commands (buffer)

void setup() {

// Setup servos on PWM capable pins

servoPan.attach(9);

servoTilt.attach(10);

Serial.begin(9600); // Start serial at 9600 bps (speed)

}

void loop() {

while (Serial.available() 》 0)

{

// If there is data

char singleChar = Serial.read(); // Read each character

if (singleChar == ‘P’) {

// Move pan servo

servoPan.write(data.toInt());

data = “”; // Clear buffer

}

else if (singleChar == ‘T’) {

// Move tilt servo

servoTilt.write(data.toInt());

data = “”; // Clear buffer

}

else {

data += singleChar; // Append new data

}

}

}

您可以通过打开串行监视器(右上角》串行监视器)并发送一些测试数据:

90P

0P

20T

100T

注意命令的格式-一个值,然后一个字母。该值是伺服系统的位置,字母(大写)表示摇摄或俯仰伺服系统。由于从Pi串行传输此数据,因此每个字符一次通过一个字符。 Arduino必须“存储”这些,直到发送完整个命令。最后一个字母不仅指定了伺服,而且还使Arduino知道此命令中没有更多数据。

最后,断开Arduino与计算机的连接,然后将其插入Raspberry Pi通过通常的USB端口连接。

Pi设置

现在是时候设置Pi了。首先,安装操作系统。将网络摄像头和Arduino连接到Pi USB。

更新Pi:

sudo apt-get update

sudo apt-get upgrade

安装动作:

sudo apt-get install motion

Motion是一个用于处理网络摄像头流的程序。它可以处理所有繁重的工作,甚至可以执行记录和运动检测(尝试构建运动捕获安全系统)。打开Motion配置文件:

sudo nano /etc/motion/motion.conf

此文件提供了许多配置Motion的选项。设置如下:

守护程序打开-运行程序

framerate:100-关闭每秒要流多少帧或图像

stream_localhost-允许通过网络访问

宽度640-视频宽度,调整您的网络摄像头

高度320-视频高度,调整您的网络摄像头

stream_port 8081 —关闭将视频输出到的端口

output_picture —不保存任何图像

这是一个很大的文件,因此您可能要使用 CTRL + W 搜索行。完成后,按 CTRL + X ,然后确认保存并退出。

现在再编辑一个文件:

sudo nano /etc/default/motion

设置“ start_motion_daemon =是”。这是确保Motion运行所必需的。

现在找出您的IP地址:

ifconfig

此命令将显示Pi的网络连接详细信息。查看第二行 inet addr 。您可能想设置一个静态IP地址(什么是静态IP?),但现在记下这个数字。

现在开始运动:

sudo service motion start

您可以通过将“开始”更改为“停止”或“重新启动”来停止或重新启动Motion。

切换到计算机并从Web浏览器导航到Pi:

http://xxx.xxx.x.xx:8081

其中xxx.xxx.x.xx是Pi IP地址。冒号后跟数字是之前设置的端口。一切顺利,您应该可以从网络摄像头中看到信息流!尝试四处移动,看看情况如何。您可能需要在配置文件中调整亮度和对比度设置。您可能需要对网络摄像头进行对焦-某些型号的镜头周围有一个小的对焦环。将其旋转直到图像最清晰。

回到树莓派,创建一个文件夹并导航到其中:

mkdir security-cam

cd security-cam/

现在安装Twisted:

sudo apt-get install python-twisted

Twisted是用Python编写的Web服务器,它将侦听命令,然后采取相应的措施。

安装后,创建Python脚本来执行命令(移动伺服器。)

sudo nano servos.rpy

注意文件扩展名是“ .rpy”而不是“ py”。这是代码:

# Import necessary files

import serial

from twisted.web.resource import Resource

# Setup Arduino at correct speed

try:

arduino = serial.Serial(‘/dev/ttyUSB0’, 9600)

except:

arduino = serial.Serial(‘/dev/ttyUSB1’, 9600)

class MoveServo(Resource):

isLeaf = True

def render_GET(self,request):

try:

# Send value over serial to the Arduino

arduino.write(request.args[‘value’][0])

return ‘Success’

except:

return ‘Failure’

resource = MoveServo()

现在启动Web服务器:

sudo twistd -n web -p 80 --path /home/pi/security-cam/

让我们分解一下-“ -p 80”指定端口(80)。这是网页的默认端口。 “ –path/home/pi/security-cam/”告诉Twisted在指定目录中启动服务器。如果您对“ security-cam”文件夹中的脚本进行了任何更改,则需要重新启动服务器( CTRL + X 以关闭,然后再次运行命令)。

现在创建网页:

sudo nano index.html

这是网页代码:

Left

Right

Up

Down

更改“ PI_IP_ADDRESS”(已使用两次) )到您Pi的真实IP地址(如果您正在运行最新的Raspian,则 raspberrypi.local 也应该可以使用)。重新启动网络服务器,然后从计算机导航至Pi,无需指定端口。您应该可以左右左右平移,并观看视频流:

在那里。您自己的云台网络摄像机。如果要将网络摄像头暴露在互联网上,请记住要考虑的危险–然后研究端口转发,以便路由器知道将传入请求发送到哪里。您可以为真正的便携式设备添加外部电源和Wi-Fi适配器。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 摄像机
    +关注

    关注

    3

    文章

    1628

    浏览量

    60401
  • 树莓派
    +关注

    关注

    117

    文章

    1711

    浏览量

    105935
收藏 人收藏

    评论

    相关推荐

    AI智能识别监测摄像机

    随着人工智能技术的飞速发展,AI智能识别监测摄像机逐渐成为各行各业安全管理的重要工具。这种高科技设备不仅具备传统监控摄像机的基本功能,还通过深度学习和图像处理等先进技术,实现了对人、车、物体及行为
    的头像 发表于 11-28 10:39 403次阅读
    AI智能识别监测<b class='flag-5'>摄像机</b>

    使用树莓实现远程控制的技巧

    树莓是一款功能强大的微型计算机,其体积小巧、价格低廉,非常适合用于各种DIY项目。其中,远程控制是树莓应用中非常受欢迎的一个领域。通过
    的头像 发表于 11-11 11:37 701次阅读

    什么是树莓树莓是什么架构的

    信用卡大小,但具备所有PC的基本功能。 起源与背景 2006年,树莓的早期概念基于Atmel的ATmega644单片。 2012年3月,由英国剑桥大学的埃本·阿普顿(Eben Upton)正式发售
    的头像 发表于 10-22 17:33 1456次阅读

    戴头盔识别摄像机

    戴头盔识别摄像机是一种结合了人工智能技术和监控摄像技术的先进设备,旨在通过实时监测和分析监控画面中的人员头部状态信息,识别是否有人未佩戴安全头盔,并及时发出警报提醒相关人员。这种摄像机
    的头像 发表于 09-19 10:06 359次阅读
    戴头盔识别<b class='flag-5'>摄像机</b>

    安全帽佩戴识别摄像机

    。此时,安全帽佩戴识别摄像机应运而生,宛如一位忠诚且智慧的安全卫士,时刻守护着人们的安全安全帽佩戴识别
    的头像 发表于 09-18 10:39 353次阅读
    <b class='flag-5'>安全</b>帽佩戴识别<b class='flag-5'>摄像机</b>

    树莓和51单片哪个有优势

    树莓和51单片是两种不同的硬件平台,它们各自有其特点和优势。在决定使用哪一个之前,我们需要了解它们的基本特性、应用场景和开发难度。 1. 简介 1.1 树莓
    的头像 发表于 09-02 09:04 1036次阅读

    树莓和单片的优缺点是什么

    树莓(Raspberry Pi)和单片(Microcontroller)是两种广泛应用于电子项目和嵌入式系统的硬件平台。它们各自具有独特的优缺点,适用于不同的应用场景。 树莓
    的头像 发表于 08-30 18:21 1982次阅读

    攀高行为检测识别摄像机

    攀高行为检测识别摄像机是一种结合了图像识别技术和智能算法的设备,旨在监测和识别人员在高空作业中的攀高行为,及时发现潜在的安全隐患并提供预警。这种摄像机可以有效提高工作场所的安全管理水平
    的头像 发表于 08-29 10:17 277次阅读
    攀高行为检测识别<b class='flag-5'>摄像机</b>

    行为分析智能监测摄像机

    行为分析智能监测摄像机是一种结合了人工智能和机器学习技术的智能设备,能够实时监测目标区域内的行为动态,并通过分析和识别行为特征来提供安全监控和管理。这种摄像机在安防领域、智能交通和智能家居等领域有着
    的头像 发表于 08-21 10:14 405次阅读
    行为分析智能监测<b class='flag-5'>摄像机</b>

    未系安全带智能监测摄像机

    未系安全带智能监测摄像机在现代安全管理中发挥着至关重要的作用。这些先进设备不仅仅是简单的监视工具,更是通过整合高级技术来提升工作效率和安全性,特别是在需要高度警惕的作业环境中尤为突出。
    的头像 发表于 06-24 10:22 290次阅读
    未系<b class='flag-5'>安全</b>带智能监测<b class='flag-5'>摄像机</b>

    口罩佩戴智能监测摄像机

    智能监测摄像机在现代城市安全管理中扮演着关键角色,尤其是像口罩佩戴智能监测摄像机这样的设备,其应用正在日益扩展,对于公共卫生和安全至关重要。这类摄像
    的头像 发表于 06-19 11:22 450次阅读
    口罩佩戴智能监测<b class='flag-5'>摄像机</b>

    佩戴安全头盔监测识别摄像机

    佩戴安全头盔是重要的安全措施,尤其在工地、建筑工程和工业生产等领域,安全头盔的佩戴对于工人的生命安全至关重要。为了更好地管理和监控佩戴安全
    的头像 发表于 05-20 10:04 453次阅读
    佩戴<b class='flag-5'>安全</b>头盔监测识别<b class='flag-5'>摄像机</b>

    客流量监测识别摄像机

    和决策参考。客流量监测识别摄像机在人流管理、安全监控、商业决策等方面发挥着重要作用。客流量监测识别摄像机的功能主要包括:实时监测:摄像机能够实时监测人员的进出情况,实
    的头像 发表于 05-17 10:37 496次阅读
    客流量监测识别<b class='flag-5'>摄像机</b>

    基坑监测识别摄像机

    基坑是建筑施工中的一个重要环节,它对整个建筑工程的安全和稳定性起着至关重要的作用。为了监测基坑的状态和确保施工的安全进行,基坑监测识别摄像机被广泛应用于建筑工程中。这种摄像机可以实时监
    的头像 发表于 05-16 10:18 368次阅读
    基坑监测识别<b class='flag-5'>摄像机</b>

    小米智能摄像机“母婴看护版”上架京东:支持哭声检测

    据悉,该款摄像机具备本地和联网两用模式,白天开机便可实时监控,无需网络配置,图像直接传输至看护屏,无法通过米家App进行查看。联网模式下,看护屏与米家App同步连接摄像机,支持多设备同时观看
    的头像 发表于 04-19 15:11 617次阅读