Mortes em Portugal

Muito se fala nas últimas semanas em Portugal sobre o Covid-19, e sobre o seu impacto. Infelizmente, é tudo muito apaixonado, e muito pouco baseado em factos, e nomeadamente factos contextualizados.

A minha pergunta favorita para quem acha que esta situação merece um Estado de Emergência é a seguinte, e sugiro ao leitor que a tente responder, se não sabe: Quantas pessoas morrem por dia em Portugal?

O site https://evm.min-saude.pt/ é um site oficial do Ministério da Saúde, que faz a vigilância da mortalidade em Portugal, em tempo real. Tem uma série de dados que começa em 2009, e que portanto nos dá uma ideia clara de como evolui, diariamente, a mortalidade em Portugal.

O gráfico que eles tem na primeira página tem uma resolução diária, e um eixo dos yy que não deixa ver o gráfico com clareza. Por isso fui buscar os dados para uma folha de cálculo, calculei uma média móvel de 7 dias, e o resultado está no gráfico abaixo (cliquem para ampliar). Anoto a seguir alguns pontos importantes, alguns deles apontados também no gráfico:

  • A curva a preto é o número de mortes em Portugal em 2020.
  • A curva a azul é o número de mortes em Portugal em 2020, descontadas as mortes oficiais do Covid-19.
  • Os valores mínimos de mortes ocorreram nos dias 6 e 7 de março, com 284 mortes em cada um desses dias. O valor mínimo em termos de média móvel é alcançado no dia 8 de março.
  • As escolas fecharam no dia 13 de março e não voltaram a abrir.
  • A primeira morte oficial de Covid-19 foi registada a 16 de março.
  • O Estado de Emergência foi decretado a 18 de março.

Da análise do gráfico é também possível tirar algumas conclusões imediatas:

  • De uma forma geral morre-se muito menos em Portugal no Verão do que no Inverno. Este é um tema interessantíssimo, que tentaremos abordar em artigos posteriores.
  • Morreu-se este ano muito menos em fevereiro que o habitual.
  • Já se morreu muito mais por dia em Portugal. No dia 2017-01-02 morreram 578 pessoas em Portugal. No pico de Covid-19, morreram no dia 2020-04-07, 379 pessoas. Quase 200 pessoas menos num dia!
  • A subida registada a partir de dia 6 de março é uma evolução completamente atípica para o mês de março.

Relativamente ao último ponto, só vejo duas hipóteses para a subida verificada:

  • O número de mortes por Covid-19 é muito superior ao que vem referenciado nas estatísticas da DGS;
  • O número de mortes decorrente do confinamento social é superior ao número de mortes oficiais de Covid-19.

Há muita coisa que salta destes números. Mas, para já, vou apenas cingir-me aos dados…

Embrulhar matematicamente

Já houve ocasiões em que ao embrulhar um presente o papel ficou curto. Por isso, hoje verifiquei com surpresa que há um método de embrulho mais eficiente que o que uso: embrulhar na diagonal.

Todavia, os vídeos que vi eram todos a olho, e nenhum explicava muito bem como cortar o papel de forma mais ou menos ótima. Ainda tive que procurar um bom bocado na net, mas curiosamente a melhor explicação que encontrei é a de uma portuguesa, Sara Santos.

Encontrei as fórmulas neste link, mas uma explicação num vídeo da BBC, com a própria Sara Santos, a partir do minuto 2:40 do vídeo abaixo. Não sei ainda quanto é a poupança sobre o método tradicional, mas também não deve ser difícil de calcular…

Desculpas de programador

“You must have done something wrong”

Por causa de outras coisas, lá fui dar com um site com um conjunto de desculpas de programador.

O site é isso mesmo, uma coleção de desculpas, algumas das quais, que quem trabalha com sistemas de informação já ouviu. A cada nova visita, uma nova frase é mostrada. É só isto.

You must have done something wrong” é das que mais se ouvem. Na realidade, até acho que o site podia chamar-se “coisas que os programadores dizem” porque não lhes vejo más intenções quando o dizem, apenas dificuldades de tradução.

Outras pérolas registadas no site:

Refazer peças de plástico sem impressora 3D

Fiquei impressionado com a “engenhosidade” da técnica de recuperação de peças de plástico partidas apresentada neste vídeo por permitir recuperar coisas que tipicamente não tinham outra solução que não fosse usar assim ou comprar uma nova.

A solução apresentada no vídeo passa por juntar bicarbonato de sódio com super-cola para obter um cimento/cola. Esse cimento/cola solidifica muito rapidamente e pode depois ser limado e cortado à forma desejada.

A vantagem de utilizar a super-cola com o bicarbonato de sódio é que esta cria uma massa rígida que pode ser depois limada ou cortada ao formato da peça que se partiu. A super-cola, por seu lado, quando usada em separado, só serve de cola.

Esta solução pode não ser nova na web, mas para mim, que volta e meia tenho de arranjar o que lá em casa alguém diz que “partiu-se”, pode vir a servir. Pode servir, por exemplo, para reconstruir a tampa das pilhas do comando remoto com que uma das crianças teima em brincar enquanto vê televisão.

No vídeo, o autor diz que viu a técnica em vídeos de recuperação de instrumentos musicais e não entra em muitos detalhes sobre a razão pela qual a super-cola reage com o bicarbonato de sódio, mas demonstra a sua aplicação em vários objetos que aparentemente não teriam solução.

Com esta solução, a compra de uma impressora 3D deixa de ter menos uma vantagem a seu favor. E já tínhamos aqui apontado desvantagens de usar uma impressora 3D.

Medir o sinal WiFi e mostrá-lo no Home-assistant

Sinal Wifi no Home-assistant

Os equipamentos baseados em ESP8266 e ESP32 (ESP) podem também servir-vos para medir a intensidade do sinal Wifi lá de casa. Isto pode ser útil para determinar se precisam de um repetidor de sinal Wifi, mudar o router wifi de sitio ou melhorar a antena do router Wifi.

A velocidade da Internet nos equipamentos sem fios depende da qualidade do sinal Wifi, por isso, é útil ter a capacidade de medir esse sinal como forma de depois sabermos o que temos de melhorar.

Com o ESPhome.io e alguns ESP isto fica tudo muito mais fácil de integrar no Home-assistant. Acrescentar um sensor de sinal Wifi ao Home-assistant através do ESPhome significa apenas acrescentar mais 3 linhas à configuração de cada ESP na secção sensor:.

- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 3600s

No exemplo do ESPhome.io vão encontrar como intervalo de tempo entre cada medida (update_interval) 60s. Para mim, medir a cada 60 minutos, e por isso configuro os sensores com 3600s.

Como todos os outros sensores do ESPhome.io, o Home-assistant vai identificar automaticamente o novo sensor e podemos por isso acrescentá-lo depois aos painéis.

A unidade de medida de apresentação dos resultados é o decibel (dB), que significa “um décimo de um Bel”. Para interpretar de forma útil os valores apresentados, uso como referência que um bom sinal terá de ficar entre os -70dB e -60dB, sendo melhor à medida que se aproxima de 0. Mas a tabela abaixo, traduzida do site MetaGeek, pode ajudar a perceber melhor como é que isto nos pode ser útil.

Força do sinalTL;DR DescriçãoEssencial para:
-30 dBmEspetacularMáxima força do sinal. O equipamento tem de estar muito perto do router Wifi, o que é pouco usual no mundo real.N/A
-67 dBmMuito bomSinal mínimo para aplicações que necessitam de uma ligação estável e atempada dos pacotes de comunicação.VoIP/VoWiFi, streaming video
-70 dBmBomSinal mínimo para considerar uma ligação capaz de entregar pacotes de comunicação.Email, web
-80 dBmNada bomSinam minimo para considerar que há uma ligação. Não é garantida a entrega dos pacotes de comunicação.N/A
-90 dBmInútilA aproximar-se dos limites do impossível. É quase impossível ter qualquer tipo de funcionalidade com esta força de sinal.N/A

Se forem olhar novamente para a imagem que está no inicio deste artigo vão ver que existe um ESP a obter uma medição de -21dB. Este ESP está a menos de um palmo do meu router, e por isso tem esta medição espetacular.

Interruptores smart com ESPhome e Home-assistant

Com o tempo, tenho transformado o meu apartamento numa smart home. Fiz isso usando o Home-assistant (HASS), alguns ESP8266 e ESP32 com vários tipos de sensores, e uns interruptores da marca SonOff, produzidos pela ITEAD.

Até há uns dias, usava código meu nos ESP8266 e ESP32. Nos interruptores, algo bem mais complicado, converti-os do firmware original para um firmware free open source chamado Tasmota. Este firmware Tasmota é largamente utilizado pela comunidade portuguesa do HASS. Nesta conversão, a parte mais difícil é mesmo abrir os interruptores e soldar uns pins a um programador série para fazer upload do código. Só custa a primeira vez…

Aqui há uns dias, converti todos os meus ESP para ESPhome, pelas várias vantagens que já referi. Hoje, decidi testar o ESPhome num dos meus interruptores de testes da SonOff.

As instruções para fazer esta mudança dos SonOff de Tasmota para ESPhome estão no próprio site do ESPhome. Mas ficam aqui os passos que fiz para um SonOff T2.

A primeira coisa que é necessário fazer é gerar um firmware com Over The Air (OTA) e fazer upload para o SonOff. Fiz tal e qual como nas instruções do ESPhome.

Cada interruptor smart-home SonOff pode ter uma configuração diferente. Cá em casa tenho vários SonOff T1 com 1 e 2 interruptores. Seguindo as instruções do ESPhome, fiz um teste com o SonOff T1 2ch.

No site está uma tabela com os pins e a configuração que temos de preparar em cada pin.


Pin
Função
GPIO0 Button 1 (inverted)
GPIO12 Relay 1 and Blue LED
GPIO9 Button 2 (inverted)
GPIO5 Relay 2 and Blue LED
GPIO10 Button 3 (inverted)
GPIO4 Relay 3 and Blue LED
GPIO13 Blue LED (inverted)
GPIO1 UART TX pin (for external sensors)
GPIO3 UART RX pin (for external sensors)

Por cada botão, vamos ter de adicionar uma secção destas:

binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff 2CH Button 1"
on_press:
- switch.toggle: relay_1

E um destes:

switch:
- platform: gpio
name: "Sonoff 2CH Relay 1"
pin: GPIO12
id: relay_1

Vão ter de arrumar todos os switch e todos os binary_sensor na mesma secção, e não se podem repetir secções.

Reparem que o binary_sensor, que aqui representa um dos botões no painel do SonOff, tem uma condição on_press que altera um switch chamado relay_1. Este nome deve ser colocado como identificador do switch que querem mudar de posição. Neste caso, o id do switch 1 será relay_1.

É esta condição que faz com que a luz se ligue ou desligue de cada vez que pressionam o botão no painel do interruptor.

O resultado final fica assim:

substitutions:
  hostname: 'sonoff_04'
esphome:
  name: $hostname
  platform: ESP8266
  board: esp01_1m
wifi:
  ssid: MINHA_REDE_WIFI
  password: PASSWORD_DA_MINHA_REDE_WIFI
  fast_connect: True
  domain: .home
api:
  reboot_timeout: 0s
  password: "PASSWORD_PARA_API"
ota:
  safe_mode: True
  password: PASSWORD_PARA_OTA
logger:
# SonOff T2 2CH configuration
binary_sensor:
  - platform: gpio
    pin:
     number: GPIO0
     mode: INPUT_PULLUP
     inverted: True
    name: "$hostname Button 1"
    on_press:
     - switch.toggle: relay_1
  - platform: gpio
    pin:
     number: GPIO9
     mode: INPUT_PULLUP
     inverted: True
    name: "$hostname Button 2"
    on_press:
      - switch.toggle: relay_2
switch:
  - platform: gpio
    name: "$hostname Relay 1"
    pin: GPIO12
    id: relay_1
  - platform: gpio
    name: "$hostname Relay 2"
    pin: GPIO5
    id_5
output:
  - platform: esp8266_pwm
    id: sonoff_led
    pin:
      number: GPIO13
      inverted: True
light:
  - platform: monochromatic
    name: "Sonoff LED"
    output: sonoff_led

Reparem como aproveitei o que que explico sobre como configurar o ESPhome para facilitar os nomes de cada sensor e atuador.

Assim, se depois de ter o interruptor a teste uns dias estiver tudo a funcionar sem problemas, basta mudar o nome do hostname na secção substitutions para ter tudo pronto para outro interruptor com a mesma configuração. Só muda o nome.