Tabla de contenido:

¡Rastreador de escritorio COVID19 con reloj! Rastreador con tecnología Raspberry Pi: 6 pasos
¡Rastreador de escritorio COVID19 con reloj! Rastreador con tecnología Raspberry Pi: 6 pasos

Video: ¡Rastreador de escritorio COVID19 con reloj! Rastreador con tecnología Raspberry Pi: 6 pasos

Video: ¡Rastreador de escritorio COVID19 con reloj! Rastreador con tecnología Raspberry Pi: 6 pasos
Video: Crean dispositivo para medir la glucosa sin pinchazo | Noticias Telemundo 2024, Mes de julio
Anonim
¡Rastreador de escritorio COVID19 con reloj! Rastreador de Raspberry Pi
¡Rastreador de escritorio COVID19 con reloj! Rastreador de Raspberry Pi

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:

Partes que he usado
Partes que he usado
Partes que he usado
Partes que he usado
Partes que he usado
Partes que he usado
Partes que he usado
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:

Configurar Raspberry Pi
Configurar Raspberry Pi

Supongo que ha configurado el pi perfectamente, a menos que no lo haya hecho …

  1. obtener una tarjeta SD - más de 8 GB
  2. descargue el último archivo iso raspbian desde aquí.
  3. 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:

Diagrama de circuito
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:

El cuerpo
El cuerpo
El cuerpo
El cuerpo
El cuerpo
El cuerpo
El cuerpo
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:

Termina
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: