Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Aktivieren Sie die Alexa-Steuerung für Ihren Deckenventilator

Komponenten und Verbrauchsmaterialien

Raspberry Pi 3 Model B
× 1
Arduino UNO
× 1
Relais (generisch)
entweder ein 5V-Relais, damit Sie direkt mit Arduino verbunden werden können, oder eine Relais-Schnittstellenplatine würde ausreichen
× 1
Lüfterregler
Sie können jeden Typ verwenden, solange Sie ein Terminal zur Stromversorgung desselben finden. Ich würde ältere Regler vorschlagen, die Widerstandsblöcke verwenden, um die gelieferte Spannung zu reduzieren
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Apps und Onlinedienste

Arduino-IDE
Amazon Alexa Alexa Skills Kit
Ngrok

Über dieses Projekt

Ich werde hier detailliert beschreiben, wie ich meinen normalen Deckenventilator zu einem intelligenten gemacht habe, indem ich Amazon Alexa zur Geschwindigkeitssteuerung desselben integriert habe. Wir werden die Fähigkeiten von Amazon Alexa verwenden, um die Geschwindigkeitsänderung einzuleiten, und werden ngrok . sein Tunneling-Dienst, um die Anfrage an unseren lokal untergebrachten RPi-Server weiterzuleiten, der unserem Arduino uno mitteilt, das zugehörige Relais einzuschalten.

Einrichten unseres lokalen Raspberry Pi Servers

wir benötigen die folgenden Dienste um unseren Server nutzen zu können.

  • Python PIP:um Python-Pakete zu installieren, wenn Sie Python 2.7 oder 3 verwenden, wird pip standardmäßig installiert, daher können Sie diesen Schritt vermeiden
sudo apt-get install python-pip  
  • Flask:Flask ist ein Serverpaket für Python, das Ihnen hilft, Python-Server einfach zu implementieren.
Pip Install Flask  
  • flask ask :eine Flask-Erweiterung zum einfachen Erstellen von alexa frendly-Programmen.
pip installflakon-ask  
  • pyserial:serielles Kommunikationsmodul für Python
sudo apt-get install pyserial 
  • libpython2.7-dev
sudo apt-get intall libpython2.7-dev 

alle notwendigen Module werden installiert, um den Server zum Laufen zu bringen. wir müssen dafür das Python-Skript eingeben

from Flask import Flaskfrom Flask_ask import Ask, Statementimport Requestsimport jsonimport serial ser =serial.Serial("/dev/ttyAMA0",9600)app =Flask(__name__)ask =Ask(app, '/')@ [email protected]("FanOn")def on():ser.write(b'1') return statement("Deckenventilator eingeschaltet.")@ask.intent("FanOff")def off() :ser.write(b'0') return statement("Deckenventilator ausgeschaltet.")@ask.intent("FanLevelUp")def up():ser.write(b'+') return statement("Deckenventilator speed up.")@ask.intent("FanLevelDown")def down():ser.write(b'-') return statement("Ceiling Fan speed down.")if __name__ =="__main__":app.run (debug=Wahr) 

Führen Sie dieses Python-Skript aus und tragen Sie dieses Skript in die Autostart-Liste Ihres RPi ein.

3. Ngrok herunterladen

Ngrok ist eine sichere Tunneling-Plattform, um Ihr Gerät online zu machen. Mit dieser Plattform können Sie Ihre Webanwendung oder jede Anwendung auf sehr einfache Weise online stellen. Zum Download gehen Sie auf die offizielle Website und laden Sie für ARM herunter.

https://ngrok.com/

Entpacken Sie es und gehen Sie in das Verzeichnis, in das Sie es entpacken. Führen Sie es mit dem Befehl aus

./ngrok http 5000  

Alexa-Skill

Gehen Sie zur Amazon-Entwicklerseite und melden Sie sich für Ihr Entwicklerkonto an

https://developer.amazon.com/

Rufen Sie nach der Anmeldung die Entwicklerkonsole auf und geben Sie jetzt "Alexa Skill Kit" ein

wähle jetzt "Neue Fähigkeit hinzufügen"

Geben Sie den Namen für Ihren Skill und einen Aufrufnamen ein. Stellen Sie sicher, dass Ihr Aufrufname die erforderlichen Bedingungen erfüllt

speichern und mit dem nächsten Schritt fortfahren

Geben Sie hier die Absichten für den Aufruf der Fertigkeit und Äußerungsbeispiele ein, dh die Wortkombinationen, die jede Absicht einleiten sollen.

Absichten sind wie folgt

{ "intents":[ { "intent":"FanOn" }, { "intent":"FanOff" }, { "intent":"FanLevelUp" }, { "intent":"FanLevelDown" }] } 

Beispieläußerungen

FanOn sagt Lüfter anFanOn sagt onFanOff sagt offFanOff sagt Lüfter ausFanLevelUp sagt Lüfterstufe hochFanLevelUp sagt Lüftergeschwindigkeit erhöhenFanLevelDown sagt Lüfterstufe runterFanLevelDown sagt Lüftergeschwindigkeit verringern 

Speichern Sie und fahren Sie mit dem nächsten Schritt fort. Hier müssen Sie den Ort eingeben, an den Sie die Daten voraussichtlich senden sollen, sobald eine Absicht aufgerufen wird.

da wir ngrok verwenden , wählen Sie HTTPS, und geben Sie den sicheren Link ein, der in ngrok Serve generiert wird, speichern Sie ihn und fahren Sie mit dem nächsten Schritt fort

Wählen Sie die zweite Option für das SSL-Zertifikat und fahren Sie fort

Um zu überprüfen, ob unser Setup funktioniert oder nicht. Stellen Sie sicher, dass Ihr ngrok-Server funktioniert und das Python-Skript auch läuft, sonst funktioniert es nicht.

Wir können sehen, dass die Server Anfragen erhalten und sie aktualisieren.

Arduino-Code

Laden Sie die angehängte Skizze Ihres Arduino hoch und verbinden Sie sie mit Himbeer-Pi, wie im Schaltplan beschrieben.

int Fan[] ={13,12,11,10,9,8}; int n=0;void reset();void set(char);void setup() { // Setze deinen Setup-Code hier ein, um ihn einmal auszuführen:for(int i=0;i<6;i++){ pinMode(Fan [i], AUSGANG); } Serial.begin (9600); aufrechtzuerhalten. Void Schleife () { Zeichen x; wenn (Serial.available ()) { x =Serial.read (); zurücksetzen(); set(x);}}void reset(){ for(int i=0;i<6;i++) {digitalWrite (Fan[i], LOW); }}void set (char x) { switch (x) { case '1':n=1; brechen; Fall '+':n++; brechen; Fall '-':n--; brechen; Fall '0':n=0; brechen; } digitalWrite(Fan[n],HIGH);}  

Hardware

Schließen Sie die Hardware wie im Schaltplan gezeigt an

Viel Spaß beim machen. Machen Sie jedes andere Gerät auf ähnliche Weise sprachaktiv :)

Code

  • arduino-Skizze
  • Python-Server-Code
Arduino-SkizzeArduino
Laden Sie diesen Code auf Ihr Arduino hoch und verbinden Sie ihn mit Ihrem Raspberry Pi-Server
int Fan[] ={13,12,11,10,9,8}; int n=0;void reset();void set(char);void setup() { // Setze deinen Setup-Code hier ein, um ihn einmal auszuführen:for(int i=0;i<6;i++){ pinMode(Fan [i], AUSGANG); } Serial.begin (9600); aufrechtzuerhalten. Void Schleife () { Zeichen x; wenn (Serial.available ()) { x =Serial.read (); zurücksetzen(); set (x);}} Void reset () { for (int i =0; i <6; i ++) { digitalWrite (Fan[i], LOW); }}void set (char x) { switch (x) { case '1':n=1; brechen; Fall '+':n++; brechen; Fall '-':n--; brechen; Fall '0':n=0; brechen; } digitalWrite(Fan[n],HIGH);} 
Python-ServercodePython
un diesen Code in Ihrem Spython, nachdem ngrok so eingerichtet ist, dass er Daten
vom Flask-Import erhält Flaskfrom Flask_ask import Ask, Statementimport Requestsimport jsonimport serial ser =serial.Serial("/dev/ttyAMA0",9600)app =Flask(__name__ )ask =Ask(app, '/')@[email protected]("FanOn")def on():ser.write(b'1') return statement("Deckenventilator eingeschaltet.")@ ask.intent("FanOff")def off():ser.write(b'0') return statement("Deckenventilator ausgeschaltet.")@ask.intent("FanLevelUp")def up():ser.write (b'+') return statement("Deckenlüfter beschleunigen.")@ask.intent("FanLevelDown")def down():ser.write(b'-') return statement("Deckenlüfter Geschwindigkeit runter." )if __name__ =="__main__":app.run(debug=True)

Schaltpläne

so verbinden Sie die Geräte miteinander

Herstellungsprozess

  1. Aufbau eines drahtlosen Sensornetzwerks in Ihrem Zuhause
  2. Münzprüfer mit Arduino steuern
  3. Arduino-Kontrollzentrum
  4. Alexa-gesteuerte LEDs über Raspberry Pi
  5. Arduino mit Bluetooth zur Steuerung einer LED!
  6. Arduino-Befeuchtersteuerung
  7. Arduino Nano:Steuerung von 2 Schrittmotoren mit Joystick
  8. Steuern Sie Ihre LED mit Cortana
  9. Volle Kontrolle über Ihren Fernseher mit Alexa und Arduino IoT Cloud
  10. 25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno