【树莓派学习】开发环境配置

【树莓派学习】开发环境配置

​ Raspberry Pi OS作为基于Linux的系统,其默认网络配置在国内的网络环境下容易出现访问慢甚至无法连接等问题,不便于我们的学习,同时,树莓派上C/C++的使用需要单独安装WiringPi。本文主要介绍如何更改树莓派的pip及软件源、如何在Raspberry Pi OS(以下简称OS)中安装WiringPi。


文章目录

  • 【树莓派学习】开发环境配置
    • 一、软件换源
    • 二、python环境配置
      • 1. pip换源
      • 2. 管理虚拟环境
        • 创建venv虚拟环境
        • 在虚拟环境中使用pip
      • 3.为全局安装
    • 三、WiringPi安装

注:本文为笔者的学习笔记,有部分内容可能存在疏漏,敬请指正。

硬件环境:Raspberry PI 4B(2GB RAM)

使用软件:VNC Viewer

本文涉及的外部连接均已放置文末

一、软件换源

树莓派内置的软件源在国内的网络环境下访问较慢,且容易出现连接失败的情况,我们可以将软件源换为清华大学开源软件镜像站提供的源,从而提高下载速度。

打开清华大学开源软件镜像站-Raspbian,根据页内提示确定系统架构。

在这里插入图片描述

uname -m

在这里插入图片描述

我使用的为aarch64,点击下方的连接进入清华大学开源软件镜像站-Debian
在这里插入图片描述

根据提示,打开配置文件

sudo nano /etc/apt/sources.list

将文件中的内容替换为以下内容

在这里插入图片描述

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

保存文件,运行以下命令确定,更新软件源列表,同时检查编辑是否正确

sudo apt-get update

二、python环境配置

1. pip换源

在终端中输入python,可以看到OS内置python3,并且可以在桌面右上角找到IDE Thonny

我们可以通过以下命令修改pip的源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

//可以将后面的地址换为以下源
阿里云 http://mirrors.aliyun.com/pypi/simple/
豆瓣 http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学 http://pypi.hustunique.com/

2. 管理虚拟环境

创建venv虚拟环境

当我们使用pip尝试安装库时,却看到这样的报错【error:externally-managed-environment】

在这里插入图片描述

这是因为OS中内置有venv虚拟环境,此时pip需要在虚拟环境中使用

我们可以通过以下命令创建一个虚拟环境

python3 -m venv name //在当前目录下创建虚拟环境
//其中name为虚拟环境名称

此时我们可以在用户目录下找到对应文件夹

ls -l  //显示当前目录下的所有文件及相关信息

通过以下命令进入虚拟环境

source name/bin/activate

通过以下命令退出虚拟环境

deactivate

要删除虚拟环境,只需删除与其相关的目录即可

rm -rf name
//注意,此命令不可逆

在这里插入图片描述

在虚拟环境中使用pip

在创建好虚拟环境并进入后,我们可以直接在该环境中使用pip命令,此时可以正常执行

在这里插入图片描述

以下为虚拟环境安装示例

此时test1和test2虚拟环境中均没有pandas
在这里插入图片描述

在这里插入图片描述

我们使用pip为test1安装pandas,此时test1成功安装,而test2不受影响

在这里插入图片描述

在这里插入图片描述

3.为全局安装

如果需要为全局安装,则需要使用pipx

sudo apt install pipx

使用pipx安装相应包可以为全局安装

在这里插入图片描述

三、WiringPi安装

WiringPi用于树莓派的引脚控制等

可能是因为OS版本更新,一些教程中所用的方法无法再用于安装WiringPi(比如我看的),该方法如下:

cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb

在我使用的版本中(2024-03-15-raspios-bookworm-arm64)使用该方式安装WiringPi会报错

以下为我使用的能够成功安装的方法

  1. 安装 git-core

    sudo apt-get install git-core
    
  2. 从github(或镜像站)clone所需WiringPi文件

    git clone https://github.com/WiringPi/WiringPi.git
    或从镜像站
    git clone https://hub.njuu.cf/WiringPi/WiringPi.git
    
  3. 安装

    cd WiringPi
    ./bulid
    
  4. 检查安装,若出现版本信息,说明安装成功

    gpio -v
    

在这里插入图片描述

查看引脚信息

gpio readall

在这里插入图片描述


清华大学开源软件镜像站-Raspbian:https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/

清华大学开源软件镜像站-Debian:https://mirrors.tuna.tsinghua.edu.cn/help/debian/

WiringPi: The arguably fastest GPIO Library for the Raspberry Pi i:https://github.com/WiringPi/WiringPi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/569427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓄能勃发,酷开科技携酷开系统“软硬结合”提升大屏实力

智慧大屏以全新媒体形态之姿在过去几年快速增长,截至去年上半年,国内联网电视总量覆盖达5.26亿,其中智能电视终端活跃量达3.22亿,在PC、Mobile流量增长已显疲态的背景下,大屏的高速发展意味着一个新的赛道的崛起&#…

使用甘特图来做时间管理

在这个追求效率的时代,掌握高超的时间管理技能几乎等同于掌控了成功。事实上,时间就是金钱,更是稀缺资源。那么,如何高效地规划和利用时间呢?甘特图应该是您的必备武器之一。 甘特图(Gantt chart)名字虽然有些陌生,但它的使用范围确实广泛。无论是全职妈妈安排家务,还是上市公…

蓝桥杯-网络安全-练习题-crypto-rsa

共模攻击 直接脚本即可 import libnum import gmpy2import random random.seed(123456)e1 random.randint(100000000, 999999999) print(e1) e2 65537 n 7265521127830448713067411832186939510560957540642195787738901620268897564963900603849624938868472135068795683…

低代码技术的全面应用:加速创新、降低成本

引言 在当今数字化转型的时代,企业和组织面临着不断增长的应用程序需求,以支持其业务运营和创新。然而,传统的软件开发方法通常需要大量的时间、资源和专业技能,限制了企业快速响应市场变化和业务需求的能力。在这样的背景下&…

VS窗口固定尺寸的方法

Dialog每次都要找窗口尺寸固定的设置,因此在这个地方做个笔记 下次就好检索了。年级大了 脑子不够用了。

vben admin Table 实现表格列宽自由拖拽

更改BasicTable.vue文件 Table添加 resize-column“resizeColumn” 添加并 return resizeColumn const resizeColumn (w, col) > { setCacheColumnsByField(col.dataIndex, { width: w }); }; 在column中添加 resizable: true,

jackson.dataformat.xml 反序列化 对象中包含泛型

重点: JacksonXmlProperty localName 指定本地名称 JacksonXmlRootElement localName 指定root的根路径的名称,默认值为类名 JsonIgnoreProperties(ignoreUnknown true) 这个注解写在类上,用来忽略在xml中有的属性但是在类中没有的情况 Jack…

书籍发售:七个阶段,让你详细了解“有书共读”的完整发售流程

有书共读发售流程 你要在本子上画一个流程或者是导图上。 首先整个过程分成7个阶段: 第1个:预告阶段, 第2个:售书阶段, 第3个:发货阶段, 第4个:共读阶段, 第5个:发售阶段, 第6个:售卖周期, 第7个:发售结束, 一共7个阶段,最重要的是前5个阶段,第6和7个…

边缘计算是什么?

一、边缘计算是什么? 边缘计算是一种分布式计算范式,它将计算任务和数据存储从中心化的云端推向网络的边缘,即设备或终端,以提高响应速度和降低网络带宽需求。在边缘计算中,数据在源头附近进行处理和分析&#x…

Hadoop格式化namenode出错

​ 我们在对Hadoop进行格式化时 很有可能会出现以下错误 输入命令:hadoop namenode -format 报错信息:-bash:hadoop:command not found 我们总结的最主要原因有三个 Hadoop的环境变量是否配置 配置以后是否使其生效 vim /e…

HYBBS表白墙爆款源码!轻松搭建表白墙网站,更可一键封装成APP,让爱传递无界限

PHP表白墙网站源码,适用于校园内或校区间使用,同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装,只需PHP版本5.6以上即可。 通过上传程序进行安装,并设置账号密码,登录后台后切换模板,适配手机和PC…

其他代码题

1.阶乘累加 2.回文数 3.字典查询 4.“结构体”的应用 5.链表

凌恩病原微生物检测系统上线啦,助力环境病原微生物检测

病原微生物是指能够引起人类或动物疾病的微生物,包括病毒、细菌、真菌、衣原体和支原体等。病原微生物可以通过空气、体液等介质传播,危害人体健康,造成财产损失。因此,快速、准确地检测病原微生物对于疫情防控和保障人民生命健康…

北京筑龙当选中招协第二届招标采购数字化专业委员会执行主任单位

4月18-19日,中国招标投标协会(以下简称中招协)2024年年会在宁波召开,北京筑龙作为中招协理事会员单位受邀出席会议。会议期间举行了“电子招标采购专业委员会换届会议暨第二届第一次工作会议”,北京筑龙当选第二届招标…

Leetcode 第 393 场周赛题解

Leetcode 第 393 场周赛题解 Leetcode 第 393 场周赛题解题目1:3114. 替换字符可以得到的最晚时间思路代码复杂度分析 题目2:3115. 质数的最大距离思路代码复杂度分析 题目3:3116. 单面值组合的第 K 小金额思路代码复杂度分析 题目4&#xff…

探索人工智能的边界:GPT 4.0与文心一言 4.0免费使用体验全揭秘!

探索人工智能的边界:GPT与文心一言免费试用体验全揭秘! 前言免费使用文心一言4.0的方法官方入口进入存在的问题免费使用文心一言4.0的方法免费使用GPT4.0的方法官方入口进入存在的问题免费使用GPT4.0的方法前言 未来已来,人工智能已经可以帮助人们完成许多工作了,不少工作…

【FX110网】股市、汇市一年有多少个交易日?

事实上,作为交易者,重要的是要了解并非每天都是交易日。虽然金融市场在大多数工作日开放交易,但在某些特定情况下无法进行交易。这些非交易日可能因各种原因而发生,包括节假日、周末和市场休市。 通过随时了解假期、交易时间表和市…

CSS3:border-image

<!DOCTYPE html> <html><head><meta charset"utf-8"> </head><body><p>原始图片</p><img src"./images/border1.png" alt""><p>一、</p><p>border: 27px solid transp…

qt5-入门-自定义委托-可编辑的TableModel与信号接收

参考&#xff1a; C GUI Programming with Qt 4, Second Edition 本地环境&#xff1a; win10专业版&#xff0c;64位&#xff0c;Qt5.12 上一篇&#xff1a; qt5-入门-自定义委托-简单例子_qt 委托-CSDN博客 https://blog.csdn.net/pxy7896/article/details/137234839 本篇重…

报名 | Qt汽车及工业行业解决方案及实战训练 深圳站(5月15日 星期三)

加入我们的Qt技术培训&#xff0c;探索跨平台应用开发的无限可能&#xff01;本次培训将深入Qt框架&#xff0c;涵盖从基础概念到高级功能的全方位知识&#xff0c;无论您是刚入门的新手还是希望提升技能的资深开发者&#xff0c;都能在此找到适合自己的学习路径。通过实践案例…