我有一个树莓派,上面有商店购买的默认操作系统。我想将 SD 卡擦干净,以便我可以安装新的操作系统,但我想将原始操作系统保留在备份光盘映像中。我计划将它存储在一个 .bin 文件中。SD 卡有两个分区。
我使用以下命令找出哪个驱动器是 SD 卡。
sudo dmesg | tail
Run Code Online (Sandbox Code Playgroud)
- 输出 -
[ 2954.642182] sd 3:0:0:0: [sdb] Attached SCSI removable disk _
[ 2955.149750] EXT4-fs (sdb2): mounted filesystem with ordered data mode. Opts: (null)
Run Code Online (Sandbox Code Playgroud)
我相信这告诉我它在 dev/sdb2 下,但我也尝试过 dev/sdb、~/dev/sdb 和 ~/dev/sdb2。我使用以下命令来创建图像:
dd if="dev/sdb2" of="~/Desktop/Pi Backup/Pi.bin"
Run Code Online (Sandbox Code Playgroud)
但是当我尝试这样做时,它会返回错误消息
dd: opening `dev/sdb2': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我正在运行 Linux Mint、Cinnamon。
任何帮助表示赞赏。
当我跑:
sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
从命令行,它的工作原理.
如果我把同一行放在一个脚本文件maintain.script:
echo UPDATING SYSTEM SOFTWARE – UPDATE
sudo apt-get update
echo UPDATING SYSTEM SOFTWARE – UPGRADE
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
并运行:
sudo ./maintain.sh
Run Code Online (Sandbox Code Playgroud)
我收到错误:
E: Invalid operation update
E: Invalid operation upgrade
Run Code Online (Sandbox Code Playgroud)
我已将脚本标记为可执行文件.
FSQ评论后更新
这是脚本文件:
#!/bin/bash
echo "UPDATING SYSTEM SOFTWARE – UPDATE"
apt-get update
echo "UPDATING SYSTEM SOFTWARE – UPGRADE"
apt-get upgrade
echo "UPDATING SYSTEM SOFTWARE – DISTRIBUTION"
apt-get dist-upgrade
echo "REMOVING APPLICATION ORPHANS"
apt-get autoremove –purge
echo "UPDATING FIRMWARE"
rpi-update
Run Code Online (Sandbox Code Playgroud)
这是命令:
pi@raspberrypi2 …Run Code Online (Sandbox Code Playgroud) 我想在 Raspberry Pi(或者,就此而言,任何基于 Unix/Linux 的计算机)上运行一个 Python 程序,它可以有效地将整个屏幕变成一个画布,并允许我在其上实时绘制文本和图形对象。我理想地希望这也能自动隐藏桌面上的所有其他内容并消除窗口框架和任务栏,类似于以全屏模式播放视频(使用 ESC 退出)。
到目前为止,我的研究表明 Tkinter/Canvas 将是最简单的解决方案。但是,虽然我在网上找到了一些例子来完成我上面描述的部分内容,但我无法将这些部分放在一起完成所有工作的形式。我之前没有使用 Tkinter 的经验也无济于事。
如果有人能指出我所描述的设置的最小工作示例,我将不胜感激。
我正在用C编写我的rapsberry pi上的gpio引脚.不会让我陷入困境.当我使用==或!=无关紧要时,循环就会卡住.这是因为当程序进入循环时它不会更新while循环使用的变量状态吗?
for(i=0;i<200;i++)
{
uint8_t valu = bcm2835_gpio_lev(SIG);
while(valu == 0)
{
uint8_t valu = bcm2835_gpio_lev(SIG);
data[i] = 0;
dan = dan + 1;
delay(0.001);
}
timeout = 0;
while(val == 1 && timeout < 70)
{
uint8_t val = bcm2835_gpio_lev(SIG);
data[i] = data[i] + 1;
dat = dat + 1;
timeout = timeout + 1;
delay(0.001);
}
delay(0.001);
}
Run Code Online (Sandbox Code Playgroud)
bcm2835指令来自覆盖范围pi使用的broadcom IC的c库.
我想为 SSD1306 创建一个简单的 Linux 驱动程序,我已通过 I\xc2\xb2C 连接到我的 Raspberry Pi。
\n\n在开始编码之前,我想了解设备以及我必须发送哪些命令。我使用 Linux 的 i2c-tools 来测试我的命令。我研究了一些Arduino项目和SSD1306的数据表,但我只能在命令行上重新创建一些命令:
\n\n初始化设备:i2cset -y 1 0x3c 0xAE 0x20 0x10 0xb0 0xc8 0x00 0x10 0x40 0x81 0x7f 0xa1 0xa6 0xa8 0x3f 0xa4 0xd3 0x00 0xd5 0xf0 0xd9 0x22 0xda 0x12 0xdb 0x20 0x8d 0x14 0xaf i
将数据发送到设备内存:i2cset -y 1 0x3c 0x40 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF i\n这将从当前位置向右填充一些像素。
跳转到左上角像素:i2cset -y 1 0x3c 0xb0 0x00 0x10 i …
我需要在 Arduino 或 Raspberrypi 板上每秒生成 6 亿次脉冲。我的目的是测量发射器和接收器之间的距离。接收器每秒对接收到的脉冲进行计数并估计距离。我可以用哪些方式编写代码?
嗨,我试图通过arduino关闭覆盆子pi,并制作了一个python守护进程,关闭了覆盆子pi.
当我第一次编写代码并运行它时,它完全有效,但是当我保存并再次运行代码时,由于语法错误,它不会运行.
这是我的python代码.import serial import os
ser = serial.Serial('/dev/ttyACM0', 9600)
while 1 :
line = ser.readline()
if line == 'shutdown\r\n':
os.system("sudo shutdown -h now")
Run Code Online (Sandbox Code Playgroud)
我想在任何需要的时候让它工作.但是这个代码只是第一次成功运行,当我给它第二次机会它不起作用并且表明代码有语法错误.
python版本是2