解决树莓派3B+:只有红灯常亮绿灯不亮

通过本文,作者解决了树莓派3B+启动时只有红灯亮、绿灯不亮的问题。问题根源在于烧录软件,使用Etcher软件烧录系统后,树莓派能够正常开机。文章强调了正确选择SD卡分区和匹配树莓派发布日期的系统版本的重要性。

一句话总结本文解决方法:可能是烧录软件有问题,使用Etcher烧录后,可正常开机;

以下为解决该问题过程:

最近重新给树莓派3B+安装系统,按照之前的方法往SD卡烧录系统:

烧录方法:1 .SDFormatter格式化SD卡; 2.Win32DiskImager负责写入系统;

接通电源后只有红灯亮,绿灯不亮,查询文章和问答,基本没有很好的解决这个问题:

文章和问答常见总结:SD卡有问题,或者树莓派坏了;

继续查找问题,知知乎上这篇文章如何给树莓派安装操作系统 - 知乎介绍安装SD卡的不同方法,第二种方法介绍使用Etcher软件安装系统,使用该方法安装后,绿灯会短暂亮一会,然后熄灭,并有如下报错:

在排查报错问题的过程中阅读了SD卡config.txt 文件的中内容

 这部分内容提示树莓派4和之前版本的硬件有区别,也就是说新版本的树莓派和烧录软件应该都是优先支持树莓派4的烧录,然后兼容之前的版本,烧录好的系统,报错也应该是因为兼容不到位引起的,因此,改变思虑,使用较早版本的烧录软件和树莓派系统,开机成功,开心;

烧录软件下载地址如下:

https://github.com/balena-io/etcher/releases?page=12

可下载免安装版本,下载版本信息如下:

写在最后,网上大部分教程都是使用 Win32DiskImager写入系统,这个应该误导了很多人。

注意点:能成功开机的SD卡插入电脑后应该会显示类似下图的两个分区,而不是一个:

树莓派的系统最好是树莓派发布时间对应的系统,例如,树莓派是2018年3月部分,系统建议下载2018年3月左右的系统;

涉及硬件:树莓派以及相关套件、LED红绿灯 涉及知识:电路实验板、CanaKit 当准备好以上,我们就可以开始啦。使用树莓派进行LED原型控制。 首先要明白的是,接入所有的电线、电阻器以及工具包附带的指示灯需要谨慎操作,毕竟如果你设置操作当将有可能损坏你的硬件。 为了简化与树莓派和LED的接触,也为了方便编写控制代码,我决定编写一个叫做Pi交通灯的小玩意,这是用树莓派控制LED的第一步。 有了这个“红绿灯”之后,你要做的就只是把这个小装置直接插到树莓派的GPIO接口上。你需要担心连接到线路板的导线是否正确,也需要费心思寻找与LED匹配的电阻,更用搞清楚线路板上哪里是正极哪里是负极。 在默认设置下,Pi交通灯是被标记在GPIO第10、9、11和GND这几个接口上的,这几个接口在Pi设置上都是紧挨着的。但是在后来版本的树莓派中,这几个接口都是在GPIO的中间位置,这就有点好办了(万一视力好或是光纤太暗,那就很难看清了)。我一般会把我自己的Pi交通灯插在13、19、26号GPIO接口和GND接口上,这样操作起来会容易得多。 在插好这些接口之后,你就可以打开树莓派,然后编写一些代码来控制LED了。在这篇文章中,我会写一些示例。第一个例子,我是用了Python来读取树莓派的CPU使用率,通过RPi.GPIO库来显示红、黄、绿三种LED灯。 原理如果CPU负载低于50%,会显示绿灯;在50%到90%之间,显示黄灯;高于90%就会显示红灯。也设计了异常处理程序,只要按下Ctrl+C就可以退出程序,这样所有的灯都。这样设计的原因和意图只有一个,那就是通过这个交通灯提醒你树莓派对CPU的使用率。 #!/usr/bin/env python # to use with Pi Traffic Light import RPi.GPIO as GPIO import psutil GREEN = 26 YELLOW = 13 RED = 19 # Pin Setup: GPIO.setmode(GPIO.BCM) # Broadcom pin-numbering scheme. GPIO.setwarnings(False) GPIO.setup(GREEN, GPIO.OUT) GPIO.setup(YELLOW, GPIO.OUT) GPIO.setup(RED, GPIO.OUT) try: while (1): cpu_pc = psutil.cpu_percent(interval=2) print &#39;CPU: %d%%&#39; % (cpu_pc) if cpu_pc <= 50: GPIO.output(RED, False) GPIO.output(YELLOW, False) GPIO.output(GREEN, True) if 50 =90 : GPIO.output(GREEN, False) GPIO.output(YELLOW, False) GPIO.output(RED, True) except KeyboardInterrupt: print "Good bye" GPIO.output(GREEN, False) GPIO.output(YELLOW, False) GPIO.output(RED, False) GPIO.output(RED, False) GPIO.output(YELLOW, True) if cpu_pc >=90 : GPIO.output(GREEN, False) GPIO.output(YELLOW, False) GPIO.output(RED, True) except KeyboardInterrupt: print "Good bye" GPIO.output(GREEN, False) GPIO.output(YELLOW, False) GPIO.output(RED, False) 第二个例子相比第一个而言简单很多,在某种程度上也有趣很多,因为我使用了Scratch来控制LED。它是一种免费的visual程序设计语言,允许程序员用它来创建互动游戏、故事和动画。它最初由麻省理工学院开发,作为一种面向儿童的编程概念,现在已经取得了巨大成功。 为了使得Scratch与树莓派的GPIO接口建立联系,你首先要做的是就是打开这个程序,进入编辑界面,选
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值