= RaspberryPi = <> * 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 == {{{#!highlight sh lsb_release -a # No LSB modules are available. # Distributor ID: Raspbian # Description: Raspbian GNU/Linux 9.4 (stretch) # Release: 9.4 # Codename: stretch uname -a # Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l GNU/Linux }}} == Install eclipse == {{{#!highlight sh 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/ {{{#!highlight sh python drive_gpio26.py }}} {{{#!highlight python # drive_gpio26.py from gpiozero import LED from time import sleep led = LED(26) while True: led.on() sleep(1) led.off() sleep(1) }}} == Install python 3.8.5 in raspberry py == {{{#!highlight bash tar xvzf Python-3.8.5.tgz cd Python-3.8.5/ ./configure make clean make make install sudo make install /usr/local/bin/python3.8 -v /usr/local/bin/pip3.8 install cherrypy pip3.8 install jinja2 }}} == Enable X11 forwarding == {{{#!highlight bash # Raspberry pi side sudo nano /etc/ssh/sshd_config # add line X11Forwarding yes service ssh restart # client side ssh -X -Y userx@192.168.2.3 echo $DISPLAY leafpad & # text editor pcmanfm & # file explorer }}} == Blink led service == Starts automatically after boot. === /home/pi/Documents/drive_gpio26.py === {{{#!highlight python from gpiozero import LED from time import sleep import os f = open('/tmp/drive_gpio26.pid','wb') f.write(str(os.getpid())) f.close() led = LED(26) while True: led.on() sleep(1) led.off() sleep(1) }}} === /etc/init.d/drive_gpio26 === {{{#!highlight bash #! /bin/sh ### BEGIN INIT INFO # Provides: drive_gpio26 # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Blinks a led # Description: Blinks a led ### END INIT INFO touch /var/lock/drive_gpio26 # Carry out specific functions when asked to by the system case "$1" in start) echo "Starting script drive_gpio26 " su pi -c "nohup /usr/bin/python /home/pi/Documents/drive_gpio26.py >> /tmp/drive_gpio26.log 2>&1 &" ;; stop) echo "Stopping script drive_gpio26" kill $(cat /tmp/drive_gpio26.pid) ;; *) echo "Usage: /etc/init.d/drive_gpio26 {start|stop}" exit 1 ;; esac exit 0 }}} {{{#!highlight bash update-rc.d drive_gpio26 defaults # insert links in /etc/rc*d update-rc.d drive_gpio26 defaults 20 80 update-rc.d drive_gpio26 enable service drive_gpio26 status reboot }}} == Install MariaDB raspbian == {{{#!highlight bash sudo bash apt install mariadb-server mysql_secure_installation # define root pass mysql GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY '????????' WITH GRANT OPTION; FLUSH PRIVILEGES; create database testdb; show databases; use testdb CREATE TABLE locations ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, lat VARCHAR(30) NOT NULL, lon VARCHAR(30) NOT NULL); exit mysql -u admin -p sudo pip3.8 install mysql-connector-python # python 3.8 import mysql.connector mysql.connector.connect(host='localhost',database='testdb',user='admin',password='xxxxxxxx') }}} === test_mariadb.py === {{{#!highlight python import mysql.connector conn = mysql.connector.connect( host='localhost', database='testdb', user='admin', password='xxxxxxxx' ) cursor=conn.cursor() cursor.execute("Insert into locations (lat,lon) values(%s,%s)" , ("aaa","bbb") ) conn.commit() print(cursor.rowcount, "record inserted.") }}} == Install Squid Web Proxy == {{{#!highlight bash sudo bash apt update apt install squid cd /etc/squid/ cp squid.conf squid.conf.ORIG cat squid.conf.ORIG | egrep -v -e '^[[:blank:]]*#|^$' > squid.conf nano squid.conf acl localnet src 192.168.111.0/24 http_access allow Localnet # comment http_access deny all service squid reload #firefox manual proxy #IP rpi: 192.168.111.222 Port: 3128 #also for ftp and https }}} == 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 === {{{#!highlight sh sudo dmesg # [ 3570.065996] usb 1-4.3: Product: RP2 Boot # [ 3570.066006] usb 1-4.3: Manufacturer: Raspberry Pi # [ 3570.066016] usb 1-4.3: SerialNumber: E0C9xxxxxxxx # [ 3570.163372] usb-storage 1-4.3:1.0: USB Mass Storage device detected # [ 3570.164049] scsi host2: usb-storage 1-4.3:1.0 # [ 3570.164381] usbcore: registered new interface driver usb-storage # [ 3570.180142] usbcore: registered new interface driver uas # [ 3571.192940] scsi 2:0:0:0: Direct-Access RPI RP2 3 PQ: 0 ANSI: 2 # [ 3571.194468] sd 2:0:0:0: Attached scsi generic sg1 type 0 # [ 3571.195164] sd 2:0:0:0: [sdb] 262144 512-byte logical blocks: (134 MB/128 MiB) # [ 3571.195818] sd 2:0:0:0: [sdb] Write Protect is off # [ 3571.195830] sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00 # [ 3571.196325] sd 2:0:0:0: [sdb] No Caching mode page found # [ 3571.196335] sd 2:0:0:0: [sdb] Assuming drive cache: write through # [ 3571.217448] sdb: sdb1 # [ 3571.237585] sd 2:0:0:0: [sdb] Attached SCSI removable disk }}} == 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 == {{{#!highlight sh sudo bash nano /etc/dphys-swapfile # CONF_SWAPSIZE=512 dphys-swapfile swapoff dphys-swapfile setup dphys-swapfile swapon }}} == Swap 2048 MB == {{{#!highlight sh sudo bash nano /etc/dphys-swapfile # CONF_SWAPSIZE=2048 dphys-swapfile swapoff dphys-swapfile setup dphys-swapfile swapon }}} == /etc/rc.local in Raspbian to init ttyACM0 == {{{#!highlight sh #!/bin/sh -e /usr/bin/logger "Initialize port ttyACMO for raspberry pico" chmod 666 /dev/ttyACM0 stty -F /dev/ttyACM0 raw speed 115200 -crtscts cs8 -parenb -cstopb exit 0 }}} = raspberry pi 2 model b = Download SD image from [[https://downloads.raspberrypi.com/raspios_lite_armhf/images/raspios_lite_armhf-2025-05-13/2025-05-13-raspios-bookworm-armhf-lite.img.xz | 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 {{{#!highlight sh cd ~/Downloads sha256sum 2025-05-13-raspios-bookworm-armhf-lite.img.xz a73d68b618c3ca40190c1aa04005a4dafcf32bc861c36c0d1fc6ddc48a370b6e 2025-05-13-raspios-bookworm-armhf-lite.img.xz xz -t 2025-05-13-raspios-bookworm-armhf-lite.img.xz xz -d 2025-05-13-raspios-bookworm-armhf-lite.img.xz # connect pen card reader cr100 mitsai # https://www.worten.pt/produtos/leitor-de-cartoes-mitsai-cr100-6261364 dmesg # with micro sd inserted in the USB card reader # [ 5479.890546] usb 1-1: USB disconnect, device number 4 # [ 5575.775242] usb 1-1: new high-speed USB device number 5 using xhci_hcd # [ 5575.924611] usb 1-1: New USB device found, idVendor=14cd, idProduct=125d, bcdDevice= 1.00 # [ 5575.924649] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=2 # [ 5575.924668] usb 1-1: Product: Mass Storage Device # [ 5575.924681] usb 1-1: Manufacturer: Generic # [ 5575.924692] usb 1-1: SerialNumber: 125D20140310 # [ 5575.927741] usb-storage 1-1:1.0: USB Mass Storage device detected # [ 5575.929376] scsi host2: usb-storage 1-1:1.0 # [ 5576.951389] scsi 2:0:0:0: Direct-Access Mass Storage Device PQ: 0 ANSI: 0 CCS # [ 5576.951954] sd 2:0:0:0: Attached scsi generic sg1 type 0 # [ 5576.953584] sd 2:0:0:0: [sdb] 30547968 512-byte logical blocks: (15.6 GB/14.6 GiB) # [ 5576.953746] sd 2:0:0:0: [sdb] Write Protect is off # [ 5576.953752] sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00 # [ 5576.953903] sd 2:0:0:0: [sdb] No Caching mode page found # [ 5576.953908] sd 2:0:0:0: [sdb] Assuming drive cache: write through # [ 5576.965688] sdb: sdb1 sdb2 # [ 5576.966073] sd 2:0:0:0: [sdb] Attached SCSI removable disk # prepare SD disk and partitoons cfdisk /dev/sdb # Device Start End Sectors Size Type # /dev/sdb1 2048 34815 32768 16M unknown # /dev/sdb2 34816 30547934 30513119 14.5G unknown # partitions android meta e android expand # https://www.raspberrypi.com/documentation/computers/getting-started.html#installing-the-operating-system # https://www.nixcraft.com/t/how-to-write-rasbian-os-raspios-img-file-using-dd-to-sd-card-on-linux/3709/2 # Use the dd command: sudo dd if=2025-05-13-raspios-bookworm-armhf-lite.img of=/dev/sdb bs=4M conv=fsync # While the image is being written the LED of cr100 blinks # 610+0 records in # 610+0 records out # 2558525440 bytes (2.6 GB, 2.4 GiB) copied, 442.663 s, 5.8 MB/s # Device Boot Start End Sectors Size Id Type # Free space 2048 16383 14336 7M # /dev/sdb1 16384 1064959 1048576 512M c W95 FAT32 (LBA) # /dev/sdb2 1064960 4997119 3932160 1.9G 83 Linux # Free space 4997120 30547967 25550848 12.2G mount /dev/sdb2 /mnt/ ls /mnt/ # bin dev home lost+found mnt proc run srv tmp var # boot etc lib media opt root sbin sys usr cat /mnt/etc/os-release # PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)" # NAME="Raspbian GNU/Linux" # VERSION_ID="12" # VERSION="12 (bookworm)" # VERSION_CODENAME=bookworm # ID=raspbian # ID_LIKE=debian # HOME_URL="http://www.raspbian.org/" # SUPPORT_URL="http://www.raspbian.org/RaspbianForums" # BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" 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. {{{#!highlight sh ping -c 3 www.google.com sudo bash apt update apt upgrade apt full-upgrade apt autoremove rpi2b.intra.bitarus.org 192.168.1.7 rpi2b.bitarus.mooo.com 192.168.1.7 named-checkconf /etc/bind/named.conf named-checkzone xyz.com /etc/bind/xyz.com.hosts named-checkzone zyx.org /etc/bind/zyz.org.hosts sudo service named restart raspinfo > /tmp/out.txt # Raspberry Pi 2 Model B Rev 1.1 # PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)" sudo apt install inxi nmap rsyslog autossh inxi # CPU: quad core ARMv7 v7l (-MCP-) speed/min/max: 900/600/900 MHz # Kernel: 6.12.25+rpt-rpi-v7 armv7l Up: 14m Mem: 212.2/997.1 MiB (21.3%) # Storage: 14.57 GiB (15.6% used) Procs: 138 Shell: Bash inxi: 3.3.26 }}}