Author: koscis

I work as PHP developer as long as I remember:) I dreamed of doing something strange and Python + Raspberry Pi allows me to do funny things. My goal is to create home center and reintegrate old gadgets I already made like light control, human detection and car localizator.

ProxyLCD – upgrades in Symfony bundle

I need to focus on my additional project in PHP. That means Doton and GfxLCD lib must wait but we will use this time to upgrade ProxyLCD project.

What is ProxyLCD? It is remote LCD that works on NodeMCU, stand alone desktop app in Python and Symfony’s bundle.
Bundle listens to dump() command and when a dump is called it parse object or array to a string, connects to an app and sends it. App gets this content and sends it to added remote LCDs.

Read more about ProxyLCD on the right column:)


GfxLCD and drawing a text

Finally, something that is missingย from the start, the ability to write some text on display. In Doton we needed an ability to display numbers and we have done it via images. It was a partial solution but good enough. But we want more ๐Ÿ™‚

So this time fonts, text and another step in endless struggle with displaying anything anywhere ๐Ÿ™‚


GfxLCD – rotate SSD1306 and NJU6450

We can rotate both ILI displays but NJU and SSD are awaiting their turn. Let’s give them some attention and add rotation to them.
This will close another task on endless list of improvements ๐Ÿ™‚
From what I see we should change drawing functions (recalculate coordinates) and flushing buffer should stay the same because it works directly on hardware.


GfxLCD tests and fixes – page drawing

We need tests for GfxLCD and we need it now! But this is a driver so what can we test? W can and must test all drawing functions. We have two algorithms the page and the area. Let’ begin with page one.
We can mock a chip class in such way that it won’t use a driver and all drawing would go to a buffer and we always can check if buffer looks as we want.


Daj siฤ™ poznaฤ‡ / Get noticed – summary

Time is almost over but we have so much more work to do! Of course, we won’t stop our work but let’s summarise was has been done during competition.

The main goal was to build a control node that can gather and display information from different sources/sensors. This node is the Doton project.

But before we could create it we have to do two other projects: a GfxLCD python library, NodeOne sensor and improve one: NodeMCU boilerplate. So, in fact, we have done four projects ๐Ÿ™‚


Doton on bigger screen

We have a driver for ILI9486 320×480 display and we can run Doton on it. But currently, it would use only half of the screen. Our window manager has hard-coded dimension 240×320.

We need to do something with it. I think we can update manager to calculate grid from dimensions and additionally we can add tiles auto positioning.

Why? Because it seems that not setting position on the screen can be better ๐Ÿ™‚ System can add pages when required and take care of horizontal vs vertical position.
But I think that we should be able to set coords if we want to.

Source code @ GitHub


Raspberry PI, GfxLCD and ILI9486

Recently I bought an LCD 4″ IPS with an ILI9486 chip from Waveshare. It should be better than 2.8″ ๐Ÿ™‚ In instruction states that this display can work as system screen and I thought that maybe we can use PyQt or something instead of a custom driver.
The idea died quickly. I tried to run it on Raspberry Pi Zero W and this is not trivial ๐Ÿ™‚ First, I hit the bug with inability to use GPIO #17 and driver couldn’t be loaded. After some googling, I know that this is caused by the newest kernel. So I reverted to old one and… screen booted up but WiFi and Bluetooth did not.
So this way is no go. Back to the original idea and custom driver for ILI9486.