1. Resumen de Raspberry Pi B+
Características principales
Procesador
Broadcom BCM2835 (ARM11 700MHz)
RAM
512MB
Conectividad
4 USB 2.0, Ethernet 10/100
GPIO
40 pines
Comparación con modelos recientes
Característica | Pi B+ | Pi 4 |
---|---|---|
CPU | 1 núcleo 700MHz | 4 núcleos 1.5GHz |
RAM | 512MB | 2GB-8GB |
USB | 4x USB 2.0 | 2x USB 3.0, 2x USB 2.0 |
Usos recomendados
- Proyectos educativos
- Control básico de GPIO
- Servidores ligeros
- Prototipado electrónico
2. Conexión SSH y VNC
Conexión por SSH
1
Habilitar SSH
sudo raspi-config
# Seleccionar Interfacing Options > SSH > Enable
2
Conectar desde otro dispositivo
ssh pi@192.168.1.100
# Contraseña predeterminada: raspberry
Conexión por VNC
1
Instalar servidor VNC
sudo apt install realvnc-vnc-server
2
Habilitar en raspi-config
sudo raspi-config
# Interfacing Options > VNC > Enable
3. Configurar VNC para Tablet
Ajustar resolución
sudo nano /boot/config.txt
Añadir estas líneas para resolución 1280x720:
hdmi_group=2
hdmi_mode=85
hdmi_force_hotplug=1
Configuración en cliente VNC
Android/iOS
- Usar aplicación RealVNC Viewer
- Activar opción "Scale to fit"
- Ajustar calidad según conexión
Windows/Mac
- Descargar VNC Viewer
- Configurar tamaño de pantalla fijo
- Usar compresión para mejor rendimiento
4. Python en Raspberry Pi
Librerías esenciales
RPi.GPIO
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
gpiozero
from gpiozero import LED
led = LED(17)
led.on()
Ejemplo completo: Control LED
from gpiozero import LED, Button
from signal import pause
led = LED(17)
button = Button(2)
button.when_pressed = led.on
button.when_released = led.off
pause()
5. Interfaz Tkinter para Arduino
Código completo
import tkinter as tk
from tkinter import scrolledtext
import serial
class SerialMonitor:
def __init__(self, root):
self.root = root
self.root.title("Monitor Serial")
# Configuración serial
self.serial_port = serial.Serial('/dev/ttyACM0', 9600, timeout=1)
# Interfaz
self.text_area = scrolledtext.ScrolledText(root, width=60, height=20)
self.text_area.pack(pady=20)
# Botones
btn_frame = tk.Frame(root)
btn_frame.pack()
tk.Button(btn_frame, text="Limpiar", command=self.clear).pack(side=tk.LEFT)
tk.Button(btn_frame, text="Salir", command=root.quit).pack(side=tk.LEFT)
# Actualización periódica
self.update_serial()
def update_serial(self):
if self.serial_port.in_waiting:
data = self.serial_port.readline().decode('utf-8').strip()
self.text_area.insert(tk.END, data + '\n')
self.text_area.see(tk.END)
self.root.after(100, self.update_serial)
def clear(self):
self.text_area.delete(1.0, tk.END)
if __name__ == "__main__":
root = tk.Tk()
app = SerialMonitor(root)
root.mainloop()
Instalación requerida
sudo apt install python3-tk python3-serial