Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Por emihermes Siga más por el autor:
Tenía una Raspberry y un e-Paper HAT y quería usarlo para mostrar información como dónde está la ISS o cuántas personas hay ahora en el espacio …
Dije que buscara si hay API en Internet para obtener esos datos y las encontré.
Espera, este SOMBRERO tiene 4 botones, y luego, necesito que se muestren 4 datos …
- ¿Dónde está ahora la ISS? - ¿Cuántas personas hay ahora en el espacio? - ¿En qué fase está la Luna? - ¿Va a llover? ¿Hace tanto calor? …
En este momento, estoy mostrando esa información, pero podría actualizar este "Instructable" tan pronto como tenga una buena idea, o si conoces una buena, ¡me la puedes sugerir!
Bueno, lo hice una noche y el "FrontEnd" terminó unos días después. No te quejes de cómo se muestra la información, no me gusta hacer esta parte:)
Suministros
- Raspberry PI (cero es suficiente).- SOMBRERO de papel electrónico de 2,7 pulgadas. (Compré el mío aquí) - Tarjeta SD (4Gb es suficiente).
También necesita un Token de OpenWeather para usar las API (desde aquí)
Paso 1: Actualice el software (SO)
El primer paso, como siempre, es preparar su Raspberry PI con el último sistema operativo.- Descargue el último sistema operativo (con escritorio) desde aquí.- Escriba la imagen en una tarjeta SD vacía.- Cree un archivo vacío "ssh" para habilitar la conexión SSH.- Guarda el archivo "wpa_supplicant.conf" en la tarjeta SD para tener tu Wifi configurado para conectarse a tu Raspberry PI vía SSH (lo tienes preparado en tu ordenador, lo sé).
Inicie su Raspberry Pi.
Conéctalo vía SSH (también puedes hacerlo si tienes monitor, teclado y ratón, pero yo no tengo y prefiero conectarme vía SSH) y actualizarlo….
sudo apt-get update -y
sudo apt-get upgrade -y
Ahora, debe habilitar VNC para poder conectarse de forma remota y SPI para el e-Paper HAT:
sudo raspi-config
Opciones de interfaz> VNC> Sí Opciones de interfaz> SPI> Sí
Y reinícielo.
Paso 2: software necesario
Ok, ahora tenemos una Raspberry PI en ejecución con el software más reciente y todo lo básico para conectarse a ella.
Es el momento de comenzar a instalar el software necesario para controlar el e-Paper HAT.
Si no conectó el HAT en su Raspberry PI, ahora es el último momento para conectarlo. Apague su Raspberry PI y coloque el HAT en él.
Para los siguientes pasos, puede seguir las instrucciones de Waveshare o seguirlo con los siguientes pasos….
Instale las bibliotecas BCM2835:
wget
tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60 / sudo./configure sudo make sudo make check sudo make install #Para obtener más detalles, consulte
Instale las bibliotecas wirePi:
sudo apt-get install cableadopi
#Para Pi 4, necesita actualizarlo: cd / tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i cableadopi-latest.deb gpio -v # Obtendrá información 2.52 si lo instalas correctamente
Instale las bibliotecas de Python: (si actualizó el SO con la última versión, todos estos pasos serán como "Requisito ya satisfecho").
sudo apt-get update
sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi. GPIO sudo pip3 install spidev
Ahora puede descargar los ejemplos de Waveshare: (Esta parte NO es necesaria, pero puede descargarlos para saber cómo funciona).
sudo git clone
cd e-Paper / RaspberryPi / & JetsonNano /
Te recomiendo que elimines algunas carpetas: - e-Paper / Arduino (es un Raspberry PI).- e-Paper / STM32 (es un Raspberry PI).- e-Paper / Raspberry & JetsonNano / c (usaremos python en este proyecto).
No los usará y no los necesitará en un Raspberry PI.
Y, si lo desea, puede eliminar todos los archivos que no necesita de la carpeta "lib", como: - epd1in02.py - epd1in54.py - epd2in9.py -…
Si vamos a utilizar un 2,7 pulgadas, el resto de archivos NO son necesarios.
Te recomiendo que muevas un poco la carpeta "lib" para usarla fácilmente:
sudo mv lib / home / pi / e-Paper /
Sin embargo, en mi código (de GitHub) se incluyen las bibliotecas.
Todo el software necesario está instalado.
¡El siguiente paso es nuestro código!
Paso 3: descarga mi código
Ahora necesitamos descargar el código de GitHub:
sudo git clone
Con esto tendremos todo el código necesario, incluidas las bibliotecas de Waveshare en el proyecto real.
Edite el archivo "ShowInfo.py" para insertar su API-Token de OpenWeather.com….… Y la Ciudad (use el nombre o el ID de la ciudad):
def WeatherForecast ():
url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q = {city_name}" #url = url + "q = Düsseldorf" # ¡¡¡Problemas con ASCII !!! url = url + "id = 2934246" #url = url + "& appid = {your_API_key}" url = url + "& units = metric" # In Metric url = url + "& cnt = 6" # Solo 6 resultados
Sin embargo, necesitamos instalar los archivos de fuentes que usamos en el proyecto, los archivos fueron descargados con todo el código.
Las fuentes están en la carpeta "e-Paper / fuentes".
Descomprimir:
sudo descomprime Bangers.zip -d / usr / share / fonts / truetype / google /
sudo unzip Bungee_Inline.zip -d / usr / share / fonts / truetype / google / sudo unzip Bungee_Outline.zip -d / usr / share / fonts / truetype / google / sudo unzip Bungee_Shade.zip -d / usr / share / fonts / truetype / google / sudo unzip droid-sans.zip -d / usr / share / fonts / truetype / google / sudo unzip Indie_Flower.zip -d / usr / share / fonts / truetype / google / sudo unzip Jacques_Francois_Shadow.zip -d / usr / share / fonts / truetype / google / sudo descomprime Londrina_Outline.zip -d / usr / share / fonts / truetype / google / sudo descomprime Londrina_Shadow.zip -d / usr / share / fonts / truetype / google / sudo descomprime Londrina_Sketch. zip -d / usr / share / fonts / truetype / google / sudo unzip Oswald.zip -d / usr / share / fonts / truetype / google / sudo unzip Roboto.zip -d / usr / share / fonts / truetype / google / sudo descomprime Vast_Shadow.zip -d / usr / share / fonts / truetype / google /
Te recomiendo que elimines los archivos zip después de la instalación, porque ya no necesitamos esos archivos:
fuentes sudo rm -R
Paso 4: Ejecute la PRUEBA
Vaya a la carpeta correcta donde tenemos el archivo de prueba:
cd ~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk
Ejecute el archivo de prueba con la versión 3 de Python:
python3 Test001.py
Tendrá un seguimiento de los comentarios mientras se ejecuta el programa.
Y en la pantalla de e-Paper verá los mensajes.
Para cada botón, la pantalla mostrará un mensaje diferente.
Paso 5: Muestre la información de la Luna / Espacio / ISS…
Bien, tenemos todos corriendo y ahora queremos ver dónde está la ISS en el mundo, o la fase de la Luna …
Primero debe ejecutar el archivo "ShowInfo.py" (ubicado en "~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk").
python3 ~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk / ShowInfo.py
Y ahora, si presiona un botón, tendrá la información programada para este botón:
● Botón 1: Previsión meteorológica.
● Botón 2: Quién está en el espacio y dónde.
● Botón 3: Dónde está la ISS en el mundo.
● Botón 4: Información de la Luna.
Paso 6: ejecútelo como un servicio
Como alternativa, la secuencia de comandos de Python se puede iniciar durante el arranque creando un servicio; más información en
Cree un nuevo archivo llamado ShowInfo.service y copie el contenido a continuación en el nuevo archivo; ajuste la ruta de WorkingDirectory en consecuencia:
[Unidad]
Descripción = ShowInfo After = network-online.target Wants = network-online.target [Service] ExecStart = / usr / bin / python3 ShowInfo.py WorkingDirectory = / home / pi / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk / StandardOutput = heredar StandardError = heredar Reiniciar = siempre Usuario = pi [Instalar] WantedBy = multi-user.target
Copie el archivo ShowInfo.service en / etc / systemd / system como root:
sudo cp ShowInfo.service / etc / systemd / system /
Inicie el servicio:
sudo systemctl iniciar ShowInfo.service
Compruebe si el servicio se está ejecutando:
sudo systemctl status ShowInfo.service
La salida debe ser similar a:
● ShowInfo.service - ShowInfo
Cargado: cargado (/etc/systemd/system/ShowInfo.service; deshabilitado; preajuste del proveedor: habilitado) Activo: activo (en ejecución) desde el viernes 11 de septiembre de 2020 a las 15:17:16 CEST; Hace 14s PID principal: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453 / usr / bin / python3 ShowInfo.py 11 de septiembre 15:33:17 eInk systemd [1]: Se inició ShowInfo.
Si el servicio está funcionando bien, puede habilitarlo y reiniciar la Raspberry Pi para cargarlo automáticamente durante el arranque:
sudo systemctl habilitar ShowInfo.service
Para detener el servicio:
sudo systemctl detener ShowInfo.service
Y eso es todo !!!!!
Gracias !!!!!