Today I patched the kernel of a Raspberry Pi Zero W with Preempt-RT. I used the repo TiejunChina.
~/rpi-kernel$ git clone https://github.com/TiejunChina/linux.git
~/rpi-kernel$ cd linux
~/rpi-kernel/linux$ git checkout rpi-4.14.y # today the kernel version is 4.14.22
# with rt17 resulting in 4.14.22-rt17+
You can find a complete tutorial for patching a Raspbian kernel 4.14.y here.
Check the options for Raspberry Model A(+), B(+), Zero W.
Raspberry Pi Real Time Systems Preempt-RT Kernel Patching Real-Time Linux
The last week I was working on a real-time application (with a 1 ms sample time) that runs on an ARMv8 Cortex-A53 (Raspberry Pi 3 Model B based board) and I was wondering the differences between latencies on the standard and the Real-Time (RT) Linux kernel. I had some problems with the standard kernel version, then I thought I could analyze the latencies of both kernels, and make some conclusions. Many test are available but with older kernel versions. The tests were performed using the Raspbian Kernel 4.14.21 and the RT-Preempt Patch 4.14.21-rt17!
Raspberry Pi Real Time Systems Preempt-RT Kernel Patching Real-Time Linux Tutorial
There are a lot of tutorials for Raspberry Pi kernel patching using RT-Preempt, but I needed about 15 hours to get it working! I hate Kernel patching! and I have to say, that's not my first time. I have a system working with Ubuntu, RTAI and an Ethercat master. I patched the system more than once. But it is/was always a new thing! and It costs a lot of time! ;)
Then, you have another tutorial here! I only hope that the repo gets official. It could reduce the time to get the RT kernel working, if it is kept updated.
Both repositories are extensions for PageKit. The first one allows you to add Google Adsense ads to the posts. The second one extends the PageKit blog plugin to add categories and tags to the blog posts. I was/am quite busy these weeks, but I am writing the README files. I need to check them again.
Enjoy the photos!
It has been a while since my last post! Sorry, I was a little bit busy and then I was on a business trip in Melbourne for the CDC2017 and then I had a week holiday in Bangkok. I will be posting some photos on the next days!
It's been a year now since I started this blog. It's a hard job to maintain it up-to-date but I still have fun writing and coding for this purpose! So let us start!
The first video that I published a year ago was using the Wipy2.0 and a WS2812b led strip for some Christmas lights (click here). Now, this time I bought a WS2812b panel (100 bits or 10x10 pixels -or leds- see fig. 1) and as we have/had christmas again, so I wrote some code for this panel to make again some Xmas lights! :).
At the beginning of October I wrote a blog article called White Hacking: WeMos and SquirelCrawl!. I used the WeMos (ESP32) and the firmware provided by Hacker Arsenal to do a captive portal. As you known, a captive portal is a web page which is displayed to newly connected users before they are granted broader access to network resources [
Portal optimization is required! This is only a sample and a very beta code. The portal is far away from stable :S, but it works.
I assume no responsibility for the usage of this code and post. I repeat again, the book "The Hacker Playbook 2: Practical Guide to Penetration Testing - Peter Kim" says
Just remember, ONLY test systems on which you have written permission. Just Google the term “hacker jailed” and you will see plenty of different examples where young teens have been sentenced to years in prison for what they thought was a “fun time.” There are many free platforms where legal hacking is allowed and will help you further educate yourself.
I was surfing the services that Google offers, I found the Geolocation API. As Google describes the API: it returns a location and accuracy radius based on information about cell towers and WiFi nodes that the mobile client can detect. As I was writing the last post using MicroPython, I thought the WiPy 2.0 could be a nice "mobile client".
To use the API you need to get an API key from Google. As a standard user of the API, you get:
2,500 free requests per day, and
50 requests per second, per user.
I thought I could play with it to test the accuracy of the geolocation.
I don’t have any Belkin WeMo system or Philips Hue light bulbs. However, I have two ESP32 running MicroPython (see my last article), and a W2812b LED strip, and I thought I should be able to say, "Echo/Alexa, turn on the kitchen light" or "Echo/Alexa, turn on the blue light" and It should work with this setup.
And... it works as you can see in this video!
If you are interesting in only using the code, then click here. Otherwise, you can read the complete story... ;)
Another quick tutorial, this time for MicroPython on ESP32/ESP8266. You can find all the information that I'm writing in this post in different articles on the Internet but I've not found anything that summarizes all the topics. That is why I am writting this post. I included some links at the end of each topic to extend the info. Feel free to visit them if you want more info, or write a comment I will try to respond it.
Quoting the official micropython page results in the following
MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments.
As you see, in my last posts (sorry about the link, I need some pagekit taxonomy!), I have been programming the Wipy 2.0. This board is a tiny MicroPython enabled WiFi & Bluetooth IoT development platform.
Fortunately, there is a port of MicroPython for the ESP32, and this time I've installed the firmware on the Wemos board. The development tool includes a ESP-WROOM-32 microcontroller.