回目录 《树莓派raspberry》

pinout

1. 快速入门 Setup

format micro sdcard

sandisk extreme plus

Then format Sdcard with ‘SD Card Formatter’

if your sdcard more than 32G, windows disk manager may not be able to format it correctly, I am not sure abt mac and other os, use sdcard formatter instead

burn image 烧录镜像

树莓派支持多种镜像:

如果有显示器:可以连接显示器

Connect to monitor(change monitor setting)

如果没有显示器:可以用headless无头模式 headless install

插上microsd,目录boot下创建wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<Insert 2 letter ISO 3166-1 country code here>

network={
        scan_ssid=1
        ssid="<Name of your wireless LAN>"
        psk="<Password for your wireless LAN>"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
}

注意:wifi5G连不到多半是因为country code没有设置

而ssh开启很简单,创建一个ssh文件就ok

touch ssh

启动 boot

For headless install only: Using ip scanner or router admin to find out the ip for ssh connect

Default login: pi/raspberry

Once login, Enable SSH/VNC/wifi/CAMERA….

Extend sdcard to full use

Note:

测速:安装之后可以使用 raspbian自带的Raspberry Pi Diagnostic

高级配置:延长sd卡的寿命

Set hostname

If you are using the raspian distribution from raspberrypi.org, raspberrypi.local is the default hostname. sudo nano /etc/hosts sudo nano /etc/hostname

Remote Access

Remote Access

Configuration

全部配置参考

enable bluetooth

bluetoothctl 
agent on
default agent

最佳实践:备份镜像

sd卡会随时损坏!所以备份很重要! Win32DiskImage

launch the Win32 Disk Imager tool with administrator privileges Select the location to save your backup files. … Click on the Read option to start the backup process.

firmware config

enable/disable the onboard WiFi/bluetooth from the firmware on the Pi3 / Pi4: /boot/config.txt: dtoverlay=enable-wifi dtoverlay=enable-bt or dtoverlay=disable-wifi dtoverlay=disable-bt

Handy tools

tools for raspbery pi:

tools for android phone user all you need are here:

2. 常用命令 Common Used commands

Config

sudo raspi-config

Checking Raspberry Pi Revision Number & Board Version

$ pinout
$ cat /proc/cpuinfo
$ cat /proc/device-tree/model

3. 高级模式 Advanced Setup

Connect to Mobile via USB only(otg)

Edit /etc/network/interfaces and append these two lines:

allow-hotplug usb0

iface usb0 inet dhcp

on Android, I enable USB tethering

plug in Pi.

install ping&net app, find the ip address assigned to the Pi

install ssh client - juicy ssh

视频演示

Connect to laptop via USB only(Gadget Mode)

Note: this only works on Zero and A boards, not RPi 3, which is B.

SD card mount on your computer:

append to config.txt: dtoverlay=dwc2

touch ssh

edit the file called cmdline.txt. Look for rootwait, and add modules-load=dwc2,g_ether immediately after.

Note the formatting of cmdline.txt is very strict. Commands are separated by spaces, and newlines are not allowed.

Now you can eject the SD card, and insert it into the the Pi. Using a USB cable, connect to the Raspberry Pi from your computer.

After the Pi boots up (this will take a while initially), the Pi should appear as a USB Ethernet device, and you can SSH into it using:

ssh [email protected]

laptop

example: Pi-Top https://pimylifeup.com/pi-top-review/ https://3dprint.com/45158/pi-top-version-3/ pi-top install hands on http://makezine.com/2015/11/16/hands-on-with-pi-top-the-raspberry-pi-powered-laptop/ run standard raspbian on pi-top https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=149151&p=990308 https://github.com/rricharz/pi-top-install

Cooling system

yes, you need, http://raspberrypi.stackexchange.com/questions/22928/does-the-raspberry-pi-need-a-cooling-system, https://www.zhihu.com/question/20767376 heat sink https://www.youtube.com/watch?v=1AYGnw6MwFM https://www.youtube.com/watch?v=1AYGnw6MwFM water cooling https://www.youtube.com/watch?v=RggpIEYh9VU

4. Developing

4.1 Read analog 数模转换

https://www.raspberrypi.org/forums/viewtopic.php?f=37&t=137207 https://learn.adafruit.com/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi/overview

https://www.labno3.com/2021/02/23/raspberry-pi-adc-analog-to-digital-converter-2/

DA转换例子:连接老式 analog 电视(A cathode-ray tube (CRT) TV)

4.2 模块

Camera

picamera sudo apt-get install python3 sudo apt-get install python3-pip pip3 install picamera

树莓派摄像头安装 https://www.rs-online.com/designspark/chi-pi-cam-setup-tutorial https://linux.cn/article-3650-1.html 非官方 ./mjpg_streamer -i ‘./input_raspicam.so’ -o ‘./output_http.so -w ./www’

Time lapse film https://projects.raspberrypi.org/en/projects/cress-egg-heads https://projects.raspberrypi.org/en/projects/cress-egg-heads/10

sudo apt-get install ffmpeg
#avconv -r 10 -i image%04d.jpg -r 10 -vcodec libx264 -crf 20 -g 15 timelapse.mp4
ffmpeg -r 10 -i image%04d.jpg -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4

https://stackoverflow.com/questions/24961127/how-to-create-a-video-from-images-with-ffmpeg

Image viewer https://raspberrypi.stackexchange.com/questions/1391/can-anyone-recommend-a-simple-image-viewer

sudo apt-get install feh
feh -d -S filename ./

5. Use Cases

VPN Server / Anonymously with a DIY Raspberry Pi VPN/TOR Router

https://medium.com/@rasmurtech/step-by-step-guide-to-configuring-a-raspberry-pi-as-a-tor-router-and-installing-the-tor-browser-dd0df49a9e8a

https://makezine.com/projects/browse-anonymously-with-a-diy-raspberry-pi-vpntor-router/ How to Make a Raspberry Pi VPN Server https://www.electromaker.io/tutorial/blog/raspberry-pi-vpn-server

retro gaming emulator

5.1 Auto Watering system

Arduino, solenoid valve with a power supply, breadboard, electronic water sensor, rain bird sprinkler head, and a relay. http://blogs.sourceallies.com/2014/06/automated-plant-watering-system/ http://makezine.com/2015/04/13/video-walkthrough-automatic-garden-watering-data-logging-arduino/

https://www.hackster.io/ben-eagan/raspberry-pi-automated-plant-watering-with-website-8af2dc http://nuke666.cn/2018/04/14/auto-water-flowers/

比较器模块 土壤湿度探头 继电器模块 黑胶布

https://www.raspberrypi.org/forums/viewtopic.php?t=169666

Cluster

https://www.youtube.com/watch?v=i_r3z1jYHAc https://www.youtube.com/watch?v=KJKhRLKXr-Q

Ethereum Node

http://ethembedded.com/?page_id=171 Build a RespNode http://raspnode.com/diyEthereumGeth.html#homenet 中文安装全记录: http://blog.csdn.net/iracer/article/details/51620051

黑客基站 Kali

run kali on raspberry

树莓派 太阳能板 + nxtcoin pos +移动硬盘

https://www.nxter.org/how-to-set-up-a-nxt-node-on-a-raspberry-pi-2/

Raspberry Pi Recovery Kit

https://doscher.com/work/recovery-kit

挖矿

images for miner: http://cryptomining-blog.com/tag/raspberry-pi-mining/ http://www.digital-coins.net/wordpress/index.php/2014/12/20/setup-your-raspberry-pi-as-mining-device-controller/

Private Tracker魔力值

基于这个开源项目 https://github.com/linuxserver/docker-qbittorrent

# 创建用于存储下载资源的文件夹(推荐将外接硬盘挂载到这个位置,有效提升提升树莓派的存储上限)
mkdir /opt/sda1
# 创建文件夹
mkdir /opt/server-qbittorrent
cd /opt/server-qbittorrent
# 创建用于存储配置的文件夹
mkdir /opt/server-qbittorrent/appdata
# 创建配置文件
touch /opt/server-qbittorrent/docker-compose.yml

---
version: "2.1"
services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - WEBUI_PORT=8080
    volumes:
      - /opt/server-qbittorrent/appdata/config:/config
      - /opt/sda1/pt/downloads:/downloads
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped

cd /opt/server-qbittorrent/
sudo docker-compose up -d

在树莓派frpc.ini文件添加端口映射,将树莓派的8080端口映射到服务器8081端口实例配置
[qbit-8080]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 8081
最后记得重启树莓派的frpc服务,服务器放行8081端口,公网可以通过Web访问,开始愉快做种,赚魔力值吧。

Troubleshooting

关于显示器无法显示:

/boot/config.txt 都是sdcard上config文件的配置问题,比如我买的pi top,用了pi top的distro就可以显示,而自己烧录的raspbian就无法显示, 然后我只是文件compare了一下config,改成跟pi top的distro一样就ok了

Network access

A. wifi connected, no internet access B. cannot connect to wifi C. static ip address

check points:

ethnet wlan ifconfig wconfig /etc/network/intefaces /etc/wpa_suppliant/wpa_suppliant.conf /etc/resolv.conf sudo ifdown wlan0 sudo ifup wlan0

2.4G working but not 5G set country code

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
country=SG
....

https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md dns flush: sudo apt-get nscd sudo /etc/init.d/nscd restart http://raspberrypi.stackexchange.com/questions/4275/dns-resolution-failure https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=31238 http://askubuntu.com/questions/572152/i-cant-access-the-internet-through-my-raspberry-pi-when-connected-through-ssh https://www.raspberrypi.org/forums/viewtopic.php?t=23344 https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=98903 How to Set Up WiFi on the Raspberry Pi www.circuitbasics.com/raspberry-pi-wifi-installing-wifi-dongle/ http://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/ raspberrypihq.com/how-to-add-wifi-to-the-raspberry-pi/ wifi country code http://raspberrypi.stackexchange.com/questions/44183/wifi-country-code-resetting https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=81021

Screen Display/Monitor & Resolution

if your monitor supports multiple ports, config the correct one

7 Inch 1024600 HDMI LCD Display with Touch Screen https://www.elecrow.com/wiki/index.php?title=7_Inch_1024600_HDMI_LCD_Display_with_Touch_Screen

http://hackaday.com/2014/11/02/using-cell-phone-screens-with-any-hdmi-interface/ https://howtoraspberrypi.com/raspberry-pi-hdmi-not-working/

VGA Adapter: RGB IN DVI-D DVI-I It turns out that a typical digital monitor only accepts DVI-D connectors. A standard DVI-I connector (left) may be converted to a DVI-D (right) by removing the 4 additional pins surround the big pin. This extraction is easily done using a long-nose plier.

https://www.youtube.com/watch?v=FWSHrTHKg0w#t=156.177646

keyboard & mouse

laggy wifi mouse

vim /boot/cmdline.txt
usbhid.mousepoll=8
You can change the number to anything from 0-8. The lower the number the smoother the mouse movement will be, but the higher the load on the CPU. 

for readonly:
 LibreELEC mounts /flash as read-only, so you need to look which device and partition it is and remount it as writeable:
eg: df -h (to see mounted partitions), then:
mount -o remount,rw /dev/mmcblk0p8 /flash

keyboard issue, e.g quotes key https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=24751

Power supply

5V 2.1A if power brownout you will see a lighting bolt on top right corner. Don’t use usb connected your computer, it may burn your motherboard, be carefully when use phone power supply, USB connectors normally imply 5V (but note that some cheap USB connected chargers [not “power supplies”] may be unregulated, and when lightly loaded may output more than 5Volt, even 6Volt or more), generally all micro USB cables should be adhering to the USB standards and output at around 5V, but we specifically mention the 5V to make sure people are checking the voltage levels put out by their charger before blindly plugging it in.So once we’re sure people make sure it’s a 5V PSU, since they’re already looking down there, check for how many mA (or Amps) it puts out. The Model B needs ~700mA (0.7A) to run. As such it will not run off your computer’s USB port as that only provides 500mA. –https://www.raspberrypi.org/forums/viewtopic.php?f=5&t=4812 http://raspberrypi.stackexchange.com/questions/26705/will-any-external-battery-power-a-raspberry-pi http://raspi-ups.appspot.com/en/index.jsp power supply switch https://www.pi-supply.com/product/pi-supply-raspberry-pi-power-switch/?v=79cba1185463 https://www.youtube.com/watch?v=YpAYDcW_Jx0

InRelease’ changed its ‘Suite’ value from ‘testing’ to ‘stable’ apt-get –allow-releaseinfo-change update HOW TO FIX INRELEASE’ CHANGED ITS ‘SUITE’ VALUE FROM ‘STABLE’ TO ‘OLDSTABLE’ sudo nano /etc/apt/sources.list.d/raspi.list deb https://archive.raspberrypi.org/debian/ bullseye main

?#pro01: ubuntu welcome to emergency mode Using a VNC client that requests the wrong amount of colors, will crash the application (displaying an “emergency recovery shell” on screen). http://www.berryterminal.com/doku.php/berryboot/headless_installation http://raspberrypi.stackexchange.com/questions/37558/how-to-troubleshoot-a-headless-pi-that-boots-into-emergency-mode https://ubuntu-mate.community/t/getting-emergency-mode-screen-on-boot-up-every-time/2626/3 https://ubuntu-mate.community/t/getting-emergency-mode-screen-on-boot-up-every-time/2626/5 https://www.raspberrypi.org/forums/viewtopic.php?f=56&t=124149

ref:

SSH the Pi from computer with a USB cable only