Inhaltsverzeichnis:

Sprachsteuerung von Funksteckdosen - Gunook
Sprachsteuerung von Funksteckdosen - Gunook

Video: Sprachsteuerung von Funksteckdosen - Gunook

Video: Sprachsteuerung von Funksteckdosen - Gunook
Video: Mit Sprachsteuerung Funksteckdosen schalten! Ganz einfach mit dem Raspberry Pi! Ohne Alexa & Google! 2024, November
Anonim
Image
Image

Wir alle kämpfen jetzt gegen die vorherrschende COVID-19-Pandemie. Darüber hinaus befinden wir uns jetzt in einer Situation, in der wir uns durch zusätzliche Sicherheitsmaßnahmen an die vorherrschenden Bedingungen anpassen müssen. Hier beschäftigt sich das Projekt damit, die Verbreitung von COVID-19 durch Berührung zu verhindern. Dieses Projekt wurde von meinen Schülern entwickelt, die in der 8. Klasse (15 Jahre) zur Schule gehen. Dies ist ein Gerät zur Sprachsteuerung von UNIEL-Steckdosen basierend auf dem Arduino-Controller, dem 433MHz-Sender und dem Spracherkennungsmodul V2 von elechouse (Site -

Schritt 1: UNIEL-Buchsen

UNIEL-Steckdosen
UNIEL-Steckdosen

Sie werden direkt in eine beliebige Steckdose eingebaut und an ihnen ist bereits ein Elektrogerät angeschlossen, das per Fernbedienung ein- und ausgeschaltet werden kann. Der Aktionsradius im freien Gelände beträgt bis zu 25 m, die Frequenz des Empfangens und Sendens von Befehlen beträgt 433,9 MHz. Das Sortiment umfasst verschiedene Lasten für 300 W, 1000 W, 3600 W. Das gesamte Sortiment kann auf der offiziellen Website https://www.uniel.ru/ru/catalog/1235 eingesehen werden.

Der Gruppencode wird in der Fernbedienung eingestellt. In jeder Steckdose ist der Gruppencode = der Gruppencode der Fernbedienung und der Steckdosencode

Schritt 2: Funkmodule

Funkmodule
Funkmodule

Unsere Aufgabe ist es, die Fernbedienung für UNIEL-Steckdosen zu ersetzen. Wir brauchen Funkmodule, die mit einer Frequenz von 433 MHz arbeiten. Ich habe FS1000A gekauft

Inklusive Empfänger und Sender. Der Preis bei ebay beträgt weniger als 100 Rubel.

Schritt 3: Verbinden des Empfängers mit dem Arduino und Empfangen von Codes von den Fernbedienungsbuchsen

Anschließen des Empfängers an das Arduino und Empfangen von Codes von den Fernbedienungsbuchsen
Anschließen des Empfängers an das Arduino und Empfangen von Codes von den Fernbedienungsbuchsen

Für Arduino gibt es Bibliotheken zum Arbeiten mit verschiedenen 433/315 MHz-gesteuerten Aktoren. Ich habe das verwendet:

rc-switch-Arduino-Bibliothek zum Betrieb von kostengünstigen 315 MHz / 433 MHz-Fernbedienungsgeräten -

Herunterladen und in den Bibliotheksordner entpacken

Schließen Sie zuerst den Empfänger an

Arduino - - - - - Modul

+5V ----------VCC

GND ----------GND

DATEN (beliebig) ----------2

Ausführen eines Beispiels aus dem RCswitch-Bibliotheksbeispiel ReceiveDemo_Advanced

Klicken Sie auf die Fernbedienung und sehen Sie, was die Skizze an die serielle Schnittstelle angibt

Denken Sie an die Parameter 24Bit, PulseLength - 309 Mikrosekunden, Protokoll 1

Wir werden sie brauchen, wenn wir die Skizze schreiben. Sie müssen sich die Codes nicht merken!!! Um Codes zu senden, müssen Sie nur den Gruppencode und den Gerätecode kennen!!!

Schritt 4: Senden von Befehlen vom Sender zur Steuerung der Funksteckdosen

Verbinden Sie den Sender mit dem Arduino, um die Funktion der Steckdosen zu überprüfen

Arduino - - - - - Modul

+5V ----------VCC

GND ----------GND

DATUM --------- 10

Wir laden eine Skizze auf das Arduino Board und beobachten, wie sich die Steckdosen in einem Kreis einschalten und dann ausschalten.

Auf Wunsch können Sie 32x32-Buchsen vom Controller aus steuern

Schritt 5: Spracherkennungsmodul V2

Spracherkennungsmodul V2
Spracherkennungsmodul V2

Das Spracherkennungsmodul V2 wurde bei ebay zu einem sehr günstigen Preis erworben. Bei der Bestellung habe ich es mir nicht angeschaut und vergeblich. Das Modul hat die Erwartungen nicht ganz erfüllt:

1) Angemeldeter Betrieb mit 15 voraufgezeichneten Sprachbefehlen gleichzeitig ist nicht möglich (das Modul erkennt nur 5 Befehle von jedem Block (3 Blöcke)). Sie können nur 1 Block laden, dann einen anderen usw. Daher wurde beschlossen, Wortketten (2-3) mit Pausen zu verwenden, die zum Beispiel zum Laden des nächsten Blocks benötigt werden

Cafélampe aus

Brunnen aktivieren

2) das Modul reagiert nicht auf die Stimme einer anderen Person, zwei Personen müssen Befehle duplizieren Zuerst erkläre ich Ihnen, wie Sie mit dem Modul arbeiten und wie das Problem dann gelöst wurde

Schritt 6:

Um das Modul zu trainieren, müssen Sie über den seriellen Port Befehle an das Modul senden und Sätze äußern. Laden Sie das vom Hersteller empfohlene Programm für die Arbeit mit dem COM-Port auf Ihren Computer (Windows) herunter (AccessPort-Download-Seite), verbinden Sie das Modul mit dem ArduinoArduino------Modul

+5V ----------VCC

GND ----------GND

TX -------------3

RX ------------- 2

Verbinden Sie das Arduino mit Ihrem Computer. Hochladen einer Skizze auf Arduino

Schritt 7:

Bild
Bild

Im AccessPort-Programm setzen wir die folgenden Einstellungen

Schritt 8:

Bild
Bild

Blick auf die beigefügte Karte

und Befehle senden

AABB-Informationen zum Modul

V2. 0 Von ELECHOUSE www.elechouse.com

Nächstes Training des ersten Blocks - AA11

Nach dem START-Befehl im Terminalfenster sagen wir DEN ersten Satz ins Mikrofon, die Aufschrift Again erscheint, wir warten, wir schweigen, der START-Befehl erscheint wieder. Beim zweiten Mal sprechen wir zur Bestätigung DEN ersten Satz ins Mikrofon. Wenn die Aufzeichnung erfolgreich ist, wird Finish one angezeigt, um anzuzeigen, dass der erste Befehl erfolgreich aufgezeichnet wurde. Die andere Bezeichnung weist darauf hin, dass der zweite Befehl nicht wie der erste klang und das Modul ihn nicht erkannt hat. Zu laut bedeutet, dass Sie zu laut in das Mikrofon sprechen (> 1300 MS). Ebenso schreiben wir die 4 verbleibenden Sätze auf. Labelgruppe 1 fertig ! zeigt an, dass der erste Block erfolgreich geschrieben wurde.

Um die Spracherkennung zu überprüfen, rufen Sie Block 1 mit dem Befehl aa21 auf und sprechen Sie die Sätze in das Mikrofon. Bei der Erkennung wird eine Bestätigung an das Terminal ausgegeben

Schritt 9:

Bild
Bild

Dann trainieren wir die Blöcke 2 und 3, indem wir die Befehle AA12 bzw. AA13 senden. Um die Blöcke 2 und 3 aus dem Speicher aufzurufen, senden Sie einen Befehl an die Terminals AA22 bzw. aa23.

Ein weiterer Punkt - wenn wir eine Antwort vom Sprachmodul in Kurzform erhalten möchten (nicht "Result:15", sondern 15), müssen wir dem Modul den Befehl AA37 senden

In den Blöcken geben wir folgende Befehle ein (2 Personen nehmen teil) für Zusammenkünfte in der Küche-Wasserkocher (elektrisch) + Beleuchtung (RGB-Lichter, Lampe neben dem Küchentisch, Nachtlicht)

Hier sind Beispiele für richtige Ketten

"Café" (1 Stimme) "Nachtlicht" (1 Stimme) "Ausschalten" (1 Stimme)

"Brunnen" (2-stimmig) "Aktivieren" (2-stimmig)

"Café" (2 Stimme) "Lichter" (2 Stimme) "Einschalten" (2 Stimme)

usw.

Schritt 10:

Bild
Bild
Bild
Bild

Aus Gründen der Übersichtlichkeit fügen wir den Pins 7, 8, 9. eine Anzeige von 3 LEDs hinzu

(rot - 1 Block geladen

gelb - Block 2 ist geladen

grün - Block 3 ist geladen

3 LEDs leuchten (1 Sekunde) - die Wortkombination stimmt)

Hier ist das Gerätediagramm

Schritt 11:

Und eine Skizze für Arduino. Dem Obigen füge ich das hinzu, wenn

nach dem Laden des zweiten oder dritten Blocks während FRAZA_TIME = 2000 MS wird kein Wort erkannt -

Bank 1 ist geladen.

Empfohlen: