pyLCI - interface externe pour Raspberry Pi et autres périphériques Linux

Salut



Aujourd'hui, je veux vous montrer un projet sur lequel je travaille depuis quelques années et enfin sortir la première version utilisable. Il s'agit de pyLCI - l'interface de contrôle Linux basée sur Python , une interface externe pour les ordinateurs Linux qui vous permet d'interagir avec le système via des affichages de caractères et des boutons. À l'aide d'applications écrites pour cette interface, vous pouvez effectuer un grand nombre de tâches liées à l'administration et à la configuration du système, ainsi que exécuter divers scripts et exécuter des commandes. Et tout cela - quel que soit le moniteur avec le clavier!

Et aussi mon interface:
  • Bon marché
  • Simple
  • Extensible facilement
  • Universel

Intéressé par? Je demande un chat.



À propos de K ^ W ^ W Comment tout a commencé
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, - , , .



À quoi puis-je utiliser cette interface?



  • ,
  • Bluetooth-
  • / ,
  • GPS


?



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




J'ai récemment décidé de rendre pyLCI plus accessible à un usage général et, à la suite de mon travail, je vous présente la version 1.0 .

Que peut-elle faire hors de la boîte?




Bien que cette liste soit assez petite, elle est très facile à reconstituer. pyLCI est une sorte de framework qui est facilement extensible par des "applications" en Python pour y ajouter une fonction particulière. Il fournit à ces applications des périphériques d'E / S qui peuvent être utilisés pour communiquer avec l'utilisateur, ainsi qu'un ensemble d'éléments d'interface utilisateur de base - comme un élément de menu. Ainsi, lors de l'écriture d'une application, vous ne pouvez pas vous concentrer sur le matériel ou les nuances de la logique de l'interface utilisateur (comme les sous-menus) et vous consacrer entièrement à la résolution de l'objectif principal =)



De quel fer avez-vous besoin pour commencer à utiliser?


Besoin d'un écran compatible HD44780. Comme ceci:
image
Un résident permanent de toutes sortes de kits de démarrage, lui-même d'une valeur d'environ 2 $ (eBay).
Encore besoin de boutons. Type de tels:
image
Ou même dans le cadre de cela:
image
Un autre 1-5 $. Même en utilisant des extenseurs I2C (1 $ chacun), il est vraiment possible de gagner 7 à 10 $ / jeu. \

Plus précisément, les périphériques connectés à GPIO (pour Raspberry Pi) et I2C -> GPIO, ainsi que les périphériques USB HID , sont désormais principalement pris en charge . entrée. Les plans:
  • Prise en charge de la combinaison Arduino + LCD et bouclier de bouton pour créer un simple périphérique d'E / S USB. Business est un firmware pour Arduino et le pilote correspondant.
  • Création d'un terminal sans fil avec écran LCD et boutons pour un contrôle sans que les fils ne s'étendent partout (ESP8266?).




J'invite tous ceux qui sont intéressés à se familiariser avec la documentation , le puits et les instructions d'installation . Intéressé à développer votre application? J'ai un petit cours intensif et des exemples comme code pour des applications déjà écrites .

Des inconvénients:



  1. À l'heure actuelle, l'ensemble du système est un processus, y compris les applications. À cet égard, et le nombre possible de paramètres que le système devrait pouvoir modifier, il est plus facile pour l'utilisateur moyen de l'exécuter sous la racine que de configurer toutes les autorisations nécessaires. Si nécessaire, je peux répertorier les groupes / autorisations nécessaires pour des applications spécifiques et les moyens de connecter IO.
  2. Debian/Raspbian. , - install.sh, config.sh update.sh.
  3. sysvinit — systemd. , =)
  4. pyLCI , . , X, pyLCI — (, NumLock) . «» , HID =)


Je terminerai peut-être ici pour aujourd'hui. Je suis très intéressé par votre opinion sur mon idée / implémentation, ainsi que par votre intérêt à l'utiliser pour vos appareils Linux. Ici, vous pouvez évaluer les plans pour l'avenir proche du système, ainsi qu'une liste approximative des applications qui seront ajoutées au package standard à l'avenir.

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


All Articles