Spracherkennungsmodul
Grüße, liebe Freunde. Schließlich kam ich dazu, eine Lektion über die Arbeit mit dem Sprachmodul aufzuzeichnen. Ich sehe, dass Ihnen mein hausgemachtes Produkt mit Sprachsteuerung gefallen hat, und viele fragen sich bereits, wann eine praktische Lektion zum Arbeiten mit dem Sprachsteuerungsmodul veröffentlicht wird.
Zu den Vorteilen dieses Erkennungsmoduls:
- Das Modul ist autonom und kann ohne externe Steuerung betrieben werden, was für Funkamateure, die mit der Programmierung nicht vertraut sind, sehr wichtig ist.
- Zusammen mit anderen Modellen schneidet dieses Modul hinsichtlich seiner Funktionalität, seines Preises und seiner relativ einfachen Verwaltung und Verbindung gut ab.
- Hat eine hohe Erkennungsfähigkeit.
- Kein Smartphone erforderlich.
Und los geht’s! Dieses Video richtet sich in erster Linie an Anfänger, diejenigen, die mit Programmierung und Schnittstellen im Allgemeinen nicht vertraut sind, für normale Funkamateure. Im Video zeige ich alles von „A“ bis „Z“: Wir beginnen mit der Installation von Programmen und der Verbindung und enden mit dem konkreten Ergebnis des autonomen Betriebs des Moduls.
Beginnen wir trotzdem mit theoretischem Wissen, um zu verstehen, wie dieses Wunderwerk der Technik tatsächlich funktioniert. Zunächst müssen Sie einige Eigenschaften dieses Spracherkennungsmoduls kennen:
Stromverbrauch: nicht mehr als 40 mA, der Strom ist nicht kritisch, also einfach berücksichtigen. Die Versorgungsspannung beträgt 5 V, wir versorgen das USB-Port-Modul des Computers während der Programmierung mit Strom, und während des Betriebs entscheiden Sie, woher die Stromversorgung erfolgt. Die Genauigkeit der Sprachbefehlserkennung beträgt unter idealen Bedingungen 99 %. Das Spracherkennungsmodul Version V3.1 kann sich 80 Sprachbefehle merken! Was meiner Meinung nach für jeden Zweck völlig ausreichend ist. Aber auch das ist ein „ABER“. Das Modul kann jedoch nur sieben beliebige Befehle pro Zeiteinheit erkennen, und welche Befehle Sie auswählen können.
Das heißt, Sie können alle 80 Befehle in die Datenbank schreiben, aber nur sieben zur Erkennung auswählen, also sieben beliebige von achtzig. Es ist wie bei einem Computer: Man kann 80 Befehle auf die Festplatte schreiben, aber nur mit 7 Befehlen im RAM arbeiten. Wenn es für Sie jetzt schwierig ist, es zu verstehen, dann denke ich, dass Ihnen etwas später in der Praxis klar wird, wovon wir sprechen. Die Länge des Sprachbefehls beträgt maximal 1,5 Sekunden (1500 ms). Die Modulplatine kann über die UART-Schnittstelle gesteuert werden, Informationen können jedoch entweder über den UART oder über die auf der Platine befindlichen GPIO-Ports abgerufen werden. Tatsächlich werden wir Folgendes tun: Wir werden das Signal vom Port-Ausgang entfernen.
Kommen wir zum praktischen Teil.
Was brauchen wir für die Arbeit?
- Das Spracherkennungsmodul selbst ist Version V3 (V3.1). Die Version ist nicht so wichtig – das Funktionsprinzip ist für alle gleich. Das Modul wird mit einem Mikrofon geliefert.
- Modulhandbuch, also Datenblatt.
- Terminalprogramm.
- USB-UART-Schnittstellenkonverter.
Alle Links zum Kauf und Download von Software finden Sie unter dem Video am Ende des Artikels.
Das ist alles. Wie Gagarin sagte: „Lass uns gehen.“
Laden Sie das Handbuch und das Terminal herunter. Wir installieren das Terminal.Wir verbinden das Modul mit dem Schnittstellenkonverter.
Seien Sie beim Anschließen sehr vorsichtig. Es ist in Ordnung, wenn Sie TXD und RXD verwechseln, wird nichts Schlimmes passieren. Aber wenn Sie das Stromplus mit dem gemeinsamen Kabel verwechseln, wird es eine Katastrophe! Wie mir passiert ist, sind das Modul und der Computeranschluss sofort durchgebrannt! Seien Sie sehr vorsichtig und wiederholen Sie meine Fehler nicht. Machen Sie keine Aufregung, beeilen Sie sich nicht, überprüfen Sie den Stromkreis mehrmals, bevor Sie ihn einschalten, und schließen Sie ihn erst danach an USB an.
Nach dem Anschließen an USB beginnt Ihr System mit der Suche nach Treibern für den Konverter. In 90 % der Fälle findet das System den Treiber selbst und installiert ihn. Wenn dies jedoch aus irgendeinem Grund nicht geschieht, müssen Sie den Treiber finden selbst im Netzwerk und installieren Sie es. Geben Sie dazu „CP2102-Treiber-Download“ oder ähnliches in die Suchleiste ein, das Modul ist üblich, es gibt viele Treiberoptionen.
Gehen Sie als Nächstes nach erfolgreicher Installation des Geräts zum Geräte-Manager und sehen Sie sich die Ports an. Uns interessiert die zugewiesene Nummer unseres Konverters. Wenn wir die Portnummer herausfinden, starten wir das Terminal. Gehen wir in die Einstellungen und stellen die Werte wie in meinem Bild ein.
Wir schreiben den Befehl in das Terminalfenster – „AA 02 00 0A“ (aus dem Datenblatt | AA | 02 | 00 | 0A |). Alle Teams verwenden immer Großbuchstaben und lateinische Buchstaben.
Das Sendefeld sollte Ihnen eine Antwort geben wie: „AA 08 00 STA BR IOM IOPW AL GRP 0A“ (oder aus dem Datenblatt | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |). Wenn die Antwort kommt, ist alles in Ordnung, die halbe Arbeit ist erledigt. Wenn nicht, spielen wir mit den Einstellungen der Übertragungsgeschwindigkeit im Terminal, es ist nur möglich, dass das Modul für eine andere Geschwindigkeit konfiguriert ist.
Ich werde nicht weiter darauf eingehen, was diese Modulantwort bedeutet. Sie können sie selbst in der Anleitung nachschlagen.Und der Befehl ist eine Anfrage nach den installierten Einstellungen.
Jetzt müssen Sie die Last an das Modul anschließen. Als Ladung werde ich verwenden LEDs mit Widerständen. Nun, in Zukunft, wenn Sie diese verwenden LEDs durch Laststeuerrelais mit Transistorschaltern ersetzt werden, halte ich das für verständlich.
Lassen Sie mich den Befehl selbst erklären.AA 02 00 0A" ist ein Paket bestehend aus 4 Bytes, Bytes sind gepaarte Zeichen im Hexadezimalformat - AA,02,00,0A. Bei allen Befehlen beginnt das Paket mit dem Byte A.A. und endet mit einem Byte 0A (Null und A) ist Voraussetzung. Auch die Antworten des Moduls beginnen und enden mit diesen Zeichen.
«AA 02 00 0A" - Das zweite Byte dieses Befehls gibt die Anzahl der Bytes zwischen dem Start- und dem Endbyte an, kurz gesagt, außer A.A. Und 0A. Und wir zählen und schreiben alles zwischen ihnen in das zweite Byte. Wie wir in diesem Beispiel sehen, was dazwischen liegt A.A. Und 0A kostet zwei Bytes - 02 00, also – 02, das heißt, die Zahl zählt sich selbst. Ein anderes Beispiel, "AA 03 20 01 0A„das heißt, zwischen A.A. Und 0A kostet drei Bytes - «03 20 01", daher ist das zweite Byte 03. Ich denke, Sie werden es verstehen.
Mannschaft „12“ - Einrichten von Modulports.
Auf der Modulplatine gibt es Ports, von denen wir das Signal entfernen; vorher müssen wir diese Ports konfigurieren. Mit dem Befehl können Sie Ports konfigurieren
„AA 03 12 01 0A“ - Das dritte Byte ist der Befehl und das vierte ist der Befehlswert. Das vierte Byte kann die folgenden Werte annehmen und die folgenden Optionen festlegen: Wenn „00“ der Impulsmodus ist, dh wenn ein Sprachbefehl erkannt wird, wird ein kurzer Impuls an den von uns benötigten Port gesendet. Wenn „01“ der Umkehrmodus ist, d. h. wenn ein Sprachbefehl erkannt wird, ändert der von uns benötigte Port seinen Status in das Gegenteil, wenn er 0 war, wird er zu 1 und umgekehrt.Wenn „02“ der Modus ist, in dem der Port auf Null geht. Wenn „03“ der Modus ist, in dem der Port auf Eins geht.
Mannschaft „20“ - Einrichten von Modulports.
„AA 03 20 01 0A“ - Das dritte Byte ist die Nummer des Befehls, den wir schreiben werden. Ein Beispiel für das Schreiben von zwei Befehlen 1 und 2: „AA 04 20 01 02 0A.“ Ein Beispiel für das Schreiben von zwei Befehlen 1, 2, 3: „AA 05 20 01 02 03 0A.“
Mannschaft „30“ - Laden eines Datensatzes in den „Erkenner“ des Moduls.
„AA 03 30 01 0A“ - Das dritte Byte ist ein Befehl zum Laden in den Speicher des Datensatzerkenners 01. Wenn Sie zwei Befehle schreiben müssen: „AA 04 30 01 02 0A“, wenn Sie alle sieben Befehle aufschreiben müssen - „AA 09 30 01 02 03 04 05 06 07 0A.“
Mannschaft „15“ - Automatisches Laden von Sprachbefehlen in den Erkenner beim Einschalten - Offline-Betrieb ohne externen Controller.
„AA 03 15 07 01 02 03 0A“ - Das dritte Byte ist ein Befehl, das vierte Byte ist eine Befehlsbezeichnung, also eine Art Kennung, und ist gleich 01 für das Laden eines Befehls, 03 für das Laden von zwei Befehlen, 07 für das Laden von drei Befehlen usw. siehe Datenblatttabelle. Nun, dann sind da noch die Befehlsnummern, die geladen werden müssen.
Das ist alles: Wir haben die Verbindung mit dem Modul überprüft, die Ports konfiguriert, Befehle aufgezeichnet und das automatische Laden von Sprachbefehlen konfiguriert.
Weitere Befehle finden Sie im Datenblatt. Ich habe gerade eine ungefähre Arbeitsweise mit dem Modul erklärt.
Kauflinks:
Modul –
Konverter -
Konverter mit Drähten -
Download links:
Datum steht fest -
Terminal -