Inhaltsverzeichnis:

Sprachgesteuerter Schalter mit Alexa und Arduino - Gunook
Sprachgesteuerter Schalter mit Alexa und Arduino - Gunook

Video: Sprachgesteuerter Schalter mit Alexa und Arduino - Gunook

Video: Sprachgesteuerter Schalter mit Alexa und Arduino - Gunook
Video: Wie ich für unter 10€ mit Amazon ALEXA meine Tür öffne. Arduino TUTORIAL DEUTSCH [für ANFÄNGER] 2024, Juli
Anonim
Sprachgesteuerter Schalter mit Alexa und Arduino
Sprachgesteuerter Schalter mit Alexa und Arduino

Das Hauptziel dieses Projekts ist es, einen Temperatursensor zu verwenden, um den Schalter (Relais) zum Ein- oder Ausschalten des Geräts zu steuern.

Materialliste

  1. 12V Relaismodul == > $ 4,2
  2. Arduino uno == > $ 8
  3. DHT11 Temperatursensor == > $ 3
  4. ESP8266-Modul == > $ 4.74
  5. N26 Optokoppler == > $ 0,60
  6. LM1117 Spannungsregler == > $ 0,60
  7. Steckbrett == > $ 2,2
  8. Überbrückungsdrähte == > $ 2.5
  9. 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 mit GitHub verknüpfen
Heroku mit GitHub verknüpfen
Heroku mit GitHub verknüpfen
Heroku mit GitHub verknüpfen
Heroku mit GitHub verknüpfen
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

Amazonas
Amazonas
Amazonas
Amazonas
Amazonas
Amazonas

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

Arduino
Arduino
Arduino
Arduino
Arduino
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

Komponentenbeschreibung
Komponentenbeschreibung
Komponentenbeschreibung
Komponentenbeschreibung
Komponentenbeschreibung
Komponentenbeschreibung
Komponentenbeschreibung
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

Alle Dinge überprüfen
Alle Dinge überprüfen
Alle Dinge überprüfen
Alle Dinge überprüfen
Alle Dinge überprüfen
Alle Dinge überprüfen
Alle Dinge überprüfen
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

VUI (Voice User Interface)-Diagramm
VUI (Voice User Interface)-Diagramm

Schritt 8: Demo

Image
Image

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: