24b - Comandos y ejemplos de código en Raspberry

Volver al curso

#CLI: Command Line Interface (terminales, consolas)
#GUI: Graphic User Interface (ventanitas)

#Para conectarse en red a una CLI se usa SSH / Telnet / cable serie
#Para conectarse en red a una GUI se usa VNC / Windows RDP / ...

#La CLI de Linux y macOS se llama BASH / ZSH
#La CLI de Windows se llama (tres opciones):
#- CMD (MS-DOS)
#- PS ("Power Shell")
#- WSL ("Windows Subsystem for Linux") (igual a BASH)

ssh -p 22 pi@192.168.0.31
# usuario pi
# contraseña raspberry

# Salir de la orden con "CTRL + C"

# actualizar listado de paquetes en repositorios
sudo apt update
# actualizar paquetes instalados
sudo apt upgrade -y
# hacer dos órdenes seguidas:
sudo apt update && sudo apt upgrade -y

sudo apt install XXXXXXX
# Ejemplos: libaa-bin (aafire), figlet, cowsay, ninvaders, nsnake, nmap

# Aplicación seria: nmap. 
nmap -sP 192.168.0.0/24

# escanear puertos de un sólo equipo
sudo nmap -sS 192.168.0.21

# en qué carpeta estoy?
pwd
# cambiar de directorio
cd /
cd
cd ~
# Los dos últimos hacen lo mismo
# Vigulilla "~" se hace con ALT 126

ls # lista el contenido de la carpeta actual
ls -lhF # igual pero detallado

cat # ver contenido de archivo
nano # editar contenido de archivo

cat /etc/network/interfaces		# configuración de red
cat /etc/wpa_supplicant/wpa_supplicant.conf # config wifi

# GPIO
sudo apt install wiringpi -y
sudo gpio readall
# Puentea 5V y 0V a los pines para ver el efecto en el readall


# Ejemplo de script BASH
nano scriptblinkbash.sh
chmod a+x scriptblinkbash.sh
sudo ./scriptblinkbash.sh

# Contenido del script BLINK en BASH
#!/bin/bash
echo "Encender y apagar el GPIO21 (numeración BCM)"
while true
do
	echo "21" > /sys/class/gpio/export
	echo "out" > /sys/class/gpio/gpio21/direction
	echo "1" > /sys/class/gpio/gpio21/value
	sleep 1
	echo "0" > /sys/class/gpio/gpio21/value
	echo "21" > /sys/class/gpio/unexport
	sleep 1
done

# Ejemplo de script BASH PULSADOR en GPIO3, LED en GPIO7
nano scriptpushbash.sh
chmod a+x scriptpushbash.sh
sudo ./scriptpushbash.sh

#!/bin/bash
echo "Pulsador en GPIO5 y LED en GPIO17"
echo "17" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio17/direction
echo "5" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio5/direction

while true; do
        read pulsador < /sys/class/gpio/gpio5/value
        if [ $(cat "/sys/class/gpio/gpio5/value") -eq 1 ]; then
                echo "1" > /sys/class/gpio/gpio17/value
                echo "on"
        else
                echo "0" > /sys/class/gpio/gpio17/value
                echo "off"
        fi
done
----

## PYTHON
# C es un lenguaje de programación compilado (se compila entero antes de ejecutar). Python es un lenguaje de programación interpretado (se compia línea a línea). No es óptimo para el procesador, pero da muchas posibilidades con poco código.


# Ejemplo de script Python BLINK
nano scriptblinkpython.sh
chmod a+x scriptblinkpython.sh
sudo ./scriptblinkpython.sh


# Contenido del script BLINK en Python
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
#GPIO.setmode(GPIO.BOARD)	# numeración placa
GPIO.setmode(GPIO.BCM)		# numeración BCM
GPIO.setup(21, GPIO.OUT)
print("Encender y apagar el GPIO21 (numeración BCM)")
while True:
	GPIO.output(21, True)
	time.sleep(1)
	GPIO.output(21, False)
	time.sleep(1)



# Ejemplo de script Python PUGH en GPIO3, LED en GPIO7
nano scriptpushpython.sh
chmod a+x scriptpushpython.sh
sudo ./scriptpushpython.sh

#!/usr/bin/env python3
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)		# numeración BCM

GPIO.setup(3, GPIO.IN)
GPIO.setup(7, GPIO.OUT)

while True:
   if GPIO.input(3):
      GPIO.output(7, False)
   else:
      GPIO.output(7, True)

Volver al curso