Raspbian安装云台

2024-01-23 09:36
文章标签 安装 云台 raspbian

本文主要是介绍Raspbian安装云台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Raspbian安装云台

  • 1. 源由
  • 2. 选型
  • 3. 组装
  • 4. 调试
    • 4.1 python3-print问题
    • 4.2 python函数入参类型错误
    • 4.3 缺少mjpg-streamer可执行文件
    • 4.4 缺失编译头文件和库
    • 4.5 python库缺失
    • 4.6 图像无法显示,但libcamera-jpeg测试正常
    • 4.7 异常IOCTL报错
    • 4.8 Git问题
  • 5. 效果
    • 5.1 WEB页面效果
    • 5.2 视频效果
    • 5.3 外观效果
    • 5.4 起飞前效果
  • 6. 参考资料
  • 7. 后续思考

1. 源由

既然安装了摄像头(《Raspbian安装摄像头》),那安装个简易云台也不过分。

注:看看后续能否配合ArduPilot开源代码之CompanionComputer上天计划。

2. 选型

基本上没什么可选的,找个市面上最通用的,且相对配套比较完善的。

-【Wiki】www.waveshare.net/wiki/Pan-Tilt_HAT
-【Github】https://github.com/waveshare/Pan-Tilt-HAT

3. 组装

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4. 调试

调试才是最为麻烦的,因为得益于各位硬件、软件环境的差异性,会遇到各种不同的问题。以下是基于笔者发稿日的一个调试情况。

笔者测试环境:

  • 硬件:Raspberry Pi3B+
  • 系统:2022-09-22-raspios-bullseye-arm64-lite.img.xz
  • 软件:Pan-Tilt_HAT_code.7z

4.1 python3-print问题

无论是官网或者git获取的代码,都存在python3-print问题,估计写这个python代码的作者用的是pythron2。

在这里插入图片描述
原因:python3 print作为函数使用,需要增加括号。

diff --git a/RaspberryPi/web_Python/main.py b/RaspberryPi/web_Python/main.py
index 9986a42..daffeea 100644
--- a/RaspberryPi/web_Python/main.py
+++ b/RaspberryPi/web_Python/main.py
@@ -37,7 +37,7 @@ def server_fonts(filename):def cmd():global HStep,VStepcode = request.body.read().decode()
-    print "code ",code
+    print( "code ",code)# speed = request.POST.get('speed')# print(code)# if(speed != None):
@@ -120,5 +120,5 @@ try:run(host=localhost, port="8001")except:pwm.exit_PCA9685()
-    print "\nProgram end"
-    exit()
\ No newline at end of file
+    print( "\nProgram end")
+    exit()

4.2 python函数入参类型错误

在这里插入图片描述
原因:python编程人员对变量的使用相对随意,这个是之前的一个隐患,python3当前环境进行更加严格的检查,发现了问题。

diff --git a/RaspberryPi/web_Python/PCA9685.py b/RaspberryPi/web_Python/PCA9685.py
index b596863..2cdc45c 100644
--- a/RaspberryPi/web_Python/PCA9685.py
+++ b/RaspberryPi/web_Python/PCA9685.py
@@ -80,7 +80,7 @@ class PCA9685:def setServoPulse(self, channel, pulse):"Sets the Servo Pulse,The PWM frequency must be 50HZ"pulse = pulse*4096/20000        #PWM frequency is 50HZ,the period is 20000us
-    self.setPWM(channel, 0, pulse)
+    self.setPWM(channel, 0, int(pulse))def start_PCA9685(self):self.write(self.__MODE2, 0x04)

4.3 缺少mjpg-streamer可执行文件

从7zip包里面,实际上该二进制是存在的,但是就是出毛病,无法执行。

在这里插入图片描述原因:该代码包中,mjpg-streamer已经编译过了,且路径和测试路径不一致。导致无法clean,也无法编译成功。最后删除_build目录后,重新编译,现象消失。

4.4 缺失编译头文件和库

原因:该mjpg-streamer代码包编译需要WiringPi和相关库支持。

$ sudo apt-get install libjpeg62-turbo-dev cmake
$ git clone https://github.com/WiringPi/WiringPi
$ ./build
$ gpio -v
gpio version: 2.70
Copyright (c) 2012-2018 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warrantyRaspberry Pi Details:Type: Pi 3B+, Revision: 03, Memory: 1024MB, Maker: Sony* Device tree is enabled.*--> Raspberry Pi 3 Model B Plus Rev 1.3* This Raspberry Pi supports user-level GPIO access.

4.5 python库缺失

原因:真正这个代码跑起来,缺少python3的一些组件,请务必安装。

$ sudo apt-get install python3-bottle python3-smbus

4.6 图像无法显示,但libcamera-jpeg测试正常

原因:mjpg-streamer仅支持legacy Camera。需要将下面配置修改为【YES】,重启树莓派。

在这里插入图片描述

4.7 异常IOCTL报错

最后确认,就是这个鸟样,直接可以忽略不管。

在这里插入图片描述

4.8 Git问题

如果想用最新的Git代码,需要提前处理git网络问题,详见:Github操作网络异常笔记

$ git clone https://github.com/waveshare/Pan-Tilt-HAT.git
$ cd Pan-Tilt-HAT/RaspberryPi/web_Python
$ git clone https://github.com/jacksonliam/mjpg-streamer

5. 效果

5.1 WEB页面效果

在这里插入图片描述

5.2 视频效果

PAN Tilt HAT for Camera 2D Control

5.3 外观效果

在这里插入图片描述

5.4 起飞前效果

在这里插入图片描述

6. 参考资料

【1】Raspbian安装摄像头
【2】Raspbian镜像无头烧录

7. 后续思考

【1】 Feature Request: pan-tilt gimbal controls #196

这篇关于Raspbian安装云台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/635976

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme