Arquivo mensal 31/05/2021

porRicardo Jorge

Tarifa Branca – conheça antes de usar

Neste artigo sobre Tarifa Branca – conheça antes de usar, será apresentado um estudo feito ao longo de 9 meses utilizando a modalidade Tarifa Branca da ANEEL.

Após este período de testes, a unidade consumidora retornou para a tarifa convencional.

A modalidade Tarifa Branca é uma opção para o consumidor de energia elétrica que pode pagar por tarifas diferentes, conforme o horário do dia e o dia da semana, além de alguns feriados nacionais.

Observação : a Tarifa Branca não altera o consumo, mas cria faixas diferenciadas de cobrança pelo uso da energia.

O medidor de consumo

Para utilizar Tarifa Branca, é necessário que exista um medidor que possa registrar o consumo nos diferentes horários do dia e também nos fins de semana e feriados nacionais.

No caso deste estudo, o medidor instalado foi o da figura abaixo.

Medidor de energia
Medidor de energia – Imagem do site do fabricante

Este medidor tem a possibilidade de leitura remota por parte da empresa de Distribuição de energia e também tem 2 indicadores luminosos ( LEDs ) que piscam conforme 1 Wh ou 1 varh sejam registrados pela medição.

Infelizmente, no Brasil parece não existir interesse em divulgar estas opções que permitiriam ao consumidor acompanhar o consumo e assim, melhor utilizar a modalidade Tarifa Branca.

Com a Tarifa Branca, é necessário coletar 4 medições a cada leitura.

Isto dificulta o trabalho da Equipe de Campo da Distribuidora, porque o medidor pode não estar posicionado de forma a facilitar esta leitura e muitas das vezes, foi necessário permitir a entrada da Equipe, para coletarem as medições feitas.

Aqui fica um ponto de atenção para a ENEL, que deveria equipar os medidores com a possibilidade de leitura remota, sem a necessidade de intervenção manual da Equipe de Campo.

As tarifas e os horários de medição

Cada Estado e Empresa de Distribuição podem ter tarifas e horários diferentes e por isto é importante consultar o site ANEL ( Agência Nacional de Energia Elétrica ) para saber sobre as tarifas e horários de sua região.

No Estado de São Paulo e utilizando a Distribuidora ENEL, as faixas horárias, em maio de 2021, são :

Faixa – dias úteisDesignaçãoPercentual
16:30 – 17:30Intermediário+ 22,28%
17:30 – 20:30Ponta+ 88,01%
20:30 – 21:30Intermediário+ 22,28%
Faixas horárias e acréscimos sobre a tarifa convencional

Faixa – dias úteisDesignaçãoPercentual
00:00 – 16:30Fora de Ponta– 16,10%
21:30 – 23:59Fora de Ponta– 16,10%
Faixas horárias e descontos sobre a tarifa convencional

Para os fins de semana e feriados nacionais, a tarifa Fora de Ponta é utilizada durante as 24 horas do dia.

Um ponto importante é entender que nos dias úteis, a diferença entre Fora de Ponta e Ponta fica próxima a 104,11%, considerando o mês de maio de 2021.

Esta diferença considerou o desconto de 16,10% e o acréscimo de 88,01%, que são os valores extremos mostrados nas tabelas acima.

A Tarifa Branca também sofre os reajustes das bandeiras Tarifárias e isto é mais um fator a ser considerado pelo consumidor.

Abaixo, segue um relatório enviado pela Distribuidora ENEL, sobre o consumo nas 3 faixas tarifárias.

Tarifa Branca Exemplo
Tarifa Branca Exemplo de consumo

Mesmo com o consumo estando concentrado na faixa Fora de Ponta, a média de economia mensal ficou próxima de 7%.


Tarifa Branca – conheça antes de usar

Conclusão :

A real economia varia muito conforme o perfil do consumidor, podendo até mesmo elevar a tarifa mensal.

Será muito difícil conseguir uma redução acima de uns 8% no valor mensal, lembrando que o desconto máximo é de 16% para o Estado de São Paulo, na data desta publicação.

A observância dos horários é fundamental porque qualquer consumo nas faixas Ponta e Intermediário pode gerar uma grande diferença na tarifa mensal, apresentando um resultado muito pior para o consumidor.

Na minha opinião, a ideia da Tarifa Branca é interessante, mas sua implementação proporciona pouco ganho, algumas restrições e grande preocupação para o consumidor.

Para ser atraente, ou o desconto deveria ser maior, ou então os acréscimos na Ponta e Intermediário, serem menores.

É preciso entender e considerar que existe 5 horas de acréscimo nos dias úteis.

Alguns eletrodomésticos como a geladeira / freezer, operam dentro desta faixa das 5 horas de acréscimo, além da própria iluminação residencial, a TV e possivelmente o microondas para a hora do jantar.

Assim como já foi abordado em outro artigo, o uso da Tarifa Branca junto com Energia Solar ou Eólica, pode ser uma fonte adicional de economia para o consumidor, ou até mesmo uma primeira ação para economizar, uma vez que a implantação desta modalidade tarifária tem custo zero para o consumidor.

Assuntos relacionados :

Conta de luz energia solar e planejamento

Energia eólica ou solar em sua casa?


Image by kalhh from Pixabay

Atenção : O material usado para referência e as fotos para ilustração, não representam associação com as marcas, patrocínio, indicação e nem endosso para uso.

porRicardo Jorge

Pare de chamar tudo de Inteligência Artificial

Neste artigo sobre Pare de chamar tudo de Inteligência Artificial, abordaremos o uso algumas vezes exagerado, deste termo tão comum em nosso dia a dia.

Este artigo é uma versão e o artigo original e completo pode ser visto aqui.

Os sistemas de inteligência artificial estão longe de serem avançados o suficiente para substituir os humanos em muitas tarefas que envolvem raciocínio, conhecimento do mundo real e interação social.

Eles estão mostrando competência de nível humano em habilidades de reconhecimento de padrões de baixo nível, mas no nível cognitivo eles estão meramente imitando a inteligência humana, não se engajando profunda e criativamente, diz Michael I. Jordan, um pesquisador líder em IA e aprendizado de máquina.

Jordan é professor do departamento de engenharia elétrica e ciência da computação e do departamento de estatística da Universidade da Califórnia em Berkeley.

Ele observa que a imitação do pensamento humano não é o único objetivo do aprendizado de máquina – o campo da engenharia que está por trás do progresso recente em IA – ou mesmo o melhor objetivo.

Em vez disso, o aprendizado de máquina pode servir para aumentar a inteligência humana, por meio da análise meticulosa de grandes conjuntos de dados, da mesma forma que um mecanismo de busca aumenta o conhecimento humano organizando a web.

O aprendizado de máquina também pode fornecer novos serviços aos humanos em domínios como saúde, comércio e transporte, reunindo informações encontradas em vários conjuntos de dados, encontrando padrões e propondo novos cursos de ação.

“As pessoas estão ficando confusas sobre o significado da IA ​​nas discussões sobre tendências tecnológicas - que existe algum tipo de pensamento inteligente nos computadores que é responsável pelo progresso e que está competindo com os humanos”, diz ele. “Não temos isso, mas as pessoas estão falando como se tivéssemos.”

Afinal, Jordan deveria saber a diferença. O IEEE Fellow é uma das maiores autoridades mundiais em aprendizado de máquina.

Em 2016, ele foi classificado como o cientista da computação mais influente por um programa que analisou publicações de pesquisa, informou a Science.

Jordan ajudou a transformar o aprendizado de máquina não supervisionado, que pode encontrar estrutura em dados sem rótulos preexistentes, de uma coleção de algoritmos não relacionados a um campo intelectualmente coerente, explica o  Engineering and Technology History Wiki.

A aprendizagem não supervisionada desempenha um papel importante em aplicações científicas onde há uma ausência de teoria estabelecida que possa fornecer dados de treinamento rotulados.

As contribuições de Jordan renderam-lhe muitos prêmios, incluindo o Prêmio Ulf Grenander em Teoria Estocástica e Modelagem da American Mathematical Society deste ano (2021). No ano passado, ele recebeu a medalha IEEE John von Neumann por suas contribuições para o aprendizado de máquina e ciência de dados.

Nos últimos anos, ele tem a missão de ajudar cientistas, engenheiros e outros a compreender todo o escopo do aprendizado de máquina.

Ele diz acreditar que os desenvolvimentos no aprendizado de máquina refletem o surgimento de um novo campo da engenharia.

Jordan traça paralelos com o surgimento da engenharia química no início de 1900 a partir dos fundamentos da química e da mecânica dos fluidos, observando que o aprendizado de máquina se baseia em décadas de progresso na ciência da computação, estatística e teoria de controle. Além disso, diz ele, é a primeira área da engenharia humano cêntrica, voltada para a interface entre as pessoas e a tecnologia.

“Embora as discussões de ficção científica sobre IA e superinteligência sejam divertidas, elas são uma distração”, diz ele. “Não tem havido foco suficiente no problema real, que é construir sistemas baseados em aprendizado de máquina em escala planetária que realmente funcionem, agreguem valor aos humanos e não ampliem as desigualdades.”

Esclarecendo a Inteligência Artificial

Em 2019, Jordan escreveu “Artificial Intelligence – The Revolution Hasn Happened Yet”, publicado na Harvard Data Science Review.

Ele explica no artigo que o termo IA é mal compreendido não apenas pelo público, mas também pelos tecnólogos.

Na década de 1950, quando o termo foi cunhado, ele escreve, as pessoas aspiravam a construir máquinas de computação que possuíssem inteligência de nível humano.

Essa aspiração ainda existe, diz ele, mas o que aconteceu nas décadas que se seguiram é algo diferente.

Os computadores não se tornaram inteligentes “per se”, mas forneceram recursos que aumentam a inteligência humana, escreve ele.

Além disso, eles se destacaram em recursos de reconhecimento de padrões de baixo nível que poderiam ser realizados em princípio por humanos, mas com grande custo.

Os sistemas baseados em aprendizado de máquina são capazes de detectar fraudes em transações financeiras em grande escala, por exemplo, catalisando assim o comércio eletrônico. Eles são essenciais na modelagem e controle de cadeias de suprimentos na manufatura e na área de saúde.

Eles também ajudam corretores de seguros, médicos, educadores e cineastas.

Apesar de tais desenvolvimentos serem chamados de “tecnologia de IA”, ele escreve, os sistemas subjacentes não envolvem raciocínio ou pensamento de alto nível.

Os sistemas não formam os tipos de representações e inferências semânticas de que os humanos são capazes.

Eles não formulam e perseguem objetivos de longo prazo.

“Em um futuro previsível, os computadores não serão capazes de se equiparar aos humanos em sua capacidade de raciocinar abstratamente sobre as situações do mundo real”, escreve ele. “Precisaremos de interações bem pensadas de humanos e computadores para resolver nossos problemas mais urgentes. Precisamos entender que o comportamento inteligente de sistemas de grande escala surge tanto das interações entre os agentes quanto da inteligência dos agentes individuais. ”

Além disso, ele enfatiza, a felicidade humana não deve ser deixada de lado ao desenvolver tecnologia. “Temos uma oportunidade real de conceber algo historicamente novo: uma disciplina de engenharia centrada no homem”, escreve Jordan.

A perspectiva de Jordan inclui uma discussão revitalizada do papel da engenharia nas políticas públicas e na pesquisa acadêmica.

Ele ressalta que, quando as pessoas falam sobre ciências sociais, parece atraente, mas o termo engenharia social parece pouco atraente.

O mesmo vale para a ciência do genoma versus engenharia do genoma.

“Acho que permitimos que o termo engenharia diminuísse na esfera intelectual”, diz ele.

O termo ciência é usado em vez de engenharia quando as pessoas desejam se referir à pesquisa visionária. Frases como “apenas engenharia” não ajudam.

“Acho que é importante lembrar que, apesar de todas as coisas maravilhosas que a ciência fez pela espécie humana, é realmente a engenharia - civil, elétrica, química e outras áreas da engenharia - que aumentou mais direta e profundamente a felicidade humana.”

Artigos relacionados :

IoT e os dados dos sensores e do CLP

IoT o que fazer após a instalação?

IoT na Agricultura 4.0 – A Tecnologia a Serviço do Campo


Image by Gerd Altmann from Pixabay
porRicardo Jorge

COVID-19 Dados Reflexões e Estatísticas

Neste artigo sobre COVID-19 Dados Reflexões e Estatísticas, teremos uma abordagem diferente dos demais artigos já publicados neste Blog.

É claro que todos nós já percebemos o impacto mundial causado por esta pandemia do coronavírus, mas desejo aproveitar este espaço para colocar alguns dados coletados dos sites About Corona e WHO (OMS) onde é possível avaliar o status do Brasil, perante outras nações no que diz respeito a esta pandemia.

Espero que isto possa contribuir para melhor entendermos porque tanto se fala sobre este vírus, mas também percebermos que ainda há muito por ser feito, mesmo no âmbito mundial.

COVID-19 um pouco de história

Em 31 de dezembro de 2019, a Organização Mundial da Saúde (OMS) foi alertada sobre vários casos de pneumonia na cidade de Wuhan, província de Hubei, na República Popular da China. Tratava-se de uma nova cepa (tipo) de coronavírus que não havia sido identificada antes em seres humanos.

Uma semana depois, em 7 de janeiro de 2020, as autoridades chinesas confirmaram que haviam identificado um novo tipo de coronavírus. Os coronavírus estão por toda parte. Eles são a segunda principal causa de resfriado comum (após rinovírus) e, até as últimas décadas, raramente causavam doenças mais graves em humanos do que o resfriado comum.

Ao todo, sete coronavírus humanos (HCoVs) já foram identificados: HCoV-229E, HCoV-OC43, HCoV-NL63, HCoV-HKU1, SARS-COV (que causa síndrome respiratória aguda grave), MERS-COV (que causa síndrome respiratória do Oriente Médio) e o, mais recente, novo coronavírus (que no início foi temporariamente nomeado 2019-nCoV e, em 11 de fevereiro de 2020, recebeu o nome de SARS-CoV-2). Esse novo coronavírus é responsável por causar a doença COVID-19.

A OMS tem trabalhado com autoridades chinesas e especialistas globais desde o dia em que foi informada, para aprender mais sobre o vírus, como ele afeta as pessoas que estão doentes, como podem ser tratadas e o que os países podem fazer para responder.

A Organização Pan-Americana da Saúde (OPAS) tem prestado apoio técnico aos países das Américas e recomendado manter o sistema de vigilância alerta, preparado para detectar, isolar e cuidar precocemente de pacientes infectados com o novo coronavírus.

Dados obtidos do site : PAHO

Reflexões sobre saúde e qualidade de vida

É importante entender que, embora o coronavírus seja um assunto muito divulgado nas Redes Sociais e na mídia em geral, existem muitos outros focos de atenção que deveriam estar em nossos radares, durante e após esta pandemia.

Imaginar que basta tomar a vacina e tudo voltará ao normal, parece ser algo distante da realidade para muitas pessoas no mundo.

O motivo é que várias outras ameaças continuarão a existir, mas que são pouco divulgadas ou pouco percebidas, porque não afetam a maioria das pessoas com melhores condições sócio econômicas.

Contudo, isto não significa que não sejam importantes e que não deveriam ser tanto ou mais divulgadas do que a pandemia de COVID-19.

Alguns dados importantes e tristes ao mesmo tempo :

Como podemos ver, em apenas 4 tópicos acima, ainda temos muito com o que nos preocuparmos e também com o que contribuirmos para melhorar.

Usando tecnologia para entender nosso mundo

Como eu mencionei no início deste artigo, elaborei um pequeno “Flow” usando Node-RED para obter dados sobre COVID-19, selecionando alguns países e assim poder comparar com o Brasil.

Conhecer, comparar e entender o que acontece, é o primeiro passo para definir o que pode e deve ser feito.

Cada um, como cidadão, terá sua visão e assim uma forma de contribuição.

Após a execução do “Flow”, o resultado é uma tela similar a que é vista abaixo.

As coletas anteriores podem ser vistas aqui.

Observação : nem todos os países atualizam os dados com a mesma frequência.


Abaixo, segue o “Flow” Node RED usado para estas coletas.

Na versão 3, existem informações adicionais como :

  • Percentual de vacinados, que é obtida do site WHO / OMS.
  • Dados sobre território dos países
  • Informação sobre Renda Per Capita, obtida deste link no site Wikipédia.

Blog atualizado em 24/05/2021

Encontrou algum erro ou tem uma ideia para melhorar o código, envie sua sugestão!


Flow – versão 3

[{"id":"1b35239f.67dcdc","type":"tab","label":"COVID-19","disabled":false,"info":""},{"id":"8cecea9a.393958","type":"inject","z":"1b35239f.67dcdc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"15 21 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":240,"wires":[["5f3b6ebb.187e5"]]},{"id":"e28fcea8.5235b","type":"json","z":"1b35239f.67dcdc","name":"","property":"payload","action":"","pretty":true,"x":530,"y":100,"wires":[["3b331cf6.603b34"]]},{"id":"ffb139b8.592478","type":"http request","z":"1b35239f.67dcdc","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://corona-api.com/countries","tls":"","persist":false,"proxy":"","authType":"","x":370,"y":100,"wires":[["e28fcea8.5235b"]]},{"id":"ba7a1fef.62ec3","type":"debug","z":"1b35239f.67dcdc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":850,"y":100,"wires":[]},{"id":"3b331cf6.603b34","type":"function","z":"1b35239f.67dcdc","name":"","func":"var brasilTime = new Date().toLocaleString(\"pt-BR\", {timeZone: \"America/Sao_Paulo\"});\n\nvar d = new Date(brasilTime);\n\nvar diaSemanaA = new Array('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb');\nvar curDiaSemanaA = diaSemanaA[d.getDay()];\n\nvar curHour = d.getHours();\nvar curMin = d.getMinutes();\nvar curDay = d.getDate();\nvar curMonth = d.getMonth() + 1;\nvar curYear = d.getFullYear();\n\nif (curMin < 10) {\n        curMin = \"0\" + curMin;\n}\n\nif (curHour < 10) {\n    curHour = \"0\" + curHour;\n}\n\nvar cur_date = curDiaSemanaA + \" \" + curDay + \"/\" + curMonth + \"/\" + curYear + \" - \" + curHour + \":\" + curMin;\n\nmsg.cur_date = cur_date;\n\n// Site OMS utiliza ISO3 ( 3 digitios ) para identificar os paises\n// Site About Corona utiliza 2 digitos para identificar os paises\n// A ordem dos paises deve ser a mesma para os 2 sites\n//\n\nvar countries_code = [\"BR\", \"US\", \"MX\", \"AR\", \"CL\", \"GB\", \"IT\", \"ES\", \"PT\", \"BE\", \"DE\", \"FR\", \"ZA\", \"RU\", \"IN\", \"CN\"];\nvar countries_iso3 = [\"BRA\", \"USA\", \"MEX\", \"ARG\", \"CHL\", \"GBR\", \"ITA\", \"ESP\", \"PRT\", \"BEL\", \"DEU\", \"FRA\", \"ZAF\", \"RUS\", \"IND\", \"CHN\"];\n\n/*\nBrasil\t\t    8515767\nUSA\t\t        8081867\nMexico\t\t    1972550\nArgentina\t    2780400\nChile\t\t    756096\nUK\t\t        240000\nItalia\t\t    301340\nEspanha\t\t    505990\nPortugal\t    92090\nBelgica\t\t    30689\nAlemanha\t    349380\nFrança\t\t    551500\nAfrica do Sul\t1213090\nRussia\t\t    17098246\nIndia\t\t    2973190\nChina\t\t    9424702\n*/\n\nvar countries_territory = [\"8.515.767\", \"8.081.867\", \"1.972.550\", \"2.780.400\", \"756.096\", \"240.000\", \"301.340\", \"505.990\", \"92.090\", \"30.689\", \"349.380\", \"551.500\", \"1.213.090\", \"17.098.246\", \"2.973.190\", \"9.424.702\"];\nvar countries_per_capita = [\"11.075\", \"65.111\", \"10.118\", \"9.887\", \"15.399\", \"41.030\", \"32.946\", \"29.961\", \"23.030\", \"45.175\", \"46.563\", \"41.760\", \"6.100\", \"11.162\", \"2.171\", \"10.098\"];\n\nvar countries_arr = [];\n\nvar d_rate,r_rate,c_million,confirmed,recovered,critical,deaths,population,percent;\n\nvar countriesLen = countries_code.length;\n\nvar covidLen = msg.payload.data.length;\n\nvar vaccinated_arr = flow.get('vaccinated_arr') || {};\nvar vaccines_arr = flow.get('vaccines_arr') || {};\n\nvar vaccinated,vaccines;\n\nfor (n = 0; n <countriesLen; n++) {\n    \n    for (i = 0; i < covidLen; i++) {\n        if(msg.payload.data[i].code == countries_code[n]) {\n\n            population = msg.payload.data[i].population;\n            deaths = msg.payload.data[i].latest_data.deaths;\n            percent = (deaths / population) * 100;\n            msg.payload.data[i].percent = percent.toPrecision(2);\n\n            msg.payload.data[i].territory = countries_territory[n];\n            msg.payload.data[i].per_capita = countries_per_capita[n];\n\n            msg.payload.data[i].population = msg.payload.data[i].population.toLocaleString('pt-BR');\n            msg.payload.data[i].latest_data.deaths = msg.payload.data[i].latest_data.deaths.toLocaleString('pt-BR');\n            d_rate = msg.payload.data[i].latest_data.calculated.death_rate;\n            msg.payload.data[i].latest_data.calculated.death_rate = d_rate.toPrecision(4);\n            r_rate = msg.payload.data[i].latest_data.calculated.recovery_rate;\n            msg.payload.data[i].latest_data.calculated.recovery_rate = r_rate.toPrecision(4);\n            c_million = msg.payload.data[i].latest_data.calculated.cases_per_million_population;\n            msg.payload.data[i].latest_data.calculated.cases_per_million_population = c_million.toLocaleString('pt-BR');\n            confirmed = msg.payload.data[i].latest_data.confirmed;\n            msg.payload.data[i].latest_data.confirmed = confirmed.toLocaleString('pt-BR');\n            recovered = msg.payload.data[i].latest_data.recovered;\n            msg.payload.data[i].latest_data.recovered = recovered.toLocaleString('pt-BR');\n            critical = msg.payload.data[i].latest_data.critical;\n            msg.payload.data[i].latest_data.critical = critical.toLocaleString('pt-BR');\n\n            if(vaccinated_arr[n]===undefined) {\n                vaccinated = 0;\n            } else {\n                vaccinated = vaccinated_arr[n];\n            }\n\n            if(vaccines_arr[n]===undefined) {\n                vaccines = 0;\n            } else {\n                vaccines = vaccines_arr[n];\n            }\n            \n            vaccinated = (vaccinated / population) * 100;\n\n            msg.payload.data[i].vaccinated = vaccinated.toPrecision(2);\n            msg.payload.data[i].vaccines = vaccines.toLocaleString('pt-BR');\n            \n            countries_arr.push(JSON.parse(JSON.stringify(msg.payload.data[i])));\n        }\n    }\n}\n\nmsg.payload = countries_arr;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":680,"y":100,"wires":[["ba7a1fef.62ec3","981ebf4a.016de"]]},{"id":"981ebf4a.016de","type":"ui_template","z":"1b35239f.67dcdc","group":"ac573138.1cb5b","name":"Covid-19 - Estatísticas","order":1,"width":"26","height":"16","format":"<style>\ntable {\n  border-collapse: collapse;\n  width: 100%;\n}\n\nth, td {\n  padding: 8px;\n  text-align: left;\n  border-bottom: 1px solid #ddd;\n}\n\ntr:nth-child(even) {background-color: #e6ffcc;}\n\ntr:nth-child(odd) {background-color: #bfff80;}\n\nth {\n  background-color: black;\n  color: white;\n  text-align: center;\n}\n\n}\n</style>\n<center>\n    <h2>Informações COVID-19</h2>\n    <br>\n    <h4>Estes dados são obtidos dos sites <a href=\"https://about-corona.net\" target=\"_blank\">About Corona</a> e <a href=\"https://covid19.who.int/info/\" target=\"_blank\">WHO (OMS)</a></h4>\n    <br>\n</center>\n<table id=\"table\">\n <tr>\n <th>Pais</th>\n <th>Território km2</th>\n <th>Per Capita US$</th>\n <th>Habitantes</th>\n <th>Mortes</th>\n <th>% Populacional</th>\n <th>Confirmados</th>\n <th>Recuperados</th>\n <th>Críticos</th>\n <th>Taxa de mortalidade</th>\n <th>Taxa de recuperados</th>\n <th>Casos por milhão</th>\n <th>Doses aplicadas</th>\n <th>% vacinados</th>\n </tr>\n <tbody>\n <tr ng-repeat=\"row in msg.payload\">\n <td>{{::row.name}}</td>\n <td>{{::row.territory}}</td>\n <td>{{::row.per_capita}}</td>\n <td>{{::row.population}}</td>\n <td>{{::row.latest_data.deaths}}</td>\n <td>{{::row.percent}}</td>\n <td>{{::row.latest_data.confirmed}}</td>\n <td>{{::row.latest_data.recovered}}</td>\n <td>{{::row.latest_data.critical}}</td>\n <td>{{::row.latest_data.calculated.death_rate}}</td>\n <td>{{::row.latest_data.calculated.recovery_rate}}</td>\n <td>{{::row.latest_data.calculated.cases_per_million_population}}</td>\n <td>{{::row.vaccines}}</td>\n <td>{{::row.vaccinated}}</td>\n </tr>\n </tbody>\n</table>\n<p><br><br><b>Coleta feita em :</b> {{msg.cur_date}}</p>","storeOutMessages":false,"fwdInMessages":true,"templateScope":"local","x":880,"y":180,"wires":[[]]},{"id":"a83a28ee.7e39b8","type":"http request","z":"1b35239f.67dcdc","name":"","method":"GET","ret":"bin","paytoqs":"ignore","url":"https://covid19.who.int/who-data/vaccination-data.csv","tls":"","persist":false,"proxy":"","authType":"","x":330,"y":340,"wires":[["52c552ca.e6991c"]]},{"id":"52c552ca.e6991c","type":"file","z":"1b35239f.67dcdc","name":"","filename":"/home/pi/who_vaccination.csv.gz","appendNewline":false,"createDir":false,"overwriteFile":"true","encoding":"none","x":320,"y":420,"wires":[["f353a813.660b08"]]},{"id":"f353a813.660b08","type":"exec","z":"1b35239f.67dcdc","command":"/home/pi/who.sh","addpay":"","append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":600,"y":420,"wires":[[],[],[]]},{"id":"b73c490b.639498","type":"csv","z":"1b35239f.67dcdc","name":"","sep":",","hdrin":true,"hdrout":"none","multi":"mult","ret":"\\r\\n","temp":"","skip":"0","strings":true,"include_empty_strings":"","include_null_values":"","x":290,"y":160,"wires":[["3ba823a8.2337dc"]]},{"id":"5f3b6ebb.187e5","type":"file in","z":"1b35239f.67dcdc","name":"","filename":"/home/pi/who_vaccination.csv","format":"utf8","chunk":false,"sendError":false,"encoding":"none","x":510,"y":240,"wires":[["b73c490b.639498"]]},{"id":"3ba823a8.2337dc","type":"function","z":"1b35239f.67dcdc","name":"","func":"//\n// Site OMS utiliza ISO3 para identificar os paises\n//\n// A ordem dos paises deve ser a mesma ordem da coleta do site About Corona\n//\n\nvar countries_iso3 = [\"BRA\", \"USA\", \"MEX\", \"ARG\", \"CHL\", \"GBR\", \"ITA\", \"ESP\", \"PRT\", \"BEL\", \"DEU\", \"FRA\", \"ZAF\", \"RUS\", \"IND\", \"CHN\"];\n\nvar vaccinated_arr = [];\nvar vaccinated;\n\nvar vaccines_arr = [];\nvar vaccines;\n\nvar countriesLen = countries_iso3.length;\n\nvar covidLen = msg.payload.length;\n\nfor (n = 0; n <countriesLen; n++) {\n    \n    for (i = 0; i < covidLen; i++) {\n        if(msg.payload[i].ISO3 == countries_iso3[n]) {\n\n            vaccinated = msg.payload[i].PERSONS_VACCINATED_1PLUS_DOSE;\n            vaccines = msg.payload[i].TOTAL_VACCINATIONS;\n            \n            if(vaccinated === undefined) {\n                vaccinated = 0;\n            }\n\n            if(vaccines === undefined) {\n                vaccines = 0;\n            }\n\n            vaccinated_arr.push(vaccinated);\n            vaccines_arr.push(vaccines);\n        }\n    }\n}\n\nflow.set('vaccinated_arr',vaccinated_arr);\nflow.set('vaccines_arr',vaccines_arr);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":160,"wires":[["ffb139b8.592478"]]},{"id":"f7e44017.8c1f2","type":"inject","z":"1b35239f.67dcdc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":120,"y":300,"wires":[["a83a28ee.7e39b8","344d13a7.c349dc"]]},{"id":"344d13a7.c349dc","type":"delay","z":"1b35239f.67dcdc","name":"","pauseType":"delay","timeout":"8","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":300,"y":280,"wires":[["5f3b6ebb.187e5"]]},{"id":"cad7a71a.ef5328","type":"comment","z":"1b35239f.67dcdc","name":"Estatísticas COVID-19 - Versão 3","info":"Nesta versão temos o percentual de vacinados e a indormação é obtidia do site OMS ( https://covid19.who.int/info/ )","x":170,"y":40,"wires":[]},{"id":"9fe3cedb.7b7a7","type":"inject","z":"1b35239f.67dcdc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"10 21 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":340,"wires":[["a83a28ee.7e39b8"]]},{"id":"ac573138.1cb5b","type":"ui_group","name":"COVID-19","tab":"42287a7d.74e004","order":2,"disp":true,"width":"26","collapse":true},{"id":"42287a7d.74e004","type":"ui_tab","name":"COVID","icon":"dashboard","disabled":false,"hidden":false}]

Assuntos relacionados :

Node-RED – apresentação


Image by Pete Linforth from Pixabay