MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 63 as of 2025-05-31 19:30:02
  • RaspberryPi

RaspberryPi

Contents

  1. RaspberryPi
    1. BCM2835
    2. Install and configure screensaver and lock screen
    3. Info
    4. Install eclipse
    5. Blink led port 26
    6. Install python 3.8.5 in raspberry py
    7. Enable X11 forwarding
    8. Blink led service
    9. Install MariaDB raspbian
    10. Install Squid Web Proxy
    11. Raspberry Pi Pico
    12. Update apt source
    13. Swap 512 MB
    14. Swap 2048 MB
    15. /etc/rc.local in Raspbian to init ttyACM0
  2. raspberry pi 2 model b

  • https://www.raspberrypi.org/

  • https://en.wikipedia.org/wiki/Raspberry_Pi

  • Kit in https://www.chiptec.net/pcs-e-mobilidade/computadores/raspberrypi/kit-raspberry-pi-3-modelo-b-noobs-caixa-carregador-preto.html (Kit Raspberry Pi 3 Modelo B+(NOOBS+Caixa+Carregador) Preto)

  • Raspberry Pi 3 Model B Plus Rev 1.3

Processador     
  Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
Memória RAM     
  1GB LPDDR2 SDRAM
Armazenamento   
  Cartão MicroSD 32GB com NOOBS
Wi-Fi e Bluetooth       
  2.4GHz e 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
LAN     
  Gigabit Ethernet em USB 2.0 (saída máxima 300 Mbps)
Expansão        
  Extended 40-pin GPIO header
  CSI camera port
  DSI display port
  4-pole stereo output e composite video port
Portas  
  HDMI 
  USB 2.0 (4) 
  Micro-SD
Alimentação     
  Entrada 5V/2.5A DC
Prazo de Garantia       
  2 Anos
  • Access GPIO https://elinux.org/RPi_GPIO_Code_Samples#C

  • https://elinux.org/RPi_GPIO_Code_Samples#sysfs

  • https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up

  • https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up/print

BCM2835

  • Timers
  • Interrupt controller
  • GPIO
  • USB
  • PCM / I2S
  • DMA controller
  • I2C master
  • I2C / SPI slave
  • SPI0, SPI1, SPI2
  • PWM
  • UART0, UART1

Install and configure screensaver and lock screen

  • sudo apt-get install xscreensaver
  • Preferences, Screen saver
  • Auto lock after 2 minutes
  • Create new menu item (Preferences, Main menu editor)
    • Menu item name Lock
    • Command: xscreensaver-comand -lock
    • Icon: /usr/share/lxpanel/images/ns-lock.png

Info

   1 lsb_release -a
   2 # No LSB modules are available.
   3 # Distributor ID:       Raspbian
   4 # Description:  Raspbian GNU/Linux 9.4 (stretch)
   5 # Release:      9.4
   6 # Codename:     stretch
   7 
   8 uname -a
   9 # Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux
  10 

Install eclipse

   1 apt-get install eclipse-platform

Blink led port 26

  • https://www.raspberrypi.org/documentation/usage/gpio/python/README.md

  • https://gpiozero.readthedocs.io/en/stable/

   1 python drive_gpio26.py

   1 # drive_gpio26.py
   2 from gpiozero import LED
   3 from time import sleep
   4 
   5 led = LED(26)
   6 
   7 while True:
   8     led.on()
   9     sleep(1)
  10     led.off()
  11     sleep(1)

Install python 3.8.5 in raspberry py

   1 tar xvzf Python-3.8.5.tgz 
   2 cd Python-3.8.5/
   3 ./configure 
   4 make clean
   5 make
   6 make install
   7 sudo make install
   8 /usr/local/bin/python3.8 -v
   9 /usr/local/bin/pip3.8 install cherrypy
  10 pip3.8 install jinja2

Enable X11 forwarding

   1 # Raspberry pi side
   2 sudo nano /etc/ssh/sshd_config
   3 # add line X11Forwarding yes
   4 service ssh restart
   5 # client side
   6 ssh -X -Y userx@192.168.2.3
   7 echo $DISPLAY
   8 leafpad & # text editor
   9 pcmanfm & # file explorer
  10 

Blink led service

Starts automatically after boot.

/home/pi/Documents/drive_gpio26.py

   1 from gpiozero import LED
   2 from time import sleep
   3 import os
   4 
   5 f = open('/tmp/drive_gpio26.pid','wb')
   6 f.write(str(os.getpid()))
   7 f.close()
   8 
   9 led = LED(26)
  10 
  11 while True:
  12     led.on()
  13     sleep(1)
  14     led.off()
  15     sleep(1)

/etc/init.d/drive_gpio26

   1 #! /bin/sh
   2 ### BEGIN INIT INFO
   3 # Provides:          drive_gpio26
   4 # Default-Start:     2 3 4 5
   5 # Default-Stop:
   6 # Short-Description: Blinks a led
   7 # Description:       Blinks a led
   8 ### END INIT INFO
   9 touch /var/lock/drive_gpio26
  10 # Carry out specific functions when asked to by the system
  11 case "$1" in
  12   start)
  13     echo "Starting script drive_gpio26 "
  14     su pi -c "nohup /usr/bin/python /home/pi/Documents/drive_gpio26.py >> /tmp/drive_gpio26.log 2>&1  &"
  15     ;;
  16   stop)
  17     echo "Stopping script drive_gpio26"
  18     kill $(cat  /tmp/drive_gpio26.pid)
  19     ;;
  20   *)
  21     echo "Usage: /etc/init.d/drive_gpio26 {start|stop}"
  22     exit 1
  23     ;;
  24 esac
  25 
  26 exit 0

   1 update-rc.d drive_gpio26 defaults # insert links in /etc/rc*d
   2 update-rc.d drive_gpio26 defaults 20 80
   3 update-rc.d drive_gpio26 enable
   4 service drive_gpio26 status 
   5 reboot 

Install MariaDB raspbian

   1 sudo bash
   2 apt install mariadb-server
   3 mysql_secure_installation
   4 # define root pass
   5 mysql
   6 GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY '????????' WITH GRANT OPTION;
   7 FLUSH PRIVILEGES;
   8 create database testdb;
   9 show databases;
  10 use testdb
  11 CREATE TABLE locations ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, lat VARCHAR(30) NOT NULL, lon VARCHAR(30) NOT NULL);
  12 exit
  13 mysql -u admin -p
  14 sudo pip3.8 install mysql-connector-python
  15 #
  16 python 3.8
  17 import mysql.connector
  18 mysql.connector.connect(host='localhost',database='testdb',user='admin',password='xxxxxxxx')

test_mariadb.py

   1 import mysql.connector
   2 conn = mysql.connector.connect(
   3   host='localhost',
   4   database='testdb',
   5   user='admin',
   6   password='xxxxxxxx'
   7 )
   8 cursor=conn.cursor()
   9 cursor.execute("Insert into locations (lat,lon) values(%s,%s)" , ("aaa","bbb") )
  10 conn.commit()
  11 print(cursor.rowcount, "record inserted.")

Install Squid Web Proxy

   1 sudo bash 
   2 apt update 
   3 apt install squid
   4 cd /etc/squid/
   5 cp squid.conf squid.conf.ORIG
   6 cat squid.conf.ORIG | egrep -v -e '^[[:blank:]]*#|^$' > squid.conf
   7 nano squid.conf 
   8 acl localnet src 192.168.111.0/24
   9 http_access allow Localnet 
  10 # comment http_access deny all 
  11 service squid reload
  12 #firefox manual proxy 
  13 #IP rpi: 192.168.111.222   Port: 3128
  14 #also for ftp and https
  15 

Raspberry Pi Pico

  • https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html#technical-specification

  • https://datasheets.raspberrypi.com/picow/pico-w-datasheet.pdf

  • https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf

  • https://mauser.pt/catalog/product_info.php?cPath=1667_2620_1672&products_id=095-0598

  • https://mauser.pt/catalog/product_info.php?cPath=1667_2620_1672&products_id=095-0596

Raspberry Pi Pico is a low-cost, high-performance microcontroller board with flexible digital interfaces.

Connect with micro-usb

   1 sudo dmesg
   2 # [ 3570.065996] usb 1-4.3: Product: RP2 Boot
   3 # [ 3570.066006] usb 1-4.3: Manufacturer: Raspberry Pi
   4 # [ 3570.066016] usb 1-4.3: SerialNumber: E0C9xxxxxxxx
   5 # [ 3570.163372] usb-storage 1-4.3:1.0: USB Mass Storage device detected
   6 # [ 3570.164049] scsi host2: usb-storage 1-4.3:1.0
   7 # [ 3570.164381] usbcore: registered new interface driver usb-storage
   8 # [ 3570.180142] usbcore: registered new interface driver uas
   9 # [ 3571.192940] scsi 2:0:0:0: Direct-Access     RPI      RP2              3    PQ: 0 ANSI: 2
  10 # [ 3571.194468] sd 2:0:0:0: Attached scsi generic sg1 type 0
  11 # [ 3571.195164] sd 2:0:0:0: [sdb] 262144 512-byte logical blocks: (134 MB/128 MiB)
  12 # [ 3571.195818] sd 2:0:0:0: [sdb] Write Protect is off
  13 # [ 3571.195830] sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00
  14 # [ 3571.196325] sd 2:0:0:0: [sdb] No Caching mode page found
  15 # [ 3571.196335] sd 2:0:0:0: [sdb] Assuming drive cache: write through
  16 # [ 3571.217448]  sdb: sdb1
  17 # [ 3571.237585] sd 2:0:0:0: [sdb] Attached SCSI removable disk
  18 

Update apt source

Set for /etc/apt/sources.list and /etc/apt/sources.list.d/raspi.list

deb http://legacy.raspbian.org/raspbian/ stretch main contrib non-free rpi

Swap 512 MB

   1 sudo bash
   2 nano /etc/dphys-swapfile
   3 # CONF_SWAPSIZE=512
   4 dphys-swapfile swapoff
   5 dphys-swapfile setup 
   6 dphys-swapfile swapon

Swap 2048 MB

   1 sudo bash
   2 nano /etc/dphys-swapfile
   3 # CONF_SWAPSIZE=2048
   4 dphys-swapfile swapoff
   5 dphys-swapfile setup 
   6 dphys-swapfile swapon

/etc/rc.local in Raspbian to init ttyACM0

   1 #!/bin/sh -e
   2 /usr/bin/logger "Initialize port ttyACMO for raspberry pico"
   3 chmod 666 /dev/ttyACM0
   4 stty -F /dev/ttyACM0 raw speed 115200 -crtscts cs8 -parenb -cstopb
   5 exit 0

raspberry pi 2 model b

Download SD image from raspios-bookworm-armhf-lite.img.xz.

raspberry pi os lite , compatible with all raspberries.

  • Release date: May 13th 2025
  • System: 32-bit
  • Kernel version: 6.12
  • Debian version: 12 (bookworm)
  • Size: 493MB.
  • SHA256 file integrity hash:a73d68b618c3ca40190c1aa04005a4dafcf32bc861c36c0d1fc6ddc48a370b6e

   1 cd ~/Downloads
   2 sha256sum 2025-05-13-raspios-bookworm-armhf-lite.img.xz 
   3 a73d68b618c3ca40190c1aa04005a4dafcf32bc861c36c0d1fc6ddc48a370b6e  2025-05-13-raspios-bookworm-armhf-lite.img.xz
   4 xz -t 2025-05-13-raspios-bookworm-armhf-lite.img.xz
   5 xz -d 2025-05-13-raspios-bookworm-armhf-lite.img.xz
   6 
   7 # connect pen card reader cr100 mitsai
   8 # https://www.worten.pt/produtos/leitor-de-cartoes-mitsai-cr100-6261364
   9 dmesg 
  10 # with micro sd inserted in the USB card reader
  11 # [ 5479.890546] usb 1-1: USB disconnect, device number 4
  12 # [ 5575.775242] usb 1-1: new high-speed USB device number 5 using xhci_hcd
  13 # [ 5575.924611] usb 1-1: New USB device found, idVendor=14cd, idProduct=125d, bcdDevice= 1.00
  14 # [ 5575.924649] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=2
  15 # [ 5575.924668] usb 1-1: Product: Mass Storage Device
  16 # [ 5575.924681] usb 1-1: Manufacturer: Generic
  17 # [ 5575.924692] usb 1-1: SerialNumber: 125D20140310
  18 # [ 5575.927741] usb-storage 1-1:1.0: USB Mass Storage device detected
  19 # [ 5575.929376] scsi host2: usb-storage 1-1:1.0
  20 # [ 5576.951389] scsi 2:0:0:0: Direct-Access     Mass     Storage Device        PQ: 0 ANSI: 0 CCS
  21 # [ 5576.951954] sd 2:0:0:0: Attached scsi generic sg1 type 0
  22 # [ 5576.953584] sd 2:0:0:0: [sdb] 30547968 512-byte logical blocks: (15.6 GB/14.6 GiB)
  23 # [ 5576.953746] sd 2:0:0:0: [sdb] Write Protect is off
  24 # [ 5576.953752] sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00
  25 # [ 5576.953903] sd 2:0:0:0: [sdb] No Caching mode page found
  26 # [ 5576.953908] sd 2:0:0:0: [sdb] Assuming drive cache: write through
  27 # [ 5576.965688]  sdb: sdb1 sdb2
  28 # [ 5576.966073] sd 2:0:0:0: [sdb] Attached SCSI removable disk
  29 
  30 # prepare SD disk and partitoons
  31 cfdisk /dev/sdb
  32 #     Device                   Start             End         Sectors         Size Type
  33 # /dev/sdb1                 2048           34815           32768          16M unknown         
  34 # /dev/sdb2                34816        30547934        30513119        14.5G unknown
  35 # partitions android meta e android expand 
  36 
  37 # https://www.raspberrypi.com/documentation/computers/getting-started.html#installing-the-operating-system
  38 # https://www.nixcraft.com/t/how-to-write-rasbian-os-raspios-img-file-using-dd-to-sd-card-on-linux/3709/2
  39 # Use the dd command:
  40 sudo dd if=2025-05-13-raspios-bookworm-armhf-lite.img of=/dev/sdb bs=4M conv=fsync
  41 
  42 # While the image is being written the LED of cr100 blinks
  43 # 610+0 records in
  44 # 610+0 records out
  45 # 2558525440 bytes (2.6 GB, 2.4 GiB) copied, 442.663 s, 5.8 MB/s
  46 #     Device         Boot          Start         End     Sectors     Size    Id Type
  47 # Free space                    2048       16383       14336       7M                         
  48 # /dev/sdb1                    16384     1064959     1048576     512M     c W95 FAT32 (LBA)
  49 # /dev/sdb2                  1064960     4997119     3932160     1.9G    83 Linux
  50 # Free space                 4997120    30547967    25550848    12.2G
  51 
  52 mount /dev/sdb2 /mnt/
  53 ls /mnt/
  54 # bin   dev  home  lost+found  mnt  proc        run   srv  tmp  var
  55 # boot  etc  lib         media       opt  root  sbin  sys  usr
  56 
  57 cat  /mnt/etc/os-release 
  58 # PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
  59 # NAME="Raspbian GNU/Linux"
  60 # VERSION_ID="12"
  61 # VERSION="12 (bookworm)"
  62 # VERSION_CODENAME=bookworm
  63 # ID=raspbian
  64 # ID_LIKE=debian
  65 # HOME_URL="http://www.raspbian.org/"
  66 # SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
  67 # BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
  68 umount /mnt 

Inserted the micro SD card in the back fo the raspberry pi 2 board, connected HDMI, keyboard and mouse. After turning on the power it started to boot and show the linux kernel log while booting. Selected keyboard, other, Portuguese, Portuguese, new user vitor, set pwd. Got a console prompt.

Connected Ethernet cable to the tp-link router.

   1 ping -c 3 www.google.com
   2 sudo bash
   3 apt update
   4 apt upgrade
   5 apt full-upgrade
   6 apt autoremove 
   7 rpi2b.intra.bitarus.org 192.168.1.7
   8 rpi2b.bitarus.mooo.com 192.168.1.7
   9 
  10 named-checkconf /etc/bind/named.conf
  11 named-checkzone xyz.com /etc/bind/xyz.com.hosts
  12 named-checkzone zyx.org /etc/bind/zyz.org.hosts 
  13 sudo service named restart 
  14 
  15 raspinfo > /tmp/out.txt
  16 # Raspberry Pi 2 Model B Rev 1.1
  17 # PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
  18 
  19 sudo apt install inxi nmap rsyslog
  20 inxi 
  21 # CPU: quad core ARMv7 v7l (-MCP-) speed/min/max: 900/600/900 MHz
  22 # Kernel: 6.12.25+rpt-rpi-v7 armv7l Up: 14m Mem: 212.2/997.1 MiB (21.3%)
  23 # Storage: 14.57 GiB (15.6% used) Procs: 138 Shell: Bash inxi: 3.3.26
  24 
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01