中国电子技术网

设为首页 网站地图 加入收藏

 
 

DIY一个带有云台伺服和备用电池网络摄像头,赶紧来试试吧!

关键词:云台伺服 电池网络摄像头 ADC

时间:2019-10-30 13:33:44      来源:网络

在树莓派上扩展motionEyeOS,以支持云台伺服,备用电池和屏幕状态显示。

在树莓派上扩展motionEyeOS,以支持云台伺服,备用电池和屏幕状态显示。

此项目需要材料:

硬件组成部分

· 树莓派相机模块

· Adafruit树莓派zero W相机电缆

· 8 GB MicroSD闪存卡

· Pimoroni Pan-Tilt帽子

· 太阳能π盘

· 2500 mA 3.7V锂电池

· 5.25V 3A USB电源适配器

· 3pin 2.54mm间距直角接头

· 4-40 6.35毫米尼龙公母对接

软件应用程序和在线服务

· Motioneyeos发行的树莓派zero版

· 其他脚本

· 用于树莓派盘上的通信工具

motionEyeOS是完整的Linux发行版,将树莓派零变成了功能强大的无线网络摄像头。他提供了详细的安装和配置说明,这里引用了一些。这些配置说明了如何使用我设计的带有树莓派的小工具太阳能π盘,通过备用电池,云台伺服器和状态信息显示来扩展motionEyeOS的功能。

使用motionEyeOS发行版中内置的扩展功能,安装很简单。旋转/倾斜控制以及状态显示可在Web界面中显示电池和充电状态。

构建此网络摄像头包括本自述文件中描述的以下步骤。

获取必要的硬件

组装相机

将motionEyeOS发行版加载到Micro SD卡上

为您的wifi配置motionEyeOS并开始运行

从我的github存储库添加文件以启用新功能

试用新摄像头

我鼓励您阅读位于文档目录中的树莓派磁盘手册以及motionEyeOS Wiki中的完整文档。

硬件组件

我使用手头上的组件来构建单元。您当然可以替换某些组件,例如备用电池和云台组件。

外壳

在此示例中,我用激光切割了两件式装配体,但是根据您的应用,您可能需要不同类型的外壳。这两块都可以切成2mm厚的丙烯酸小块(200mm x 200mm)。

硬件组装

组装很简单。树莓派Zero使用随附的硬件安装在树莓派磁盘的顶部。该组件使用附加的支脚以堆叠的方式安装在机柜中。

云台伺服和备用组成模块

我用一块双面胶带按住了电池。

下图显示了与树莓派磁盘的连接。检查伺服连接以确保它们匹配。我见过的大多数伺服器都使用棕红色橙色电缆作为GND-5V-PWM。错误连接它们可能会损坏它们或树莓派盘上。

在树莓派上为伺服器安装3pin头

motionEyeOS安装,在安装过程中连接显示器和USB键盘可能会有所帮助。

安装motionEyeOS

从github存储库下载适用于树莓派的motionEyeOS(A,B,A +,B +,计算模块,零和零W模型)。我使用的版本为20190427,并保留了副本。如果您遇到当前版本的问题,请与我联系,我可以安排将其转发给您

从存档中提取映像,然后按照Wiki中所述将OS映像写入micro SD卡。

在尝试引导之前,按照Wiki中所述配置系统以访问您的wifi。如果需要,您也可以在引导后从键盘/显示器执行此操作。

如果需要,请使用静态IP地址配置系统。否则,您将不得不使用键盘/显示器或Fing之类的外部应用程序来确定树莓派接收的DHCP提供的IP地址。

引导运动

卸下micro SD卡并放入树莓派。将树莓派磁盘连接到电池和USB电源。然后,按下树莓派磁盘上的电源按钮2秒钟,直到看到绿色电源LED指示灯亮起,为系统通电。初始启动可能需要几分钟,因为motionEyeOS会对其进行自我配置。如果您在树莓派上连接了显示器,则可以看到进度。系统启动并启动运动后,您应该可以通过将浏览器指向树莓派的IP地址来查看网络摄像头。

树莓派磁盘软件安装

motionEyeOS发行版创建一个分区/ data,用于存储持久性更改。它是在第一次启动时创建的。我们手动将其他文件放在此分区(/ data / etc)中。

在github脚本目录中找到的五个脚本使用motionEyeOS动作按钮功能来允许控制伺服器并在Web界面中显示来自树莓派磁盘的信息。

在我的github存储库中也找到了预构建的talkpp二进制文件,脚本使用它们来与树莓派磁盘通信。

安装文件

talkpp二进制文件和五个脚本文件可以使用scp或通过USB记忆棒轻松复制到/ data / etc目录。

使用scp

将文件下载到本地计算机,然后从包含文件的目录中的外壳程序执行以下命令。您将在Windows计算机上使用WinSCP之类的程序。将您树莓派的IP地址放在[IP地址]字段中。

请注意,默认情况下,motionEyeOS没有密码。您可以并且应该使用Web界面添加密码。

使用USB记忆棒

在计算机上将文件以FAT格式复制到USB记忆棒中。

弹出存储棒,然后将其插入树莓派磁盘USB端口之一。motionEyeOS将自动将其安装在/ data / media目录中。

通过ssh或使用键盘/显示器登录到树莓派,然后从bash shell提示符将文件从记忆棒复制到系统。

确保文件权限

确保文件具有正确的linux文件权限,以便motionEyeOS可以执行它们。在motionEyeOS Shell提示符下,键入以下内容。

重新启动并验证操作

从外壳程序提示符下键入reboot或使用Web界面重新启动系统。重新启动后,您应该能够通过motionEyeOS Web界面控制伺服器并查看树莓派磁盘的状态。单击从相机传输视频图像,应使motionEyeOS在图像上添加一个覆盖图,其中包含左下角的树莓派磁盘和右下角的四个平移/倾斜按钮的状态信息。

注意事项:

伺服范围

平移/倾斜脚本具有用于设置要发送到伺服器的最小和最大PWM值的常数。这些是我发现为系统工作的价值。但是,如果您发现伺服器达到了其运动范围的末端,则可能最终需要对其进行修改(当马达试图将伺服器推至极限位置时,它们会发出刺耳的声音并消耗大量电流)。这可能会损坏伺服器,并可能吸收太多电流,从而导致树莓派磁盘关闭。

例如,left_1脚本控制向左平移。它通过增加写入树莓派磁盘的PWM值来控制PWM 1上的声相伺服来实现此目的。PWM值的范围为0-255,但此脚本使用常数PWM_MAX(在我的版本中为250)限制了最大PWM值。如果在向左平移时发现伺服器达到其范围的末端,则应减小此值。要将最大值更改为240,请编辑left_1脚本并更改常数。

同样,您可以在down_1中减小PWM_MAX常数,而在right_1和up_1中增大PWM_MIN常数,以进一步限制伺服行程。

电源说明

我的系统在运行但不给电池充电时,平均需要USB电源提供430-450 mA的电流。随着伺服器的移动,它需要更多的电流,并且在给电池充电时需要额外的750 mA电流。USB电源适配器应能够提供至少2A的电流。

当输入电源可用时,树莓派磁盘会通过USB电源适配器为系统供电。它使用大约4.7伏的电压阈值从USB电源切换到电池。当USB输入电压下降时,它还减少了流向电池的充电电流。由于许多USB适配器电缆使用细线,并且系统消耗的电流可能超过1 A,因此树莓派磁盘看到的电压可能大大低于USB适配器的输出。因此,我建议使用输出5.1到5.25伏的适配器。

如果您看到AC PWR状态显示闪烁,则树莓派磁盘看到的USB电压可能太低,并且不断在USB和电池电源之间切换。

用电池操作时,系统将从电池中汲取700 mA以上的电流。2000-6000 mA的电池容量与该系统非常匹配,这取决于该系统仅依靠电池电源即可运行的时间。

关断电源

在修改后的userinit.sh文件中执行的树莓派磁盘命令C7 = 1将其配置为在由于电池电量不足而关闭后自动恢复电源系统中。因此,如果您通过按住树莓派磁盘电源按钮几秒钟来关闭系统电源(因为电池电压高于重新启动阈值),系统也将立即重新启动并重新启动。要关闭电源,请先登录系统并执行以下命令以禁用自动重启功能,然后再使用树莓派磁盘电源按钮关闭系统电源。

可选功能

使树莓派充当WiFi接入点

motionEyeOS软件可以配置为创建自己的网络,充当WiFi接入点。这对于没有WiFi的区域中的远程延时摄影或安全系统很有用。初始安装/启动后,必须将系统配置为WiFi接入点。可以在WiFi接入点找到详细说明。

由于某些原因,我不了解启用此模式会禁用ssh访问,因此在执行这些步骤之前完成附加安装非常重要。

树莓派磁盘RTC

树莓派磁盘包含一个由电池供电的实时时钟,可用于在无法访问网络时间服务器的情况下设置Pi的系统时钟。

要从树莓派的系统时钟设置树莓派磁盘RTC(假设它具有正确的时间和日期):

要通过树莓派磁盘RTC设置树莓派的系统时钟,请执行以下操作:

此命令可能包含在userinit.sh文件中。

使用树莓派磁盘模拟输入进行温度测量

树莓派磁盘包括两个带可配置ADC参考电压的模拟输入。这些可用于获取其他状态信息,例如使用模拟温度传感器的温度。

例如,TMP36芯片可在5V的电压下工作,并输出与-40°C至+ 125°C范围内的温度成正比的电压。它在0°C时具有500 mV(0.5V)的偏移量,每°C的变化量为10mV(该器件在25°C时的读数为750 mV)。通过将树莓派磁盘ADC参考电压配置为1.024伏,可以在−40°C至+ 52.4°C的温度范围内进行10位ADC测量,从而非常轻松地将ADC读数转换为温度。

温度(°C)=([ADC读数]-500)/ 10

其中[ADC读数]是可以通过使用树莓派通道针对ADC通道1的talkpp -c A1或ADC通道2的talkpp -c A2从树莓派磁盘获得的10位。

有关使用ADC输入的信息,请参见树莓派磁盘用户手册。可以修改monitor_1以读取和显示来自模拟输入的温度。

  • 分享到:

 

猜你喜欢

  • 主 题:安森美数字助听芯片的创新
  • 时 间:2024.05.09
  • 公 司:安森美

  • 主 题:IO-Link 技术介绍及相关设计解决方案
  • 时 间:2024.05.22
  • 公 司:ADI & Arrow