Sommario:

Costruire dispositivi domestici per l'IoT o l'automazione domestica: 7 passaggi (con immagini)
Costruire dispositivi domestici per l'IoT o l'automazione domestica: 7 passaggi (con immagini)

Video: Costruire dispositivi domestici per l'IoT o l'automazione domestica: 7 passaggi (con immagini)

Video: Costruire dispositivi domestici per l'IoT o l'automazione domestica: 7 passaggi (con immagini)
Video: VECCHIO IMPIANTO trasformato in DOMOTICO e SMART SENZA OPERE MURARIE con Yubii Home di NICE 2024, Luglio
Anonim
Costruire dispositivi domestici per IoT o domotica
Costruire dispositivi domestici per IoT o domotica

Questo istruibile fa parte della mia serie di automazione domestica fai-da-te, consulta l'articolo principale "Pianificazione di un sistema di automazione domestica fai-da-te". Se non sai ancora cos'è Homie, dai un'occhiata a homie-esp8266 + homie di Marvin Roger.

Ci sono molti molti sensori. Sto trattando quelli di base per dare al lettore i requisiti per iniziare a costruire "qualcosa". Potrebbe non essere scienza missilistica, ma dovrebbe funzionare davvero.

Se non hai le parti, fai attenzione al mio prossimo tutorial "Sourcing Electronic Parts From Asia".

Permettetemi di aggiungere alcune parole d'ordine: IoT, ESP8266, Homie, DHT22, DS18B20, domotica.

L'argomento dovrebbe essere abbastanza chiaro ora:-)

Inoltre, questo tutorial è ora disponibile anche dalla mia pagina personale:

Passaggio 1: iniziare

Iniziare
Iniziare
Iniziare
Iniziare

Convegni

Questa istruzione utilizza i cloni D1 Mini. Questi sono controller compatibili con Arduino abilitati WiFi che utilizzano il chip ESP8266. Vengono spediti in un fattore di forma molto piccolo (~34*25mm) e costano poco (~3-4$ per i cloni).

Illustrerò ogni build utilizzando un D1 Mini, una breadboard e alcuni sensori. Includo una distinta materiali (BOM) per ciascuno, ma salterò cose ovvie come i cavi dei ponticelli e la breadboard (mini o completa). Mi concentrerò sulle "parti attive".

Per fili/cavi negli schemi (libreria Fritzing + AdaFruitFritzing), ho usato:

  • Rosso/Arancione per alimentazione, solitamente 3,3 V. A volte sarà 5V, fai attenzione.
  • Nero per terra.
  • Giallo per segnali dati digitali: i bit viaggiano e possono essere letti così come sono dai chip.
  • Blu/Viola per segnali di dati analogici: nessun bit qui, solo semplice tensione che deve essere misurata e calcolata per capire cosa sta succedendo.

Homie per ESP8266 spedisce una dozzina di esempi, è lì che ho iniziato a costruire questo istruibile.

tagliere

Il D1 è abbastanza adatto alla breadboard ma salverà solo una fila di pin su e giù. Ogni esempio avrà il D1 sul lato destro e i componenti sul lato sinistro. I binari di alimentazione superiore e inferiore verranno utilizzati per trasportare 3,3 V o 5 V.

Nota

Gli esempi di Homie sono costruiti come sketch ".ino" per Arduino IDE. Il mio codice è tuttavia creato come ".ccp" per PlatformIO.

Questo farà poca differenza poiché gli schizzi sono abbastanza semplici da essere copiati/incollati qualunque sia lo strumento che preferisci.

Passaggio 2: temperatura e umidità: DHT22 / DHT11

Temperatura e umidità: DHT22 / DHT11
Temperatura e umidità: DHT22 / DHT11
Temperatura e umidità: DHT22 / DHT11
Temperatura e umidità: DHT22 / DHT11
Temperatura e umidità: DHT22 / DHT11
Temperatura e umidità: DHT22 / DHT11

Costruire il dispositivo

Il DHT22 utilizza:

  • Un pin digitale per comunicare con il controller, collegarlo a D3
  • Due fili per alimentazione (3,3V o 5V + GND)
  • Il pin digitale deve essere tenuto alto (collegato all'alimentazione), per questo usiamo un resistore tra la barra di alimentazione e il pin dati

Codice

Il progetto PlatformIO può essere scaricato da:

L'esempio originale di Homie è qui (ma non usa un sensore):

Per DHT22, utilizzare la libreria di sensori DHT (ID=19)

BOM

  • Controller: Wemos D1 Mini
  • Resistenza: 10KΩ
  • Sensore: (uno di questi)

    • DHT22: ho usato il tipo a 4 pin che richiede un resistore aggiuntivo. Ci sono moduli a 3 pin spediti come SMD che include il resistore.
    • DHT11: questo è più economico ma meno accurato, controlla i tuoi requisiti

Passaggio 3: temperatura impermeabile: DS18B20

Temperatura impermeabile: DS18B20
Temperatura impermeabile: DS18B20
Temperatura impermeabile: DS18B20
Temperatura impermeabile: DS18B20
Temperatura impermeabile: DS18B20
Temperatura impermeabile: DS18B20

Costruzione del dispositivoIl DS18B20 utilizza:

  • Un pin digitale per comunicare con il controller, collegarlo a D3
  • Due fili per alimentazione (3,3V o 5V + GND)
  • Il pin digitale deve essere tenuto alto (collegato all'alimentazione), per questo usiamo un resistore tra la barra di alimentazione e il pin dati

Il DS18B20 è un sensore a 1 filo. Utilizza un bus e come tale più sensori possono utilizzare un singolo pin di dati.

È anche possibile NON utilizzare 3,3 V/5 V per alimentare il sensore, questa è chiamata modalità di alimentazione parassita. Vedere la scheda tecnica per i dettagli.

Codice

Il progetto PlatformIO può essere scaricato da:

Come per DHT22, l'esempio originale di Homie è qui (ma non utilizza un sensore):

Per bus 1-Wire, utilizzare il pacchetto OneWire (ID=1)

Per DS18B20, utilizzare DallasTemperature (ID=54)

BOM

  • Controller: Wemos D1 Mini
  • Resistenza: 4.7KΩ
  • Sensore: DS18B20, nella foto è impermeabile
  • Terminale a vite a 3 pin per facilitare il collegamento del cavo alla breadboard

Fase 4: Luce: fotoresistenza/fotocellula (digitale: on/off)

Luce: fotoresistenza/fotocellula (digitale: on/off)
Luce: fotoresistenza/fotocellula (digitale: on/off)
Luce: fotoresistenza/fotocellula (digitale: on/off)
Luce: fotoresistenza/fotocellula (digitale: on/off)
Luce: fotoresistenza/fotocellula (digitale: on/off)
Luce: fotoresistenza/fotocellula (digitale: on/off)

Costruire il dispositivo

(Spiacente, non ho un componente Fritzing per la fotocellula digitale)

Il modulo digitale fotocellula utilizza:

  • Un pin digitale per comunicare con il controller, collegarlo a D3
  • Due fili per alimentazione (3.3V + GND)

È possibile utilizzare una fotocellula analogica, ma questo non è documentato qui, vedere l'eccellente articolo di Adafruit "Uso di una fotocellula".

Nota: in questo esempio c'è un potenziometro sulla scheda del sensore. Viene utilizzato per impostare il limite tra luce ambientale "chiara" e "scura". Quando la luce di lettura 1 è spenta, quindi la lettura di 0 significa luce se accesa.

Codice

Il progetto PlatformIO può essere scaricato da:

BOM

Controller: Wemos D1 Mini

Sensore: modulo fotosensibile/di rilevamento della luce

Passaggio 5: Luce: fotoresistenza / fotocellula (analogica)

Luce: fotoresistenza / fotocellula (analogica)
Luce: fotoresistenza / fotocellula (analogica)
Luce: fotoresistenza / fotocellula (analogica)
Luce: fotoresistenza / fotocellula (analogica)
Luce: fotoresistenza / fotocellula (analogica)
Luce: fotoresistenza / fotocellula (analogica)

Costruire il dispositivo

Il sensore analogico della fotocellula funge da resistore. Si collegherà tra un ingresso analogico e 3.3V.

Un resistore viene inserito tra GND e il pin dati per creare un partitore di tensione. Lo scopo è creare un intervallo di valori noto:

  • Se non c'è luce, la fotocellula sostanzialmente bloccherà VCC, collegando così GND al tuo pin dati: il Pin leggerà quasi 0.
  • Se c'è molta luce brillante, la fotocellula lascerà che il VCC fluisca al pin dati: il pin leggerà la tensione quasi piena e come tale vicino al massimo (1023).

Nota: i valori dei pin analogici vengono letti in un intervallo 0-1023 utilizzando analogRead. Questo non è pratico per gestire i valori di 1 byte, per questo la funzione mappa di Arduino aiuterà a ridurre da 0-1023 a (ad esempio) 0-255.

Per la calibrazione dei valori min/max per il tuo sensore, usa uno schizzo come questo di Arduino.

Codice

Il progetto PlatformIO può essere scaricato da:

BOM

  • Controller: Wemos D1 Mini
  • Sensore: resistenza dipendente dalla luce (LDR) / fotoresistenza
  • Resistenza: 1K o 10K, è necessario calibrare in base alla cella

Riferimenti

  • Codice sorgente del server PiDome per le condizioni di illuminazione di un luogo
  • "Uso di una fotocellula" di Adafruit
  • "Fotoresistori" qui su instructables
  • Qualche "tutorial sulle fotocellule" dannatamente pazzo se vuoi un po 'di matematica e grafici

Passaggio 6: rilevatore ottico: QRD1114

Costruire il dispositivo

Codice

BOM

Riferimenti

  • Physical Computing: QRD1114 include codice di esempio per leggere il sensore e utilizzare l'interruzione per encoder rotativo + design PCB preciso
  • QRD1114 Guida al collegamento del rilevatore ottico su Sparkfun

Passaggio 7: parole finali

Parole finali
Parole finali

Questa istruzione è molto breve per spiegare il monitoraggio di base.

Per andare oltre dovremo collegare i relè, l'emettitore IR… Spero che questo venga trattato in seguito, poiché il tempo libero me lo consente. La differenza principale è che non ci limiteremo a "leggere" (c'è la luce?) ma anche a "scrivere" (accendere la luce!).

Consigliato: