Índice:
- Etapa 1: Peças que usei:
- Etapa 2: configurar o Raspberry Pi:
- Etapa 3: Diagrama de circuito:
- Etapa 4: o corpo:
- Etapa 5: O software (código-fonte):
- Etapa 6: Concluir:
Vídeo: Rastreador COVID19 de mesa com relógio! Raspberry Pi Powered Tracker: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Sabemos que podemos morrer a qualquer hora, até eu posso morrer enquanto escrevo este post, afinal, eu eu, você, todos somos mortais. O mundo inteiro tremeu por causa da pandemia COVID19. Nós sabemos como prevenir isso, mas hey! sabemos orar e por que orar, fazemos isso diariamente? Não!! Na verdade, esquecemos a causa raiz de por que devemos fazer as coisas. Portanto, sabemos que um estilo de vida higiênico pode nos salvar, mas não o fazemos corretamente. Considere o caso do meu irmão mais novo, ele quer sair e brincar mesmo nesta época. Tive que fazer algo para informar a todos de forma consistente sobre os últimos casos de COVID19. Então, fiz um display digital de mesa que mostra os últimos cases do COVID19 em tempo real. Como isso tem um relógio, posso colocá-lo em um lugar onde todos se reúnam ou venham. Eles verão a soma dos números, o que irá desencadear a consciência neles e, com sorte, todos estarão conscientes. Além disso, como eu sou um criador e um hobby, este acabou sendo um bom projeto para trabalhar nesta sessão de bloqueio.
Etapa 1: Peças que usei:
- Raspberry Pi 3 Modelo B (inicializado com cartão SD)
- Módulo UPS Raspberry Pi (opcional)
- Tela LCD HDMI de 7 polegadas
- Cabo HDMI para HDMI (vem com a tela)
- Cabos USB
- Adaptador de energia 5v 2A (para alimentar o pi)
- Folha de PVC [cor de madeira] (para fazer o corpo)
Etapa 2: configurar o Raspberry Pi:
Eu acho que você configurou o pi perfeitamente, a menos que você não tenha -
- obter um cartão SD - mais de 8 GB
- baixe o arquivo iso do raspbian mais recente aqui.
- Grave o cartão SD usando etcher
(Observe que as pessoas podem dizer algo sobre outro software que requer que você faça alguma configuração, mas o etcher é super fácil de usar e simples, mas também eficaz.)
Apenas conecte seu cartão SD ao PC, execute o etcher, você verá que o cartão SD é automaticamente selecionado pelo etcher, então clique para selecionar o arquivo iso baixado ou imagem, então queime-o. Depois de gravar e processar com sucesso, desconecte o cartão SD e conecte-o ao seu pi, ligue-o e VOILA !! Está vivo.
Etapa 3: Diagrama de circuito:
Conecte tudo e ligue o raspbery pi, é só conectar, nada mais.
Você verá o pi inicializando.
Etapa 4: o corpo:
Cortei uma folha de PVC de acordo com o tamanho da tela e a adicionei usando parafusos. Depois disso, conectei tudo. Por fim, adicionou outra folha nas costas para evitar que caísse (folha azul). Se tudo estiver bem, você deverá ver o pi inicializando (última foto)
Etapa 5: O software (código-fonte):
O programa foi escrito em python3. Para GUI (Graphical User Interface) usei PyQt5 e para extrair dados COVID19 em tempo real usei a biblioteca COVID19Py. Obrigado aos caras que disponibilizaram a API para nós
É basicamente isso, agora abra o Terminal no raspberry pi e instale as bibliotecas (copie cada uma delas e cole no terminal rpi).
Ignorar o sinal $ ao copiar
$ pip3 install pyqt5
$ pip3 install solicita $ pip3 install covid19py
É isso, agora baixe o código aqui, forneci o código abaixo:
"" "* Realtime Covid19 International and Local Tracker With Clock *" "" "" "************** Stay Home Stay Safe. Live, let Live ******** ***** """
"""
autor: ashraf minhaj e-mail: [email protected] site: ashrafminhajfb.blogspot.com """
#import bibliotecas necessárias
import PyQt5 #QT GUI Library para python3 de PyQt5. QtCore import Qt, QTimer #timer para atualizar de PyQt5. QtWidgets import * #import tudo de PyQt5. QtGui import QFont #for fonts import sys #necessary for QT applications #import os import COVID19Py # covid19 information -api import datetime # você sabe para que serve
classe CoronaTracker (QWidget):
"" "classe principal que contém tudo" "" def _init _ (self): "" "inicializar coisas" "" super ()._ init _ () self.covid = COVID19Py. COVID19 () #initialize self.timer = QTimer () #initialize self.timer.timeout.connect (self.update) #if timer atinge o limite - chame update self.ui () # interface do usuário
def ui (self):
"" "Seção da interface do usuário" "" self.setWindowTitle ("Covid19 International and Local Tracker") # self.setWindowFlags (Qt. CustomizeWindowHint) #hide title bar self.setStyleSheet ("Background-color: black") self.setFixedSize (640, 480) #de acordo com minha tela (x, y) / resolução rpi
#Rótulo 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")
"" "_dados mais recentes do 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 ("" "background-color: black; color: blue; border-style: outset; border-width: 1px" "")
#casos confirmados em todo o 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 ("" "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: 1px "" ")
# mortes em todo o mundo
self.w_death = QLabel (self) self.w_death.setGeometry (350, 90, 100, 40) self.w_death.setText ("Mortes:") 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: 1px "" ")
#worldwide curado
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 mundial curado
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 ("" "cor de fundo: preto; cor: branco; estilo da borda: início; largura da borda: 1 px "" ")
"" "_ Código local por país_" ""
#local - País self.c = QLabel (self) self.c.setGeometry (170, 200, 400, 40) self.c.setText ("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 (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 ("" "background -color: black; color: 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" "")
#local mortes
self.c_death = QLabel (self) self.c_death.setGeometry (350, 240, 100, 40) self.c_death.setText ("Mortes:") self.c_death.setFont (QFont ('SansSerif', 18)) self. c_death.setStyleSheet ("" "background-color: black; color: red; border-style: outset; border-width: 1px" "")
#local número de mortes
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: preto; cor: branco; estilo da borda: início; largura da borda: 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 "" ") # 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 ("" "background-color: black; color: white; border-style: outset; border-width: 1px" "")
"" "_Hora, data, relógio_" ""
#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: black; color: white; border-style: outset; border-width: 1px" "")
#verifique o cronômetro se não for self.timer.isActive (): #se o cronômetro for interrompido (limite atingido) # Após 1 segundo (aprox.) ou 1000 ms
Experimente:
"" "tente obter dados, caso contrário execute o código de qualquer maneira" "" self.latest = self.covid.getLatest () #gte covid19 dados mais recentes
#obter os dados mais recentes por código de país 'BD'-Bangladesh,' IN'-Índia etc.
self.local = self.covid.getLocationByCountryCode ('BD', timelines = False) #print (self.local) #print (self.latest)
exceto:
"" "não foi possível obter os dados" "" print ("Internet Error !!")
passe #ignore, execute mesmo assim
self.timer.start (1000) # iniciar o cronômetro
self.show () #show nossa interface de usuário
def update (self):
"" "atualizar rótulos com informações" ""
"" "_Extrair informações sobre hora e data de atualização do anúncio_" ""
# configurar relógio e data e hora (atualizar valores) # obter e atualizar valores #para saber mais leia a documentação de data e hora do Python
self.dt = datetime.datetime.now () #get datetime data
self.clock.setText (self.dt.strftime ('% X')) self.weekday.setText (self.dt.strftime ('% A')) self.date.setText (self.dt.strftime ('% x ')) "" "_update covid19 data_" "" #worldwide dados mais recentes self.w_cases_num.setText (str (self.latest [' confirmado '])) self.w_death_num.setText (str (self.latest [' mortes '])) self.w_cured_num.setText (str (self.latest ['recuperado'])) #local dados mais recentes self.c_cured_num.setText (str (self.local [0] ['mais recente'] ['recuperado'])) self.c_death_num.setText (str (self.local [0] ['mais recente'] ['mortes'])) self.c_cases_num.setText (str (self.local [0] ['mais recente'] ['confirmado']))
imprimir ("atualizando")
Retorna
def main (): app = QApplication (sys.argv) win = CoronaTracker () #instantiate sys.exit (app.exec ()) #run the application if _name_ == '_main_': main ()
Etapa 6: Concluir:
Depois de testar o código, coloquei-o na mesa e dediquei uma fonte de alimentação para ele. Para que possa funcionar durante o carregamento. Usando os no-break, isso pode funcionar até mesmo na redução de carga também, isso dá ao seu cartão SD pi uma proteção adequada também.
Não importa como ou quem somos, temos que morrer. Não vamos pensar em você, pense no mundo. Só podemos viver para sempre por meio de nossas ações, deixe que seja assim.
Recomendado:
Como fazer um relógio de mesa Led Pixel Arduino: 9 etapas
How to Make Led Pixel Arduino Desktop Clock: hai amigos neste instrutível vou mostrar a vocês como fazer um led clock usando arduino
Relógio de mesa USB com Linux: 10 etapas
Linux Powered USB TableClock: Linux Power USB Table Clock é Raspbian Lite Linux. Ele foi feito para ser usado especialmente por noctívagos como eu, que querem ver um horário rápido, mas é um LCD muito claro para verificar a hora em um telefone celular. Parece legal na minha configuração
Rastreador Covid19 ao vivo usando ESP8266 e OLED - Painel Covid19 em tempo real: 4 etapas
Rastreador Covid19 ao vivo usando ESP8266 e OLED | Painel Covid19 em tempo real: Visite o site da Techtronic Harsh: http: //techtronicharsh.comE em todos os lugares onde há um grande surto do novo vírus Corona (COVID19). Tornou-se necessário ficar de olho no cenário atual do COVID-19 no Mundo. Então, estando em casa, esse era o p
Rastreador de filmes - Raspberry Pi Powered Theatrical Release Tracker: 15 etapas (com fotos)
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: O Movie Tracker é uma claquete em forma de Raspberry Pi-powered Release Tracker. Ele usa a API TMDb para imprimir o pôster, título, data de lançamento e visão geral dos próximos filmes em sua região, em um intervalo de tempo especificado (por exemplo, lançamentos de filmes esta semana) em
Mesa de pedal compatível com mesa: 4 etapas
Placa de pedal compatível com mesa: Esta é uma placa de pedal DIY simples feita de uma velha placa de mesa de computador. Se você tem um pequeno mini estúdio de música em sua casa e tem uma mesa e gostaria de combinar sua pedaleira ou o que você tem com a aparência de sua mesa, então isso irá