pyLCI - externe Schnittstelle für Raspberry Pi und andere Linux-Geräte

Hallo!



Heute möchte ich Ihnen ein Projekt zeigen, an dem ich in den letzten Jahren gearbeitet habe, und endlich die erste verwendbare Version veröffentlichen. Dies ist pyLCI - die Python-basierte Linux-Steuerungsschnittstelle , eine externe Schnittstelle für Linux-Computer, über die Sie über Zeichenanzeigen und Schaltflächen mit dem System interagieren können. Mit Anwendungen, die für diese Schnittstelle geschrieben wurden, können Sie eine Vielzahl von Aufgaben im Zusammenhang mit der Verwaltung und Konfiguration des Systems ausführen sowie verschiedene Skripts ausführen und Befehle ausführen. Und das alles - unabhängig vom Monitor mit Tastatur!

Und auch meine Schnittstelle:
  • Billig
  • Einfach
  • Leicht erweiterbar
  • Universal

Interessiert an? Ich frage nach Katze.



Über K ^ W ^ W Wie alles begann
In meinem allerersten Artikel über Habré Linux EEE Pc 701 , ( ). , - , , . -, , - , - ( , ). , .

- - Raspberry Pi. , — Raspberry Pi , - . 5.25 , , HDMI- / /.. — . 3310 -, …

, — . - . - Fallout Pip-Boy, ;-) Pip-Boy , , . - , Linux- — Android . UI.
UI — , - . UI — , , UI , .
UI . , , . , . — . — , , ?

- Raspberry Pi. 4 , 2 . — , UART. — IP? ? - … UART? , . , SD- … , . .

? ?

image

.
, . , Raspberry Pi, - , , .



Wofür kann ich diese Schnittstelle verwenden?



  • ,
  • Bluetooth-
  • / ,
  • GPS


?



  • Raspberry Pi SBC Linux. , . WiFi UART ? . shutdown , SD-? . - ? .
  • . DHCP- . WiFi DHCP? -? , , , . , , — pyLCI- .
  • HTPC. , , / , , Bluetooth-.
  • . Raspberry Pi =) , .
  • … , ;-)




Ich habe kürzlich beschlossen, pyLCI für den allgemeinen Gebrauch zugänglicher zu machen, und als Ergebnis meiner Arbeit präsentiere ich Ihnen Version 1.0 .

Was kann sie sofort tun?




Dies ist zwar eine ziemlich kleine Liste, aber es ist sehr einfach, sie wieder aufzufüllen. pyLCI ist eine Art Framework, das durch "Anwendungen" in Python leicht erweitert werden kann, um ihm eine bestimmte Funktion hinzuzufügen. Es bietet diesen Anwendungen E / A-Geräte, mit denen mit dem Benutzer kommuniziert werden kann, sowie eine Reihe grundlegender Elemente der Benutzeroberfläche - wie z. B. einen Menüpunkt. Daher können Sie sich beim Schreiben einer Anwendung nicht auf die Hardware oder Nuancen der UI-Logik (z. B. Untermenüs) konzentrieren und sich ganz der Lösung des Hauptziels widmen =)



Welches Eisen benötigen Sie, um es zu verwenden?


Benötigen Sie ein HD44780-kompatibles Display. So:
Bild
Ein ständiger Bewohner aller Arten von Starter-Kits im Wert von etwa 2 US-Dollar (eBay).
Benötigen noch Knöpfe. Art von solchen:
Bild
Oder sogar als Teil davon:
Bild
Noch 1-5 $. Selbst wenn I2C-Expander (jeweils 1 US-Dollar) verwendet werden, liegt der Preis tatsächlich zwischen 7 und 10 US-Dollar pro Set. \

Genauer gesagt werden jetzt hauptsächlich GPIO- Geräte (für Raspberry Pi) und I2C -> GPIO-Expander sowie USB-HID- Geräte unterstützt Eingabe. Die Pläne:
  • Unterstützung für die Kombination aus Arduino + LCD und Tastenabschirmung zur Erstellung eines einfachen USB-E / A-Geräts. Geschäft ist Firmware für Arduino und den entsprechenden Treiber.
  • Erstellen eines drahtlosen Terminals mit LCD und Tasten zur Steuerung, ohne dass sich Kabel über den gesamten Ort erstrecken (ESP8266?).




Ich lade alle Interessierten ein, sich mit der Dokumentation , dem Brunnen und den Installationsanweisungen vertraut zu machen . Möchten Sie Ihre Anwendung entwickeln? Ich habe einen kleinen Crashkurs und Beispiele als Code für bereits geschriebene Anwendungen .

Von den Nachteilen:



  1. Das gesamte System ist derzeit ein Prozess, einschließlich Anwendungen. In dieser Hinsicht und der möglichen Anzahl von Einstellungen, die das System ändern sollte, ist es für den durchschnittlichen Benutzer einfacher, es unter dem Stamm auszuführen, als alle erforderlichen Berechtigungen zu konfigurieren. Bei Bedarf kann ich auflisten, welche Gruppen / Berechtigungen für bestimmte Anwendungen und Möglichkeiten zum Verbinden von E / A erforderlich sind.
  2. Debian/Raspbian. , - install.sh, config.sh update.sh.
  3. sysvinit — systemd. , =)
  4. pyLCI , . , X, pyLCI — (, NumLock) . «» , HID =)


Vielleicht werde ich heute hier enden. Ich bin sehr interessiert an Ihrer Meinung zu meiner Idee / Implementierung sowie daran, ob Sie daran interessiert sind, sie für Ihre Linux-Geräte zu verwenden. Hier können Sie die Pläne für die nahe Zukunft des Systems sowie eine ungefähre Liste der Anwendungen bewerten, die in Zukunft zum Standardpaket hinzugefügt werden.

Source: https://habr.com/ru/post/de392589/


All Articles