前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >开源图书《Python完全自学教程》12.7树莓派开发

开源图书《Python完全自学教程》12.7树莓派开发

作者头像
老齐
发布于 2022-12-09 12:28:35
发布于 2022-12-09 12:28:35
1.2K00
代码可运行
举报
文章被收录于专栏:老齐教室老齐教室
运行总次数:0
代码可运行

12.7 树莓派开发

本节的标题很大,但内容仅限于演示一个在树莓派上应用 Python 语言进行开发的示例,如果读者对本节标题相关的内容有兴趣,推荐查阅有关专门资料。

12.7.1 树莓派概要

树莓派(Raspberry Pi)是一款基于 Linux单片机(single-chip microcomputer)——中央处理器(CPU)、存储器、定时计数器、各种输入输出接口等集成在一块集成电路芯片上的微型计算机。自2012年发布第一代产品以来,颇受广大学生和开发者喜欢,因为它不仅集中了常用的单片机功能,最重要的是价格便宜。撰写本节时,从树莓派的官方网站(https://www.raspberrypi.org/)可知,目前最新型号是 Raspberry Pi 4 ,如图12-7-1所示。

图12-7-1 树莓派 4

表12-7-1汇总了自发布到撰写本节时所有的树莓派型号,供读者选用有关硬件设备时参考。

表12-7-1 树莓派型号概况

型号

Model

尺寸(mm)

以太网

Wi-Fi

GPIO

发布时间

Raspberry Pi 1

B

85.6×56.5

26-pin

2012*

A

2013*

B+

40-pin

2014

A+

65×56.5

2014

Raspberry Pi 2

B

85.6×56.5

2015

Raspberry Pi Zero

Zero

65×30

2015

W/WH

2017

Raspberry Pi 3

B

85.6×56.5

2016

A+

65×56.5

2018

B+

85.6×56.5

2018

Raspberry Pi 4

B(1G)

85.6×56.5

2019*

B(2G)

2019

B(4G)

B(8G)

2020

注:发布时间后标有 * 符号,表示已经停产。

可能有读者会问,树莓派是否能够替代自己用的计算机?这不是用“能”或“不能”可以回答的,因为每个人用计算机做的事情不一样,对其软硬件的需求也不同。表12-7-2列出了 Raspberry Pi 3 B+ 和 Raspberry Pi 4 的硬件规格,可供参考。

表12-7-2 两款不同型号树莓派部分硬件规格

项目

3B+

4B

SoC(单片系统)

博通 BCM2837

博通 BCM2711

CPU

ARM Cortex-A53 64位 1.4GHz(4核)

ARM Cortex-A72 64位 1.5GHz(4核)

内存

1 GB(LPDDR2)

2/4/8 GB(LPDDR4)

USB 2.0 接口数

4

2

USB 3.0 接口数

-

2

视频输出

全尺寸 HDMI

Micro-HDMI(2个)

音频输出

3.5mm 插孔

3.5mm 插孔

网络

10/100Mbps 以太网接口,支持无线网和蓝牙

100/1000Mbps 以太网接口,支持无线网和蓝牙

GPIO 引脚数

40

40

显然树莓派的硬件规格是低于目前主流计算机的,但只是要运用恰当,它也能“干活”。

以图12-7-2所示的树莓派 3B+ 为例(是本小节演示用的设备),将其与显示器连接,并接通电源,即可启动(关于树莓派的系统设置,可以参考有关专门资料,此处不作为重点介绍)。

图12-7-2 树莓派 3B+ 俯视图

图12-7-3 为启动之后进入的桌面,图12-7-4显示用树莓派登录网站的效果。

图12-7-3 树莓派启动后的桌面

图12-7-4 在树莓派上打开浏览器并访问网站

树莓派上默认安装了 Raspberry Pi OS ——基于 Linux 的操作系统。如果读者对 UbuntuDebian 等 Linux 发行版有所了解,操作树莓派则非常简单。因为树莓派当初就是为学习者而设计开发的,鼠标移动到图12-7-3中所示菜单中的“编程”,会看到操作系统中已经默认安装了常用的编程工具,基本可以满足从小到大学各级各类学生学习编程的需要(如图12-7-5所示)。

图12-7-5 默认安装的软件

用鼠标点击图12-7-5中所示的“Python 3 (IDLE)”,就进入了与第1章1.7节中的图1-7-16同样的界面,只是树莓派中默认安装的 Python 版本可能不如本书中或者读者所使用的的版本高。若读者有兴趣提升树莓派中的 Python 版本,可以参考本书第1章。

树莓派上也支持本书之前演示中所用的终端,如图12-7-5所示,鼠标点击终端按钮(图12-7-5所示的顶部右边第一个按钮),即可打开终端界面。如果在此界面直接输入 python 指令,也会进入 Python 交互模式,但是 Python 2 的交互模式,通常在 Linux 系统发行版中,会默认安装 Python 的两个版本(只有在最新的发行版系统中才逐渐移除了 Python 2)。若要进入 Python 3 的交互模施工,需要输入 python3 指令。

总而言之,树莓派是一个“开机即用”的计算机,如果在它上面编写 Python 程序,与本书所讲过的方法完全相同。

12.7.2 极简案例

如果读者已经拥有了一块树莓派,就可以通过本小节的极简案例初步体验以树莓派为平台,设计一个简单的灯光信号装置。所用的材料包括(如图12-7-6所示,不含显示器):

  • 一台树莓派,一台显示器
  • 一个发光二极管( light-emitting diode ,缩写为 LED )
  • 一个限流电阻
  • 三根杜邦线

图12-7-6 实验器材

按照12.7.1节的方式,打开树莓派之后,在终端,输入如下指令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pi@raspberrypi:~ $ pinout

输出图12-7-7所示的结果,显示了树莓派各个引脚的含义(图12-7-6所示的树莓派右侧像针一样排列的,叫做引脚,共40个)。

图12-7-7 输出树莓派引脚说明

为了更清晰地与真实设备对照,也可以使用图12-7-8所示的图片(图片来源:https://www.bigmessowires.com/2018/05/26/raspberry-pi-gpio-programming-in-c/)。

图12-7-8 引脚对照

从上述图示或者输出结果可知,树莓派共有40个引脚,其中标记有 GPIO(General Purpose Input/Output)的引脚用于读取或输出高低电平,后面演示用程序控制发光二极管的闪烁,就会用到此类引脚;标有 GND(Ground)的引脚用于接地。这两类引脚在后续会用到,其他没有用到的此处不赘述,读者有意了解,请查阅树莓派的专门资料。

接下来连接电路。本示例中的电路非常简单,只需要用杜邦线将发光二极管、电阻串联即可(如图12-7-9所示)。但是要注意发光二极管的两腿的长度不同,长腿要与电源的正极相连,短腿与电源的负极相连(如图12-7-10所示)。在图12-7-9的电路中,电阻所在一侧为发光二极管的长腿一侧。

图12-7-9 串联电路

图12-7-10 发光二极管

为了安全,暂且断开树莓派的电源。然后将与发光二极管长腿相连的杜邦线插到树莓派的16号 GPIO 引脚上,将与发光二极管短腿相连的杜邦线插到14号 GND 引脚上,最终效果如图12-7-11所示。

图12-7-11 连接效果

启动树莓派,打开菜单中的 Python 3(IDLE)(如图12-7-5所示),进入到了 Python 交互模式(如图12-7-12所示),点击菜单栏中的 “File-New File”,在打开的文本编辑界面中输入如下代码。

图12-7-12 打开树莓派上的 Python 编辑器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(16, GPIO.OUT)

GPIO.output(16, GPIO.HIGH)  # 16 号引脚输出一个高电平,灯亮
time.sleep(2)
 

GPIO.output(16, GPIO.LOW)   # 16号引脚输出一个低电平,灯灭
time.sleep(2)

GPIO.output(16, GPIO.HIGH)  # 等再亮
time.sleep(2)

GPIO.cleanup()              # 结束

将上述程序保存为 led.py 文件,并在终端执行它,就能观察到 LED 的亮、灭交替。

以上是非常简单的案例,读者若有兴趣,可以参阅专门资料,以树莓派为平台,开发更复杂的引用。

自学建议 对于学生和业余爱好者而言,树莓派是一个性价比很高的开发平台,通过它能够控制很多电子设备,将“软件”和“硬件”结合起来。诚然,这还需要读者具备相关的电子学知识。”

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老齐教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
树莓派开发实例:基于树莓派的智能植物灌溉系统
作为物联网领域的重要一员,树莓派凭借其小巧的体积、强大的功能和丰富的接口,成为了众多开发者青睐的对象。本文将详细介绍一个基于树莓派的智能植物灌溉系统的开发实例,展示树莓派在物联网应用中的强大潜力。
china马斯克
2025/01/10
2930
树莓派 4 正式发布!硬件性能大提升:CPU提升3倍,支持USB3.0、蓝牙5.0、千兆以太网、4G LPDDR4、H.265
树莓派(Raspberry Pi)基金会,6月24日正式发布了Raspberry Pi 4 Model B。
用户6543014
2019/10/25
1.1K0
树莓派 4 正式发布!硬件性能大提升:CPU提升3倍,支持USB3.0、蓝牙5.0、千兆以太网、4G LPDDR4、H.265
树莓派4b性能怎么样,值不值得买
树莓派自2012问世以来,从第一款Pi 1到现在的Pi 4经历了4个大版本,在RAM大小和外围设备支持方面都发生了很大的变化。那么2019年千呼万唤始出来的树莓派4b现在售价是多少钱,性能有什么样的提升,值不值得购买呢?
用户6968133
2021/08/18
12.2K0
树莓派4b性能怎么样,值不值得买
牛人教你DIY!用树莓派 Zero做飞控图传
虽然可以买到商品成品,且会比我们做出来的东西更美观,性能指标更强,但是在折腾中学习,按照自己的需求进行优化改动,享受创造的喜悦,不正是创客精神嘛。 本项目使用手头现有的硬件,旨在将树莓派Zero作为飞控图传使用,本以为会很简单,但是软件适配方面遇到一些问题,困扰了很久。 1. 硬件部分 我们首先来看看硬件列表: Raspberry Pi Zero v1.3 otg table & usb wifi dongle (Xiaomi wifi) Raspberry Pi Camera Module v1.3
机器人网
2018/05/04
6K0
牛人教你DIY!用树莓派 Zero做飞控图传
树莓派3B+使用GPIO实现串口通信[通俗易懂]
  由于项目原因需要使用树莓派连接串口,从串口获取机器人的信息同时也向机器人发送控制信息,因此串口在这里灰常重要。下面简单介绍下目前的方案:
全栈程序员站长
2022/09/12
2.3K0
树莓派3B+使用GPIO实现串口通信[通俗易懂]
树莓派基础实验1:双色LED灯实验
   双色发光二极管(LED)能够发出红色和绿色,两种不同颜色的光。正电压指向LED端子之一,使LED发出相应的颜色的光,一次只能有一个引脚接受电压,常用着各种设备的指示灯。
张国平
2020/09/28
3.6K0
树莓派基础实验1:双色LED灯实验
云中树莓派(4):利用声音传感器控制Led灯
将 VCC 引脚接入树莓派 5V 引脚,将 GND 引脚接入树莓派 GND 引脚,将 OUT 引脚接入树莓派 GPIO20。
SammyLiu
2019/06/28
1.3K0
云中树莓派(4):利用声音传感器控制Led灯
用树莓派实现室内温度监控
树莓派加上温度传感器实现室内温度监控。可用于家庭,轿车,工业,农业 等许多方面。可做温度预警,自动降温等操作。各位小伙伴可自行脑补发挥。
物流IT圈
2019/07/16
1.8K0
用树莓派实现室内温度监控
基于人体红外热释电检测的树莓派邮件报警器
只要标题够唬人,你们就会点进来,内容什么的其实都无所谓,无聊已经逼迫帅气的我做出了这种东西?!
聪明的瓦肯人
2020/02/26
1.5K0
基于人体红外热释电检测的树莓派邮件报警器
让你家的楼宇门变聪明:基于树莓派实现任意终端控制楼宇门
原创作者:豆豆青春不喂狗 一、背景 寒冷冬天的早晨,你躺在被窝里,门铃响了,你需要立刻起床穿衣服,然后去开门。现在,树莓派能帮你获得一个从容穿衣的时间。 二、摘要 1、简介: 使用树莓派、无线继电器、
FB客服
2018/02/07
2.1K0
让你家的楼宇门变聪明:基于树莓派实现任意终端控制楼宇门
树莓派基础教程_树莓派从入门到精通
1.首先进入树莓派官网:https://www.raspberrypi.org/,点击Software
全栈程序员站长
2022/11/04
4.4K0
树莓派基础教程_树莓派从入门到精通
龙芯派VS树莓派 运行功耗实测
龙芯派、树莓派都是开源硬件,并且都是定位在单板计算机的领域,外设上基本上也差不多。正好手上有这些板子,所以来测试一下手上这些板子的功耗情况。龙芯教育派、树莓派4b、树莓派3b、树莓派2b、树莓派pico的一些正常工作时功耗情况。这些选手的性能评测今天并不是考核的重点,就通过正常的上电运行默认的程序,来对比一下功耗的情况。
bigmagic
2021/02/08
3.8K0
iota硬件集成实战教程
本教程面向iota初学者,我们将学习如何开发基于指定IOTA地址的余额来闭合或断开一个连接到树莓派上的继电器,点亮或熄灭LED。教程虽然简单,但足以展示IOTA的强大能力。
用户1408045
2019/10/20
1K0
【树莓派】树莓派4B新手篇:安装官网Raspbian Buster系统及基础配置
对于很多程序员而言,树莓派如今已经如雷贯耳,对于我一个新入行AI领域研究的新人而言,树莓派激发了我极大的兴趣。最开始知道树莓派,是因为我之前做了一个语音对话机器人,然后在查询有关资料的时候发现有人用树莓派做了一个语音对话机器人,于是乎很惊奇,心中一直想自己动手实验一下。刚好那时候听说树莓派4B新上市,各方面的性能至少提升了3倍以上,好奇心害死猫,所以我决定入坑树莓派了。
全栈程序员站长
2022/07/01
8.9K0
【树莓派】树莓派4B新手篇:安装官网Raspbian Buster系统及基础配置
树莓派资源整理
本文收集了树莓派使用过程中经常需要用到的资源,主要包括树莓派系统镜像、树莓派硬件介绍、树莓派GPIO引脚编号、树莓派电路原理图下载、树莓派应用等等,非常值得收藏。
py3study
2020/01/09
2.2K0
树莓派与arduino通信
(2)安装python的GPIO模块,用于控制LED、电机等: wget https://sourceforge.NET/projects/raspberry-gpio-python/files/RPi.GPIO-0.6.2.tar.gz    (下载GPIO库,因为更新,具体参考官网网址变动)
似水的流年
2018/01/14
1.8K0
软件工程师树莓派获取室内温湿度的坎坷之旅
前几天公司接受到了一份来自阿里飞天园区,IOT部门的小礼物。由于上司比较忙,无暇去顾及。
sanshengshui
2019/09/11
1.6K0
软件工程师树莓派获取室内温湿度的坎坷之旅
树莓派基础实验22:红外遥控传感器实验
   红外接收头的主要功能为IC化的一种受光元件,其内部是将光电二极管(俗称接收管)和集成IC共同组合封装而成,其IC设计主要以类比式控制,一般主要接收38KHZ的频率的红外线,而对其他频率段的红外信号不敏感。这样,遥控器发出载波在38KHZ的频率,接收管接受遥控器发送过来的信息,从而构成通讯。
张国平
2020/09/27
2.3K0
树莓派JTAG详细使用笔记
有的时候,在调试代码的时候,往往会借助一些硬件调试工具,JTAG就是很好的调试工具。下面来详细介绍一下如何在树莓派上使用JTAG进行调试。
bigmagic
2020/05/18
4.8K1
树莓派pico官方网站_树莓派pico参数
Raspberry Pi Pico是具有灵活数字接口的低成本,高性能微控制器板。它集成了Raspberry Pi自己的RP2040微控制器芯片,运行速度高达133 MHz的双核Arm Cortex M0 +处理器,嵌入式264KB SRAM和2MB板载闪存以及26个多功能GPIO引脚。对于软件开发,可以使用Raspberry Pi的C / C ++ SDK或MicroPython。1
全栈程序员站长
2022/11/04
3.2K0
推荐阅读
相关推荐
树莓派开发实例:基于树莓派的智能植物灌溉系统
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档