Casa intelligente basata su Arduino: istruzioni passo-passo sul montaggio
Ormai sistemi come la "casa intelligente" degli straordinari animali esotici, disponibili solo ai più abbienti, sono diventati un luogo comune a cui chiunque può aderire. C'è qualcosa tra cui scegliere: molti sviluppatori hanno imparato a padroneggiare il rilascio di tali sistemi hardware-software. Tra i più famosi c'è Arduino, di cui ora ci faremo conoscere i prodotti.
contenuto
- 1Cos'è una "casa intelligente"
-
2Conoscere Arduino
- 2.1Vantaggi del sistema Arduino
-
2.2Quali soluzioni offre Arduino?
- 2.2.1Video: iniziamo a lavorare con Arduino: gestiamo il LED attraverso l'interfaccia web
-
3Elaborazione di un progetto su Arduino
- 3.1I componenti necessari per la produzione del sistema "casa intelligente"
-
4Costruisci "casa intelligente istruzioni passo-passo
- 4.1Collegamento di dispositivi direzionali e sensori
- 4.2Sviluppo del codice del programma
- 4.3Installazione di un'applicazione client su uno smartphone (per sistema operativo Android)
- 4.4Configurare il browser per lavorare con la "casa intelligente"
- 4.5Lavorare con il router
- 4.6Configurare un account su noip.com
- 4.7Video: casa intelligente su Arduino
- 5Caratteristiche di alcuni hardware Arduino
Cos'è una "casa intelligente"
Questo termine ha un analogo più comprensibile - "domotica". L'essenza di tali soluzioni è garantire l'esecuzione automatica di vari processi che si verificano in casa, in ufficio o in strutture specializzate. L'esempio più semplice è l'accensione automatica dell'illuminazione in un momento in cui uno degli occupanti entra nella stanza.
In qualsiasi sistema "casa intelligente si possono distinguere i seguenti componenti:
- Parte sensoriale Questo è un insieme di dispositivi, la cui parte principale è rappresentata da vari sensori, consentendo al sistema di registrare eventi di diversa natura. Esempi sono sensori di temperatura e di movimento. Altri dispositivi della parte del sensore servono per trasferire i comandi dell'utente al sistema. Questi sono pulsanti e telecomandi remoti con ricevitori.
- La parte esecutiva. Questi sono i dispositivi che il sistema può controllare, reagendo in questo modo a un evento in base a uno scenario definito dall'utente. Prima di tutto, è un relè attraverso il quale il controller della "casa intelligente" può fornire energia a qualsiasi dispositivo elettrico, cioè accenderlo e spegnerlo. Ad esempio, sul cotone nel palmo della mano (il sistema "lo sente" con un microfono) è possibile configurare l'attivazione di un relè che alimenta la ventola. Nota: in questo esempio, la ventola può essere qualsiasi. Ma puoi anche usare il dispositivo, rilasciato appositamente per funzionare come parte di un particolare sistema. Ad esempio, Arduino produce motori elettrici per i suoi sistemi, con i quali è possibile, ad esempio, chiudere o apri la finestra e Xiaomi (un produttore cinese di sistemi simili) - dispositivi di controllo filtro dell'aria. Tale dispositivo è completamente controllato dal sistema, cioè non può solo accenderlo, ma anche modificare le impostazioni.
- Il processore Può anche essere chiamato un controller. Questo è il "cervello" del sistema, che coordina e coordina il lavoro di tutti i suoi componenti.
- Software. Questo è un insieme di istruzioni che guidano il processore. Nei sistemi di alcuni produttori, incluso Arduino, l'utente può scrivere un programma indipendentemente, in altri - vengono utilizzate soluzioni pronte all'uso in cui solo tipico scenari.
I sistemi moderni "casa intelligente" sono divisi in diverse varietà:
- Dotato di un proprio controller.
- Utilizzando in questa veste il processore del computer di un utente (tablet, smartphone).
- Elaborazione delle informazioni utilizzando un server remoto di proprietà della società di sviluppo (servizio cloud).
Il sistema può non solo attivare questo o quel dispositivo, ma anche informare l'utente circa l'evento che si è verificato inviando un messaggio al telefono o in qualche altro modo. Pertanto, può essere affidato a funzioni di allarme, compresa la protezione antincendio.
Gli scenari possono essere molto più complessi di quelli descritti negli esempi. Ad esempio, è possibile insegnare al sistema ad includere una caldaia e trasferire la fornitura di acqua calda ad esso quando viene interrotta l'alimentazione centrale, se rivela la presenza di qualcuno degli inquilini in casa (aiuto agli infrarossi, sensori a ultrasuoni e sensori) movimento).
Conoscere Arduino
Arduino è una società italiana dedicata allo sviluppo e alla produzione di componenti e software per semplici sistemi di casa intelligente destinati a non specialisti. È interessante notare che questo sviluppatore ha reso completamente aperta l'architettura dei sistemi da lui creati, cosa che lo ha reso possibile produttori di terze parti per sviluppare nuovi e copiare dispositivi esistenti compatibili con Arduino, oltre a produrre software per loro.
Questo approccio ha fornito un'alta popolarità per i sistemi aziendali italiani, ma ha anche uno svantaggio: per il fatto che per la produzione i componenti per i sistemi Arduino sono presi, per così dire, tutti quelli che non sono pigri, non sempre riescono a ottenere la prima volta in assoluto prodotto. Spesso devi affrontare il problema della compatibilità dei componenti di diversi produttori.
Un potenziale utente dovrebbe essere consapevole del fatto che dal 2008 esistono due società che producono prodotti con il marchio Arduino. Al primo, che ha iniziato questa direzione, il sito ufficiale si trova su www.arduino.cc; il secondo, appena formato, su www.arduino.org. Quello che è stato sviluppato prima della scissione, in entrambi i siti è rappresentato allo stesso modo, ma la gamma di nuovi prodotti è già diversa.
Il software per sistemi "smart house" Arduino ha la forma di una shell software (chiamata IDE), in cui è possibile scrivere e compilare programmi. È distribuito gratuitamente. I programmi sono scritti in C ++.
Anche le versioni del programma IDE di Arduino presentate su questi siti sono molto diverse, sebbene abbiano lo stesso non solo il nome, ma anche i numeri di versione.Per questo motivo, sono abbastanza facili da confondersi. La differenza è che ogni software supporta le sue librerie e schede.
L hardware" del sistema è costituito da una scheda madre con un microcontrollore (scheda processore) e schede di espansione installate su di esso, che vengono comunemente chiamate shild. Il collegamento dello schermo alla scheda del processore consente di aggiungere nuovi componenti alla casa intelligente. Il sistema assemblato può essere completamente autonomo o funzionare in combinazione con un computer tramite un'interfaccia cablata o wireless standard.
Vantaggi del sistema Arduino
Questo pacchetto hardware-software attrae l'utente con tali vantaggi:
- la possibilità di lavoro autonomo, grazie alla presenza di un proprio controllore;
- ampie opportunità per l'impostazione del sistema (l'utente stesso scrive un programma in cui possono essere forniti scenari di qualsiasi complessità);
- Semplicità del processo di caricamento del programma nel controller: il programmatore non è necessario per questo, è sufficiente avere un cavo USB (nel microcontrollore è presente un firmware Bootloader);
- il costo accessibile dei componenti dovuto alla mancanza di diritti di monopolio per un particolare produttore (l'architettura è aperta).
Se il bootloader Bootloader ha iniziato a funzionare male, o non è apparso nel microcontrollore acquistato, l'utente ha la possibilità di farlo da solo. La shell del software IDE fornisce supporto per un certo numero di programmatori più popolari e popolari per questo scopo. Inoltre, quasi tutti i processori Arduino hanno un connettore maschio che consente la programmazione in-circuit.
Il programma IDE Arduino, presentato sul sito web arduino.cc, piattaforme hardware-software utente, mentre nella versione del programma su arduino.org tale la funzione è assente.
Quali soluzioni offre Arduino?
Poiché la produzione di sensori e dispositivi compatibili con Arduino è gestita da molte aziende, la gamma di questi prodotti è piuttosto ampia. Qui viene applicato più spesso:
- Sensori che monitorano i parametri climatici:
- temperatura;
- umidità;
- precipitazioni (sensore pioggia e neve);
- illuminazione;
- pressione.
- Sensori, che consentono di determinare la posizione spaziale dell'oggetto su cui sono fissati:
- Sensore giroscopico a 6 assi con accelerometro;
- bussola.
- Sensori, che consentono di registrare la presenza di vari oggetti:
- sensore di movimento;
- sensore a infrarossi (fissare una persona seduta immobile o un animale a sangue caldo);
- sensore a ultrasuoni (rileva oggetti con qualsiasi temperatura e ne determina la distanza).
- Sensori di emergenza:
- rilevatore di fumo;
- sensore antincendio;
- sensore di perdite di gas;
- sensore di anidride carbonica.
- Altri dispositivi, ad esempio:
- microfono;
- ore;
- sensore aperto porta;
- telecomandi (radiofrequenza e infrarossi) con ricevitori;
- pulsanti remoti.
Alcuni di questi dispositivi sono inclusi nel kit di base Arduino Start, che da alcuni produttori si chiama StarterKit.
La parte esecutiva contiene un enorme set di dispositivi, ad esempio:
- motori elettrici;
- relè e vari interruttori;
- dimmer (consentono di regolare agevolmente l'intensità dell'illuminazione);
- chiudiporta;
- Valvole e valvole a 3 vie con servoazionamenti.
Se si intende collegare l'illuminazione tramite relè Arduino, è meglio utilizzare lampade a LED come apparecchi di illuminazione. Le lampade ad incandescenza quando collegate tramite tali relè si bruciano rapidamente.
.Video: iniziamo a lavorare con Arduino: gestiamo il LED attraverso l'interfaccia web
Elaborazione di un progetto su Arduino
Il processo di creazione e configurazione della "casa intelligente" Arduino verrà mostrato sull'esempio di un sistema in cui verranno costruite le seguenti funzioni:
- monitoraggio della temperatura in strada e all'interno;
- monitoraggio dello stato della finestra (aperto / chiuso);
- monitoraggio delle condizioni meteorologiche (chiaro / pioggia);
- generazione di un segnale acustico quando viene attivato il sensore di movimento, se la funzione di allarme è attivata.
Il sistema sarà configurato in modo tale che i dati possano essere visualizzati per mezzo di uno speciale applicazione, così come un browser web, cioè, l'utente sarà in grado di farlo da qualsiasi luogo in cui vi è l'accesso in Internet.
Abbreviazioni usate:
- "GND" è il terreno.
- "VCC" - cibo.
- "PIR" - sensore di movimento.
I componenti necessari per la produzione del sistema "casa intelligente"
Per il sistema Smart Home di Arduino, è necessario quanto segue:
- scheda a microprocessore Arduino;
- Modulo Ethernet ENC28J60;
- due sensori di temperatura marca DS18B20;
- microfono;
- sensore pioggia e neve;
- sensore di movimento;
- interruttore reed;
- relè;
- Resistenza resistenza, kOhm;
- cavo a doppini intrecciati;
- Cavo Ethernet
Il costo di tutti i componenti è di circa $ 90.
Costruisci "casa intelligente istruzioni passo-passo
Questa è la sequenza in cui devi agire.
Collegamento di dispositivi direzionali e sensori
Colleghiamo tutti i componenti secondo lo schema.
Sviluppo del codice del programma
L'utente scrive l'intero programma nella shell IDE di Arduino, per la quale quest'ultimo è dotato di un editor di testo, il project manager, il compilatore, il preprocessore e i mezzi per riempire il codice del programma nel microprocessore della scheda Arduino. Versioni sviluppate di IDE per i sistemi operativi di Mac OS X, Windows e Linux. Il linguaggio di programmazione è C ++ con alcune semplificazioni. I programmi utente per Arduino sono di solito chiamati schizzi o schizzi, l'IDE li salva in file con estensione ".ino".
La funzione main (), che è obbligatoria in C ++, viene creata automaticamente dal wrapper IDE, prescrivendo un numero di azioni standard al suo interno. L'utente dovrebbe scrivere le funzioni setup () (fatte una volta all'ora di inizio) e loop () (eseguite in un ciclo infinito). Entrambe queste funzioni sono obbligatorie per Arduino.
I file di intestazione delle librerie standard non devono essere inseriti nel programma - l'IDE lo fa automaticamente. Non si applica alle librerie utente: devono essere specificate.
.L'aggiunta di librerie all'IDE di "Project Manager" viene eseguita in un modo alquanto insolito. Sotto forma di codice sorgente scritto in C ++, vengono aggiunti ad una cartella speciale nella directory di lavoro della shell IDE. Successivamente, i nomi di queste librerie compaiono nel menu IDE corrispondente. Quelli che i segni dell'utente verranno aggiunti all'elenco di compilazione.
.L'IDE fornisce un minimo di impostazioni e la possibilità di configurare il compilatore è assente. Quindi, un programmatore principiante è immune da errori.
Ecco un esempio del programma più semplice, che fa lampeggiare il LED collegato alla 13a uscita della scheda ogni 2 secondi:
.void setup () {pinMode (13, OUTPUT); // Arduino output 13 output}
void loop () {digitalWrite (13, HIGH); // Abilita la 13a uscita, il parametro della chiamata della funzione digitalWrite HIGH è un segno di livello logico alto
ritardo (1000); // Ciclo di ritardo per 1000 msec - 1 secondo
digitalWrite (13, LOW); // Uscita spegne 13, richiama il parametro LOW - Attributo livello logico basso
ritardo (1000); // Ciclo di ritardo per 1 secondo}
.Tuttavia, al momento, non è sempre necessario che un utente scriva personalmente un programma: ci sono molte librerie e schizzi già pronti sulla rete (guarda qui: http://arduino.ru/Reference). Esiste un programma pronto per il sistema considerato in questo esempio. Deve essere scaricato, decompresso e importato nell'IDE. Il testo del programma è corredato di commenti che spiegano il principio del suo funzionamento.
Quando l'utente fa clic sul pulsante "Aggiorna" nel browser o nell'applicazione dello smartphone, il microcontrollore Arduino invia i dati a questo client. Con ciascuna delle pagine designate come "/ tempin "/ tempout "/ rain "/ window "/ alarm viene inviato il codice del programma, che viene visualizzato sullo schermo.
Installazione di un'applicazione client su uno smartphone (per sistema operativo Android)
Per ricevere dati dal sistema di casa intelligente nella rete, è possibile scaricare l'applicazione già pronta.
Ecco cosa deve fare il proprietario del gadget:
- Scarica il file SmartHome.apk.
- Invia al tuo telefono.
- Dopo aver aperto il "File Manager posiziona questo file.
- Fare clic su di esso e selezionare "Installa" (deve essere selezionato un "segno di spunta" che consente di installare programmi al di fuori del servizio Google Play).
- Al termine dell'installazione, attivare l'applicazione.
- Configura.
Con questa applicazione, è possibile non solo ricevere informazioni dal sistema di casa intelligente, ma anche gestirlo: abilitare e disabilitare gli allarmi. Se è attivo, l'applicazione riceverà una notifica quando il sensore di movimento si innesca. L'interrogazione del sistema Arduino per il trigger dell'applicazione del sensore di movimento ha una frequenza di una volta al minuto.
Attivando l'icona "Impostazioni puoi modificare il tuo indirizzo IP.
Configurare il browser per lavorare con la "casa intelligente"
Nella barra degli indirizzi del browser, inserisci XXX.XXX.XXX.XXX/all, dove "XXX.XXX.XXX.XXX" è il tuo indirizzo IP. Successivamente, sarà possibile ricevere i dati dal sistema e gestirli.
Il codice qui presentato consente al browser di accendere e spegnere la luce, mentre nell'applicazione per smartphone Android tale funzione non è implementata.
Lavorare con il router
Quindi sul router è necessario aprire la porta:
- aprire le impostazioni del router;
- prescrivere l'indirizzo Arduino IP;
- porta aperta 80.
Configurare un account su noip.com
Questo passaggio è facoltativo, ma è necessario se si desidera assegnare un nome di dominio all'indirizzo. Per fare questo, è necessario registrarsi sul sito https://www.noip.com/, vai alla sezione "Aggiungi host" e inserisci l'indirizzo IP del sistema.
La creazione del progetto è completata, è possibile verificare lo stato del sistema.
Video: casa intelligente su Arduino
Caratteristiche di alcuni hardware Arduino
In considerazione del fatto che i componenti compatibili con Arduino sono prodotti da molte società terze la cui qualità del prodotto stessa la società Arduino non controlla, l'utente è più propenso ad acquistare un componente che non funziona abbastanza correttamente.
.Una situazione simile si è sviluppata nello sviluppo di personal computer. Un tempo, IBM ha reso l'architettura dei suoi computer aperta, a seguito della quale i computer e i singoli componenti compatibili con IBM hanno iniziato a produrre molte aziende. Di conseguenza, "personalità" di questo tipo sono ampiamente diffuse in tutto il mondo, tuttavia, la qualità dei componenti e il grado della loro compatibilità in molti casi non erano ai massimi livelli. Le tattiche opposte hanno aderito alla società Apple. Limita la cerchia degli sviluppatori con accesso all'architettura e la stessa politica è stata implementata nel campo dello sviluppo del software. Di conseguenza, i computer Apple erano meno comuni e più costosi, ma sono di un ordine di grandezza superiore ai dispositivi compatibili con IBM che eseguono Windows.
.Per alcuni componenti dei sistemi Arduino, gli utenti hanno notato quanto segue:
- Il sensore di temperatura DHT11, fornito con il kit base (StarterKit), genera un errore significativo di 2-3 gradi. Nella stanza si consiglia di utilizzare un sensore di temperatura DHT22, dando indicazioni più precise e per l'installazione per la strada - DHT21, in grado di funzionare a temperature negative e avere protezione dalla meccanica danni.
- Su alcune schede a microprocessore Arduino, quando il relè collegato si chiude, la porta COM si guasta. Per questo motivo, il microcontrollore non può caricare lo schizzo: una volta avviato il riempimento, il processore si riavvia. Quindi il relè fa clic, la porta COM viene disabilitata e il processo di caricamento dello schizzo si interrompe.
- Il sensore di chiusura di finestre / porte a volte presenta sorprese sotto forma di falsi positivi. In considerazione di ciò, lo schizzo viene scritto in modo che il sistema produca l'azione necessaria solo dopo aver ricevuto più segnali di seguito.
- Per configurare la gestione dei processi con l'aiuto di applausi, alcuni utenti inesperti ordinano un rilevatore di suoni con regolazione manuale della soglia anziché un microfono. A questo scopo, questo componente non è adatto, poiché ha una portata molto breve: è necessario applaudire non più di 10 cm dal rilevatore. Inoltre, questo sensore trasmette segnali con impulsi di breve durata, in modo che in presenza di un grande Lo schizzo, che richiede un tempo di elaborazione relativamente lungo, il microcontrollore non ha tempo per loro risolvere.
- Per il sistema di allarme antincendio, dovrebbe essere usato un rilevatore di fumo, piuttosto che un sensore di incendio. Quest'ultimo registra una fiamma a non più di 30 cm da se stessa.
- In caso di malfunzionamento nel funzionamento del microcontrollore o errori nel codice, è preferibile utilizzare relè normalmente chiusi con interruttori manuali collegati in serie.
Per evitare l'acquisto di componenti di bassa qualità, gli utenti esperti raccomandano di esaminare preventivamente le recensioni, pubblicate sul Web. Sensori economici possono essere acquistati in diverse versioni per verificare personalmente quale funziona meglio.
Forse il sistema "smart house" di Arduino non è il migliore, ma la più ampia scelta di componenti e il loro costo contenuto lo hanno reso uno dei più popolari. Utilizzando i nostri suggerimenti, imparerai rapidamente come creare progetti Arduino automatizzando vari processi domestici.
.