Controllo vocale della spia del PC. Jaco è un interruttore parlante multifunzionale con controllo vocale. Interruttore della luce Belkin Wemo

  • Esercitazione


Novembre 2017, sul calendario è stato visualizzato il numero undici. La vendita su Aliexpress era in pieno svolgimento, le mie mani non vedevano l'ora di comprare qualcosa. La scelta è ricaduta" Lampada LED Mi-light RGBW AC86-265V Telecomando Illuminazione intelligente". Di conseguenza, sono state acquistate due copie della potenza massima, 9 watt, e un controller hub MiLight WiFi iBox. La consegna dalla Cina non si è fatta attendere e 4 mesi dopo, il 13 marzo 2018 (una piattaforma che consente il terzo -party per aggiungere l'assistente per le abilità vocali "Alice") Successivamente, Alice imparerà come controllare l'illuminazione (e altro) nel tuo appartamento e noi la aiuteremo in questo, passo dopo passo e senza una sola riga di codice.

1. Configurazione delle lampade intelligenti di Xiaomi.

La prima cosa che devi fare è impostare il controllo della lampada, almeno utilizzando l'applicazione Xiaomi. Se questa fase è stata completata per te, sentiti libero di passare alla configurazione di un server di casa intelligente o, anche oltre, direttamente all'integrazione di Alice e openHAB. Ma prima le cose principali. Le lampade stesse non si collegheranno al router di casa; per questo è necessario un hub iBox, che può controllare fino a quattro gruppi di sorgenti luminose. È necessario collegarlo alla rete e quindi collegare le lampade ad essa.
  1. Forniamo cibo a iBox collegandolo tramite USB, ad esempio, al caricabatterie del telefono.
  2. Quando ci si connette per la prima volta, è necessario ripristinare le impostazioni dell'hub, quindi fare clic su RST.
  3. Successivamente, installa l'applicazione sul tuo telefono da Xiaomi per iOS o Android. Assicurati che il telefono sia connesso alla rete Wi-Fi domestica.
  4. Apri l'applicazione Mi-Light 3.0, premere + . Qui siamo interessati alla scheda Collegamento intelligente.
  5. Immettere il nome e la password della rete Wi-Fi domestica a cui il telefono è connesso e prevede di connettersi iBox.
  6. Adesso sì iBox deve essere collegato alla rete e agli indicatori SIST E COLLEGAMENTO dovrebbero lampeggiare, rispettivamente lentamente e velocemente. In caso contrario, fare clic su RST Ancora.
  7. Se le luci lampeggiano, premere nell'app Avvia la configurazione, verrà avviato il processo di configurazione della connessione per l'hub.
  8. Dopo dieci secondi il lampeggiamento smetterà di lampeggiare SIST inizierà a lampeggiare di nuovo lentamente e COLLEGAMENTO resterà acceso. L'app visualizzerà un messaggio Configurato. L'hub è connesso alla rete. Se sulla lista Elenco dispositivi non è lì, basta fare clic Ricerca del dispositivo.
Ora puoi controllare il colore e la luminosità dell'iBox stesso, ma dobbiamo collegare le lampade. Per fare ciò, assegneremo le lampade a una delle quattro zone a disposizione dell'hub per il controllo.
  1. Apri nell'applicazione Mi-Light 3.0 dall'elenco degli hub Mi-Light. Vai alla sezione Colori.
  2. Nella parte superiore dello schermo, seleziona una delle zone, lasciala stare Zona1. E fai clic sull'icona di collegamento del dispositivo nell'angolo in alto a destra. Si aprirà la schermata COLLEGA/SCOLLEGA con istruzioni.
  3. Ora impostiamo quelle lampade a cui vogliamo associarci Zona1, in futuro verranno gestiti in modo sincrono. Per controllare individualmente la luminosità e il colore di ciascuna lampada, è necessario assegnarle a zone separate. Quindi, accendi la lampada e durante i primi tre secondi premi l'applicazione Collegamento. Se la lampada lampeggia tre volte, è tutto a posto, la sincronizzazione ha avuto successo. Puoi controllare la lampada.


In linea di principio, in questa fase hai già un telecomando per controllare la luce. Inoltre, puoi scrivere il tuo sistema di controllo dell'illuminazione, poiché il protocollo per comunicare con l'hub è noto da tempo (una volta era disponibile al link limitlessled.com/dev). Esistono librerie già pronte per php, javascript, python. Ma questo controllo è possibile solo dalla rete locale, il che evidentemente non è sufficiente per Alice. Proviamo a risolvere questo problema.

2. Installazione di openHAB

In breve cos'è openHab. Questo è un server di controllo della casa intelligente open source. Sviluppato dalla comunità, supporta la gestione di un numero enorme di dispositivi. C'è un client mobile, è possibile controllare Alexa di Amazon e l'assistente di Google. Scritto in Java, basato sul framework Eclipse SmartHome. Ciò significa che può essere installato anche su un frigorifero, l'importante è che la macchina virtuale Java funzioni su questo frigorifero. Le istruzioni di installazione sono disponibili per Linux, Windows, Mac OS, Raspberry Pi, vari dispositivi di archiviazione di rete Synology e QNAP. Esaminiamo rapidamente la prima opzione.
  1. Aggiungi chiavi del repository:

    Wget -qO - "https://bintray.com/user/downloadSubjectPublicKey?username=openhab" | sudo apt-key add - sudo apt-get install apt-transport-https

  2. Aggiungi il repository stesso:

    Echo "deb https://dl.bintray.com/openhab/apt-repo2 stable main" | sudo tee /etc/apt/sources.list.d/openhab2.list

  3. Aggiorniamo e installiamo il server insieme alle aggiunte:

    Sudo apt-get update sudo apt-get install openhab2 sudo apt-get install openhab2-addons sudo apt-get install openhab2-addons-legacy

  4. Configuriamo l'avvio automatico del servizio dopo il riavvio del dispositivo e lo lanciamo:

    Sudo systemctl avvia openhab2.service sudo systemctl status openhab2.service sudo systemctl daemon-reload sudo systemctl abilita openhab2.service

  5. Adesso aspettiamo in zona 15-20 minuti(questa non è un'esagerazione, questa è una dura realtà con battute sulla velocità di Java) finché non si carica e appare un'interfaccia web su http://openhab-device:8080.
  6. In questa pagina siamo interessati all'articolo Interfaccia utente cartacea. È con questo tipo di interfaccia che lavoreremo in futuro.

3. Controllo della luce tramite openHAB

Quindi, abbiamo un server di casa intelligente funzionante e lampade Xiaomi con funzionalità di controllo remoto. È necessario collegarli. openHAB supporta i collegamenti (istruzioni che consentono di controllare l'elettronica collegata) per molti dispositivi, comprese queste lampade.

4. Accesso esterno a openHAB

Per motivi di sicurezza, dopo le manipolazioni sopra descritte, la gestione del server smart home è possibile solo dalla rete locale. Ciò chiaramente non è sufficiente per il nostro compito. Sono disponibili diverse opzioni di configurazione: impostare una VPN per l'accesso da Internet alla rete locale, configurare un proxy inverso o connettere il server al servizio myopenHAB Cloud su myopenHAB.org. Poiché in Russia il numero dei dipendenti di Roskomnadzor è direttamente proporzionale al numero di utenti di VPN e server proxy, utilizzeremo quest'ultima opzione.
Non bisogna moltiplicare inutilmente le cose esistenti
  1. Registrati sul sito web myopenHAB, accedi e vai su https://myopenhab.org/account. In questa pagina siamo interessati a due campi: UUID openHAB E openHAB Segreto. Permettono di organizzare la comunicazione tra i server. Scopriamo dove trovarli.
  2. Vai al pannello di controllo PaperUI openHAB.
  3. Apri la sezione ConfigurazioneComponenti aggiuntiviVarie.
  4. Installare connettore cloud openHAB.
  5. IN ConfigurazioneServizi dovrebbe apparire il modulo openHAB Cloud con modalità " Notifiche e accesso remoto".
  6. IN ConfigurazioneSistemaGestione componenti aggiuntivi l'interruttore deve essere attivato Accedi all'archivio remoto".
  7. Dopo aver installato il componente aggiuntivo, i dati che stiamo cercando saranno nei file /var/lib/openhab2/uuid E /var/lib/openhab2/openhabcloud/secret (dati utente/uuid E userdata/openhabcloud/secret, se installato non dal pacchetto). Inseriscili nelle impostazioni del tuo account su myopenHAB e clicca Aggiornamento. Se tutto è configurato correttamente, la parola " dovrebbe apparire a sinistra del tuo indirizzo email in linea". Ciò significa che l'accesso alla tua casa intelligente da Internet è aperto, ma immediato Alice non sarà in grado di usarlo. Per prima cosa è necessario rendere accessibile dall'esterno il dispositivo precedentemente configurato.
  8. Vai alla sezione ConfigurazioneServiziopenHAB CloudConfigura.
  9. Sulla lista Elementi da esporre ad app come IFTTT attivare la casella di controllo per il controllo della luminosità e fare clic Salva.
  10. Dopo qualche tempo controlliamo che l'elemento selezionato sia presente nell'elenco nella pagina myopenhab.org/items con lo stato " SU".

Ora la lampada può essere controllata da Internet, tramite l'API openHAB Cloud, che supporta l'autorizzazione OAuth2. Ma sfortunatamente i client sono predeterminati, si tratta di Alexa, Google Assistant e il servizio IFTTT. Alice non è ancora in questa lista. Ma non è un problema!

5. IFTTT

Se questo allora allora.

Un servizio che ti permette di costruire una catena di azioni a partire da più servizi. Reagire in modo condizionale con un'azione in un servizio se viene attivato un trigger per un evento in un altro servizio. IFTTT supporta un numero enorme di servizi, incluso myopenHAB, che ci interessa. Ma non sostiene Alice. In generale, chiunque può creare lì un modulo per il proprio servizio; prima di tutto è necessario contattare l'ufficio commerciale e scoprire l'importo del pagamento annuale a IFTTT. Il nostro obiettivo è utilizzare il servizio gratuitamente per poter reindirizzare le richieste da Alice a openHAB.
  1. Registratevi sul sito ifttt.com e andate su AppletNuova applet.
  2. Dopo aver cliccato + questo, è necessario selezionare un servizio il cui evento fungerà da trigger. Perché servizio Alice non nell'elenco, dobbiamo scegliere qualcosa che possa ricevere comandi da esso. Questo è un servizio Webhook. Clic Collegare.
  3. Successivamente, seleziona il trigger "dall'elenco con un elemento" ricevere una richiesta web".
  4. Specificare ad esempio il nome dell'evento Accendi e premere Creare.
  5. Ora devi selezionare un'azione di risposta, fare clic su + quello. La nostra scelta apertoHAB, Collegare.
  6. Nella finestra che si apre, clicca sull'autorizzazione OAuth2 precedentemente menzionata Permettere.
  7. C'è solo una reazione disponibile" invia comando".
  8. Dall'elenco a discesa, seleziona l'elemento di controllo della lampada (ad esempio Light_Switcher) e come comando per accendere la luce, specifica la parola " SU". Noi creiamo.
Per verificare, dobbiamo chiamare un trigger dal servizio Webhooks. Come farlo? Invia una richiesta POST.
  1. Cerco sul sito IFTTT servizio Webhook e vai alla documentazione ad esso associata.
  2. Nella pagina che si apre c'è un comando che dobbiamo eseguire sostituendo (evento) SU Accendi.
  3. Dopo aver cliccato su Provalo, la lampada dovrebbe accendersi.
Non resta che creare una ricetta simile per l'evento light_off, che invierà il comando OFF all'elemento di controllo luce. E poi insegna ad Alice a richiamare questi trigger su nostra richiesta.

6. Alice

Al mio comando, alla mia volontà, Alice accenderà la luce se usi la piattaforma Yandex.Dialogues. La piattaforma è stata aperta a marzo di quest'anno e consente a chiunque di aggiungere competenze ad Alice scrivendo il codice appropriato. Al momento il catalogo contiene già un numero enorme di competenze. Lo sviluppo di un'abilità è un argomento per un articolo separato su Habré, ma qui abbiamo " senza una sola riga di codice". Quindi utilizziamo gli sviluppi esistenti.
  1. Installiamo, solo che attualmente ha il supporto competenze personalizzate.
  2. Parliamo Alice "attiva gli incantesimi". È l'abilità incantesimi magici/incantesimo ci consentirà di eseguire richieste POST ai server IFTTT.
  3. Clic Aggiungere e indicare l'indirizzo per accendere la luce in questo modo:

    https://maker.ifttt.com/trigger/light_on/with/key/(user_id)

  4. Il passo successivo è pronunciare una frase o una parola alla quale Alice risponderà eseguendo una richiesta all'indirizzo specificato (la mia Alice risponde “accendi la luce”).
Se ora fai clic sul pulsante appropriato o esprimi una proposta, la richiesta dai server Yandex andrà al server delle competenze, da lì a IFTTT, quindi a myopenHAB, che trasferirà i dati alla tua istanza locale, che ha accesso diretto a il mozzo della lampada e la luce si accenderà. Aggiungiamo subito un comando simile per spegnere l'illuminazione.


Devi capire che non basta accendere Alice e dire " accendere le luci"Yandex non sa nulla dei nostri comandi per la casa intelligente; i dati su di essi sono archiviati nel database delle competenze" incantesimi magici". Pertanto, devi prima attivare l'abilità dicendo " attiva gli incantesimi", e solo allora accendi e spegni la luce con la tua voce.

PS

L'approccio di integrazione di Alice e openHAB tramite IFTTT non limita in alcun modo la tua immaginazione. Puoi usare l'abilità " incantesimi magici"controlla qualsiasi cosa nella tua casa intelligente con la tua voce. Ad esempio, openHAB ha un collegamento per Samsung SmartTV, che ti consente di controllare l'audio e i canali della TV. L'interazione tra Alice e Webhooks è l'implementazione di un'interfaccia vocale per tutti i servizi IFTTT," incantesimi magici" ti consentono di eseguire un comando da uno qualsiasi di essi. Oppure non puoi utilizzare affatto Alice e scrivere il tuo front-end, ad esempio un'applicazione mobile che effettuerà richieste a IFTTT tramite gli stessi Webhook. E non lo fai Non devi usare IFTTT, puoi configurarlo per analogia " incantesimi magici Aggiungi tag

La caratteristica principale di un interruttore sonoro è che rispondono al suono. Ad esempio, l'opzione più semplice è per il cotone. Cioè, una persona deve solo riprodurre un comando sonoro per controllare la luce in una stanza o anche nell'intero appartamento. Un interruttore del suono, o il cosiddetto clap switch, è pratico e può sempre sorprendere piacevolmente i tuoi ospiti.

Sarà difficile realizzare un interruttore di cotone per quasi tutti i radioamatori in modo indipendente, poiché ha davvero un design piuttosto intricato.
Per decidere se installare o meno un dispositivo di commutazione così high-tech nel tuo appartamento, dovresti prima capire che tipo di interruttore è, di quali tipi e caratteristiche ha.

La gamma di questi dispositivi di commutazione oggi è piuttosto ampia. Ciò vale non solo per i tipi, ma anche per le categorie di prezzo e alcune caratteristiche delle singole opzioni. Inoltre, esistono anche modelli di design pensati per gli interni delle stesse case “intelligenti”.
Ma, in generale, tutti gli interruttori moderni sono suddivisi nei seguenti tipi:

  • Cotone;
  • Acustico;
  • Con sensore di movimento e suono.

L'interruttore del battito delle mani, come già accennato, viene attivato rilevando i suoni di un certo numero di battiti di mani. A proposito, non tutti i circuiti di questo particolare modello sono difficili da riprodurre con le proprie mani, quindi qualsiasi radioamatore può provare a realizzare questo dispositivo.

L'interruttore acustico risponde ad una voce o a qualsiasi comando. Le frasi in codice possono essere standard: "accendi", "spegni", ma alcuni proprietari di modelli audio preferiscono impostare le proprie opzioni, che sicuramente non griderai per sbaglio. È vero, i dispositivi che supportano la funzione di selezione di una parola in codice sono leggermente più costosi.

L'ultima opzione della gamma generale è la più tecnologicamente avanzata. Il suo il design è pensato in modo tale da rispondere contemporaneamente ai movimenti umani e alla sua voce. Esistono per evitare guasti comuni, di cui parleremo più avanti.

Vantaggi e svantaggi

Gli interruttori del suono o del battito delle mani sono dispositivi piuttosto unici di per sé. Il loro principale vantaggio rispetto ai modelli standard è che una persona non ha bisogno di fare sforzi ogni volta per spegnere o spegnere la luce. Inoltre, questo può essere fatto da qualsiasi parte della stanza.
Tutti i vantaggi di tali interruttori risultano intuitivi già dal nome. Nel corso della loro esistenza, i modelli Voice e Cotton sono stati parte integrante di qualsiasi casa intelligente e una piacevole aggiunta a un normale appartamento.
Il loro principale svantaggio per i radioamatori sarà il circuito difficile da riprodurre. Tuttavia, la progettazione di tali dispositivi è molto più complessa, il che significa che realizzarli con le proprie mani è tutt'altro che facile. Se trovi e utilizzi schemi semplici, questo inconveniente passa gradualmente in secondo piano.
Inoltre, l'interruttore del battito delle mani, come l'interruttore del suono, presenta una serie di piccoli svantaggi che saranno evidenti a tutti:

  1. Possono reagire a suoni simili, specialmente alla versione vocale. Naturalmente, se pronunciate una frase in codice nel contesto, ad esempio, di una normale conversazione, la luce nella stanza reagirà ad essa.
  2. Difetti minori possono causare una reazione "lenta" in questi dispositivi. Ciò si verifica spesso quando un interruttore acustico, la cui struttura è un po' più complessa, è stato realizzato a mano. Quindi, dovresti prestare particolare attenzione a questo fattore prima di iniziare a riprodurre qualsiasi circuito.
  3. Se il segnale (battito di mani o comando) non è abbastanza forte, molto probabilmente il dispositivo non risponderà. La bassa sensibilità di tali interruttori è necessaria affinché le persone abbiano meno probabilità di incontrare il primo problema in questo elenco.

In linea di principio, è possibile combattere questi svantaggi, ma è improbabile che anche un professionista sia in grado di eliminarli completamente, perché se, ad esempio, si aumenta la sensibilità, l'interruttore acustico inizierà a rispondere molto di più ai comandi "falsi" Spesso.

È possibile effettuare un passaggio con le proprie mani?

Solo chi ha già almeno una certa esperienza nel lavoro con apparecchiature radio può realizzare un dispositivo di commutazione audio con le proprie mani. Per un principiante in questo settore, sarebbe meglio utilizzare i circuiti più semplici, che non sono così facili da trovare.
Sulla base dei dati tecnici, un interruttore in cotone e acustico standard funziona con i seguenti parametri:

  • La tensione di rete dovrebbe essere 220 (V), ovvero andrà bene una normale lampada a incandescenza;
  • La potenza del carico non deve superare i 300 (W);
  • La temperatura ambiente non è inferiore a -20 gradi e non superiore a +45;
  • Il suono è regolabile da 30 a 150 decibel;
  • Protezione custodia IP-30.

Questa è una descrizione delle caratteristiche del popolare modello “Ekosvet-X-300-L” su cui si può porre l'accento, poiché questa opzione è ideale per un appartamento normale;
Per effettuare un cambio acustico con le tue mani, devi anche guardare i diagrammi adatti. L'interno del dispositivo deve essere riprodotto su un chip separato. Se non si vuole investire molto tempo, è meglio acquistare parti intere dalle quali, con l'aiuto di un diagramma, è possibile creare una struttura funzionante.

Un interruttore audio o vocale per una casa normale non avrà altre funzionalità oltre a un microfono integrato e un'implementazione leggermente diversa. Per coloro che hanno già realizzato apparecchiature di comunicazione o radiocomandate con le proprie mani, l'attuazione dello schema non richiederà molto tempo.

Dove è installato l'interruttore?

È meglio installare un interruttore in cotone o acustico creato utilizzando un microcircuito sulle pareti, lì. Un'opzione fai-da-te molto probabilmente avrà una sensibilità molto bassa, a meno che, ovviamente, non ti impegni a implementare circuiti complessi.

Un interruttore vocale acquistato in un negozio speciale può essere installato ovunque, anche sul soffitto. Poco prima è necessario familiarizzare con le sue caratteristiche tecniche e, ancora una volta, prestare particolare attenzione alla sensibilità. In questo caso, la regola più comune è che più il modello è costoso e tecnologicamente avanzato, maggiore è la sua funzionalità.

È importante considerare che è improbabile che un interruttore vocale o di applauso acquistato su un sito cinese per due centesimi funzioni correttamente. Quindi, per risparmiare su questo acquisto, è meglio realizzarlo da soli utilizzando le parti necessarie.
Quindi, se tutte queste caratteristiche e sfumature si adattano perfettamente a una persona, allora può facilmente permettersi di installare un cotone o un interruttore vocale nel suo appartamento. Questi modelli sono facili da usare, non richiedono sostituzioni frequenti e, inoltre, aggiungono producibilità e unicità a qualsiasi stanza, poiché sono rari.

Oggi sul mercato esistono molte soluzioni diverse per il controllo remoto dell'uno o dell'altro dispositivo di illuminazione. Ad esempio, puoi controllare una lampada utilizzando uno smartphone e un'applicazione speciale, puoi controllarla da un telecomando, ecc. Ognuno ha i suoi pro e contro.

La società russa ARMiSoft ha affrontato questo problema in modo più fondamentale e, devo dire, in modo più completo. Nell'ultimo anno e mezzo, gli specialisti dell'azienda hanno lavorato alla creazione di un interruttore della luce ad attivazione vocale chiamato Voicer, che ha un design elegante e funzioni di controllo vocale.

Voicer consente di regolare la luminosità delle lampade collegate tramite influenze meccaniche (anello e pulsante dimmer), segnali da un telecomando a infrarossi o comandi vocali (l'ultima soluzione più interessante). Voicer è il primo dispositivo al mondo che combina design originale e controllo intelligente di comandi vocali separati. Sarà bello averlo in ogni casa come logico sostituto dei tradizionali interruttori della luce.

E alla luce del graduale sviluppo della direzione della "casa intelligente", questa soluzione sarà richiesta, soprattutto perché non esistono analoghi. La sensibilità nella ricezione dei comandi vocali si è rivelata elevata, come è chiaramente visibile nel video.

Caratteristiche principali:

  • Design ergonomico
  • Illuminazione bicolore incorporata
  • Esterno compatto. L'altezza della cassa, misurata dal piano della parete, è di soli 5,5mm.
  • Comodo controllo meccanico tramite pulsante e anello dimmer
  • Controllo vocale tramite comandi addestrati per una persona specifica nella lingua selezionata. In futuro l'indipendenza degli altoparlanti sarà possibile su uno switch già acquistato!
    Controllo IR
  • Funzionamento del dispositivo secondo il programma
    Il dispositivo è collegato a un circuito aperto di alimentazione della lampada da 100 - 220 V (50-60 Hz) tramite una connessione a due fili
  • Il carico può essere una lampada LED dimmerabile o una normale lampada a incandescenza.
  • Non richiede apparecchiature tecnologiche per eseguire il flashing del dispositivo: come qualsiasi dispositivo che utilizza algoritmi di elaborazione complessi, il dispositivo può essere facilmente aggiornato con una nuova versione del programma. Il voicer viene proiettato attraverso l'audio riproducendo su qualsiasi dispositivo multimediale (ad esempio su un telefono) un file audio in formato WAV (questo file è un flashing per il dispositivo), offerto per il download dal sito Web dell'azienda! La durata del firmware per il file audio non supererà un minuto. Questa innovazione tecnica è attualmente brevettata dall'azienda.

ARMiSoft è attualmente alla ricerca di finanziamenti di tipo venture. È aperta a discutere la questione con potenziali investitori. Il tentativo di inserirlo sul sito di crowdfunding indiegogo.com non ha dato i suoi frutti.

Secondo gli autori del progetto, ciò è spiegato dal numero limitato di pubblico attivo del sito: dopo una settimana dalla data di pubblicazione del progetto sono state registrate solo 106 visualizzazioni del progetto. Ciò è chiaramente incoerente con il pubblico mensile dichiarato di Indiegogo di 15 milioni. Umano. I rappresentanti di ARMiSoft rimangono ottimisti, esprimendo fiducia nel futuro del cambio vocale Voicer.

Se il progetto verrà finanziato in modo tempestivo, il suo ingresso sul mercato sarà possibile entro marzo del prossimo 2016. Gli autori quasi garantiscono che quando il prodotto verrà rilasciato in serie, utilizzerà il riconoscimento indipendente dall'oratore e una significativa espansione del dizionario dei comandi.

Di seguito è riportato un video per coloro che vogliono vedere più in dettaglio come funziona l'interruttore Voicer, le sue capacità e i metodi di controllo.


Ciao amici. Oggi voglio raccontarvi e mostrarvi il mio prodotto fatto in casa che sfrutta il controllo vocale. In realtà è un interruttore di accensione/spegnimento a comando vocale. La particolarità di questo prodotto fatto in casa è che questo dispositivo non solo può controllare il carico tramite comando vocale, ma può anche rispondere con comandi vocali precedentemente registrati su una flash card.
In apparenza, il dispositivo si è rivelato così anonimo. È colpa mia, ma non mi sono posto l'obiettivo di renderlo bello, ero solo pigro. In realtà, per lo stesso motivo, ho tirato fuori un minimo di dispositivi per il controllo di questo dispositivo, di cui sul pannello frontale c'è solo una manopola per il controllo del volume per il transponder e un ricevitore per flash card, che inizialmente volevo inserire anche all'interno .
Cosa può fare questo interruttore? Può spegnere 3 carichi indipendentemente l'uno dall'altro. Funziona come segue: nell'interruttore ho organizzato una maggiore immunità al rumore derivante da accensioni indesiderate. Ciò si esprime nel fatto che per spegnere il carico richiesto è necessario prima contattare il dispositivo.
Per contattare bisogna dire “Arduino”. L'ho chiamato così perché il cuore di questo dispositivo è il modulo vocale, che conosceremo in futuro, ed era destinato principalmente al progettista di Arduino. Anche se non ho mai incontrato Arduino e i suoi moduli non sono utilizzati in questo dispositivo.
Ci rivolgiamo all'interruttore Arduino, se l'interruttore risponde “Ascolta”, allora diciamo il seguente dei tre comandi da me assegnati: “Lampada”, “Ghirlanda”, “Luce”. Dopo aver accettato il comando, il dispositivo commuterà lo stato del dispositivo collegato al contrario: se la lampada era accesa si spegnerà, se non era accesa si accenderà. E lui risponderà, ad esempio: “La lampada è spenta” oppure “La lampada è accesa”...
In poche parole, il nostro dialogo con l'interruttore sarà il seguente:
-Arduino.
- Sto ascoltando.
- Leggero.
- Accendo la luce.
Certo, era possibile programmare il modulo con comandi specifici: “Accendi la luce”, “Spegni la luce”, ma ho deciso di farlo in modo che un comando lo accendesse e lo spegnesse.
Ho registrato tutte le risposte su una flash card. Questi sono normali file WAV. Il testo è stato letto da un sito di traduzione inglese. Potrebbe trattarsi di qualsiasi altro programma in grado di leggere il testo. Oppure, in generale, tu o i tuoi parenti potete scrivere queste risposte...
Non so se questo sia un vantaggio o uno svantaggio, ma questo dispositivo è sensibile al timbro della voce. Cioè, ad esempio, ha disdegnato mia moglie finché non ho registrato la sua voce separatamente sul modulo. E le ho dato risposte diverse: una donna mi risponde e un uomo le risponde. Bello, vero?)
Bene, ora passiamo finalmente a testare questo dispositivo. Lo colleghiamo alla rete e colleghiamo un carico.
È necessario attendere circa 5 secondi affinché il modulo stesso si carichi, affinché il controller acceda al modulo, affinché il giocatore inizializzi l'unità flash e i file su di essa...
Guarda il video qui sotto del processo di lavoro...
Ecco come funziona questo interruttore. Ora diamo un'occhiata all'interno dell'interruttore. Rimuovere il coperchio superiore. La prima plancia giocatore con un amplificatore. È lei che riproduce le risposte registrate sulla chiavetta. La scheda è controllata utilizzando il protocollo UART. I comandi vengono inviati dal controller situato sulla seconda scheda, su cui torneremo poco dopo. Successivamente, nei semestri è stata realizzata la terza scheda: un alimentatore con interruttori di potenza. L'intero circuito è isolato galvanicamente in tensione. La scheda è anche controllata da un controller. L'alimentatore produce 5 volt di tensione stabilizzata. Gli interruttori di alimentazione possono sopportare un carico di circa 200 W per canale. Passiamo ora alla seconda tavola. C'è un controller che controlla tutto e un modulo di riconoscimento dei comandi vocali.
Vedremo il funzionamento, il collegamento e la configurazione del modulo nel prossimo video. E ora spiegherò il funzionamento del controller, che viene effettuato su atmega8. Il modulo che riconosce il comando dà un comando al controller tramite UART, il controller, dopo aver elaborato il comando, accende o spegne il carico e comanda al modulo sonoro di riprodurre una risposta audio. Sembra tutto semplice).
Voglio dire che realizzando questo prodotto fatto in casa non mi sono posto il compito di realizzare un dispositivo serio, ma piuttosto un giocattolo.
Nel prossimo video guarderai direttamente il modulo stesso, quindi iscriviti al canale per non perderlo, se ovviamente questo materiale ti interessa.
Ho costruito questo interruttore un paio di anni fa utilizzando un modulo V2. Ma nel prossimo video esamineremo la versione più recente V3. Considereremo anche 2 tipi di lavoro con questo modulo: semplice - questo è se non conosci la programmazione e completo - questo è se sai come programmare i microcontrollori.

Modulo di riconoscimento vocale V3 - http://ali.pub/qv2kr
Modulo di riconoscimento vocale V2 - http://ali.pub/do03a

Spero che il video su questo argomento vi sia piaciuto. Grazie per aver guardato questo video Se ti è piaciuto, lascia un mi piace, così saprò che ci tieni. Iscriviti al canale, ci rivediamo.

Non molto tempo fa, il noto Leonid Kaganov ha parlato nel suo diario di come divertire l'anima di un vero fai-da-te hardcore. Se vuoi che il tuo mestiere sia utile anche a casa tua, allora il sistema di controllo remoto per l'illuminazione domestica descritto di seguito è un'ottima attività del fine settimana. L’idea di una casa intelligente è già qui e implementarla non è affatto costosa!

Beh, sai che sono un fan dell'idea di “casa intelligente”, la mia prima laurea è in ingegnere elettronico, ed è per questo che a volte desidero senza saldatore. Pertanto, oggi ti dirò cose interessanti e utili. I lettori del diario - ingegneri elettronici della società bielorussa "NOOTEKHNIKA" - mi hanno inviato diversi interruttori elettronici, che ho subito iniziato a installare in tutto l'appartamento. Si tratta di tutta una serie di dispositivi elettronici con i quali gli ingegneri elettronici bielorussi sono all'avanguardia rispetto agli sviluppi cinesi in termini di rapporto prezzo/qualità.

L'idea è quella di accendere (o regolare) le luci a distanza tramite appositi telecomandi che possono essere attaccati ovunque senza fili. E da qualche parte vicino alla lampada in un luogo nascosto è installato un piccolo interruttore radiofonico.

I dispositivi vengono forniti in scatole con il seguente design:

Il telecomando si presenta così. Nella foto, Staska e il musicista Kostya Arbenin, venuti a trovarlo, lo guardano. Il telecomando può essere attaccato ovunque nell'appartamento: c'è una batteria al litio che durerà per anni:

L'interruttore stesso è una piccola scatola con un'antenna e quattro fili: due alla rete, due alla lampadina. Nella foto c'è un interruttore per lampade a incandescenza SN111-500 - fino a 500 W (ci sono anche 5000 W), regola la luminosità. Esternamente simili, ma in plastica (senza il lato in alluminio) - interruttori per lampade fluorescenti. La scienza della fisica non lascia alcuna possibilità di regolare la luminosità delle lampade fluorescenti, ma è sufficiente accenderle o spegnerle.

Il primo compito che ho risolto in casa è stato installare un interruttore della luce aggiuntivo nel bagno di Staska, di quattro anni. Perché i tipici interruttori nelle case dell’epoca sovietica, per qualche motivo sconosciuto, erano posizionati a un’altezza tale che un bambino non poteva accendere la luce, ma poteva solo correre e gridare “Mamma, papà, accendetemi la luce in bagno”. ":

I nostri interruttori standard a tre tasti sono comodi perché all'interno c'è una presa, il che significa che c'è un posto dove collegare l'unità di commutazione. Connesso, configura:

La configurazione è semplice. Non citerò le istruzioni in dettaglio, ma il punto è che è necessario premere un pulsante poco appariscente (comprimendo la custodia) e passare alla modalità di associazione del telecomando. C'è un pulsante simile sul telecomando. Qualsiasi telecomando può essere collegato a qualsiasi dispositivo e non solo a uno. Nel complesso, questo permette anche di impostare scenari, ad esempio un telecomando sulla porta d'ingresso che spegne/accende contemporaneamente tutte le lampade dell'appartamento. L'accoppiamento del dispositivo non è influenzato dalle interruzioni di corrente e durerà per anni. Cos'è una "copione"? Supponiamo che tu abbia interruttori elettronici installati in tutte le stanze e che alla porta ci sia un telecomando PU212 (o un portachiavi PN313 in tasca). C'è un pulsante "script". Impostiamo la luce sullo stato desiderato: accendiamola in cucina, spegniamola in bagno, impostiamo il livello di luminosità medio nella stanza, quindi teniamo premuto il pulsante dello scenario per diversi secondi (fino a quando le luci lampeggiano). Ora, quando torni a casa la sera, al buio, puoi premere il pulsante script dal telecomando dietro la porta (o sulla porta nel corridoio) e la luce in tutti i luoghi diventerà come dovrebbe essere.

Una volta collegato il telecomando, il gioco è fatto, inseriamo il dispositivo nello slot (per fortuna, gli interruttori standard a tre tasti hanno uno slot del genere).

Caro Stanislav Leonidovich! Dato che sei ancora piccolo, abbiamo realizzato per te un interruttore separato per la luce nel bagno (come hai indovinato, l'ho semplicemente collegato in parallelo con il tasto corrispondente). Scegli, Stanislav, dove ti sarebbe più comodo attaccarlo per poter accendere tu stesso la luce? Il bambino sceglie... di attaccarlo nel bagno stesso. Onestamente ho cercato di spiegargli che questo non era il posto migliore (anche se ho visto cose del genere nella mia vita). Ti spiego: è meglio appenderlo all'esterno così non devi correre al buio a cercare l'interruttore. Ma Stanislav Leonidovich è stato irremovibile: voglio, dice, andare al bagno qui, e solo qui. Lo trovo al tatto, ma per quanto riguarda il buio, non ne ho paura! Orgoglioso. Beh, dipende da te. Rispettiamo l'opinione del giovane:

Il prossimo compito è attrezzare il lampadario. Da tempo ho nel mio lampadario quelle a risparmio energetico e per poter attenuare gradualmente la luce aggiungiamo un'altra piccola lampadina a incandescenza, una minion. Mettiamo 200 volt nella luce e installiamo due interruttori. Uno per quelli fluorescenti, li accenderà e spegnerà. L'altro è per le lampade a incandescenza, regolerà la luminosità del servitore:

Ora i telecomandi possono essere incollati in qualsiasi posto conveniente (e persino duplicati), dimenticando come un brutto sogno tutti i problemi dei cavi. E NooLite ha anche una versione portatile del telecomando: un portachiavi:

A proposito, il raggio d'azione è ampio, sufficiente per gestire un appartamento o un ufficio. Durante gli esperimenti sono salito un paio di piani più in alto con il telecomando, ma anche da lì ha funzionato. Dato che indossavo le pantofole, ero troppo pigro per spostarmi più in alto, quindi non conosco il raggio esatto, ma una cosa è chiara: è abbastanza sufficiente. Ci sono dei circuiti piuttosto intelligenti all'interno di tutte queste cose. Non si occupa solo dell'accensione stupida, ma ricorda anche gli stati ed esegue altri piccoli servizi. Ad esempio, hai impostato la luminosità al minimo (tutto si è spento) e poi l'hai disattivata del tutto (spegni è un pulsante speciale in modo da non dover regolare nuovamente la luminosità ogni volta). Ma la prossima volta che lo accendi, che luminosità dovresti dare? Cosa hai impostato l'ultima volta: completa oscurità? In questo modo non sarà chiaro se la luce è accesa o meno. Pertanto, in questo caso, la luce è ancora accesa al minimo, per dimostrare che è al minimo. In questo semplice esempio, vediamo che i creatori hanno pensato a molte piccole cose.

Il prezzo del set "telecomando + interruttore" è in media poco inferiore a 1000 rubli, il che è molto conveniente per una cosa del genere. Permettetemi di ricordarvi il sito web del produttore: http://noo.com.by.

Contro: nessuno trovato. C'è un ritardo un po' insolito di mezzo secondo: hai premuto il pulsante, ma la luce non si è accesa nello stesso momento. Ma questa è una questione di abitudine. Allo stesso modo, è una questione di abitudine degli interruttori tattili stessi. E qui suggerirei agli sviluppatori di pensare a una serie di interruttori con un design diverso. Per non parlare del colore, della forma, avrebbe senso realizzare una serie di interruttori con pulsanti più ergonomici. Tuttavia, i sensori piatti senza movimento sotto il dito sono in stile high-tech. E forse molte casalinghe e proprietari di case preferiranno pulsanti convessi e comodi che possono essere premuti o addirittura cliccati. E, naturalmente, avrebbe senso regolare la luminosità (come opzione di design) non con due pulsanti, ma con una rotella grande e comoda. Ma questa è l'idea.

PS: A proposito, gli sviluppatori hanno segretamente detto che attualmente stanno preparando un modello USB del telecomando che funziona da un computer. E, naturalmente, le mie mani non vedevano l'ora di realizzare il mio vecchio sogno: il controllo vocale.

Lo switch USB non è ancora disponibile in commercio, ma mi sono già informato su cosa sia disponibile nel mondo per il riconoscimento vocale. E ho trovato l'API di Google, con l'aiuto della quale ho creato un sistema per riprodurre musica su richiesta. Ad esempio, se dico "musica autunnale", il sistema entrerà nel mio archivio musicale, selezionerà tutti i brani lì presenti con la parola "autunno" nel titolo e inizierà a riprodurli. Lavori! Ieri sera ho passato tutto il giorno a parlare al microfono. È vero, a una distanza di diversi metri dal microfono del laptop, Google smette di comprendere il parlato. E commette molti errori. Ad esempio, non sono mai riuscito a convincerlo a suonare canzoni con la parola "primavera" - l'ha tradotta come "auto" e ha lanciato nella playlist non solo tutti i brani con le parole "automatico", "bus", ma anche 2000 brani dalla cartella "Canzone dell'AUTORE" e chanson", che si è rivelato completamente insopportabile. Anche la lingua inglese era pessima. Certo, capisco che il mio accento è terribile, ma per riconoscere "Jesus Christ Superstar" come "prostituta" - tu, Google, sei un blasfemo estremo. Per coloro che sono interessati a come l'ho sperimentato ieri, di seguito è riportato lo script (per Linux). Spero davvero che nei prossimi cinque anni il riconoscimento vocale venga migliorato attivamente e che gli interruttori USB appaiano prima;)

L'essenza del riconoscimento vocale è che Google dispone di una determinata API "https://www.google.com/speech-api/...", alla quale è possibile inviare una clip audio in un formato speciale utilizzando il metodo POST e in risposta (json) ricevono le parole riconosciute. In realtà, il nostro compito è riconoscere il suono nel silenzio, convertirlo in un file audio, inviarlo a Google, ottenere una risposta ed elaborarlo. Per cominciare, ho installato i programmi necessari in Linux:

sudo apt-get install sox flac php5-curl php5-cli

Creiamo il seguente file principale voice.sh, fa tutte le operazioni e lancia il player xmms:

mentre [vero]; Fare

rec -c 1 -r 16000 voce.wav silenzio 1 0,3 3% 1 0,3 3%

flac -f -s voce.wav -o voce.flac

text=`phpgoogle.php`

echo "Google: "$testo

res=`php musica.php $testo`

echo $testo $res >>log.txt

se ["$res" = "OK"]; quindi xmms list.m3u ; fi

Ed ecco quelli ausiliari. Il programma google.php invia il file voice.flac a Google e riceve una risposta riconosciuta:

"@voice.flac"));

curl_setopt($canale,CURLOPT_URL,

"https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU");

curl_setopt($ch,CURLOPT_HTTPHEADER,array("Tipo di contenuto: audio/x-flac; rate=16000"));

curl_setopt($canale,CURLOPT_RETURNTRANSFER,1); $r=curl_exec($ch); arriccia_chiudi($canale);

$json=json_decode($r,true);

if(vuoto($json["ipotesi"]["espressione"])) die("");

die($json["ipotesi"]["espressione"]);

Il programma music.php (dopo aver fatto confusione con le codifiche) controlla se la prima parola "musica" era nel testo e, in tal caso, cerca tra i file musicali nell'archivio le parole necessarie nel titolo e crea una playlist :

// traduttori in cp1251

funzione uw($txt) ( return(iconv("utf-8","cp1251//TRANSLIT//IGNORA",$txt)); )

funzione wu($txt) ( return(iconv("cp1251","utf-8//TRANSLIT//IGNORA",$txt)); )

$a=array(192,193,194,195,196,197,168,198,199,200,201,202,203,204,205,206,

207,208,209,210,211,212,213,214,215,216,217,219,220,218,221,222,223);

$w1251up=""; foreach($a as $l) $w1251up.=chr($l);

$a=array(224,225,226,227,228,229,184,230,231,232,233,234,235,236,237,238,

239,240,241,242,243,244,245,246,247,248,249,251,252,250,253,254,255);

$w1251lo=""; foreach($a as $l) $w1251lo.=chr($l);

funzione strtolower2($s)( return strtolower(strtr($s,$GLOBALS["w1251up"],$GLOBALS["w1251lo"])); )

// traduttori in cp1251

// la prima parola 'musica'?

if($argc$l)( $l=uw(trim($l,"\n\r\t "));

$s=strtoinferiore2($l); if(strstr($s,$v)) $e.=wu($l)."\n"; )

// crea una playlist

if(!empty($e)) ( file_put_contents('list.m3u',$e); die('OK'); )

die('errore: non trovato');

Bene, ho creato (trova . > mp3.txt) un file con un elenco di tutte le 22.000 canzoni dall'archivio home, come:

/r/mp3/CLASSIC/Mussorgsky/Os grandes clАssicos/03 Preludio a la escena de la Cor.mp3

/r/mp3/CLASSIC/Mussorgsky/Mussorgsky/05. Cammina.mp3

/r/mp3/CLASSIC/Mussorgsky/Mussorgsky/14. Capanna sulle cosce di pollo.mp3

/r/mp3/OLD_SONGS/Mark Bernes/22-Ya rabotayu volshebnikom.mp3

/r/mp3/OLD_SONGS/Mark Bernes/01-Moskvichi.mp3

...e all'infinito

Devi anche assicurarti che il microfono funzioni, quindi avviare voice.sh e provare a dire qualcosa. Ad esempio, "musica autunnale" e goditi il ​​numero di brani con questa parola nel titolo nella tua raccolta personale:

/r/mp3/CLASSIC/Sviridov/06 Primavera e autunno.mp3

/r/mp3/RASBERI/lleo/from_sonny/mp3/DDT/Cos'è autunno.mp3

/r/mp3/RUSSKIY_ROK/DDT/1992 - Attrice Primavera/DDT - Nell'ultimo autunno.mp3

/r/mp3/RUSSKIY_ROK/DDT/1992 - Attrice Primavera/DDT - Cos'è l'autunno.mp3

/r/mp3/RUSSKIY_ROK/DDT/1993 - Black Dog Petersburg/Disk 2/DDT - Autumn.mp3

/r/mp3/RUSSKIY_ROK/DDT/1993 - Black Dog Petersburg/Disk 2/DDT - Cos'è l'autunno.mp3

/r/mp3/RUSSKIY_ROK/DDT/1997 - Acustica/Disco 1/Yu. Shevchuk - Autunno, piogge morte.mp3

/r/mp3/RUSSKIY_ROK/DDT/1997 - Acustica/Disco 2/Yu. Shevchuk - Nell'ultimo autunno.mp3

/r/mp3/RUSSKIY_ROK/DDT/1997 - Acustica/Disco 2/Yu. Shevchuk - Cos'è autunno.mp3

/r/mp3/RUSSKIY_ROK/DDT/Disk 1/14 DDT - Cos'è Autumn.mp3

/r/mp3/RUSSKIY_ROK/DDT/Disco 1/DDT - Autunno.mp3

/r/mp3/RUSSIAN_ROCK/Alice/Dance/04 Alice - Segni (Autunno).mp3

/r/mp3/RUSSIAN_ROCK/Mosca time/NON DISTRIBUIRE!!!/05 Autunno.mp3

/r/mp3/RUSSKIY_ROK/Paperny TAM/2004 Dance/07 Autunno, settembre.mp3

Ed ecco “musica del mare”:

/r/mp3/CHILDREN'S/Detskie pesny/124_La canzone del cucciolo blu e del marinaio (G. Gladkov - Yu. Entin).mp3

/r/mp3/RUSSIAN_ROCK/Garik Sukachev/Sailor from Ordynka.mp3

/r/mp3/OLD_SONGS/Vladimir Makarov/27-Sailor.mp3