Taula de continguts:

Rastrejador d'escriptori COVID19 amb rellotge. Raspberry Pi Powered Tracker: 6 passos
Rastrejador d'escriptori COVID19 amb rellotge. Raspberry Pi Powered Tracker: 6 passos

Vídeo: Rastrejador d'escriptori COVID19 amb rellotge. Raspberry Pi Powered Tracker: 6 passos

Vídeo: Rastrejador d'escriptori COVID19 amb rellotge. Raspberry Pi Powered Tracker: 6 passos
Vídeo: 102 Year Old Lady's Abandoned Home in the USA ~ Power Still ON! 2024, De novembre
Anonim
Rastrejador d'escriptori COVID19 amb rellotge. Raspberry Pi Powered Tracker
Rastrejador d'escriptori COVID19 amb rellotge. Raspberry Pi Powered Tracker

Sabem que podem morir en qualsevol moment, fins i tot jo puc morir mentre escric aquest post, al cap i a la fi, jo jo, vosaltres, tots som mortals. El món sencer va sacsejar a causa de la pandèmia COVID19. Sabem com evitar-ho, però vaja! sabem resar i per què pregar, ho fem diàriament? No!! De fet, oblidem la causa fonamental de per què hem de fer les coses. Per tant, sabem que un estil de vida higiènic ens pot estalviar, però no ho fem correctament. Penseu en el cas del meu germà petit, que vol sortir a jugar fins i tot en aquest moment. Vaig haver de fer alguna cosa per informar constantment a tothom sobre els últims casos de COVID19. Per tant, vaig fer una pantalla digital que mostra els últims casos de COVID19 en temps real. Com que té un rellotge, el puc posar en un lloc on tothom es reuneixi o vingui. Veuran que s’afegeixen les xifres, cosa que farà que es coneguin i esperem que tothom en sigui conscient. A més, ja que sóc un creador i aficionat, va resultar ser un bon projecte per treballar en aquesta sessió de bloqueig.

Pas 1: parts que he fet servir:

Parts que he fet servir
Parts que he fet servir
Parts que he fet servir
Parts que he fet servir
Parts que he fet servir
Parts que he fet servir
Parts que he fet servir
Parts que he fet servir
  • Raspberry Pi 3 Model B (arrencada amb targeta sd)
  • Mòdul UPS Raspberry Pi (opcional)
  • Pantalla LCD HDMI de 7 polzades
  • Cable HDMI a HDMI (ve amb la pantalla)
  • Cables USB
  • Adaptador d'alimentació 5v 2A (per alimentar el pi)
  • Làmina de PVC [color de fusta] (per fer el cos)

Pas 2: configureu Raspberry Pi:

Configuració de Raspberry Pi
Configuració de Raspberry Pi

Suposo que heu configurat el pi perfectament, tret que no ho hàgiu fet …

  1. obtenir una targeta SD: més de 8 GB
  2. descarregueu l’últim fitxer iso raspbian des d’aquí.
  3. Graveu la targeta SD amb gravador

(Tingueu en compte que la gent pot dir-ne un altre sobre programari que requereixi que feu una mica de configuració, però el gravador és molt fàcil d'utilitzar i senzill però eficaç també.)

Només cal que connecteu la targeta SD al PC, que executeu etcher; veureu que la targeta SD és seleccionada automàticament per etcher i, a continuació, feu clic per seleccionar el fitxer iso o la imatge descarregats i després gravar-la. Després d'escriure i processar correctament, desconnecteu la targeta SD i connecteu-la al vostre pi, alimenteu-la i VOILA. Està viu.

Pas 3: diagrama del circuit:

Esquema de connexions
Esquema de connexions

Connecteu-ho tot i engegueu el raspbery pi, només es connecta, res més.

Veureu l’arrencada del pi.

Pas 4: el cos:

El cos
El cos
El cos
El cos
El cos
El cos
El cos
El cos

He tallat una làmina de PVC segons la mida de la pantalla, i després l’he afegit amb cargols. Després d'això, ho vaig connectar tot. Per fi va afegir un altre full al darrere per evitar que caigués (full blau). Si tot està bé, hauríeu de veure l'arrencada del pi (última imatge)

Pas 5: el programari (codi font):

El programa està escrit en python3. Per a la interfície gràfica d’usuari (GUI) he utilitzat PyQt5 i per extreure dades COVID19 en temps real he utilitzat la biblioteca COVID19Py. Gràcies als nois que ens van fer disposar l'API

Això és gairebé tot, ara obriu Terminal a raspberry pi i instal·leu biblioteques (copieu cadascuna d’elles i enganxeu-les al terminal rpi).

Ignoreu el signe $ mentre copieu

$ pip3 instal·la pyqt5

$ pip3 sol·licita la instal·lació $ pip3 install covid19py

Això és tot, ara descarregueu el codi des d'aquí, he proporcionat el codi següent:

"" "* Seguidor local i internacional de Covid19 amb rellotge en temps real *" "" "" "************** Mantingueu-vos a casa estigueu segurs. En directe, deixeu en directe ******** ***** """

"""

autor: ashraf minhaj correu electrònic: [email protected] lloc: ashrafminhajfb.blogspot.com """

#importar les biblioteques necessàries

importa PyQt5 #QT Biblioteca GUI per a python3 des de PyQt5. QtCore importa Qt, QTimer #timer per actualitzar des de PyQt5. QtWidgets import * #import tot des de PyQt5. QtGui importa QFont #for fonts import sys #necessary for QT applications # import os import COVID19Py # covid19 information -api import datetime #sabeu per a què serveix

classe CoronaTracker (QWidget):

"" "classe principal que ho conté tot" "" def _init _ (self): "" "inicialitza les coses" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) # si el temporitzador arriba al llindar - actualització de trucada self.ui () #interfície d'usuari

def ui (auto):

"" "Secció de la interfície d'usuari" "" self.setWindowTitle ("Covid19 International and Local Tracker") # self.setWindowFlags (Qt. CustomizeWindowHint) #hide barra de títol self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) # segons la meva resolució de pantalla (x, y) / rpi

#etiqueta principal

self.banner_label = QLabel (auto) 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

"" "_ dades més recents del món_" ""

#world label self.w = QLabel (self) self.w.setGeometry (200, 55, 400, 40) self.w.setText ("El món a simple vista") self.w.setFont (QFont ('SansSerif', 18)) self.w.setStyleSheet ("" "background-color: black; color: blue; border-style: outset; border-width: 1px" "")

# casos confirmats a tot el món

self.w_cases = QLabel (self) self.w_cases.setGeometry (5, 90, 100, 40) self.w_cases.setText ("Cases:") self.w_cases.setFont (QFont ('SansSerif', 18)) self. w_cases.setStyleSheet ("" "background-color: black; color: orange; border-style: outset; border-width: 1px" "") #cases number 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1 px "" ")

# morts a tot el món

self.w_death = QLabel (auto) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Defuncions:") self.w_death.setFont (QFont ('SansSerif', 18)) self. w_death.setStyleSheet ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "") #death number 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1 px "" ")

#worldwide curat

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 ("" "background-color: black; color: cyan; border-style: outset; border-width: 1px" "")

número curat #worldwide

self.w_cured_num = QLabel (auto) self.w_cured_num.setGeometry (110, 140, 100, 40) self.w_cured_num.setFont (QFont ('SansSerif', 18)) self.w_cured_num.setStyleSheet ("" "color de fons: negre; color: blanc; estil de vora: sortida; amplada de vora: 1 px "" ")

"" "_ Local per país Codi_" ""

#local - Country self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("El meu país: Bangladesh") self.c.setFont (QFont ('SansSerif'), 18)) self.c.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "") #local confirm cases self.c_cases = QLabel (auto) self.c_cases.setGeometry (5, 240, 400, 40) self.c_cases.setText ("Cases:") self.c_cases.setFont (QFont ('SansSerif', 18)) self.c_cases.setStyleSheet ("" background -color: negre; color: taronja; estil de vora: inici; amplada de vora: 1px "" ") #local cases number 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

# morts locals

self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Defuncions:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "")

# nombre local de morts

self.c_death_num = QLabel (auto) self.c_death_num.setGeometry (460, 240, 100, 40) self.c_death_num.setFont (QFont ('SansSerif', 18)) self.c_death_num.setStyleSheet ("" "color de fons: negre; color: blanc; border-style: outset; border-width: 1px "" ") #local cured 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 ("" "background-color: black; color: cyan; border-style: outset; border-width: 1px "" ") #local curated number 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

"" "_ Hora, data, rellotge_" ""

#clock self.clock = QLabel (self) self.clock.setGeometry (115, 340, 400, 70) self.clock.setFont (QFont ('SansSerif', 60)) self.clock.setStyleSheet ("" "background- color: negre; color: blanc; estil de vora: inici; amplada de vora: 1 px "" ") #label for weekday self.weekday = QLabel (auto) self.weekday.setGeometry (5, 360, 110, 20) self.weekday.setFont (QFont ('SansSerif', 13)) self.weekday.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "") #date label self.date = QLabel (auto) self.date.setGeometry (510, 360, 110, 20) # self.clock.setText ("22:49:00") self.date.setFont (QFont ('SansSerif', 13)) self.date.setStyleSheet ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")

#Comproveu el temporitzador si no self.timer.isActive (): #si el temporitzador està aturat (s'arriba al llindar) #Après 1 segon (aprox.) o 1000 ms

provar:

"" Intenteu obtenir dades; en cas contrari, executeu el codi "" "self.latest = self.covid.getLatest () #gte covid19 últimes dades

#obtingueu les dades més recents per codi de país "BD" - Bangladesh, "IN" - Índia, etc.

self.local = self.covid.getLocationByCountryCode ('BD', timelines = False) #print (self.local) #print (self.latest)

excepte:

"" "No s'han pogut imprimir les dades" "" ("Error d'Internet !!")

passa #ignore, corre igualment

self.timer.start (1000) #start el temporitzador

self.show () #show la nostra interfície d'usuari

actualització per defecte (auto):

"" "Actualitza etiquetes amb informació" ""

"" "_Extreure informació sobre data i hora d'actualització_" ""

# configurar el rellotge i la data (valors d'actualització) #obtenir i actualitzar valors #per saber més llegiu la documentació de Python datetime

self.dt = datetime.datetime.now () #get dades de data

self.clock.setText (self.dt.strftime ('% X')) self.weekday.setText (self.dt.strftime ('% A')) self.date.setText (self.dt.strftime ('% x ')) "" "_actualització covid19 dades_" "" #worldwide últimes dades self.w_cases_num.setText (str (self.latest [' confirmat])) self.w_death_num.setText (str (self.latest ['décès')])) self.w_cured_num.setText (str (self.latest ['recovery'])) #local latest data self.c_cured_num.setText (str (self.local [0] ['latest'] ['recovery'])) self.c_death_num.setText (str (self.local [0] ['latest'] ['décès'])) self.c_cases_num.setText (str (self.local [0] ['latest'] ['confirmat')]))

imprimir ("actualitzar")

tornar

def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #executa l'aplicació si _name_ == '_main_': main ()

Pas 6: finalitzeu:

Acabar
Acabar

Després de provar el codi, el vaig posar a l'escriptori i li vaig dedicar una font d'energia. Perquè funcioni mentre es carrega. Si utilitzeu els canvis, això pot funcionar fins i tot en la reducció de càrrega, això també proporciona a la targeta SD ur pi una protecció adequada.

Independentment de com o qui siguem, hem de morir. No pensem en tu mateix, pensem en el món. Només podem viure per sempre a través de les nostres accions, que sigui així.

Recomanat: