Table des matières:

Tracker COVID19 de bureau avec horloge ! Tracker alimenté par Raspberry Pi : 6 étapes
Tracker COVID19 de bureau avec horloge ! Tracker alimenté par Raspberry Pi : 6 étapes

Vidéo: Tracker COVID19 de bureau avec horloge ! Tracker alimenté par Raspberry Pi : 6 étapes

Vidéo: Tracker COVID19 de bureau avec horloge ! Tracker alimenté par Raspberry Pi : 6 étapes
Vidéo: 3000+ Common English Words with British Pronunciation 2024, Novembre
Anonim
Tracker COVID19 de bureau avec horloge ! Tracker alimenté par Raspberry Pi
Tracker COVID19 de bureau avec horloge ! Tracker alimenté par Raspberry Pi

Nous savons que nous pouvons mourir à tout moment, même moi je peux mourir en écrivant ce post, après tout, moi, vous, nous sommes tous des mortels. Le monde entier a tremblé à cause de la pandémie de COVID19. Nous savons comment empêcher cela, mais bon ! nous savons comment prier et pourquoi prier, le faisons-nous quotidiennement ? Non!! En fait, nous oublions la cause profonde de pourquoi nous devrions faire les choses. Ainsi, nous savons qu'un mode de vie hygiénique peut nous sauver, mais nous ne le faisons pas correctement. Prenons le cas de mon jeune frère, il veut sortir et jouer même en ce moment. Je devais faire quelque chose pour informer systématiquement tout le monde des derniers cas de COVID19. J'ai donc créé un écran de bureau numérique qui montre les derniers cas de COVID19 en temps réel. Comme cela a une horloge, je peux la mettre dans un endroit où tout le monde se rassemble ou vient. Ils verront les chiffres s'additionner, ce qui déclenchera une prise de conscience en eux et j'espère que tout le monde sera conscient. De plus, comme je suis un fabricant et un amateur, cela s'est avéré être un bon projet sur lequel travailler pendant cette session de verrouillage.

Étape 1: Pièces que j'ai utilisées:

Pièces que j'ai utilisées
Pièces que j'ai utilisées
Pièces que j'ai utilisées
Pièces que j'ai utilisées
Pièces que j'ai utilisées
Pièces que j'ai utilisées
Pièces que j'ai utilisées
Pièces que j'ai utilisées
  • Raspberry Pi 3 modèle B (démarré à l'aide d'une carte SD)
  • Module UPS Raspberry Pi (en option)
  • Écran LCD HDMI 7 pouces
  • Câble HDMI vers HDMI (fourni avec l'écran)
  • Câbles USB
  • Adaptateur secteur 5v 2A (pour alimenter le pi)
  • Feuille de PVC [couleur bois] (pour faire le corps)

Étape 2: Configurer Raspberry Pi:

Configuration du Raspberry Pi
Configuration du Raspberry Pi

Je suppose que vous avez parfaitement configuré le pi, à moins que vous ne l'ayez pas -

  1. obtenir une carte SD - plus de 8 Go
  2. téléchargez le dernier fichier iso raspbian à partir d'ici.
  3. Gravez la carte SD avec Etcher

(Notez que les gens peuvent parler d'un autre logiciel qui vous oblige à faire des choses de configuration, mais Etcher est super facile à utiliser et simple mais efficace aussi.)

Branchez simplement votre carte SD sur votre PC, lancez Etcher, vous verrez que la carte SD est automatiquement sélectionnée par Etcher, puis cliquez pour sélectionner le fichier iso ou l'image téléchargé, puis gravez-le. Après une écriture et un traitement réussis, débranchez la carte SD et connectez-la à votre pi, allumez-la et VOILA !! C'est vivant.

Étape 3: Schéma de circuit:

Schéma
Schéma

Connectez tout et allumez le raspbery pi, il s'agit juste de se connecter, rien d'autre.

Vous verrez le pi démarrer.

Étape 4: Le corps:

Le corps
Le corps
Le corps
Le corps
Le corps
Le corps
Le corps
Le corps

J'ai découpé une feuille de PVC en fonction de la taille de l'écran, puis je l'ai ajoutée à l'aide de vis. Après, j'ai tout câblé. Enfin ajouté une autre feuille à l'arrière pour l'empêcher de tomber (feuille bleue). Si tout va bien, vous devriez voir le pi booter (dernière photo)

Étape 5: Le logiciel (code source):

Le programme est écrit en python3. Pour l'interface graphique (Graphical User Interface), j'ai utilisé PyQt5 et pour extraire les données COVID19 en temps réel, j'ai utilisé la bibliothèque COVID19Py. Merci aux gars qui ont rendu l'API disponible pour nous

C'est à peu près tout, ouvrez maintenant Terminal sur raspberry pi et installez les bibliothèques (copiez chacune d'entre elles et collez-les sur le terminal rpi).

Ignorer le signe $ lors de la copie

$ pip3 installer pyqt5

$ demandes d'installation pip3$ pip3 installer covid19py

Ça y est, maintenant téléchargez le code d'ici, j'ai fourni le code ci-dessous:

"""* Traqueur international et local Covid19 en temps réel avec horloge *""" """ ************** Restez à la maison Restez en sécurité. Vivre, laisser vivre ******** ***** """

"""

auteur: ashraf minhaj courrier: [email protected] site: ashrafminhajfb.blogspot.com """

#importer les bibliothèques nécessaires

import PyQt5 #QT GUI Library for python3 from PyQt5. QtCore import Qt, QTimer #timer pour mettre à jour depuis PyQt5. QtWidgets import * #importe tout de PyQt5. QtGui import QFont #for fonts import sys #nécessaire pour les applications QT #import os import COVID19Py #covid19 information -api import datetime #vous savez à quoi cela sert

classe CoronaTracker (QWidget):

"""classe principale qui contient tout""" def _init_(self): """initialiser les choses""" super()._init_() self.covid = COVID19Py. COVID19() #initialize self.timer = QTimer() #initialize self.timer.timeout.connect(self.update) #si la minuterie atteint le seuil - appelez la mise à jour self.ui() #interface utilisateur

def ui(soi):

"""Section Interface utilisateur""" self.setWindowTitle("Covid19 International and Local Tracker") #self.setWindowFlags(Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet("Background-color: black") self.setFixedSize(640, 480) #selon ma résolution d'affichage (x, y) /rpi

#étiquette principale

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

"""_dernières données mondiales_"""

#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(""" background-color: noir; couleur: bleu; border-style: outset; border-width: 1px """)

#cas confirmés dans le monde

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: noir; couleur: 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: noir; couleur: blanc; border-style: outset; border-width: 1px """)

#décès dans le monde

self.w_death = QLabel(self) self.w_death.setGeometry(350, 90, 100, 40) self.w_death.setText("Deaths:") self.w_death.setFont(QFont('SansSerif', 18)) self. w_death.setStyleSheet(""" background-color: noir; couleur: rouge; 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: noir; couleur: blanc; border-style: outset; border-width: 1px """)

#mondial guéri

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: noir; couleur: cyan; border-style: outset; border-width: 1px """)

#nombre guéri dans le monde

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

"""_Code local par pays_"""

#local - Pays self.c = QLabel(self) self.c.setGeometry(170, 200, 400, 40) self.c.setText("Mon pays: 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(self) 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: noir; couleur: orange; border-style: outset; border-width: 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 """)

#décès locaux

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

#nombre de décès locaux

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(""" background-color: noir; couleur: blanc; border-style: outset; border-width: 1px """) #local guéri 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 guéri nombre 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: noir; couleur: blanc; border-style: outset; border-width: 1px """)

"""_Heure, date, horloge_"""

#clock self.clock = QLabel(self) self.clock.setGeometry(115, 340, 400, 70) self.clock.setFont(QFont('SansSerif', 60)) self.clock.setStyleSheet(""" background- color: black; color: white; 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(""" background-color: black; color: white; border-style: outset; border-width: 1px """) #date label 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(""" background-color: noir; couleur: blanc; border-style: outset; border-width: 1px """)

#check the timer if not self.timer.isActive(): #si timer est arrêté (seuil atteint) #Après 1 seconde (environ) ou 1000ms

essayer:

"""essayez d'obtenir des données, sinon exécutez le code quand même""" self.latest = self.covid.getLatest() #gte covid19 dernières données

#obtenir les dernières données par code de pays 'BD'-Bangladesh, 'IN'-Inde, etc.

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

sauf:

"""Impossible d'obtenir les données""" print("Erreur Internet !!")

passer #ignorer, courir quand même

self.timer.start(1000) #démarrer le minuteur

self.show() #afficher notre interface utilisateur

def update(self):

"""mettre à jour les étiquettes avec les informations"""

"""_Extraire les informations sur l'heure et la date de mise à jour de l'annonce_"""

#configurer l'horloge et la date (mettre à jour les valeurs) #obtenir et mettre à jour les valeurs #pour en savoir plus, lisez la documentation python datetime

self.dt = datetime.datetime.now() #obtenir les données datetime

self.clock.setText(self.dt.strftime('%X')) self.weekday.setText(self.dt.strftime('%A')) self.date.setText(self.dt.strftime('% x')) """_mettre à jour les données covid19_""" #dernières données mondiales self.w_cases_num.setText(str(self.latest['confirmed'])) self.w_death_num.setText(str(self.latest['deaths'])) self.w_cured_num.setText(str(self.latest['récupéré'])) #local dernières données self.c_cured_num.setText(str(self.local[0]['latest']['récupéré'])) self.c_death_num.setText(str(self.local[0]['latest']['deaths'])) self.c_cases_num.setText(str(self.local[0]['latest']['confirmed']))

print("mise à jour")

revenir

def main(): app = QApplication(sys.argv) win = CoronaTracker() #instancier sys.exit(app.exec()) #exécuter l'application si _name_ == '_main_': main()

Étape 6: Terminez:

Finir
Finir

Après avoir testé le code, je l'ai mis dans le bureau et lui ai dédié une source d'alimentation. Pour qu'il puisse fonctionner pendant la charge. En utilisant les ups, cela peut également fonctionner même en délestage de charge, cela donne également à votre carte SD pi une protection appropriée.

Peu importe comment ou qui nous sommes, nous devons mourir. Ne pensons pas à toi, pensons au monde. Nous ne pouvons vivre éternellement que par nos actes, qu'il en soit ainsi.

Conseillé: