Difference between revisions of "Raspberry Pi"

From Christoph's Personal Wiki
Jump to: navigation, search
(Miscellaneous)
(External links)
Line 211: Line 211:
 
===PCIe devices===
 
===PCIe devices===
 
* [https://pipci.jeffgeerling.com/ Raspberry Pi PCIe Devices] &mdash by Jeff Geerling
 
* [https://pipci.jeffgeerling.com/ Raspberry Pi PCIe Devices] &mdash by Jeff Geerling
 +
 +
===Cases===
 +
* [https://www.jeffgeerling.com/blog/2021/argon-one-m2-raspberry-pi-ssd-case-review Argon One M.2 Raspberry Pi SSD Case Review] — by Jeff Geerling
  
 
===Miscelleaneous===
 
===Miscelleaneous===

Revision as of 00:20, 12 February 2021

This article will be all about my Raspberry Pi projects.

Miscellaneous

  • Find Raspberry Pi IP address on your local WiFi network:
$ sudo nmap -sP 10.0.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'

#~OR~

IFACE=eth0
# trigger IPv6 neighbour discovery with link-local scope multicast:
ping6 -c2 -I $IFACE ff02::1 > /dev/null
# print the results, filtered by MAC address vendor prefix of Raspberry Pi Foundation:
ip -6 neigh | grep b8:27:eb

#~OR~

$ arp-scan --interface=eth0 --localnet | grep b8:27:eb
  • Store the following in your ~/.ssh/config file:
Host rpi
    HostName 10.x.x.x
    User pi
    ProxyCommand none
    TCPKeepAlive yes
    ServerAliveInterval 5
    PubkeyAuthentication no
    PreferredAuthentications keyboard-interactive,password

Then,

$ ssh rpi

Or, better yet, use SSH keys.

  • Find out where your Raspberry Pi was made and other details about the hardware:
$ cat /proc/cpuinfo | grep -E '^Hardware|^Revision|^Serial'
Hardware	: BCM2835
Revision	: a22082
Serial		: 0000000038e10351

# ~OR~

$ cat /proc/cpuinfo | grep -E '^Hardware|^Revision|^Serial'
Hardware	: BCM2711
Revision	: d03114
Serial		: 10000000ecaf3b49

Then, go here or here and, using the above hardware/revision codes, find out where you RPi was made.

So, in my case, I have the following:

  • Raspberry Pi 3 Model B (1 GB) manufactured by Embest in 2016 (Q1).
  • Raspberry Pi 4 Model B (8 GB) manufactured by Sony in 2020 (Q2).

32-bit or 64-bit

$ arch || uname -a
armv7l  # <- 32-bit => ARMv7 Processor rev 4 (v7l)
armv8   # <- 64-bit => ARMv8 Processor
$ tr '\0' '\n' </proc/device-tree/model;arch
Raspberry Pi 3 Model B Rev 1.2
armv7l
$ tr '\0' '\n' </proc/device-tree/model;arch
Raspberry Pi 4 Model B Rev 1.4
armv7l
$ getconf LONG_BIT
32  # <- 32-bit
64  # <- 64-bit
$ dpkg --print-architecture
armhf

Throttling

$ vcgencmd get_throttled
111100000000000001010
||||             ||||_ under-voltage
||||             |||_ currently throttled
||||             ||_ arm frequency capped
||||             |_ soft temperature reached
||||_ under-voltage has occurred since last reboot
|||_ throttling has occurred since last reboot
||_ arm frequency capped has occurred since last reboot
|_ soft temperature reached since last reboot

Over-clocking

$ sudo cat /sys/devices/system/cpu/cpufreq/policy0/*
0 1 2 3
600000
1200000
600000
355000
0 1 2 3
600000 1200000 
conservative ondemand userspace powersave performance schedutil 
600000
BCM2835 CPUFreq
ondemand
1200000
600000
<unsupported>

Video

  • Capture a 10 seconds video with your camera module:
$ raspivid -o video.h264 -t 10000

Useful commands

  • Check which network the wireless adaptor is using:
$ iwconfig
  • Print a list of the currently available wireless networks:
$ iwlist wlan0 scan
  • Show details about the device's memory:
$ cat /proc/meminfo
  • Show the size and number of partitions on the SD card or hard drive:
$ cat /proc/partitions
  • Show which version of the Raspberry Pi you are using:
$ cat /proc/version
  • Show all of the installed packages that are related to XXX:
$ dpkg --get-selections | grep XXX
  • Show all of the installed packages:
$ dpkg --get-selections
  • Show the IP address of the Raspberry Pi:
$ hostname -I
  • List USB hardware connected to the Raspberry Pi:
$ lsusb
  • Show the temperature of the CPU:
$ vcgencmd measure_temp
  • Show the memory split between the CPU and GPU:
$ vcgencmd get_mem arm && vcgencmd get_mem gpu
  • Display GPIO pinout (GUI-only):
$ pinout

GPIO

  • Light up an LED:
$ sudo -i
# Use GPIO pin 27 by creating a virtual file:
$ echo "27" > /sys/class/gpio/export
# Set pin 27 to ''out'' mode (allows us to turn on/off):
$ echo "out" > /sys/class/gpio/gpio27/direction
# Turn pin on/off:
$ echo "1" > /sys/class/gpio/gpio27/value
$ echo "0" > /sys/class/gpio/gpio27/value
$ exit

I2C

$ sudo apt-get install -y python-smbus i2c-tools
  • If you know an I2C device is connected to your RPi, but you do not know its 7-bit I2C address, use the following command to find it:
$ sudo i2cdetect -y 0

This will search /dev/i2c-0 for all address, and if an MCP4725 DAC breakout is properly connected and it is set to its default address it should show up at 0x62.

If you are using a 512MB Raspberry Pi version 2, you will need to use /dev/i2c-1 by running:

$ sudo i2cdetect -y 1  # as the i2c port number changed from #0 to #1

Memory

  • 1GB: 4HBMGCJ
  • 2GB: D9WHZ
  • 4GB: D9WHV
  • 8GB: D9ZCL

External links

GPIO

Alternative OSes

PCIe devices

Cases

Miscelleaneous