Inhaltsverzeichnis:
- Schritt 1: Heroku mit GitHub verknüpfen
- Schritt 2: Amazon
- Schritt 3: Arduino
- Schritt 4: Komponentenbeschreibung
- Schritt 5: Verbindungen
- Schritt 6: Alle Dinge überprüfen
- Schritt 7: VUI (Voice User Interface) Diagramm
- Schritt 8: Demo
- Schritt 9: Schaltplan
Video: Sprachgesteuerter Schalter mit Alexa und Arduino - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Das Hauptziel dieses Projekts ist es, einen Temperatursensor zu verwenden, um den Schalter (Relais) zum Ein- oder Ausschalten des Geräts zu steuern.
Materialliste
- 12V Relaismodul == > $ 4,2
- Arduino uno == > $ 8
- DHT11 Temperatursensor == > $ 3
- ESP8266-Modul == > $ 4.74
- N26 Optokoppler == > $ 0,60
- LM1117 Spannungsregler == > $ 0,60
- Steckbrett == > $ 2,2
- Überbrückungsdrähte == > $ 2.5
- Taste drücken == > $ 2.5
Die Gesamtkosten des Projekts betragen etwa 30 US-Dollar. Dieses Projekt ist in drei Teile gegliedert. Zuerst verwenden wir heroku, um eine App zu erstellen. Zweitens bauen wir einen Amazon Alexa-Skill auf, um unsere Arbeit umzusetzen (der wichtigste Teil). Drittens richten wir unsere Hardware ein und programmieren sie mit der Arduino IDE.
Schritt 1: Heroku mit GitHub verknüpfen
Heroku ist eine Cloud-Plattform als Service (PaaS), die mehrere Programmiersprachen unterstützt und als Bereitstellungsmodell für Webanwendungen verwendet wird. Gehen Sie zuerst zur Heroku-Site, erstellen Sie ein neues Konto oder melden Sie sich dort an. Link ist unten angegeben
Heroku-Website
Beginnen wir mit dem Erstellen einer neuen App. Beim Bereitstellen der App habe ich meinen App-Namen "iottempswitch" angegeben, der Link wird generiert.
Sobald die App erstellt wurde, gehen Sie zu GitHub. GitHub/
Loggen Sie sich dort ein oder registrieren Sie sich, wenn Sie kein Konto haben. Sobald Sie angemeldet sind, erstellen Sie ein neues Repository. Geben Sie einen beliebigen Namen ein und klicken Sie dann auf Repository erstellen. Klicken Sie auf der nächsten Seite auf README, geben Sie auf dieser Seite eine Beschreibung ein, die Sie mit anderen teilen möchten. Klicken Sie danach auf Neue Datei übertragen. Klicken Sie anschließend auf die Schaltfläche Hochladen.
Es gibt zwei Optionen, entweder Sie ziehen den Ordner per Drag & Drop oder wählen eine Datei. Laden Sie die erforderlichen Dateien von unten herunter. Nachdem Sie die Dateien ausgewählt haben, drücken Sie auf Änderungen festschreiben. Öffnen Sie die App, die Sie bei Heroku erstellt haben, und gehen Sie dann zum Abschnitt Bereitstellung. Klicken Sie danach auf GitHub. Geben Sie den Repository-Namen an, den Sie auf GitHub-Seite erstellt haben. In meinem Fall ist es Smart-Relais. Kopiere das und füge es hier ein. Sobald Ihr Link angezeigt wird, klicken Sie auf Verbinden. Klicken Sie anschließend auf Zweig bereitstellen (manuell). Nach der Bereitstellung können Sie den Link im Build-Protokoll oder den Link in den Einstellungen sehen. Wir benötigen diesen Link später, wenn wir Amazon Skill erstellen.
Schritt 2: Amazon
Neueste Bilder von Alexa Skill
Auf der Amazon Developer-Site verwenden wir Amazon Skill, um den Schalterauslöser durch Einstellen von Temperatur und Luftfeuchtigkeit zu steuern.
Gehen Sie zur Amazon-Entwicklerseite. Link ist unten angegeben.
Amazon-Entwickler-Website
- Gehen Sie zur Entwicklerkonsole oben rechts, wie in Abbildung i4 gezeigt
- Gehen Sie zu Alexa, wählen Sie Alexa Skill Kit und erstellen Sie dann einen neuen Skill, indem Sie auf Neuen Skill hinzufügen klicken.
Wenn Sie einen neuen Skill hinzufügen, wird die Seite mit den Skill-Informationen angezeigt.
1. Skill-Informationen (wie in Bild i7 gezeigt)
wir müssen den Skilltyp, die Sprache, den Namen und den Aufrufnamen angeben.
Fertigkeitstyp ==> Benutzerdefiniert auswählen
- Name ==> Wählen Sie einen beliebigen Namen.
- Aufrufname ==> den du während der Kommunikation mit Alexa verwendest. Zum Beispiel;- Alexa, bitte den Sensor um den Schalter einzuschalten oder Alexa, frag das Licht an hier sind die Aufrufnamen Sensor und Licht.
- Sprache ==> Englisch (Indien). Wählen Sie nach Ihrem Land
Klicken Sie auf Speichern und dann auf Weiter
2. Interaktionsmodell
Hier verwenden wir den Skill Builder. Klicken Sie also auf Skill Builder starten. Sie sehen die Seite wie in Bild i8 gezeigt.
Zuerst erstellen wir neue Absichten. Klicken Sie auf Hinzufügen (auf der linken Seite) und geben Sie einen beliebigen Namen ein. Ich habe "Smartswitch" verwendet
-
Geben Sie den Slot-Typ-Namen "measurement_type" und die Slot-Werte "Temperature" und "humidity" ein, wie in Bild i9 gezeigt.
- Danach fügen Sie den Slottypnamen "query" hinzu und die Slotwerte sind "was" und "is", wie in Bild i10 gezeigt.
- Danach fügen Sie den Slot-Typ "switchstate" hinzu und die Slot-Werte sind "on" und "off", wie in Bild i11 gezeigt.
- Fügen Sie einen weiteren Slot-Typ "tempscale" hinzu und die Slot-Werte sind "fahrenheit" und "celcuis", wie in Bild i12 gezeigt.
- Danach fügen Sie hier einen neuen Slot-Typ hinzu. Wir verwenden den vorhandenen Slot-Typ, für den wir auf Vorhandenen Slot verwenden klicken müssen. Nachdem Sie es hinzugefügt haben, sehen Sie es in den Slot-Typen, wie in Bild i13 gezeigt.
Wir sind also mit den Slot-Typen fertig, der gesamte Slot-Typ, den wir verwenden, ist 5. Gehen Sie nun zum nächsten Schritt. Klicken Sie auf die von uns erstellte Absicht, in meinem Fall ist es Smartswitch. Auf der rechten Seite sehen Sie den Intent-Slot, wie in Bild i14 gezeigt.
- Erstellen Sie einen neuen Slot, geben Sie ihm den Namen "Switch_State" und ordnen Sie ihn "switchstate" zu, indem Sie die Dropdown-Schaltfläche verwenden, wie in Bild i15 gezeigt.
- Erstellen Sie einen neuen Slot, geben Sie ihm den Namen "Sensor_Values" und ordnen Sie ihn "measurement_type" zu, wie in Bild i16 gezeigt.
- Erstellen Sie einen neuen Slot, geben Sie ihm den Namen "query" und ordnen Sie ihn "query" zu, wie in Bild i17 gezeigt.
- Erstellen Sie danach einen neuen Slot "tmp_scale" und ordnen Sie ihn "tempscale" zu, wie in Bild i18 gezeigt.
- Erstellen Sie einen neuen Slot "Numbers" und ordnen Sie ihn "Amazon. Numbers" zu, wie in Bild i19 gezeigt.
Jetzt sind wir mit Intent-Slots fertig. Wir verwenden 5 Intent-Slots. Danach gehen wir zu Beispieläußerungen, wie in Bild i20 gezeigt.
Fügen Sie diese Beispieläußerungen hinzu.
Schaltauslöser auf {Numbers} Prozent {tmp_scale} setzen
{query} ist der Schalterstatus
{Switch_State}-Schalter-Trigger
Schaltertrigger auf {Numbers} Grad {tmp_scale} setzen
Drehschalter {Switch_State}
{query}-Schalter {Switch_State}
{query} ist der aktuelle {Sensor_Values}
Danach speichern Sie das Modell und bauen es. Warten Sie, bis das Modell erstellt wurde, klicken Sie anschließend auf Konfiguration. Nach dem Erstellen sehen Sie eine Meldung wie in den Bildern i21 und i22 gezeigt.
3. Konfiguration
Wählen Sie HTTPS und fügen Sie den Link hinzu, der beim Erstellen der Heroku-App generiert wurde. In meinem Fall ist es https://iottempswitch.herokuapp.com/. Klicken Sie nach dem Hinzufügen des Links auf Weiter, wie in Bild i23 gezeigt.
4. SSL-ZertifikatWählen Sie die zweite Option und klicken Sie auf Weiter, wie in Bild i24 gezeigt.
wir haben unsere Fähigkeit erfolgreich aufgebaut.
Schritt 3: Arduino
Öffnen Sie Arduino IDE. Dann gehen Sie zu Datei ==> Präferenz
Kopieren Sie im Additional Boards Manager die URL, fügen Sie sie ein und klicken Sie auf OK, wie in Bild i26 gezeigt.
arduino.esp8266.com/versions/2.4.0/package_…
- Öffnen Sie den Board-Manager, indem Sie auf Tools ==> Board ==> Board Manager gehen.
- Öffnen Sie den Boards Manager und suchen Sie nach nodemcu, wie in Bild i27 gezeigt.
- Danach laden Sie die ESP8266WiFi-Bibliothek herunter. Öffnen Sie den Bibliotheksmanager: Skizze ==> Bibliothek einschließen ==> Bibliotheken verwalten.
- Suchen Sie nach der ESP8266WiFi-Bibliothek und installieren Sie sie.
- Platine auswählen ==> Generisches ESP8266-Modul.
- Vor dem Hochladen des Codes benötigen wir drei Bibliotheken.
Erforderliche Bibliotheken
Verschieben Sie diese Bibliotheken in den Bibliotheksordner von Arduino
Sie müssen drei Dinge im Code SSID, PWD und Ihrem Heroku-App-Link ändern. Laden Sie danach den Code hoch. Für das ESP-Modul müssen Sie beim Hochladen des Codes die Flash-Taste drücken und dann die Reset-Taste einmal drücken und dann die Flash-Taste loslassen. Öffnen Sie nach dem Hochladen des Codes das Terminal. Sie sehen die Ausgabe.
Schritt 4: Komponentenbeschreibung
1. Was ist ein Relais?
Relais ist ein elektromagnetisches Gerät, das verwendet wird, um zwei Stromkreise elektrisch zu isolieren und magnetisch zu verbinden. Sie sind sehr nützliche Geräte und ermöglichen es einem Stromkreis, einen anderen zu schalten, während sie vollständig getrennt sind. Sie werden oft verwendet, um eine elektronische Schaltung (die bei niedriger Spannung arbeitet) mit einer elektrischen Schaltung zu verbinden, die bei sehr hoher Spannung arbeitet. Zum Beispiel kann ein Relais einen 5-V-DC-Batteriestromkreis bilden, um einen 230-V-AC-Netzstromkreis zu schalten.
Wie es funktioniert
Ein Relaisschalter kann in zwei Teile unterteilt werden: Eingang und Ausgang. Der Eingangsabschnitt hat eine Spule, die ein Magnetfeld erzeugt, wenn eine kleine Spannung von einer elektronischen Schaltung an sie angelegt wird. Diese Spannung wird als Betriebsspannung bezeichnet. Häufig verwendete Relais sind in verschiedenen Konfigurationen von Betriebsspannungen wie 6V, 9V, 12V, 24V usw. erhältlich. Der Ausgangsbereich besteht aus Schützen, die mechanisch zu- oder abschalten. In einem Basisrelais gibt es drei Schütze: Schließer (NO), Öffner (NC) und Masse (COM). Bei keinem Eingangszustand ist COM mit NC verbunden. Beim Anlegen der Betriebsspannung wird die Relaisspule erregt und der COM wechselt den Kontakt auf NO. Es stehen verschiedene Relaiskonfigurationen wie SPST, SPDT, DPDT usw. zur Verfügung, die eine unterschiedliche Anzahl von Wechselkontakten haben. Durch die richtige Kombination von Schützen kann der Stromkreis ein- und ausgeschaltet werden. Holen Sie sich innere Details über den Aufbau eines Relaisschalters.
Das COM-Terminal ist das gemeinsame Terminal. Wenn die COIL-Klemmen mit der Nennspannung gespeist werden, haben die COM- und die NO-Klemmen Durchgang. Wenn die COIL-Klemmen nicht mit Strom versorgt werden, haben die COM- und die NO-Klemmen keinen Durchgang.
Die NC-Klemme ist die normalerweise geschlossene Klemme. Es ist das Terminal, das eingeschaltet werden kann, auch wenn das Relais keine oder keine ausreichende Spannung für den Betrieb erhält.
Der NO-Anschluss ist der normalerweise offene Anschluss. Es ist die Klemme, an der Sie den Ausgang platzieren, den Sie einschalten möchten, wenn das Relais seine Nennspannung erhält. Liegt an den COIL-Klemmen keine oder zu geringe Spannung an, ist der Ausgang offen und erhält keine Spannung. Wenn die COIL-Klemmen die Nennspannung oder etwas darunter erhalten, erhält die NO-Klemme genügend Spannung und kann das Gerät am Ausgang einschalten.
2. DHT-Temperatursensor
DHT11 ist ein Feuchtigkeits- und Temperatursensor, der einen kalibrierten digitalen Ausgang erzeugt. DHT11 kann mit jedem Mikrocontroller wie Arduino, Raspberry Pi usw. verbunden werden und sofortige Ergebnisse erzielen. DHT11 ist ein kostengünstiger Feuchtigkeits- und Temperatursensor, der hohe Zuverlässigkeit und Langzeitstabilität bietet.
3. ESP8266 Vollständige Beschreibung
Das ESP8266 WiFi-Modul ist ein eigenständiges SOC mit integriertem TCP/IP-Protokollstack, das jedem Mikrocontroller Zugriff auf Ihr WiFi-Netzwerk gewähren kann. Der ESP8266 kann entweder Netzwerkfunktionen einer Anwendung von einer anderen Anwendung hosten. Jedes ESP8266-Modul ist mit einem AT-Befehl vorprogrammiert.
Der ESP8266 unterstützt APSD für VoIP-Anwendungen und Bluetooth-Koexistenzschnittstellen, enthält eine selbstkalibrierte HF, die es ihm ermöglicht, unter allen Betriebsbedingungen zu arbeiten, und erfordert keine externen HF-Teile.
Merkmale
- 802.11 b/g/n
- Wi-Fi-Direkt (P2P),
- soft-APIntegrierter TCP/IP-Protokollstack
- Integrierter TR-Schalter, Balun, LNA, Endstufe und Anpassnetzwerk
- Integrierte PLLs, Regler, DCXO und Power-Management-Einheiten
- +19,5 dBm Ausgangsleistung im 802.11b-Modus
- Abschaltstrom von <10uA
- 1 MB Flash-Speicher
- Integrierte Low-Power-32-Bit-CPU kann als Anwendungsprozessor verwendet werden
- SDIO 1.1 / 2.0, SPI, UART
- STBC, 1×1 MIMO, 2×1 MIMOA-MPDU & A-MSDU Aggregation & 0,4 ms Schutzintervall
- Aufwachen und Pakete in < 2 ms senden
- Standby-Leistungsaufnahme von < 1,0 mW (DTIM3)
Pin-Beschreibung wie in Bild i34 gezeigt.
Um das ESP-Modul mit Arduino UNO zu verbinden, benötigen wir den Spannungsregler Lm1117 3.3 oder einen anderen Regler, da Arduino nicht in der Lage ist, 3,3 V an ESP8266 bereitzustellen.
Hinweis:- Drücken Sie während des Hochladens des Codes die Flash-Taste und dann die Reset-Taste einmal und lassen Sie dann die Flash-Taste los, wie in Bild i29 gezeigt.
Für die Verbindung von DHT11-Sensor und Relais verwenden wir zwei GPIO-Pins des ESP8266-Moduls. Nach dem Hochladen des Codes können Sie die RX-, TX-, GPIO0-Pins trennen. Ich habe GPIO0 für DHT11-Sensor und GPIO2 für Relais verwendet. Der DHT11-Sensor funktioniert gut mit ESP8266, aber für Relais benötigen wir eine zusätzliche Sache, z. B. Optoisolator oder Optokoppler. Siehe Bild i30, i31, i32 und i33.
Schritt 5: Verbindungen
ESP8266 === > DHT11GPIO0 === > Ausgangspin
ESP8266 === > RelaisGPIO2 ===> Eingang
ARDUINO ===> ESP8266
Masse ===> MasseTX === > TX
RX === > RX
Reset-Taste === > RST
Flash-Taste === > GPIO0
Schritt 6: Alle Dinge überprüfen
Wir haben unsere App erfolgreich erstellt, Skill und unsere Hardware ist fertig. Es ist also an der Zeit zu überprüfen.
Dazu ist Ihr ESP8266 eingeschaltet, da unser Server auf ESP8266 läuft. Hier habe ich keinen Sensor an ESP8266 angeschlossen. Ich überprüfe nur, ob er funktioniert oder nicht, aber Sie können Sensor, Relais an ESP8266 anschließen. Sobald es mit Heroku verbunden ist, sehen Sie verbunden. Gehen Sie zum Testen zu Amazon Skill, den Sie erstellt haben, und klicken Sie dann auf die Testseite. Sobald es überprüft ist, dass es funktioniert, verbinde ich meinen Sensor mit ESP8266. Sie können die Ergebnisse wie in den Bildern i35, i36, 37, 38, 39, 40 sehen.
Wenn Sie es verwenden, ohne ESP8266 anzuschließen, erhalten Sie diesen Fehler wie in Bild i41 gezeigt.
Äußerung, die Sie verwenden können
Schaltauslöser auf {Numbers} Prozent {tmp_scale} setzen
Bsp.: - Schalterauslöser auf 50 Prozent Luftfeuchtigkeit einstellen
{query} ist der Schalterstatus
ex-on/off ist der Schaltzustand
{Switch_State}-Schalter-Trigger
Ex -Ein/Aus-Schalter Trigger
Schaltertrigger auf {Numbers} Grad {tmp_scale} setzen
Ex - Schalterauslöser auf 76 Grad Fahrenheit einstellen
Ex - Schalterauslöser auf 24 Grad Celsius einstellen
Drehschalter {Switch_State}
ex - Schalter ein-/ausschalten
Siehe Bild i41 bis i46 für Ergebnisse.
Bitten Sie arduino, während Sie mit AlexaAlexa sprechen, den Schalterauslöser ein- / auszuschalten
Alexa, bitte arduino, den Schalterauslöser auf 24 Grad Celsius einzustellen.
Alexa, bitte arduino, den Schalterauslöser auf 50 Prozent Luftfeuchtigkeit einzustellen
Alexa, bitte arduino, den Schalter ein- / auszuschalten
Schritt 7: VUI (Voice User Interface) Diagramm
Schritt 8: Demo
1. Trigger für Temperatur und Luftfeuchtigkeit einstellen.
2. Setzen Sie den Trigger auf 20 Grad Celsius.
3. Setzen Sie den Auslöser auf 80 Prozent Luftfeuchtigkeit.
Schritt 9: Schaltplan
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
E-Schalter: 5 Schritte
E-Switch: Dieses instructable wurde in Erfüllung der Projektanforderung des Makecourse an der University of South Florida (www.makecourse.com) erstellt. Der e-Switch ist ein Gerät, das einen Arduino Uno, einen IR-Empfänger und einen verwendet Näherungssensor HCSR04 zu Ko
Einen Touch-Schalter mit einem Mosfet herstellen – wikiHow
Wie man einen Berührungsschalter mit einem Mosfet herstellt: WIE MAN EINEN BERÜHRUNGSSCHALTER MIT NUR EINEM MOSFET-TRANSISTOR HERSTELLTIn vielerlei Hinsicht sind die MOSFETs besser als normale Transistoren normaler Schalter mit dem h
F.i.c.s. - Fonera Internet-gesteuerter Schalter (ON/OFF): 4 Schritte
F.i.c.s. - Fonera Internet Controlled Switch (ON/OFF): Ich habe vor ein paar Monaten meinen ersten FON-Router kostenlos bekommen. Als erstes habe ich dd-wrt-Firmware darauf flashen. Da der FONera-Router gpio-Pins hat, habe ich mich entschieden, einen dieser Pins zu verwenden, um AC-Lasten zu steuern oder einen Schalter aus der Ferne EIN / AUS zu schalten. Es gibt eine ähnliche