I wanted to log temperature and humidity in my room for no reason and I wanted to do it on my BBB. My plan is to post this data to a web application as an experiment, because I have never ever done web apps in my life.
I’m going to use the Si7021 module which I bought from core electronics (here is the link)
The main purpose of this blog entry is for me to remember what I did to configure the BeagleBone-Black single board computer.
A couple of years back (somewhere around 2014) I was working on projects primarily ran on Embedded Linux operating systems. I purchased a BeagleBone-Black to learn driver development, kernel internals, etc.. However, I did not have time (or rather priority) to do any projects on these boards. Fast-forward 6 years, and now, somehow I feel like I have some spare time to dedicate to hobby projects.
My BeagleBone-Black still lives in it’s original packaging and last week I decided to get it updated to the latest operating system. I checked what version I have in the eMMC and realized that it is the ancient version that the manufacturers originally flahsed way back in 2014. The Angstrom distribution which is now tagged as outdated.
I’m going to list down the steps I followed to get the board updated with the latest BeagleBone-Black image and setup wifi.
List of things to buy
Micro SD card (I bought a SanDisk-Ultra microSDHC 16GB card)
5V Power supply with a center positive barrel connector (I bought one which can provide 3 A current)
A wifi dongle (I bought a $4 cheap RTL8188CUS based wifi dongle)
We, as electronics enthusiasts, daily write hundreds of firmware code segments for various microcontrollers. Unlike software, when it comes to debugging microcontroller code, the challenges we face are much more fundamental. I believe that the most common method for debugging firmware is using the good old printf (just like the cout in C++ and println in Java).
When we develop conventional C code for Linux systems, printf works without any hassle. However, to enable the same functionality in microcontrollers, we need to peel away a layer in the C library and find out how exactly printf works.
However, the important part is, at the end of this function chain, printf calls another function called write. This is a standard system call in Linux, a part of kernel API. However, for microcontrollers, we don’t have such liberties and thus, we have to implement this function ourselves.
If you follow this post you will be able to develop your own fully functional and easily extendable torrent box for your personal use. Please note that there may be web sites which already have services similar and better than what I have implemented. We are here to learn how to do that aren’t we? Everyday is a school day!!!
BONUS!!! If my server is running now following link would allow you to check what I am downloading now. 😉 Copy and paste the below in your browser.