Inhaltsverzeichnis:

Intelligenter Alarm - Gunook
Intelligenter Alarm - Gunook

Video: Intelligenter Alarm - Gunook

Video: Intelligenter Alarm - Gunook
Video: Best Trick to Fall Asleep Fast When You Wake Up at Night 2024, November
Anonim
Intelligenter Alarm
Intelligenter Alarm

Von der Schule bekam ich den Auftrag, ein Projekt zu machen. Ich habe mich für einen Smart-Wecker entschieden, weil ich meinen Wecker immer verschlafe und dann die Schule verpasse. Sie können Ihren Wecker nur ausschalten, wenn Licht, Ton und Bewegung vorhanden sind, damit Sie nicht in den Schlaf zurückfallen oder ihn schlummern können, ohne die Augen zu öffnen. Es gibt auch eine Website, auf der Sie Ihr Schlafmuster anzeigen, Wecker einstellen und neue Wecker stellen können.

Lieferungen

Um das Projekt zu bauen, werden einige Materialien benötigt. unten findest du eine liste. In der Stückliste finden Sie auch alles wieder, einschließlich des Preises.

  1. Himbeer-Pi 3
  2. Breakout-Board für T-Schusser
  3. PIR-Sensor
  4. Lichtsensor
  5. Geräuscherkennungssensor
  6. Summer
  7. LCD Bildschirm
  8. Taste

Schritt 1: Hardware

Hardware
Hardware

Bevor ich anfing, alles zu bauen, habe ich 2 Schemata (1 elektrisch und 1 auf dem Steckbrett) auf Fritzing gemacht und sie kontrolliert, um sicherzustellen, dass es keine Fehler gab. Als ich sicher war, dass alles in Ordnung war, begann ich mit dem Projekt. Zuerst habe ich mit dem Summer und dem Knopf angefangen, weil dies die einfachsten Komponenten waren. Danach habe ich mein Display mit dem Raspberry Pi verbunden. Am Ende habe ich dann meine Sensoren angeschlossen. der Lichtsensor und der Bewegungssensor sind einfach, weil Sie nichts anderes brauchen, aber der PIR-Sensor braucht etwas mehr. Um sicherzustellen, dass der PIR keinen Kurzschluss macht, müssen Sie eine Spannungsbrücke verwenden. Das bedeutet, dass Sie einen zusätzlichen Widerstand von 1k Ohm und 2k Ohm verwenden müssen, um sicherzustellen, dass alles gut läuft. Die genaue Verwendung der Pins und wie Sie alles mit dem Pi verbinden, finden Sie in den Schemata.

Schritt 2: Datenbank

Datenbank
Datenbank

Um alle Daten zu speichern, brauchte ich eine Datenbank.

Meine Datenbank besteht aus 6 Tabellen.

  1. Sensor
  2. Historie_sensoren
  3. Person
  4. Alarm_person
  5. Schlaf_patern
  6. Alarm

Es gibt 2 Teile in der Datenbank. 1 für die Sensoren und 1 für die Person und alle seine Statistiken.

Die Sensortabelle enthält eine ID und einen Namen. Diese Tabelle ist mit den History_sensors verbunden, die eine ID, einen Wert, eine Sensor_id und einen Namen haben. die sensor_id wird benötigt, um zu wissen, welcher Sensor einen Wert hat und das Datum wird benötigt, um zu wissen, wann der Sensor ihn gemessen hat.

Die Tischperson enthält eine ID, einen Namen und ein Passwort. Das Passwort und der Name werden zum Einloggen benötigt, damit niemand sonst einen Alarm für Sie setzen kann. Diese Tabelle ist mit der Tabelle sleep_pattern und der Tabelle Alarm_person verbunden. Die Tabelle Sleep_patern enthält eine ID, Hours_sleep, Date, Person_id, Bedtime und Wake_up_time. Hier sind also die Daten, die gespeichert werden, um eine Grafik über Ihr Schlafmuster zu erstellen.

Die Tabelle Alarm_person enthält eine Person_id, Alarm_id und die Uhrzeit. Diese Tabelle wird benötigt, da mehrere Personen gleichzeitig einen Alarm verwenden können und eine Person mehrere Alarme verwenden kann. Die letzte Tabelle ist die Alarmtabelle. Dieser enthält eine ID und eine Beschreibung.

Schritt 3: Back-End

Backend
Backend
Backend
Backend

Im Backend musste ich verschiedene Funktionen schreiben.

  1. fragen Sie nach den Tischsensoren
  2. fragen Sie nach der Tabelle history_sensors
  3. nach dem Schlafmuster fragen
  4. einen neuen Wecker stellen
  5. nach dem Tischalarm fragen
  6. Benutzer registrieren
  7. Anmeldung
  8. trage die Werte der Sensoren in die Tabelle history_sensors ein

Ich habe pycharm verwendet und den Code in Python geschrieben.

Für alle Funktionen verwende ich die @app.route und dann die Adresse. Sie müssen jedes Mal eine andere Adresse verwenden, da es sonst nicht funktioniert. Danach schreibe ich eine if-Funktion mit der Methode als Wert, damit er den Code ausführt, wenn dies wahr ist. im if-Wert gibt es einen try-catch und eine sql-Anweisung, um die Daten abzurufen oder die Daten zu verstauen.

Bei den Funktionen mit den Sensoren ist das anders. Hier habe ich nicht die @app.route verwendet, sondern nur eine Funktion für den Sensor gemacht. hier deklarieren Sie Ihre Pins und führen eine Callback-Funktion durch. Auf diese Weise wird jedes Mal, wenn der Sensor etwas erkennt, die Funktion ausgeführt. In der Callback-Funktion habe ich eine Funktion verwendet, wenn das funktioniert, wenn der Sensor etwas erkennt. Im if steht der Code, um die Daten mit einer SQL-Anweisung in die Tabelle einzufügen. Es ist auch ein Schlaf drin, weil es sonst viel zu viele Werte in die Tabelle für nur 1 Erkennung geben würde.

In meinem Github finden Sie den vollständigen Code für das Projekt.

Schritt 4: Webseite

Webseite
Webseite
Webseite
Webseite
Webseite
Webseite

Für meine Website habe ich mit HTML und CSS gearbeitet. Meine Website enthält 11 HTML-Seiten.

Es gibt so viele Seiten, weil alles über die Website funktioniert. Sie können einen Alarm einstellen, einen Alarm hinzufügen und einen löschen. Auf der Einstellungsseite können Sie Ihr Passwort und Ihre E-Mail-Adresse ändern. Sie haben eine Seite für Ihr Schlafmuster. Sie können auch den Zeitpunkt hinzufügen, an dem Sie schlafen gegangen sind und wann Sie aufwachen. Das Positive ist, dass jede Seite das gleiche Aussehen hat und meistens die gleichen Dinge verwendet, so dass das CSS oft auf jeder Seite gleich ist.

Schritt 5: Front-End

Das Frontend ist in Javascript geschrieben.

Schritt 6: Fall

Fall
Fall
Fall
Fall

Für meinen Fall habe ich mich für Holz entschieden. Es ist nicht so schwer zu schneiden, es sieht gut aus. Mein Fall ist 26cm auf 14cm mit einer Höhe von 7,5cm. Es ist so groß, weil alles hineinpassen muss. Ich habe Löcher für die Sensoren, den Knopf und das LCD gemacht, damit die Zeit sichtbar ist und die Sensoren Bewegungen oder Licht erkennen können. Um diese zu machen, habe ich einen Lasercutter verwendet. Im Inneren des Gehäuses sitzt mein Steckbrett und Himbeer-Pi.

Empfohlen: