Sommario:

Sfumature di Windows automatizzate: 6 passaggi (con immagini)
Sfumature di Windows automatizzate: 6 passaggi (con immagini)

Video: Sfumature di Windows automatizzate: 6 passaggi (con immagini)

Video: Sfumature di Windows automatizzate: 6 passaggi (con immagini)
Video: Automatizzare la cattura delle schermate di Windows 2024, Luglio
Anonim
Image
Image
Sfumature di Windows automatizzate
Sfumature di Windows automatizzate
Sfumature di Windows automatizzate
Sfumature di Windows automatizzate

Una parola avanti

Ho visto molti tutorial su come automatizzare tende e tende manuali, in questo automatizzeremo le tende elettriche. Tratteremo le tende elettriche gestite da motori elettrici a corrente continua (DC) che si aprono o si chiudono invertendo la polarità della corrente.

Sebbene se acquisti tende elettriche otterrai un po 'di automazione, ci sono motivi per eseguire l'automazione da solo come:

* potresti avere solo un interruttore vicino a loro per il controllo su/giù

* è più economico (alcune aziende offrono automazione avanzata per molti $$ extra)

* più flessibile, puoi programmarli per aprirli o chiuderli in varie circostanze, impareremo a creare un server web in python che si connetterà all'interfaccia bluetooth delle sfumature ed esporrà un'API per controllare le sfumature, integreremo anche con thingspeak e lì puoi fare cose come controllare le tende in base a un programma orario o controllarlo tramite l'input del sensore

Questo sarà un tutorial intermedio, avrai bisogno di abilità come saldatura, programmazione arduino, conoscenza elettronica di base e alcune informazioni su come installare servizi su un server, eseguirli e configurarli.

Se ti sono piaciuti i video di YouTube, puoi iscriverti qui.

Passaggio 1: cose necessarie

Cose necessarie
Cose necessarie
Cose necessarie
Cose necessarie

Suggerimento: ingrandisci le immagini per visualizzare le etichette descrittive su di esse

Parti:

1. tipo arduino pro mini 16Mhz 5V (eBay) 2$

2. Modulo bluetooth HC-05 (eBay) 3.3$

3. 5 V Relè a due canali (eBay) 1,6 $

4. Tranzistor NPN valutato per almeno pochi amplificatori, ho usato Tip142T < 1$

5. 220 ohm, resistore da 0,25 W <1$

6. diodo, 1N4004 <1$

7. fili per collegare le parti <1$

8. PCB (eBay) <1$ per pezzo

9. 2 x KF301-2P plug in connettore a vite (eBay) <1 $ per pezzo

10. cavi jumper maschio-femmina (eBay) 1.2 $ x 2 per un mazzo

11. Regolatore L7805CV 5V (eBay) <1$ per pezzo

12. Presa jack per spina di alimentazione CC da 5,5 mm maschio e femmina (eBay) < 1 $ per pezzo

13. Guaina termorestringente o nastro isolante

14. Alimentazione, l'alimentatore deve essere valutato per 12V e 2-3A.

Ho recuperato il mio da un caricabatterie da 12 V 2 A (eBay) 3,2 $

14. Morsettiera (eBay) 15c

15. portafusibili (Aliexpress) 1$ per pezzo

16. fuse (eBay) < 1$ per pezzo

17. connettori pcb maschio e femmina (eBay) < 1 $ per quello che ci serve

18. Cavo di alimentazione CA

19. custodia in plastica, la mia era 6 x 19 cm

Utensili:

1. Saldatore con saldatura

2. Tagliafili

3. Vari cacciaviti

4. Taglierina

5. trapano elettrico e punta da trapano da 8,5 mm

6. Adattatore FTDI da USB a seriale FT232RL per programmare arduino pro mini

7. Laptop con ArduinoIDE installato per programmare arduino

8. Più leggero se usi il tubo termoretraibile

9. Uno smartphone in grado di connettersi al bluetooth (io uso un Android nell'esempio) con un software bluetooth installato

10. Opzionale: lente d'ingrandimento, multimetro, pinze

Passaggio 2: preparativi

preparativi
preparativi
preparativi
preparativi
preparativi
preparativi

Scegliere l'alimentatore e la scatola di plastica

La prima cosa è determinare quanta corrente e quale tensione funzionano i motori delle tende.

Questo può essere fatto leggendo le specifiche o prendendo misurazioni usando il multimetro. Di solito funzionano a 12 V e 1-3 Ampere (i miei sono 2,5 A e 12 V). Moltiplica la corrente per quante di esse devi guidare contemporaneamente (io ne guido due) per scoprire la corrente massima necessaria. Dovresti trovare un alimentatore che abbia esattamente la stessa tensione e idealmente lo stesso amperaggio o leggermente più alto.

A questo punto ho barato un po', usando un alimentatore da 12 V e 2,5 A per pilotare due motori da 12 V e 2,5 A, il che significa che i motori usano il doppio della potenza che l'alimentatore può dare. Ma usando una tecnica chiamata PWM (controlla il link per vedere maggiori dettagli) sono riuscito a guidare il motore contemporaneamente a una velocità inferiore.

Il motivo per cui l'ho fatto è per risparmiare spazio nella scatola (ho scelto una scatola più piccola).

L'involucro di plastica dovrà ospitare l'alimentatore, due relè, un piccolo pcb con l'elettronica e i cavi, quindi scegli la dimensione in modo che tutto si adatti.

Il mio alimentatore aveva un involucro di plastica che ho fatto a pezzi usando uno strumento dremel, ho tagliato i fili esistenti e in questo modo ho ottenuto un alimentatore economico e piccolo adatto al mio progetto (vedi foto).

Preparare i cavi del motore

Devi calcolare quanto saranno lunghi i cavi del motore, cioè fino a quando non raggiungeranno la scatola di controllo che stiamo costruendo. È probabile che i cavi esistenti non siano abbastanza lunghi e dovrai estenderli, spellare entrambi i fili (il cavo delle lame esistenti e i cavi di prolunga) a un'estremità, mettere i tubi termorestringenti, saldare i fili quindi applicare calore con un più leggero per isolare.

All'estremità del cavo di prolunga ci sarà una presa jack maschio per spina di alimentazione CC da 5,5 mm. Devi saldare i due fili alla presa il risultato finale sarà come nelle immagini.

Inserimento del jack femmina per spina di alimentazione CC da 5,5 mm nella scatola

Usando il trapano, praticare due fori abbastanza grandi da consentire il passaggio del martinetto. Inserire i jack della spina di alimentazione, avvitare usando i dadi. Quindi saldare spessi fili neri e rossi a ciascuno degli ingressi dei jack, quindi isolarli utilizzando un tubo termoretraibile. I fili dovrebbero essere abbastanza lunghi da entrare facilmente nella morsettiera, ma non troppo lunghi da occupare troppo spazio.

Collegamento del portafusibile con il fusibile

A un lato della scatola praticare un piccolo foro per mettere un piccolo dado che tiene in posizione il portafusibili. Quindi, utilizzando le pinze, un cacciavite e il dado, avvitarlo saldamente in posizione. Il portafusibili dovrebbe essere vicino alla posizione dell'alimentatore e dovrebbe essere all'interno della scatola. Ancora una volta controlla le immagini.

Passaggio 3: costruire il PCB con l'elettronica

Costruire il PCB con l'elettronica
Costruire il PCB con l'elettronica
Costruire il PCB con l'elettronica
Costruire il PCB con l'elettronica
Costruire il PCB con l'elettronica
Costruire il PCB con l'elettronica

Il PCB conterrà il microcontrollore, la comunicazione bluetooth, il modulo RTC, un tranzistor di potenza con un diodo di protezione e un piccolo rezistor, i cavi dei connettori e un regolatore 5V.

Ho allegato lo schema di fritzig così le cose saranno facili. La prima immagine rappresenta l'immagine esportata dello schema e ho anche allegato sketch.fzz (il file originale, puoi aprirlo con questo strumento)

Fasi di saldatura:

1. tagliare i connettori femmina PCB, ci sono due connettori a 12 pin per il microcontrollore, c'è anche un connettore a 6 pin per il bluetooth e un altro connettore a 12 pin sul lato destro del microcontrollore e un connettore a due pin per il negativo del relè e potere positivo

2. Dopo che tutti i connettori sono stati tagliati, devono essere saldati sul retro del PCB

3. Saldare i due connettori a spina KF301-2P

4. Mettere il regolatore L7805CV 5V sul PCB. Piega le gambe e saldalo sull'altro lato, quindi taglia le gambe in eccesso con il tagliacavi

5. Saldare il tranzistor NPN Tip142T e il diodo di protezione 1N4004, tagliare le gambe in eccesso dopo

6. Saldare il rezistor da 220 ohm tra il corrispondente pin digitale 5 e il pin base del tranzistor

7. Saldare fili più spessi tra il tranzistor e le spine KF301-2P (rosso e nero come sono contrassegnati nelle immagini)

8. Saldare tutti i fili sottili rosso (+), nero (-) e bianco (segnale) secondo lo schema fritzig

9. Saldare i pin maschio sul microcontrollore sono necessari due pin maschi da 12 sui lati

10. Effettuare i collegamenti tra ciascuno dei pin corrispondenti femmina lato destro del microcontrollore (è spiegato meglio nelle immagini). I collegamenti verranno effettuati utilizzando solo saldatura (i pin saranno vicini)

11. Facoltativo: con la lente di ingrandimento ispezionare le saldature per cortocircuiti, e verificare se i fili sono saldati correttamente sul retro del PCB, inoltre è possibile verificare con il multimetro (impostazione della resistenza) se c'è un cortocircuito tra positivo e connessioni negative. Un altro test è alimentare il circuito senza il microcontrollore, bluetooth

12. Posiziona il microcontrollore e il bluetooth HC-05 sul pcb

Passaggio 4: cablaggio e assemblaggio

Cablaggio e assemblaggio
Cablaggio e assemblaggio
Cablaggio e assemblaggio
Cablaggio e assemblaggio

Ormai abbiamo il nostro pcb pronto, la nostra scatola di plastica pronta, i cavi delle schermature cablati e gli altri componenti preparati. Tutto quello che dobbiamo fare ora è cablare il sistema.

1. attraverso il foro laterale superiore nella scatola inserire il cavo di alimentazione AC, spellare il cavo e saldarlo sull'alimentatore (se l'alimentatore ha delle viti, avvitarlo)

2. utilizzando una saldatura a filo rosso l'uscita (+) dell'alimentatore a uno dei fusibili lato, utilizzare un po' di tubo termoretraibile per nascondere il filo scoperto esposto.

3. saldare un altro filo rosso all'altro lato del fusibile applicare il tubo termoretraibile, l'altro lato del filo deve essere inserito e avvitato nell'ingresso (+) del connettore a vite KF301-2P

4. saldare un filo nero al lato di uscita (-) dell'alimentatore e quindi avvitarlo sul connettore a vite KF301-2P di ingresso PCB

4. Utilizzando connettori breadboard maschio-femmina, collegare il relè positivo e negativo ai connettori femmina positivo e negativo della scheda. Collegare anche i pin 8 e 9 del microcontrollore (usando i connettori della madre del pcb a sinistra del PCB) ai pin di attivazione del relè

5. collegare un lato della morsettiera ai fili rossi rispettivamente neri provenienti dai connettori femmina DC Power Plug da 5,5 mm. Hai più di un connettore femmina da 5,5 mm come me, quindi tutti i fili rossi finiranno nella parte superiore sinistra della morsettiera e tutti i fili neri nella parte superiore destra della morsettiera (vedi foto). Quando utilizzerai le tende se non si muovono nella stessa direzione, invertiremo i fili qui (ne parleremo più avanti)

6. collegare i fili positivo e negativo provenienti dal connettore a vite KF301-2P (out) al centro dei terminali del relè. Il centro dei terminali sono chiamati comuni.

7. collegare il lato sinistro del relè sinistro (non importa come stai affrontando la realtà) al lato sinistro del relè destro al lato inferiore sinistro della morsettiera. Quindi collegare il lato destro del relè sinistro al lato destro del relè destro al lato inferiore destro della morsettiera. La morsettiera avrà il lato superiore collegato ai connettori femmina da 5,5 mm (vedi punto 5).

Nota: ho descritto la morsettiera come avente un lato superiore e uno inferiore, ciascuno con un lato sinistro e uno destro. Non importa come tieni la morsettiera fintanto che ricordi da che parte è cosa. Puoi controllare le immagini e soprattutto lo schema fritzig.

Passaggio 5: il codice Arduino

Il codice Arduino
Il codice Arduino

Il codice deve essere caricato su arduino pro mini utilizzando l'adattatore da USB a seriale FTDI FT232RL.

Dovrai collegare i pin GND, VCC, Rx, Tx e DTR all'arduino pro mini. Quindi apri il software arduino seleziona strumenti/porta e qualunque porta tu stia utilizzando. Quindi Strumenti/Scheda/Arduino Pro o Pro Mini. Quindi Strumenti/Scheda/Processore/ATmega328 (5 V 16 Mhz).

Infine, apri lo schizzo qui sotto e premi Carica.

Regolazioni: l'unica cosa che può essere regolata nello schizzo è il pwmPower. Il valore può essere compreso tra 0 e 255 e rappresenta approssimativamente quanta parte della potenza dell'alimentatore andrà ai motori delle tende. Fondamentalmente accende e spegne rapidamente l'alimentazione. L'ho implementato principalmente per consentirmi di utilizzare un alimentatore più piccolo senza surriscaldarsi o spegnersi. Se il tuo alimentatore ha una potenza maggiore di quella assorbita dai motori, puoi impostare pwmPower su 255.

Quindi come funziona questo programma: prima ascolta la linea seriale (una seriale software secondaria) per le trasmissioni in arrivo. Quando arriva una trasmissione, il messaggio viene letto in un buffer fino al ";" è presente o è stata raggiunta la fine del buffer. Quindi viene analizzato e se è nel formato corretto (es: O45;) viene chiamata la funzione toggleState con il primo stato del parametro e poi la durata.

Per ottenere l'interruttore di polarità entrambi i relè sono aperti o chiusi. Il tranzistor viene acceso e spento tramite il PWM per la durata specificata. O45 significherà aperto per 45 secondi.

Dopo l'esecuzione del comando, il buffer viene cancellato.

Passaggio 6: utilizzo

utilizzo
utilizzo
utilizzo
utilizzo
utilizzo
utilizzo

Possiamo usare i controlli in più di un modo

1. Tramite un'applicazione Bluetooth per Android o iPhone (la più semplice)

Nella mia demo ho scelto un'app Android chiamata Bluetooth Controller. Questa app ti consente di personalizzare i pulsanti che invieranno dati seriali. Ho creato due pulsanti chiamati Su e Giù, ho associato Su al codice "C40;" e il Down con "O35;".

"C40;" significa che chiuderò (ritiro) le tende per 40 secondi, "035" significa che si apriranno (si alzano) per 35 secondi. ";" è il terminatore di comando che ho scelto nel mio sketch, ciò significa che segnala la fine di un comando.

2. Tramite uno script Python che viene eseguito continuamente in background

Questa è la parte avanzata del tutorial. Ho creato uno script Python che verrà eseguito su un server come un Raspberry Pi o un laptop con accesso a Internet. Si collegherà al bluetooth sulla scatola di controllo ed esporrà un'API http. È possibile accedere all'API direttamente o tramite thingspeak.

Ti spiego passo passo cosa dovrai fare

un. la prima cosa è accoppiare il bluetooth

utilizzerai il comando bluetoothctl dalla console, all'interno del tipo

accensione

rilevabile sull'agente sull'abbinamento agente-predefinito sulla scansione sulla coppia xx:xx:xx:xx:xx:xx (e immettere la password) attendibile xx:xx:xx:xx:xx:xx (se non è presente la password):

quindi apri il file di configurazione del bluetooth

vim /etc/bluetooth/rfcomm.conf

all'interno dovrai configurare il tuo dispositivo bluetooth in questo modo:

rfcomm1 {

vincolare sì; dispositivo your_bluetooth_mac_address qualcosa come 97:D3:31:21:A0:51; canale 1; commenta "Collegamento alle mie sfumature bt"; }

associare, riavviare i servizi bluetooth

sudo rfcomm bind allsudo /etc/init.d/bluetooth restart sudo hciconfig hci0 up

B. install flask, autenticazione di base flask:

sudo -H pip install Flask Flask-BasicAuth

C. creare un file server.py con il seguente codice ed eseguire il server:

# utilizzo: python httpToBluetooth username password bluetooth_address

# Nota: vengono utilizzati nome utente e password

import os, bluetooth, sys, threading

from flask import Flask from flask_basicauth import BasicAuth from queue import Queue app = Flask(_name_) configuration = sys.argv app.config['BASIC_AUTH_USERNAME'] = configuration[1] app.config['BASIC_AUTH_PASSWORD'] = configuration[2] coda = Queue() basic_auth = BasicAuth(app) class BluetoothBackground(threading. Thread): def _init_(self, bluetooth_address, queue): threading. Thread._init_(self) self._bluetooth_address = bluetooth_address self._queue = coda self.shutdown = False def run (self): self._bluetooth = self.get_bluetooth() while not self.shutdown: message = self._queue.get() self._bluetooth.send(message) self._bluetooth.close() def get_bluetooth(self): connection = bluetooth. BluetoothSocket(bluetooth. RFCOMM) connection.settimeout(Nessuno) try: connection.connect((self._bluetooth_address, 1)) tranne Exception, e: print 'Errore connessione a bluetooth' + connessione str(e).setblocking(False) restituisce la classe di connessione Webserver(threading. Thread): def run(self): port = in t(os.environ.get('PORT', 5000)) app.run(host='0.0.0.0', port=port, debug=True, use_reloader=False) @app.route("/send_to_serial/") @basic_auth.required def send_to_serial(command): queue.put(command) return 'ok' threads = threads.append(BluetoothBackground(configuration[3], queue)) threads.append(Webserver()) [thread.start () per thread in thread]

per eseguire il server eseguire:

python server.py password utente 97:D2:31:20:A0:51

Ok, quindi server.py è il nostro script, utente e password sono le credenziali utilizzate per la tua autenticazione e "97: D2: 31: 20: A0: 51" è il tuo indirizzo MAC bluetooth.

D. usa il tuo server per inviare comandi da qualsiasi parte del mondo

dal tipo di browser:

- inserisci l'utente e la password che hai impostato in precedenza all'avvio del server python

- "C30;" è il comando che verrà inoltrato al dispositivo bluetooth (il nostro box che controllerà le tende)

- controlla che la porta 5000 non sia bloccata dal tuo firewall (stiamo usando quella porta)

- se sei dietro un router (ad esempio un raspberry pi) devi fare un port forwarding dal router dalla porta 5000 alla porta 5000

e. puoi usare Thingspeak per fare cose come controllare le tende in base a un programma orario o quando alcuni dati del sensore di canale cambiano. Ad esempio, potresti agganciare un sensore di luce (esterno) per pensare a parlare e quando il livello di luce scende a una certa quantità (è sera) puoi chiudere le tende in modo che le persone all'esterno non ti vedano.

Puoi connettere le sfumature (server Python che abbiamo impostato in precedenza) con Thingspeak usando ThingHTTP.

Ho incluso un'immagine del modulo ThingHTTP con i dati inseriti come esempio e un'immagine con TimeControl Quindi, per la massima flessibilità, thingspeak dovrebbe fare tutto ciò di cui hai bisogno.

3. Tramite la mia applicazione domotica

Questo è un po' più complicato, la mia applicazione di automazione domestica fa molto di più che controllare le tende.

Controlla anche le luci, la porta, ha più sensori, si integra con gli interruttori e ha complesse regole definite dall'utente che possono ad esempio aprire le tende se il livello di luce all'interno è basso o se è mattina.

Puoi controllare il mio repository github e se hai domande sarò felice di risponderti.

Se hai trovato utile il mio tutorial, condividilo o aggiungilo ai preferiti. E voglio vedere anche dei commenti interessanti:)

Consigliato: