Raspberry Pi für die Heimautomation. Strukturschema. Einsatz von Raspberry Pi im Alltag und bei nicht standardmäßigen Anwendungen

Fünf Jahre nach der Veröffentlichung der ersten Raspberry Pi-Geräte erfreut sich das Projekt immer größerer Beliebtheit und verbreitet sich weit über seinen ursprünglichen Zweck hinaus. Projektgründer Eben Upton hoffte ursprünglich, nicht mehr als 10.000 Boards verkaufen zu können, doch derzeit befinden sich mehr als 10.000.000 Geräte in den Händen von Schülern, Lehrern und anderen IT-Fachleuten.

Neben der dritten Generation des Raspberry Pi finden Sie jetzt auch ein leichtes Raspberry Pi Zero-Modell sowie weitere Komponenten wie eine Videokamera, Touch-Screen und verschiedene Sensoren.

Bei so vielen Optionen kann es schwierig sein, zu wissen, wo Sie mit Ihrer Raspberry Pi 3-Anwendung beginnen sollen. In diesem Artikel geht es um die ersten Schritte mit dem Raspberry Pi. Ich gehe davon aus, dass Sie bereits wissen, wie Sie Bildschirm, Maus, Tastatur, Strom anschließen und installieren Betriebssystem. Heute schauen wir uns an, was als nächstes zu tun ist.

Viele Leute haben einen Raspberry Pi, wissen aber nicht einmal, welche Version sie haben. Sie können die Geräteversion anhand der Speichergröße bestimmen; dieser Parameter unterscheidet sich am meisten. Oder spätere Boards fügten beispielsweise zusätzliche GPIO-Steckplätze hinzu. Es gibt jedoch einige kleinere Unterschiede, die Sie bei der Erstellung Ihres Projekts beachten sollten.

Sie können die Platinenversion durch Sichtprüfung ermitteln, am besten jedoch über ein Terminal. Schalten Sie dazu das Gerät ein und führen Sie den folgenden Befehl aus:

cat /proc/cpuinfo |grep „Revision“

Die Ausgabe enthält eine Zeichenfolge aus vier oder sechs Zeichen, die Ihnen sagt, welches Gerät Sie verwenden:

Wenn Sie eine sehr große Zahl sehen, die mit 1000 beginnt, dann die Revisionsnummer und dann wieder 1000 kommt, dann ist das ein Zeichen für eine Stromüberspannung.

Hier sind einige Vergleichsmerkmale verschiedene Versionen Geräte:

Wenn Sie weitere Informationen zu Ihrem Board erhalten möchten Befehlszeile können Sie die folgenden Befehle verwenden:

Hardware:

cat /proc/cpuinfo

cat /proc/version

Rom:

cat /proc/memory

Raspberry Pi anschließen

Möglicherweise sind Sie daran gewöhnt, dass Sie keines einschalten müssen elektrisches Gerät Einfach an die Steckdose anschließen, einen Knopf drücken und schon funktioniert es. Raspberry Pi gehört nicht zu diesen Geräten. Für diesen Mikrocomputer ist es wichtig, das richtige Netzteil zu wählen, das eine stabile Stromversorgung für maximale Leistung bietet. Es gibt keine Schaltfläche zum Ein- oder Ausschalten, aber Sie können eine erstellen, wenn Sie möchten.

Wenn Sie glauben, dass Ihr Gerät nicht ausreichend Strom erhält, können Sie die Spannung mit einem Multimeter überprüfen. Bei älteren Platinen befinden sich auf der Oberseite der Platine Löcher mit der Bezeichnung TP1 und TP2. Bei den Modellen B+, Pi2 und Pi3 befinden sie sich auf der Unterseite der Platine auf der Seite der SD-Karte und sind mit PP3 und PP7 gekennzeichnet.

Schließen Sie zunächst alle Peripheriegeräte an, die Sie verwenden möchten. Stellen Sie das Multimeter so ein, dass es eine Spannung von bis zu 20 Volt misst. Verbinden Sie das rote Kabel mit TP1 oder PP3 und das schwarze Kabel mit TP2 oder PP7. Das Multimeter sollte einen Wert von etwa 5 Volt anzeigen. eine Abweichung von 0,25 Volt ist schlecht und je näher an fünf, desto besser. Wenn Sie einen Spannungsabfall bemerken, kann dies zwei Gründe haben:

  • Ihr USB-Kabel. Es eignet sich zwar zum Aufladen Ihres Telefons, ist aber zu langsam. Das reicht zwar für ein Telefon, aber dem Raspberry Pi fehlt es an Strom.
  • Peripheriegeräte. Für alle USB-Geräte Wenn Sie Strom benötigen, können Sie das Problem mit einem USB-Hub lösen.

Im Allgemeinen bereitet der Anschluss des Raspberry Pi keine großen Probleme.

Hinzufügen einer Reset-Taste

Nachdem Sie nun die Grundlagen kennen und sich für eine Stromquelle entschieden haben, können Sie Ihrem Gerät einen Netzschalter hinzufügen. Die meisten elektronischen Geräte verfügen über eine Abschalttaste, diese hier jedoch nicht. Wenn Sie den Raspberry Pi zurücksetzen möchten, müssen Sie das Netzkabel abziehen und wieder einstecken. Sie können jedoch eine Schaltfläche hinzufügen, um dies zu verhindern.

Auf dem Brett befinden sich zwei Löcher nebeneinander, eines ist rund und das andere quadratisch. Beim Modell B sind sie mit P6 gekennzeichnet und befinden sich daneben HDMI-Anschluss. Auf späteren Platinen sind sie näher an den GPIO-Ports platziert und tragen die Bezeichnung RUN.

Sie können einen beliebigen Knopf kaufen und dessen Stifte an diese Anschlüsse anlöten. Um den Prozessor zurückzusetzen, müssen Sie lediglich diese Ausgänge schließen.

Verwendung von GPIOs und Sensoren

Neben seinem niedrigen Preis ist Raspberry Pi aufgrund seiner Fähigkeit, GPIO zu nutzen, für Benutzer sehr attraktiv.

GPIO oder Allzweck-Ein-/Ausgabe sind Ports allgemeiner Zweck Eingabe und Ausgabe. Fast alle Raspberry Pi-Projekte werden mit diesen Ports erstellt. Ihre Stärke ist Flexibilität.

Die ersten Raspberry-Pi-Boards hatten 26 GPIO-Ports, Raspberry Pi 2 und Pi 3 haben 40. Aus technischer Sicht sind es nur 17 von 26 bzw. 28 von 40. Der Rest sind elektrische Kontakte und Erdungen. Alle Ports sind durch Nummern gekennzeichnet, für die korrekte Verwendung benötigen Sie jedoch einen Ausdruck mit einer Beschreibung der Werte. Zum Beispiel für 40:

Oder für 28:

Sie können es ausdrucken und an der Tafel befestigen, um beim Arbeiten nicht durcheinander zu kommen:

Um den GPIO dazu zu bringen, das zu tun, was Sie tun müssen, müssen Sie ein wenig programmieren. Normalerweise kann alles in Python erledigt werden. Falls Sie es nicht wussten: Der Pi-Teil des Namens stammt von einem Tool zum Unterrichten der Python-Programmierung. Im Internet finden Sie zahlreiche Anleitungen zur Verwendung von Python für Raspbery und GPIO.

Finden Sie ein Projekt

Ihr Gerät ist fast fertig. Es bleibt nur noch, sich für ein Projekt zu entscheiden und etwas zu unternehmen. Auch wenn Sie noch keine einzige Codezeile geschrieben oder einen Lötkolben benutzt haben, kann der Raspberry Pi das perfekte Werkzeug zum Erlernen dieser Dinge sein.

Wenn Sie nichts programmieren, aber etwas Nützliches tun möchten, können Sie Kodi auf Raspberry installieren und tun Heimmedien Center.

Danach können Sie mit der Suche nach anderen Projekten fortfahren. Was gefällt dir am besten, Spiele? Heimautomatisierung? Foto? Vielleicht hat jemand im Internet schon eine Anleitung gepostet, wie man das macht, was man möchte. Verwenden Sie sie oder machen Sie Ihre eigenen. Hier sind einige interessante Projekte, die Sie umsetzen können:

  • Cupcade ist der einfachste Weg, Ihr eigenes kleines Gaming-System zu erstellen. Hier müssen Sie das Gerät jedoch als Bausatz kaufen, um alle notwendigen Teile zu erhalten;
  • MagicMirror ist eines der beliebtesten Raspberry Pi-Projekte, bei dem es um die Anzeige geht Textinformationen auf dem Spiegel unter Verwendung des Bildschirms und dieses Mikrocomputers;
  • Minecraft – Sie können Ihr eigenes erstellen Minecraft Server An Auf Himbeerbasis Pi;

Das sind noch nicht alle interessanten Projekte, mit denen Sie den Raspberry Pi 3 nutzen können. Ein paar weitere finden Sie im Artikel.

Schlussfolgerungen

In diesem Artikel haben wir uns mit den ersten Schritten mit dem Raspberry Pi befasst. Dieses sehr interessante Gerät kann bei richtiger Anwendung sehr nützlich sein. Haben Sie bereits einen Raspberry Pi gekauft? Wirst du kaufen? Oder haben Sie Ihr Projekt bereits zusammengestellt und eine Verwendung für Raspberry Pi gefunden? Schreiben Sie in die Kommentare!

Zum Abschluss des Videos von vor 16 Bit über den Raspberry Pi:

Viele Leute wissen wahrscheinlich, dass es nicht schwierig ist, Arduino über den Raspberry Pi mit Strom zu versorgen; man braucht nur ein USB-Kabel. Das umgekehrte Problem sieht schwieriger aus, da die meisten Arduino-Controller keinen USB-Ausgang haben (Due ist eine Ausnahme). Dies ist jedoch mithilfe von GPIO-Pins möglich, und ich möchte ein konkretes Beispiel für Arduino Nano V3.0 und Raspberry Pi B rev.2 vorstellen. Neben der Stromversorgung selbst verrate ich Ihnen auch, wie Sie diese Leistung per Knopfdruck und MOSFET-Transistor steuern können.

Theoretische Möglichkeit
Die meisten Arduino-kompatiblen Controller verwenden 5-V-Pins. Die einzige Ausnahme ist der Arduino Due und der 3,3-V-Ausgang des Arduino, aber darum geht es jetzt noch nicht. Es ist auch bekannt, dass eine Möglichkeit, den Raspberry Pi mit Strom zu versorgen, darin besteht, die 5V- und GND-Pins am 26-poligen P1-Anschluss zu verwenden:

Es scheint, dass die Lösung offensichtlich ist: Sie müssen den Raspberry Pi an einen der Arduino-Pins anschließen, und alles wird funktionieren. Mein Versuch, dies zu tun, führte dazu, dass der Raspberry Pi die PWR-LED aufleuchtete, die ACT-LED jedoch nie aufleuchtete. Der Grund ist der sehr geringe Strom der Arduino-Pins (ca. 40-50 mA). Aber der Arduino verfügt über einen separaten 5-V-Pin, der (laut Link) etwa 400-500 mA ausgeben kann. Jetzt müssen Sie prüfen, ob dieser Strom ausreicht, um den Raspberry mit Strom zu versorgen.

Zur normalen Stromversorgung des Raspberry Pi mit zwei USB verbunden Geräte benötigen ca. 700 mA. Jedes USB-Gerät kann bis zu 140 mA verbrauchen (). Der Raspberry kann noch mehr Strom ziehen, wenn er übertaktet ist (meiner nicht). Wenn Sie also ein ungetaktetes RPi ohne USB-Geräte verwenden, sollte der Strom vom Arduino 5V-Pin völlig ausreichen.

Um die Stromversorgung zu steuern, benötigen Sie noch ein paar weitere Zutaten: einen Netzschalter und etwas, das große Ströme verarbeiten kann. Für diese Zwecke habe ich einen MOSFET-Transistor verwendet. Kommen wir direkt zu den verwendeten Teilen.

Erforderliche Hardware und Software
Ich habe folgende Hardwareteile verwendet:
  • Raspberry Pi B rev. 2;
  • Arduino Nano V3.0;
  • Knopf zur Leistungssteuerung (ich habe einen Knopf mit Schloss und Signalkabel verwendet);
  • MOSFET-Transistor (ich hatte zufällig einen IRF530N);
  • Steckbrett und einige Drähte.
Um die Arduino-Firmware zu flashen, benötigen Sie eine IDE. Ich habe Version 1.5.8 BETA verwendet, aber die stabile Version 1.0.6 funktioniert auch. Sie benötigen außerdem meine kleine Bibliothek für PowerButton (Link am Ende des Artikels im Abschnitt über Dienstprogramme).
Planen
Der Anschlussplan sieht so aus:

Das schematische Diagramm sieht so aus:

Erläuterungen zu den Diagrammen:

  1. D2 ist mit dem SIG-Pin am Knopf verbunden.
  2. D4 ist mit dem VCC-Pin des Tasters verbunden.
  3. D5 ist mit dem Gate des MOSFET verbunden.

Die Verbindung zum D2-Pin ist kein Zufall: Die Bibliothek für die Schaltfläche verwendet Interrupts, und auf dem Arduino Nano sind nur die Pins D2/D3 für diese Zwecke vorgesehen (Sie können überprüfen, welche Pins auf Ihrem Arduino Interrupts unterstützen).

Quelle Programme für Arduino
#enthalten

#define POWER_PIN_SIG 2
#define POWER_PIN_VCC 4
#define POWER_FET_GATE 5
#define POWER_PIN_INT 0

PowerButtonSwitch pbs;

void onPowerOn() (
Serial.println("Power On");
digitalWrite(POWER_FET_GATE, 1 ); // Öffne das Tor
}

void onPowerOff() (
Serial.println("Ausschalten");
// Schließe das Tor
}

void setup() (
Serial.begin(9600);

// Ausgangssignal vom Arduino zum MOSFET-Gate (Gate)
pinMode(POWER_FET_GATE, OUTPUT) ;
digitalWrite(POWER_FET_GATE, 0 );

// Ersteinrichtung Power-Tasten
pbs.setupPowerButton(POWER_PIN_SIG, POWER_PIN_VCC, POWER_PIN_INT) ;

// Den aktuellen Wert lesen
// Wenn ein Signal vom Button kommt,
// Raspberry Pi einschalten
int st = pbs.getSwitchStatus();
if (st == POWER_ON) (
onPowerOn() ;
}

// Event-Handler hinzufügen
pbs.onPowerOn(onPowerOn);
pbs.onPowerOff(onPowerOff);
}

void loop() (
// Leere Schleife
Verzögerung (1000);
Serial.println("Keine Aktionen");
}

Die Bibliothek übernimmt den Großteil der Arbeit, daher ist der Code sehr einfach.

Testen der Lösung
Kurzes Video mit Tests:

Wie man sieht, funktioniert optisch alles. Sie müssen jedoch noch die Spannung zwischen den Pins TP1/TP2 überprüfen (Methode). Ich habe einen Wert von ~4,6 V erhalten, der empfohlene Wert liegt bei mehr als 4,75 V.
Abschluss
Trotz der Tatsache, dass alles funktioniert, besteht immer noch der Verdacht, dass beim Anschließen von Peripheriegeräten der Strom vom 5-V-Arduino-Pin nicht ausreicht. MOSFET und Knopf funktionieren paarweise perfekt, eine solche Kombination könnte für zukünftige Projekte nützlich sein.

Zum Schreiben verwendete Dienstprogramme und Bibliotheken:

  • Fritzing: Wird zum Zeichnen von Diagrammen verwendet und ist verfügbar.
  • die eigentliche Bibliothek für PowerButton: kann von GitHub übernommen werden.

Da dies mein erster Beitrag ist, werden Rezensionen und Kommentare sehr hilfreich sein.

Heute ist die vierte Lektion, in der wir mit GPIO-Ports arbeiten und insbesondere die LED in verschiedenen Modi blinken lassen.

Die Lektion richtet sich an Anfänger und wird in Text- und Videoformaten präsentiert.

Video der vierten Lektion:

Für die Lektion benötigen wir:

  • Raspberry Pi-Board;
  • Stromkabel;
  • USB-Tastatur;
  • USB-Maus;
  • Monitor oder Fernseher mit HDMI/RCA/DVI-Schnittstelle;
  • ein Kabel, dessen eines Ende RCA oder HDMI ist und dessen anderes Ende Ihrem Monitor entspricht;
  • SD-Karte mit bereits installiertem Raspbian-Betriebssystem ();
  • Leuchtdiode;
  • Taste;
  • 220 Ohm Widerstand
  • 3 weiblich-männliche Drähte
  • 2 Stecker-Stecker-Kabel.

Raspberry Pi GPIO in Python programmieren

Für die heutige Lektion haben wir uns für die Programmiersprache Python entschieden.

Python ist eine moderne objektorientierte Sprache. Es wird am häufigsten zum Programmieren von GPIOs auf Raspberry Pi verwendet. Python ist im Raspbian-Betriebssystem enthalten.

Modellmontage

Um zu funktionieren, müssen wir die folgende Schaltung zusammenbauen:

Anschlussplan für LED und Taste an Raspberry Pi

Bitte beachten Sie, dass die GPIO-Ports am Raspberry Pi nicht signiert sind. Es ist hilfreich, eine gedruckte Pinbelegung zu haben.

Pinbelegung des Raspberry Pi. Schema von ledgerlabs.us

Zusammengebautes Modell mit LED und Taste

Steuern einer LED auf einem Raspberry Pi über die Konsole

Gehen Sie zu LXTerminal und geben Sie Folgendes ein:

Danach sollte dieser anstelle des Benutzernamens am Anfang der Zeile angezeigt werden >>> .

Geben Sie die folgenden Zeilen ein:

Importieren Sie RPi.GPIO als GPIO #import-Bibliothek
GPIO.setmode(GPIO.BOARD) # GPIO „aktivieren“.
GPIO.setup(7, GPIO.OUT) #deklariert den 7. Pin als Ausgang

Anschließend können Sie mit dem Befehl die LED einschalten
GPIO.output(7, 1)

Und zum Ausschalten
GPIO(Ausgabe(7, 0)

Nach der Arbeit mit GPIO empfiehlt es sich, den Befehl auszuführen
GPIO.cleanup()

Programm zum Blinken der LED auf dem Raspberry Pi

Für Batterielebensdauer LED, wir müssen ein Programm schreiben und ausführen. Öffnen Sie dazu das vorinstallierte Programm LEERLAUF 3 und klicken Sie im Menü „Datei“ auf „Neu“. In dem sich öffnenden Fenster können wir ein Programm schreiben.

Lass uns schreiben:
Importieren Sie RPi.GPIO als GPIO #import-Bibliothek für die Arbeit mit GPIO
Importzeit #Importbibliothek warten
GPIO.setmode(GPIO.BOARD) #GPIO „starten“.


____GPIO.output(7, 1) #LED einschalten

____GPIO.output(7, 0) #LED ausschalten
____time.sleep(1) #1 Sekunde warten

Speichern Sie das Programm in einem Ordner /home/pi.

Jetzt können wir das Programm mit dem Befehl von LXTerminal aus ausführen
sudo python programmname.py

LED-Steuerung über Taste

Wir steuern die LED mit externe Taste: Beim Drücken der Taste leuchtet die LED, beim Loslassen leuchtet sie nicht.

Schließen Sie dazu den Button an Port 5 an.

Zur Steuerung benötigen wir folgendes Programm:

Importieren Sie RPi.GPIO als GPIO #import GPIO-Bibliothek
GPIO.setmode(GPIO.BOARD) #"GPIO aktivieren"
GPIO.setup(7, GPIO.OUT) #Port 7 als Ausgabe bekannt geben
GPIO.setup(3, GPIO.IN) #port 3 als Eingang deklarieren
while True: #Endlosschleife
____if GPIO.input(3) == False: #wenn die Taste gedrückt wird
________GPIO.output(7, 1) #schalte die LED ein
____else: #sonst
________GPIO.output(7, 0) #ausschalten

LED-Steuerung über Tastatur

Lass uns ein anderes Programm erstellen. Der LED-Status ändert sich, wenn eine leere Zeichenfolge empfangen wird, und endet, wenn eine andere Zeichenfolge empfangen wird.

Importieren Sie RPi.GPIO als GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
während True:
____str = input("Eingabe - aktivieren, andere - beenden");
____if str != "":
________brechen
____anders:
________GPIO.output(7, 1)
____str = input("Enter - Herunterfahren, other - Exit");
____if str != "":
________brechen
____anders:
________GPIO.output(7, 0)
GPIO.cleanup()

Damit ist die vierte Lektion über Raspberry Pi für Anfänger abgeschlossen, Fortsetzung folgt!

Hallo zusammen! Heute erzähle ich euch, wie ich es geschafft habe, Ports auf meinem Raspberry Pi einzusparen. Ich wollte schon lange ein Zeilendisplay an diesen Einplatinencomputer anschließen und habe es sogar mit der Wiringpi-Bibliothek versucht, aber eine solche Verbindung belegt zu viele Pins. Das erste, was mir in den Sinn kam, war die Verwendung von Schieberegistern, aber ich entschied mich trotzdem für den I2C- oder SPI-Bus. Nachdem ich Themen im Internet gelesen hatte, fand ich eine coole Lösung – RGB LCD SHIELD KIT W/ 16X2 CHARACTER DISPLAY – NUR 2 PINS VERWENDET! . Zur Ansteuerung von SDL und SCK über den I2C-Bus nutzt das Board nur zwei Pins, außerdem war noch genügend Platz für fünf Clock-Tasten. IN Dieses Gerät Geschwindigkeit ist nicht so wichtig, daher war der I2C-Bus für mich in Ordnung. Das „Herz“ der Platine ist ein Mikrochip von Microchip, der Port-Expander MCP23017.

Hallo zusammen!

Von Zeit zu Zeit kam es in der Praxis zu Situationen, in denen ich träumerisch dachte, es wäre schön, einen Webserver als Backend für einige meiner einfachen Projekte zu bauen. Nun, damit es einen Hostnamen gibt, wie er sein sollte, und damit Sie ihm von außen einige Daten geben und einige Daten empfangen können, vielleicht eine API-Shell anhängen oder vielleicht sogar Ihren eigenen gemütlichen Blog dort hosten.

Ich stellte mir sofort ein paar Racks mit Blades vor, die Anmietung einer virtuellen Maschine auf Digital Ocean oder schlimmstenfalls einen Computer, der rund um die Uhr unter dem Tisch brummt.

Aber Sie möchten etwas Ruhiges, Elegantes, Stilles und am besten Kostenloses ...

Stoppen! Aber alles wurde schon vor uns erfunden!

Heute möchte ich darüber sprechen, wie Sie mit einem Minimum an Wissen für ein paar Cent eine Maschine bauen können, die 90 % Ihrer (nun ja, meiner, ganz sicher) Backend-Anforderungen erfüllt.
Die Geschichte hat den Charakter von Notizen für sich selbst – um nicht zu vergessen, was zu tun ist, und sie zum Beispiel beim nächsten Mal zu wiederholen.)

Wer Interesse hat, greift zum Schnitt (achtet übrigens darauf, wie die Chips auf der Platine wie ein Sandwich zusammengelötet sind).

Wir denken weiterhin über den Einsatz des Raspberry Pi-Computers nach Heimautomatisierung. Wie Sie sich erinnern, haben wir in früheren Ausgaben erhalten allgemeine Informationenüber Raspberry Pi, lernte, wie man das Betriebssystem installiert und konfiguriert Raspbian, machte sich mit dem Framework vertraut WebIOPi und seine Fähigkeiten für die Arbeit mit GPIO-Ports, insbesondere wie man diskrete Ein-/Ausgänge und den Betrieb serieller UART-Ports steuert.

Heute werde ich versuchen, Ihnen das allgemeine Strukturdiagramm des geplanten Hausautomationssystems vorzustellen, das mit erstellt wird Raspberry Pi. (Abb. 1).

Reis. 1

Das Hausautomationssystem besteht aus zentraler Serverüber Schnittstelle verbunden RS 485 mit in jedem Zimmer installiert Controller, und wiederum alle Peripheriegeräte (verschiedene Steuerungs-, Überwachungs-, Regelungs-, Schutzgeräte) sind an die Steuerungen angeschlossen. Der Vorteil dieser Netzwerkarchitektur besteht darin, dass keine Kabel von jedem Gerät zum Server verlegt werden müssen, sondern dass die Controller, mit denen sie verbunden sind, einfach mit zwei Kabelpaaren verbunden werden müssen – ein Paar liefert Strom und das zweite wird für die Stromversorgung verwendet RS 485-Schnittstelle. Darüber hinaus ist die Betriebslogik so ausgelegt, dass der Ausfall eines Controllers oder gar eines zentralen Servers die Leistung des restlichen Systems nicht beeinträchtigen sollte. Mit anderen Worten, die Architektur des Hausautomationssystems sollte so sein verteilt Und dezentral. Diese Architektur erinnert an den Bus, der in kommerziellen Smart-Home-Projekten weit verbreitet ist. Intelligenter Bus.

Wird als zentraler Server für ein Hausautomationssystem verwendet Raspberry Pi . Darauf installiertWebserver, über die der Benutzer von jedem Kommunikationsgerät (Smartphone, Laptop, Tablet) über einen Browser Informationen über alle im Haus ablaufenden Prozesse erhalten und diese entsprechend verwalten kann. Zugriff auf Netz Server durch Eingabe von Login und Passwort, Sie können beides von zu Hause aus abrufen lokales Netzwerk, und aus dem Internet überWi-Fi-Router.

Zur seriellen SchnittstelleUART Raspberry Pi über ein passendes Gerät per Schnittstelle RS 485-Anschluss Controller, mit den erforderlichen Ein-/Ausgängen. Zusätzlich zu RS 485 verbindet GSM-Modemum auf das System zuzugreifenHandy oder festes Telefonnetzfür den Fall, dass an dem Ort, an dem sich der Benutzer befindet, keine Möglichkeit besteht, auf das Internet zuzugreifen. Der Zugriff erfolgt auch in diesem Fall über die Eingabe eines Passwortes.

Wie bereits erwähnt verfügt der Raspberry Pi über eigene Ports GPIO, die für verschiedene Funktionen genutzt werden kann. Zur Organisation der RS ​​485-Schnittstelle nutzen wir UART GPIO, die restlichen Ports sind noch frei. Daher ist es ganz logisch, dass neben der Anbindung von Sensoren und Aktoren an Steuerungen auch einige Elemente des Hausautomationssystems direkt über die GPIO-Ports des Raspberry Pi angeschlossen werden können Puffergerät vorausgesetzt, es besteht keine Notwendigkeit, diesen Elementen lange Mitteilungen zu übermitteln. Dies könnte beispielsweise ein Atmosphärendrucksensor oder ein Temperaturkontrollsensor mit Kühlsteuerung für den Raspberry Pi selbst sein. Das Blockschaltbild zeigt die direkte Verbindung zu den Raspberry Pi-Ports über ein Puffermodul GPIO.

Denn in der ersten Phase der praktischen Umsetzung unseres Systems werden wir die Portanbindung organisieren UART Raspberry Pi über Schnittstelle an die Steuerung übertragen R.S. 485 sowie den direkten Anschluss von Aktoren an die I/O-Ports GPIO Ich empfehle Ihnen, zunächst die Einrichtung und Konfiguration abzuschließen Raspberry Pi um diese Aufgaben zu erledigen.

Wenn Sie also die vorherigen drei Teile des Testberichts gelesen haben, haben Sie das Framework installiert WebIOPi, versuchte die Ports zu verwalten, überprüfte den Betrieb des UART im bidirektionalen Austauschmodus über ein Terminalprogramm, dann blieb nur noch sehr wenig zu tun, um die Einstellungen abzuschließen.

Wir gehen in die Konfigurationsdatei mit dem Befehl:

sudo nano /etc/webiopi/config

und legen Sie die folgenden Einstellungen fest [ GPIO](Abb.2)

4 = AUS 0

7 = AUS 0

8 = AUS 0

25 = AUS 0

24 = AUS 0

Reis. 2

Im Kapitel [ HTTPServerAufbau]Sie müssen die Zeile schreiben:

doc-root = /home/pi/myproject/html

Dies ist der Pfad zu dem Ordner, den wir später zum Speichern der Webschnittstellenseite erstellen Index.html. Natürlich war es möglich, diesen Ordner durch Angabe des entsprechenden Pfads an einer anderen Stelle zu erstellen, aber um Verwirrung und Probleme in Zukunft zu vermeiden, bleiben wir bei der Einheitlichkeit (Abb. 3).

gpio-export = 4, 7, 8, 25, 24

gpio-post-value = true

gpio-post-function = true

Gerätezuordnung = true


Reis. 4

Die Einstellungen in der Konfigurationsdatei sind abgeschlossen. Wir speichern sie, indem wir die Tastenkombination drückenStrg Und Ö, dann drücken Eingebenund gehen als TeamStrg Und X.

Auf Datenträger erstellen Raspberry Pi Ordner zum Speichern unseres Projekts. Hierzu und allgemein zum Arbeiten mit Dateien auf der Raspberry Pi-Festplatte können Sie einen Dateimanager verwendenwas erwähnt wurde. Verschachtelung erstellte Ordner sollte so aussehen:

/home/pi/myproject/html(Abb.5)


Reis. 5

Um die Richtigkeit der durchgeführten Vorgänge zu überprüfen, entpacken Sie das Archiv der Testdatei in den Ordner html. Die Datei sollte dort erscheinen Index.html. Geben Sie die Netzwerkadresse, den Benutzernamen und das Passwort des Raspberry Pi ein ( webiopi / Himbeere). Starten Sie WebIOPi mit dem Befehl neu:

sudo /etc/init.d/webiopi neu starten

Danach sollten Sie eine Test-Weboberfläche sehen (Abb. 6). Über diese Schnittstelle können Sie die GPIO-Ausgänge steuern 4 , 7 , 8 , 24 , 25 indem Sie mit der Maus auf die entsprechende Schaltfläche klicken. Ein hoher Ausgangspegel wird in Orange dargestellt, ein niedriger Ausgangspegel in Schwarz. Nach jedem Klick auf die Schaltfläche wechselt der Ausgangszustand in das Gegenteil. Um die ausgeführten Befehle optisch zu überwachen, können an diese Ausgänge LEDs über strombegrenzende Widerstände angeschlossen werden 300 - 470 Ohm.

Reis. 6

Wenn bei Ihnen alles geklappt hat, sind die Einstellungen korrekt vorgenommen. In der nächsten Ausgabe unseres Testberichts werden wir uns mit der praktischen Implementierung der ersten Stufe des Hausautomationssystems in Hardware befassen.