If you are new to setting up your own video surveillance system for your home or office or a customer’s home or office, and want to truly own the setup, you want to use ZoneMinder, an open-source and free software that allows you to connect a variety of wired PoE cameras to a single software server that can manage all of them.
In this post, we outline how to set it up from scratch on Ubuntu 24.04 LTS.
Read More →In the earlier post demonstrating the use of libssd1306, we did not explain how one would use an event library such as libev
to write an application that would use events to perform display changes. With this post we would like to show how to do that easily with a simple clock application that updates the OLED screen with the local time every second.
We purchased the Adafruit Ultimate GPS breakout board (Figure 1) several months ago, but finally got to the point of using it for something. This GPS breakout uses a GlobalTop MTK3339 GPS chip, comes with an SMA connector antenna, and also requires an SMA to uFL adapter (Figure 2) also available at Adafruit. You will also require an FTDI USB-to-TTL serial cable, which can be available at various vendors like Sparkfun, Adafruit, Amazon, DigiKey, etc.
To read the GPS data as fast as possible using the libev
event API, we chose
to write a C library from scratch as opposed to using a server like gpsd
. We
want our application to embed the reading of the GPS and display the GPS data to
the OLED library using our libssd1306 library.
We are updating the previous post on drawing text, since we realized we needed to fix a major display bug in pixel locating the text. In addition to that we updated the API for drawing text to return a bounding box around the drawn text so that the developer can know the pixel coordinates of where the text was drawn in the framebuffer. We also updated the bit-dump API to optionally add color to the terminal output.
Read More →In an earlier post we had discussed the framebuffer object of the C library for performing graphics on the OLED screen SSD1306 using a Raspberry Pi. We also discussed how to draw text using FreeType2.
In this post we show you how to draw straight lines on the OLED screen using our
ssd1306_framebuffer_draw_line()
function.