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

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d