{"id":225,"date":"2025-01-19T00:04:41","date_gmt":"2025-01-19T03:04:41","guid":{"rendered":"https:\/\/www.wagnersalvi.com.br\/?p=225"},"modified":"2025-03-04T23:12:18","modified_gmt":"2025-03-05T02:12:18","slug":"exemplo-de-aplicacao-iot-com-raspberry","status":"publish","type":"post","link":"http:\/\/www.wagnersalvi.com.br\/?p=225","title":{"rendered":"Exemplo de Aplica\u00e7\u00e3o iOT com Raspberry"},"content":{"rendered":"\n<h5 class=\"wp-block-heading\"><strong>Materiais necess\u00e1rios<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Raspberry Pi (qualquer modelo com GPIO).<\/li>\n\n\n\n<li>Sensor de temperatura e umidade DHT11 ou DHT22.<\/li>\n\n\n\n<li>Resist\u00eancia de 10k\u03a9 (para o DHT22, n\u00e3o necess\u00e1ria para o DHT11).<\/li>\n\n\n\n<li>Jumpers para conex\u00e3o.<\/li>\n\n\n\n<li>Protoboard (opcional).<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Diagrama de conex\u00e3o<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>DHT Sensor<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Pino 1 (VCC) \u2192 3.3V do Raspberry Pi.<\/li>\n\n\n\n<li>Pino 2 (Data) \u2192 GPIO 4 (ou qualquer GPIO configur\u00e1vel).<\/li>\n\n\n\n<li>Pino 4 (GND) \u2192 GND do Raspberry Pi.<\/li>\n\n\n\n<li>Para o DHT22: Conecte um resistor de 10k\u03a9 entre o pino VCC e o pino Data.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Configura\u00e7\u00e3o do software<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Instale o Raspberry Pi OS em seu Raspberry Pi.<\/li>\n\n\n\n<li>Certifique-se de que o Python esteja instalado.<\/li>\n\n\n\n<li>Instale a biblioteca necess\u00e1ria para o sensor:bashCopiarEditar<code>pip install adafruit-circuitpython-dht sudo apt-get install libgpiod2<\/code><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>C\u00f3digo Python<\/strong><\/h5>\n\n\n\n<p>Aqui est\u00e1 o c\u00f3digo completo para ler os dados do sensor:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import time\nimport adafruit_dht\nimport board\n\n# Configura o sensor DHT (substitua 'D4' pelo pino GPIO correto)\nDHT_SENSOR = Adafruit_DHT.DHT22 \/\/ definido o tipo de sensor que pode ser DHT22 ou DHT11\nHT_PIN = 4\ntry:\n    while True:\n        try:\n            # L\u00ea os dados do sensor\n            umidade, temperatura = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN) \/\/ tras umidade em percentual e temperatura em celsius\n\n            # Exibe os dados\n            print(f\"Temperatura: {temperatura :.1f}\u00b0C | Umidade: {umidade:.1f}%\")\n\n        except RuntimeError as e:\n            # O sensor pode falhar ocasionalmente, apenas tente novamente\n            print(f\"Erro ao ler o sensor: {e}\")\n\n        # Aguarda 2 segundos antes de tentar novamente\n        time.sleep(2)\n\nexcept KeyboardInterrupt:\n    print(\"Encerrando o programa.\")\n\nfinally:\n    dht_sensor.exit()<\/pre>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Execu\u00e7\u00e3o do c\u00f3digo<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Salve o c\u00f3digo em um arquivo chamado <code>ler_temperatura.py<\/code>.<\/li>\n\n\n\n<li>Execute o script: <code>python ler_temperatura.py<\/code><\/li>\n<\/ol>\n\n\n\n<p><\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Exemplo real desta aplica\u00e7\u00e3o<\/strong><\/h5>\n\n\n\n<p>E o Raspbber com suas diversas portas pode ser conectados &#8220;v\u00e1rios sensores tornando ele em uma central de sensores para automa\u00e7\u00e3o desejada.<\/p>\n\n\n\n<p>Abaixo temos um Raspberry que uso para testes de implementa\u00e7\u00f5es \/ demonstra\u00e7\u00f5es e\/ou aulas onde atualmente ele est\u00e1 da seguinte configura\u00e7\u00e3o:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"634\" src=\"https:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/ExemploRaspberry-1024x634.png\" alt=\"\" class=\"wp-image-229\" srcset=\"http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/ExemploRaspberry-1024x634.png 1024w, http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/ExemploRaspberry-300x186.png 300w, http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/ExemploRaspberry-768x475.png 768w, http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/ExemploRaspberry-1536x951.png 1536w, http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/ExemploRaspberry-2048x1268.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Acima o Raspberry est\u00e1 ligada na protoboard que \u00e9 a placa toda perfurada na figura para que se assim possa se &#8220;desenhar&#8221; v\u00e1rios circuitos e prot\u00f3tipos antes de desenvolver \/ imprimir uma placa eletr\u00f4nica que ser\u00e1 usada para um proposito especifico. A placa acima temos tr\u00eas sensores<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sensor de \u00c1gua (destacado em azul)<\/li>\n\n\n\n<li>Sensor de Presen\u00e7a (destacado em verde)<\/li>\n\n\n\n<li>Sensor de Umidade e Temperatura (DHT22) (destacado em vermelho)<\/li>\n<\/ol>\n\n\n\n<p>O sensor de \u00c1gua pode ser por exemplo preso a sua janela para enviar ao Raspberry a informa\u00e7\u00e3o de estar chovendo ou n\u00e3o, pois quando molha ele manda o valor &#8220;1&#8221;, quando seco, manda o valor &#8220;0&#8242;.<\/p>\n\n\n\n<p>Com mesmo funcionamento, o sensor de presen\u00e7a, que \u00e9 comum ser vistos em v\u00e1rios estabelecimentos para determinar que teve entrada de alguma pessoa. Eu pessoalmente considero ele pouco preciso, e tendo diversas outras alternativas, como sensor ultrass\u00f4nico, ou at\u00e9 mesmo usar c\u00e2mera de seguran\u00e7a para identificar movimentos, mas ele \u00e9 amplamente utilizado. Neste caso, quando envia 1 \u00e9 por que teve movimento, movimento cessa ,volta mandar &#8220;0&#8221;<\/p>\n\n\n\n<p>E por ultimo o sensor de umidade e temperatura que manda as duas informa\u00e7\u00f5es juntos, onde considero o DHT22 mais preciso e o que costumo usar em minhas solu\u00e7\u00f5es<\/p>\n\n\n\n<p>Abaixo a aplica\u00e7\u00e3o recebendo os dados do sensores simultaneamente, no caso a cada X segundos<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"697\" src=\"https:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/exemplo-1024x697.png\" alt=\"\" class=\"wp-image-230\" srcset=\"http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/exemplo-1024x697.png 1024w, http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/exemplo-300x204.png 300w, http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/exemplo-768x523.png 768w, http:\/\/www.wagnersalvi.com.br\/wp-content\/uploads\/2025\/01\/exemplo.png 1245w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Com estes dados no raspberry eu posso ter a\u00e7\u00f5es desejadas e at\u00e9 mesmo interagir com outros aparelhos. Por exemplo com o sensor de chuva posso mandar o comando para um pacote do Google Home ou Alexa e ela est\u00e1 ligada com motor para fechamento de janela. Choveu fecha a janela automaticamente.<\/p>\n\n\n\n<p>Da mesma forma com sensor de umidade \/ temperatura enviar tamb\u00e9m comando para ligar  \/ desligar o ar condicionado e isso pode ser feito via Google, Alexa ou at\u00e9 mesmo m\u00f3dulo de IR Universal que simularia o controle remoto do ar condicionado.<\/p>\n\n\n\n<p>E por ultimo com sensor de presen\u00e7a pode ativar l\u00e2mpada, mandar mensagens para celular de usu\u00e1rios, tocar alarmes.<\/p>\n\n\n\n<p>Em resumo, um \u00fanico aparelho pode controlar o acesso, a temperatura e preven\u00e7\u00e3o de janela aberta em caso de chuva de forma relativamente simples e de baixo custo, o que torna o uso de raspberry ou arduinos uma boa op\u00e7\u00e3o para automa\u00e7\u00f5es residenciais.<\/p>\n<p>Views: 0<\/p>","protected":false},"excerpt":{"rendered":"<p>Materiais necess\u00e1rios Diagrama de conex\u00e3o Configura\u00e7\u00e3o do software C\u00f3digo Python Aqui est\u00e1 o c\u00f3digo completo para ler os dados do [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":172,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[52,55,49],"tags":[53,43,54],"class_list":["post-225","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hardware","category-iot","category-programacao","tag-iot","tag-programacao","tag-raspberry"],"_links":{"self":[{"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=\/wp\/v2\/posts\/225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=225"}],"version-history":[{"count":0,"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=\/wp\/v2\/posts\/225\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=\/wp\/v2\/media\/172"}],"wp:attachment":[{"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=225"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.wagnersalvi.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}