Usare il DHT11 con Bot Telegram su ESP32 #9.1

Nell’articolo di oggi vedremo come utilizzare i PIN GPIO. Esploreremo anche la parte elettronica d’ora in avanti, inizieremo con l’utilizzo del sensore di temperatura DHT11 con invio dei dati tramite bot telegram.

Lista componenti

  • ESP32-WROVER
  • Breadboard
  • dht11
  • 3x jumper
  • resistore 10k ohm
  • GPIO extension board (falcolatitivo)

Descrizione componenti

DHT11

In che modo rileva l’umidità relativa e la temperatura?  Il DHT11 è in grado di rilevare il valore percentuale dell’umidità relativa misurando la resistenza elettrica tra i due elettrodi. La conduttività tra gli elettrodi aumenta all’aumentare dell’umidità relativa. Mentre per quanto concerne la temperatura il DHT11 utilizza un sensore NTC.DHT11

Attenzione, in alcuni modelli di sensore DHT 11 i pin Vcc e Signal possono essere invertiti. Un eventuale problema per il quale il programma compilato non funzioni potrebbe consistere in questo motivo.

Il sensore DHT11 espone 3 pin denominati:

  • GND: piedino di massa
  • VCC: piedino di alimentazione
  • sitgnal: piedino di comunicazione dati 1-wire

Collegamenti

In seguito schema e diagramma di collegamento. Per costruire un circuito ricordati di tenere la scheda spenta.

CREAZIONE BOT

Il primo passo consiste nell’aprire l’applicazione telegram. Una volta aperta cerchiamo “BotFather” tramite la funzione cerca cliccando sull’apposita lente di ingrandimento.

“BotFather” è un bot che permette di creare altri bot.

Avviamo il bot scrivendo “/start“, poi premiamo invio.

Telegram

Per creare un nuovo bot digitiamo “/newbot”.

BotFather ci chiederà di assegnare un nome al nostro nuovo Bot, basta digitare un qualsiasi nome e poi premere Invio.

Dobbiamo anche inserire un username che lo renderà riconoscibile pubblicamente. Username deve terminare in “Bot” o ” _bot”.

In seguito alla assegnazione del nome e dell’username BotFather ci comunicherà informazioni importanti in seguito per compilare il codice per il funzionamento del sensore e dell’invio dati. ATTENZIONE: QUESTE INFOMAZIONI LE DOVREMMO TENERE SOLO PER NOI. La prima parte riguarda il percorso per trovare il nostro bot. La seconda è la API che sarà utilizzato nel nostro codice.

bot

Per recuperare il chat_id bisogna andare al link https://api.telegram.org/bot<TOKEN>/getUpdates, dove al posto di <TOKEN> dovete inserire il TOKEN di accesso alle API http del bot.

A questo punto mandate un messaggio nella chat ed aggiornate la pagina del link. In questa pagina vedrete popolarsi un file JSON in cui vi viene mostrato il CHAT_ID nella chiave “chat” e nel campo “id” (come nello screenshot sottostante):

bot

In alternativa puoi usare questo sito. Inserisci il token nell’apposito form per ottenere il chat id del tuo bot, il tutto è abbastanza autoesplicativo https://codesandbox.io/s/get-telegram-chat-id-q3qkk

Codice

Se questo è il tuo primo articolo ti invito di leggere prima questo per l’installazione dei driver della scheda. Ecco qui un piccolo riepilogo prima di compilare e caricare il codice.

bot

bot

Dobbiamo installare la libreria dht.h, dobbiamo andare su Sketch->Include library-> Manage libraries e cercare nell’apposito menù la libreria dht.h.

bot

Dobbiamo installare la libreria UniversalTelegramBot.h, dobbiamo andare su Sketch->Include library-> Manage libraries e cercare nell’apposito menù la libreria UniversalTelegramBot.h.

bot

Ecco qui lo sketch:

Compila e carica il codice sull’ESP32, ed ecco qui che potremo visualizzare i dati relativi alla temperatura e umidità (ogni tre ore) aprendo il nostro bot telegram ed avviandolo.

bot

 

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.