Tabla de contenido:
- Paso 1: Partes que he usado:
- Paso 2: Configura Raspberry Pi:
- Paso 3: diagrama de circuito:
- Paso 4: El cuerpo:
- Paso 5: el software (código fuente):
- Paso 6: Termina:
Video: ¡Rastreador de escritorio COVID19 con reloj! Rastreador con tecnología Raspberry Pi: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Sabemos que podemos morir en cualquier momento, incluso yo puedo morir mientras escribo esta publicación, después de todo, yo, tú, todos somos mortales. El mundo entero se estremeció por la pandemia de COVID19. Sabemos cómo prevenir esto, pero ¡oye! sabemos rezar y por qué rezar, ¿lo hacemos a diario? ¡¡No!! De hecho, nos olvidamos de la causa fundamental de por qué deberíamos hacer las cosas. Entonces, sabemos que un estilo de vida higiénico puede salvarnos, pero no lo hacemos correctamente. Considere el caso de mi hermano menor, él quiere salir a jugar incluso en este momento. Tenía que hacer algo para informar constantemente a todos sobre los últimos casos de COVID19. Entonces, hice una pantalla de escritorio digital que muestra los últimos casos de COVID19 en tiempo real. Como esto tiene un reloj, puedo ponerlo en un lugar donde todos se reúnan o vengan. Verán que los números se suman, lo que generará conciencia en ellos y, con suerte, todos estarán conscientes. Además, como soy un creador y aficionado, resultó ser un buen proyecto para trabajar en esta sesión de cierre.
Paso 1: Partes que he usado:
- Raspberry Pi 3 Modelo B (arrancado con tarjeta sd)
- Módulo UPS Raspberry Pi (opcional)
- Pantalla LCD HDMI de 7 pulgadas
- Cable HDMI a HDMI (viene con la pantalla)
- Cables USB
- Adaptador de corriente 5v 2A (para alimentar el pi)
- Lámina de PVC [color madera] (para hacer el cuerpo)
Paso 2: Configura Raspberry Pi:
Supongo que ha configurado el pi perfectamente, a menos que no lo haya hecho …
- obtener una tarjeta SD - más de 8 GB
- descargue el último archivo iso raspbian desde aquí.
- Grabe la tarjeta SD con Etcher
(Tenga en cuenta que la gente puede decir algo sobre otro software que requiere que realice alguna configuración, pero etcher es súper fácil de usar y simple pero también efectivo).
Simplemente conecte su tarjeta SD a la PC, ejecute etcher, verá que la tarjeta SD es seleccionada automáticamente por etcher, luego haga clic para seleccionar el archivo o imagen iso descargado, luego grábelo. Después de escribir y procesar con éxito, desconecte la tarjeta SD y conéctela a su pi, enciéndala y VOILA. Está vivo.
Paso 3: diagrama de circuito:
Conecte todo y encienda el raspbery pi, solo se está conectando, nada más.
Verás el arranque pi.
Paso 4: El cuerpo:
Corté una hoja de PVC de acuerdo con el tamaño de la pantalla y luego la agregué con tornillos. Después de eso, conecté todo. Por fin se agregó otra hoja en la parte posterior para evitar que se caiga (hoja azul). Si todo está bien, debería ver el arranque pi (última imagen)
Paso 5: el software (código fuente):
El programa está escrito en python3. Para la GUI (interfaz gráfica de usuario) utilicé PyQt5, y para extraer datos COVID19 en tiempo real utilicé la biblioteca COVID19Py. Gracias a los chicos que pusieron la API a nuestra disposición
Eso es todo, ahora abre Terminal en raspberry pi e instala bibliotecas (copia cada una de ellas y pégalas en la terminal rpi).
Ignorar el signo $ al copiar
$ pip3 instalar pyqt5
$ pip3 solicitudes de instalación $ pip3 install covid19py
Eso es todo, ahora descargue el código desde aquí, proporcioné el código a continuación:
"" "* Rastreador local e internacional Covid19 en tiempo real con reloj *" "" "" "************** Quédate en casa Quédate a salvo. Vive, deja vivir ******** ***** """
"""
autor: ashraf minhaj correo: [email protected] sitio: ashrafminhajfb.blogspot.com """
#importar las bibliotecas necesarias
importar PyQt5 #QT GUI Library para python3 desde PyQt5. QtCore import Qt, QTimer #timer para actualizar desde PyQt5. QtWidgets import * #importar todo desde PyQt5. QtGui import QFont #for fonts import sys #necesario para aplicaciones QT #import os import COVID19Py # covid19 información -api import datetime #sabes para qué sirve
clase CoronaTracker (QWidget):
"" "clase principal que contiene todo" "" def _init _ (self): "" "inicializar cosas" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #si el temporizador alcanza el umbral - llame a update self.ui () # interfaz de usuario
def ui (yo):
"" "Sección de interfaz de usuario" "" self.setWindowTitle ("Covid19 International and Local Tracker") # self.setWindowFlags (Qt. CustomizeWindowHint) #hide barra de título self.setStyleSheet ("Color de fondo: negro") self.setFixedSize (640, 480) # según mi pantalla (x, y) / resolución rpi
#Etiqueta principal
self.banner_label = QLabel (self) self.banner_label.setGeometry (50, 5, 560, 50) # (x_origin, y_origin, till_x, till_y) self.banner_label.setText ("CORONA Pandemic - COVID19 TRACKER") self.banner_label. setFont (QFont ('SansSerif', 20)) self.banner_label.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: principio; ancho de borde: 1px" "")
"" "_ datos más recientes del mundo_" ""
#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("World at a Glance") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "color de fondo: negro; color: azul; estilo de borde: principio; ancho de borde: 1px" "")
# casos confirmados en todo el mundo
self.w_cases = QLabel (self) self.w_cases.setGeometry (5, 90, 100, 40) self.w_cases.setText ("Casos:") self.w_cases.setFont (QFont ('SansSerif', 18)) self. w_cases.setStyleSheet ("" "color de fondo: negro; color: naranja; estilo de borde: principio; ancho de borde: 1px" "") # número de casos self.w_cases_num = QLabel (self) self.w_cases_num.setGeometry (110, 90, 100, 40) self.w_cases_num.setFont (QFont ('SansSerif', 18)) self.w_cases_num.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: comienzo; ancho de borde: 1 px "" ")
#muertes en todo el mundo
self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Muertes:") self.w_death.setFont (QFont ('SansSerif', 18)) self. w_death.setStyleSheet ("" "color de fondo: negro; color: rojo; estilo de borde: principio; ancho de borde: 1px" "") # número de muerte self.w_death_num = QLabel (self) self.w_death_num.setGeometry (460, 90, 100, 40) self.w_death_num.setFont (QFont ('SansSerif', 18)) self.w_death_num.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: comienzo; ancho de borde: 1 px "" ")
# curado en todo el mundo
self.w_cured = QLabel (self) self.w_cured.setGeometry (5, 140, 100, 40) self.w_cured.setText ("Cured:") self.w_cured.setFont (QFont ('SansSerif', 18)) self. w_cured.setStyleSheet ("" "color de fondo: negro; color: cian; estilo de borde: principio; ancho de borde: 1px" "")
# número curado mundial
self.w_cured_num = QLabel (self) self.w_cured_num.setGeometry (110, 140, 100, 40) self.w_cured_num.setFont (QFont ('SansSerif', 18)) self.w_cured_num.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: principio; ancho de borde: 1px "" ")
"" "_ Código local por país_" ""
#local - País self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("Mi país: Bangladesh") self.c.setFont (QFont ('SansSerif', 18)) self.c.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: principio; ancho de borde: 1px" "") # casos de confirmación local self.c_cases = QLabel (self) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Casos:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" "fondo -color: negro; color: naranja; border-style: outset; border-width: 1px "" ") # número de casos locales self.c_cases_num = QLabel (self) self.c_cases_num.setGeometry (110, 240, 100, 40) self.c_cases_num.setFont (QFont ('SansSerif', 18)) self.c_cases_num.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: principio; ancho de borde: 1px" "")
#muertes locales
self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Muertes:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "color de fondo: negro; color: rojo; estilo de borde: principio; ancho de borde: 1px" "")
# número de muertes locales
self.c_death_num = QLabel (self) self.c_death_num.setGeometry (460, 240, 100, 40) self.c_death_num.setFont (QFont ('SansSerif', 18)) self.c_death_num.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: principio; ancho de borde: 1px "" ") # curado local self.c_cured = QLabel (self) self.c_cured.setGeometry (5, 280, 100, 40) self.c_cured. setText ("Cured:") self.c_cured.setFont (QFont ('SansSerif', 18)) self.c_cured.setStyleSheet ("" "color de fondo: negro; color: cian; estilo de borde: principio; ancho de borde: 1px "" ") # número curado local self.c_cured_num = QLabel (self) self.c_cured_num.setGeometry (110, 280, 100, 40) self.c_cured_num.setFont (QFont ('SansSerif', 18)) self.c_cured_num.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: principio; ancho de borde: 1px" "")
"" "_ Hora, fecha, reloj_" ""
#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- color: negro; color: blanco; border-style: outset; border-width: 1px "" ") #label for weekday self.weekday = QLabel (self) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: comienzo; ancho de borde: 1px" "") # fecha etiqueta self.date = QLabel (self) self.date.setGeometry (510, 360, 110, 20) # self.clock.setText ("22:49:00") self.date.setFont (QFont ('SansSerif', 13)) self.date.setStyleSheet ("" "color de fondo: negro; color: blanco; estilo de borde: principio; ancho de borde: 1px" "")
#Compruebe el temporizador si no es self.timer.isActive (): #si el temporizador se detiene (umbral alcanzado) #Después de 1 segundo (aprox.) o 1000ms
tratar:
"" "intente obtener datos, de lo contrario ejecute el código de todos modos" "" self.latest = self.covid.getLatest () #gte covid19 últimos datos
#Obtenga los datos más recientes por código de país 'BD'-Bangladesh,' IN '-India, etc.
self.local = self.covid.getLocationByCountryCode ('BD', timelines = False) #print (self.local) #print (self.latest)
excepto:
"" "no se pudieron obtener los datos" "" imprimir ("¡Error de Internet!")
pasa #ignore, corre de todos modos
self.timer.start (1000) #iniciar el temporizador
self.show () #mostrar nuestra interfaz de usuario
def actualizar (auto):
"" "actualizar etiquetas con información" ""
"" "_Extraer la información de fecha y hora de actualización del anuncio_" ""
# configurar el reloj y la fecha y la hora (actualizar los valores) # obtener y actualizar los valores #para saber más leer la documentación de Python DateTime
self.dt = datetime.datetime.now () #obtener datos de fecha y hora
self.clock.setText (self.dt.strftime ('% X')) self.weekday.setText (self.dt.strftime ('% A')) self.date.setText (self.dt.strftime ('% x ')) "" "_update datos de covid19_" "" # datos más recientes de todo el mundo self.w_cases_num.setText (str (self.latest [' confirmado '])) self.w_death_num.setText (str (self.latest [' muertes ''])) self.w_cured_num.setText (str (self.latest ['recuperado'])) # datos más recientes locales self.c_cured_num.setText (str (self.local [0] ['más reciente'] ['recuperado'])) self.c_death_num.setText (str (self.local [0] ['último'] ['muertes'])) self.c_cases_num.setText (str (self.local [0] ['último'] ['confirmado']))
imprimir ("actualizar")
regreso
def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #run the application if _name_ == '_main_': main ()
Paso 6: Termina:
Después de probar el código, lo puse en el escritorio y le dediqué una fuente de alimentación. Para que pueda funcionar mientras se carga. Al usar los ups, esto puede funcionar incluso en el deslastre de carga, esto también le da a su tarjeta SD pi una protección adecuada.
No importa cómo o quiénes seamos, tenemos que morir. No pensemos en ti, pensemos en el mundo. Solo podemos vivir para siempre a través de nuestras acciones, que así sea.
Recomendado:
Rastreador Covid19 en vivo con ESP8266 y OLED - Panel de control Covid19 en tiempo real: 4 pasos
Rastreador Covid19 en vivo con ESP8266 y OLED | Panel de control de Covid19 en tiempo real: visite el sitio web de Techtronic Harsh: http: //techtronicharsh.com En todas partes hay un gran brote del nuevo virus Corona (COVID19). Se hizo necesario vigilar el escenario actual del COVID-19 en el Mundo, así que estando en casa, esta era la p
Reloj de red ESP8266 sin ningún RTC - Reloj Nodemcu NTP Sin RTC - PROYECTO RELOJ DE INTERNET: 4 Pasos
Reloj de red ESP8266 sin ningún RTC | Reloj Nodemcu NTP Sin RTC | PROYECTO DE RELOJ DE INTERNET: En el proyecto se realizará un proyecto de reloj sin RTC, se tomará tiempo de Internet usando wifi y lo mostrará en la pantalla st7735
El dispositivo de escritorio: un asistente de escritorio personalizable: 7 pasos (con imágenes)
El dispositivo de escritorio: un asistente de escritorio personalizable: el dispositivo de escritorio es un pequeño asistente de escritorio personal que puede mostrar información diversa descargada de Internet. Este dispositivo fue diseñado y construido por mí para la clase CRT 420 - Temas especiales en Berry College, que está dirigida por un instructor
Rastreador de películas - Rastreador de lanzamiento en cines con tecnología Raspberry Pi: 15 pasos (con imágenes)
Rastreador de películas: rastreador de lanzamientos teatrales con Raspberry Pi: Movie Tracker es un rastreador de lanzamientos con forma de claqueta y alimentado por Raspberry Pi. Utiliza la API de TMDb para imprimir el póster, el título, la fecha de lanzamiento y la descripción general de las próximas películas en su región, en un intervalo de tiempo específico (por ejemplo, estrenos de películas esta semana) en
Rastreador de productividad: con tecnología Raspberry Pi: 9 pasos (con imágenes)
Productivity Tracker - Desarrollado por Raspberry Pi: Productivity Tracker es un espejo mágico, pero en lugar de mostrar la hora, el clima y una cita motivadora, muestra 4 cosas; El porcentaje del tiempo que ha dedicado a material productivo en su computadora y teléfono durante ese día. (RescueTime) Yo