Inhaltsverzeichnis:

SmartClock - Gunook
SmartClock - Gunook

Video: SmartClock - Gunook

Video: SmartClock - Gunook
Video: Xiaomi Mi Smart Clock - Глобальная версия с Google Assistant. Озвучка событий в Home Assistant 2024, Juli
Anonim
SmartClock
SmartClock
SmartClock
SmartClock
SmartClock
SmartClock

Die SmartClock ist nicht nur eine Uhr, sondern auch eine einfache Möglichkeit, Social-Media-Statistiken und das Wetter anzuzeigen.

Sie können sich mit Facebook verbinden und Ihre Likes erhalten oder sich mit Soundcloud verbinden und Ihre Follower live anzeigen lassen! Das einzige, was Sie tun müssen, um dies zu sehen, ist die Modustaste zu drücken.

Auf diesem Gerät befinden sich mehrere Sensoren, die ständig Informationen sammeln und diese Informationen in einer Datenbank speichern. Sie können diese Daten in einer schönen Grafik auf der Website anzeigen.

Sie können auch Musik abspielen, die Sie am Gerät oder auf der Website auswählen.

Lieferungen

- Himbeer-Pi

- Arduino Uno

- Lautsprecher mit Verstärker

- 4*7-Segment-Anzeige

- DHT 11

- LM35 (optional)

- LDR

- MCP3008

- 16x2 LCD-Display

- 5 normal offene monostabile Schalter

- Widerstände 100k, 220, 1k und 5k

- Energieversorgung

- Viele Starthilfekabel, männlich/weiblich und weiblich/weiblich

Schritt 1: DHT 11 Pinbelegung

DHT 11 Pinbelegung
DHT 11 Pinbelegung
DHT 11 Pinbelegung
DHT 11 Pinbelegung
DHT 11 Pinbelegung
DHT 11 Pinbelegung

Es gibt 2 Arten von DHT11. Abhängig von der von Ihnen gekauften Version haben Sie entweder 3 oder 4 Pins.

Vcc geht auf 3,3 V, Signal geht an GPIO4 Wenn Sie eine 4-Pin-Version haben, müssen Sie einen 4k7-Widerstand zwischen dem Vcc- und dem Signal-Pin platzieren. Wenn Sie eine 3-Pin-Version haben, können Sie loslegen.

Schritt 2: MCP3008 mit LDR, LM35 und Pulldown-Schaltern

MCP3008 mit LDR, LM35 und Pulldown-Schaltern
MCP3008 mit LDR, LM35 und Pulldown-Schaltern
MCP3008 mit LDR, LM35 und Pulldown-Schaltern
MCP3008 mit LDR, LM35 und Pulldown-Schaltern
  • VDD - 3.3V
  • Vref - 3.3V
  • AGND - Masse
  • CLK - GPIO9
  • DOUT - GPIO MISO
  • DIN - GPIO MOSI
  • CS - CS0
  • DGND - Masse

CH0 geht zwischen einem 10k Widerstand und einem ldr

CH1 geht zum mittleren Pin des Lm35

Schritt 3: LCD-Anzeige

LCD Bildschirm
LCD Bildschirm

Um Ihr LCD-Display zum Laufen zu bringen, verbinden Sie den ersten Pin mit Masse und den zweiten mit +5V. Der dritte Pin sollte über einen 5k-Widerstand mit Masse oder einem Potentiometer verbunden werden, wenn Sie die Helligkeit ändern möchten.

RS-Pin geht an GPIO22, RW geht auch direkt an Masse. An diesem Punkt sollten Sie auf Ihrem Display eine Linie aus schwarzen Rechtecken sehen. Jetzt verbinden Sie einfach die 8 Datenpins mit den GPIO-Pins, die Sie frei haben, und verbinden Sie LED+ mit 5V, LED- mit Masse.

Schritt 4: 4 * 7-Segment-Anzeige

4 * 7-Segment-Anzeige
4 * 7-Segment-Anzeige

Ihr Display kann eine gemeinsame Anode / gemeinsame Kathode sein. Dies spielt keine Rolle, wie Sie es anschließen, aber es ist gut zu wissen, welchen Typ Sie haben. Stellen Sie sicher, dass der RX0-Pin frei bleibt, da wir diesen mit TX0 auf dem RPI verbinden müssen. Der Rest der Verbindungen spielt keine Rolle, da Code später geschrieben wird.

Schritt 5: Konstruktion

Konstruktion
Konstruktion
Konstruktion
Konstruktion

Um dieses Setup auf einem Steckbrett zu erstellen, benötigen Sie viel Platz. Ich würde empfehlen, den MCP mit LM35 und allen Widerständen auf einen Testdruck zu löten und einige Header hinzuzufügen. Auf diese Weise können Sie es einfach mit ein paar weiblichen/weiblichen Überbrückungsdrähten verbinden. Stellen Sie sicher, dass Sie Himbeer- und Arduino-Gelände verbinden. Achten Sie darauf, 3.3V nicht mit 5V. zu verwechseln

Schritt 6: Software

Software
Software
Software
Software

Ich habe Python mit Kolben für das Backend verwendet. Html, CSS/less & Javascript als Frontend und Arduino-Code für Arduino.

Auf dem Raspberry Pi läuft auch eine Datenbank, die die Sensordaten sowie von Ihnen eingestellte Alarme und Benutzerinformationen speichert. Diese Datenbank wird auf einem MariaDB-Server ausgeführt. Abfragen, um Daten daraus zu erhalten, werden in meinem Backen in Python geschrieben. Dadurch werden Daten auf benutzerdefinierten Endpunkten in JSON konvertiert. Wir können diese Daten in unserem Frontend abrufen, indem wir eine GET-Anfrage an unser Backend senden. Hier können wir mit den Daten machen was wir wollen. Ich habe mich für Grafiken entschieden, die von chart.js erstellt wurden, einer Javascript-Erweiterung.