This blog will be a little bit different from what I usually write about but not entirely. I am very proud of the results of what I did and I would like to share them with you. It is not a secret that I work at Wrocław University of Science and Technology. Apart from my research duties, I also run classes with my students. However, we should start the story from the beginning, that is, in the year 2019. At the dawn of 2019 we had COVID-19 outbreak. It did a lot of change in our lives and daily duties which still ought to be carried out. From the perspective of my university there were a lot of challenges. The lectures could be moved to the digital world pretty easily; however, project or laboratory classes were not that easy to move. They strongly depend on human-to-human interaction, and additionally when you work with hardware, it is even more challenging. What I did and what I will describe below was a way to respond to these difficulties. It involves a lot of hardware and not a small dose of software development.Continue reading
Category Archives: Raspberry Pi
Upgrading disk space on Raspberry Pi
Raspberry Pi is an awesome little SBC (Single Board Computer), especially the Raspberry Pi 4 that offers a huge improvement over its predecessor. In this blog post I will highlight what you should consider when upgrading your OS to a new hardware (like RPi 3 to RPi 4) or when you consider the same hardware but different (bigger or faster) disk, so SD card migration to a hard drive.
However, this blog post does not offer a complete guide how to proceed with the migration but a set of insights into the process. Most of all, this is a brief history of my experience with Raspberry Pi as a home server.Continue reading
LoRa driver for Raspberry Pi with Python wrapper
Here you will find my recent contribution to LoRa drivers. This post describes the LoRa driver for a Raspberry Pi SBC (Single Board Computer). Additionally, a wrapper written in Python is available making it very easy to use and prototype. Raspberry Pi gets more and more attention. Adding LoRa communication enables it to communicate with IoT devices such as remote thermometers, soil moisture sensors and many more others. You can find HAT boards thatoffer a LoRa module. Here, I describe how to connect and how to use a low-cost LoRa RFM95W module. This particular module comes with different frequency options. However, this post describes the one which uses 868 MHz frequency.Continue reading
Tweak up your console work
I would like to give to you a bunch of tips about how to improve your work with console. If you are working remotely on Linux from Windows operating system then there it is hard to find a right solution. I will describe a few tweaks which make the work with Linux terminal on Windows a bit easier.
This post will manly focus on configuring a cmder terminal — a great tool for consoling on Windows. Also I will discuss screen which is nice application similar to tmux which allows you to have a bunch of virtual terminals open and ready for use.Continue reading
UV4L on Raspberry Pi running Debian Buster
Some time ago, I have published a post about creating a Pan Tilt camera using UV4L library on a Raspberry Pi. It works really well. The camera position can be adjusted via a web interface while providing a live stream. It seems like a nice little thing. However, after upgrade of my Raspberry Pi from Debian Stretch to Debian Buster it broke down. The live stream is no longer available through UV4L on Debian Buster. Here is how to fix it!Continue reading
Pan Tilt Camera for Raspberry Pi with STM32 and UV4L
I would like to present a simple project which involves Raspberry Pi with a camera. Sounds boring, right! But the camera can be tilted in two axis using two servos which are directly controlled via STM32 microcontroller which in turn communicates with Raspberry Pi. Furthermore, the RPi is hosting a web server with interface to control position and speed of the camera and of course the video is streamed so you can see what is going on i.e. in your room. If you are even a bit intrigued then keep reading.
Video streaming from Raspberry Pi with UV4L
Here I describe how to set up secure video streaming using Raspberry Pi and a dedicated camera with UV4L. This post is written in tutorial–like form and the set–up presented here will be used in my other projects.
Design of embedded system
Today, I would like to ponder on a subject of creating some measurement systems, or in more general, embedded systems. There are multiple approaches to make such a system. Let’s consider a few of them — the most popular approaches.
Embedded systems are gaining popularity by the day. Those systems are used in Internet of Things (IoT) but also in more advanced control systems. However, sometimes a need of more sophisticated system is emerging which requires more computational power. I would like to present some architectures of such systems and highlight some features of those approaches.
Reset router with Python script and Raspberry Pi
Recently, I have written an article Automatic router reboot device with Arduino where I have presented a simple Arduino–based solution to reset router periodically. Since this is not the best idea to reset it, even if it does not require resetting, I have applied purely software–based solution. As the title says I have used a Python script which runs on Raspberry Pi connected to a local network.
Jupyter Notebook server on Raspberry Pi
Recently, when I wanted to install IPython notebook server I discovered that for quite some time the project had changed its name to Jupyter. You may recall one of my posts about the IPython where I presented how to install it on Raspberry Pi. Now, I would like to present the Jupyter project to you which comes with some neat new features.
Face detection with OpenCV and Python on RaspberryPi
Many articles here and there describe how to use OpenCV on Raspberry Pi. However, most of them are about setting up the environment by hand — meaning compiling OpenCV from sources. There are two main disadvantages to this approach. Firstly, you have to spend some time to compile it. On Raspberry Pi 3 it takes quite some time, and not mentioning the earlier versions of this mini PC. Secondly, maintaining up–to–date version requires additional time. Still, you can go for middle ground — cross–compilation that requires less time but you have to set up the environment properly. Having above in mind I will introduce you to the OpenCV with Python interface installed from pre–compiled packages. If I have your attention keep reading 😉
Large screen for Raspberry Pi with no compromises
There are plenty of screens for Raspberry Pi on the market. However, most of them is quite small varying from 3 to 10 inches most.
Some of those screens are dedicated ones some have HDMI interface through which you can connect it to RPi. Well, you can even use analog output to display the content of RPi’s desktop on a TV.
IPython Notebook server on Raspberry Pi
IPython Notebook is a great Matlab-like/Mathematica-like thing. You can write and run scripts written in python by using a web browser only. This post describes how to set up IPython Notebook server.
Using serial port on Raspberry Pi
Raspberry Pi is a small factor fully-featured computer. It can be used for multiple purposes such as a controller.
In most of applications it is necessary to use some kind of communication interface. Raspberry Pi delivers, among others, UART, SPI and I2c. However, UART (serial port) is most commonly used if you just want to send some data between RPi and other devices. While using SPI or I2c in i.e. python script is rather straightforward, using serial port, or making it to work, isn’t so easy as it might seem.
Tunnelling Internet traffic via external server
There are situations when we would like to encrypt our Internet traffic. One of those situation is when we use a public computer. Those computers are vulnerable to sniffing. This article will shed some light on this problem.