Close

Release announcement!

A project log for pyLCI - Linux Control Interface

Makes Raspberry Pi accessible, portable and easily configurable.

ArsenijsArsenijs 04/04/2016 at 01:060 Comments

Hi!

Today I want to finally show you the project I'm working on for about 2 years and release the first ready-to-use version. This project is pyLCI - Python-based Linux Control Interface, an external interface for Linux computers which allows to interact with the system using character displays. You can write applications for this interface which will allow you to change your system's settings, control different desktop and console applications, as well as launch scripts and execute commands - and all of that without depending on monitor&keyboard!

My interface is:


Interested? Read on.


I've been feeling lack of proper headless interfaces for a long time while using Linux systems. We've been using simple menu-driven interfaces on mobile phones for ages, but I sometimes need to plug in a UART adapter to understand, why my Raspberry Pi home automation hub won't do some specific task! Last time I checked, it was because I swapped 2 identical boards and eth1 changed to eth0 - which wouldn't get a network address because it wasn't in /etc/network/interfaces. Adding a screen and some buttons to at least be able to check on those situations would cost about 5-10$, but there also needs to be a software side...

Here comes pyLCI.

What can pyLCI be used for?

What can you use pyLCI with?


This month, I decided to make pyLCI more accessible to all the other Linux users. As a result, I'm releasing v1.0!

What can it do at the moment?

The list is not big yet, but it's very easy to add applications. pyLCI is a framework that is easily extensible by Python-written applications to add your own functions. These applications get access to the hardware abstraction layer, which can be used to communicate with the user, as well as a set of UI elements to allow focusing on the application's goal instead of things like hardware quirks or nested menu interaction logic.

What hardware do you need to start using it?

First, a HD44780-compatible display, like this one:


Easy to come by in various "starter kits", and it's super cheap.

Also, you need buttons. Like these ones:


5 buttons is the lower limit, feel free to use more. You can even use this:


To clarify, my interface now supports GPIO-connected buttons and displays (for Raspberry Pi), I2C->GPIO expanders and USB HID keyboards&keypads. Additionally, I support PiFace Control and Display Raspberry Pi shields.

To appear soon:

Where to start?

Take a look at the documentation page, as well as the installation instructions.

Want to develop your own app? I have a small crash course for that, as well as already written applications for code examples.

I had a last-minute project name recently ;-)

Some temporary shortcomings:

Guess that's all for today's announcement. I'm very interested in your opinion about my system, as well as your thoughts about how you'd want to use it for your Linux devices. Here you can check out my plans for system's future, as well as a list of applications soon to be added to the system. Leave comments at my project page and don't be shy to open GitHub issues if you encounter problems on your way.

Discussions