As an open source enthusiast it was my dream to build an own linux tablet. I kindly received a touchscreen display and a case from Mr. Lim, the founder of Pine64. So the other parts I needed were a Pine A64, a microSD, a powerbank (10000 mAh) and a wifi dongle. On the Pine I previously installed Armbian which is perfect for my build.
How to screw the Pine casing together
I found a useful YouTube tutorial on how to screw together the case (just watch the second part as the guy makes a mistake first). It took me about 20 minutes to get everything together. One thing to note is that you shouldn’t completely pull out the black covers of the display jacks. It is enough to fold them open and then insert the display cable. If the case is closed, you can access almost everything except the microSD and the Gpio pins. However, inside the case there is still enough space to add sensors.
Activate the screen in Armbian
In the terminal, enter:
sudo nano /boot/armbianEnv.txt
There, change pine64_lcd=off to pine64_lcd=on
Back in the terminal, enter:
sudo nano /etc/modules
There, add a line with gt9xxf_ts
Now, shutdown and boot up again. After a few seconds you should see the Armbian desktop (make sure you installed the version that has graphical desktop supported).
You will probably need a touchscreen keyboard. To install it, enter in the terminal:
sudo apt-get install onboard
You can start it the first time in the menu under Accessories. There is also the possibility to customize the behaviour of the keyboard.
So far, I’m positively surprised by the responsiveness of the touchscreen. I had a lot of fun using my own linux tablet. With an RTL-SDR dongle attached and minimal usage the power consumption was about 800mAh for 1h 15min. during the upgrade process. I will test in future how long it can run in real life situations with a 10000 mAh battery.
There are tons of tutorials on how to create a WordPress website in the internet. In contrast to most other tutorials, this guide is not only about design but also about all the little things that make a website great.
The basic setup of the Website
1. The two most basic things that you need are a domain (website name) and a webspace. If you are a beginner I suggest you to get a webspace with an automatic wordpress installer. I can recommend Hostgator if you can get a discounted offer. However, don’t buy the domain there (more details in the next step). I picked a cloud hosting plan with unlimited domains, which runs fast and allows me to have multiple websites for one price. The installation is very easy. After you logged in, just click on “Launch Cpanel”. Now you see the webspace administration settings. Click on “Build a new WordPress website” and it will guide you through the quick installation. If you can have unlimited websites and you want to add a new one go to “Addon Domains” in the Cpanel to install a new folder for the website.
2. I wouldn’t buy the domain together with the webspace because otherwise the webspace provider owns the name. Let’s say your website became popular and you want to change the webspace because Hostgator no longer offers you discounted prices. This would be hard if they own your name. On the other side, if you own the name the migration is easy. For the domain I recommend Freenom as they offer very cheap prices and a free WHOIS privacy protection.
3. To link the webaddress to your WordPress installation, copy the nameserver information on the lower right side of the “Cpanel”. On Freenom go to Services>My Domains>Manage Domain>Management Tools>Nameservers and paste the nameservers from Hostgator. Then you need to wait for up to 72 hours until all internet browsers are informed that the address points to your WordPress installation. Great, you can now start building the website.
Prepare WordPress for greatness
4. Go to yourdomain.com/wp-admin to log in to the WordPress settings dashboard. Here you have all the options to create the website of your dreams. If you hover over the house on the top left, there is an option to see the website as a visitor would see it. The installation comes with a few plugins preinstalled. You can uninstall all of them.
5. WordPress takes care of all the functions in the background. For the visual representation of the information you need a theme. Simple themes can be downloaded for free in the WordPress store. However, I suggest you get a paid premium theme, as they generally offer more options and better designs. I use Themify Ultra and I can recommend it for anyone who wants a professional website but doesn’t have much coding knowledge. You can buy it at Themify.me. I asked them for a discount on the lifetime membership and they gave me 40% off. This is a good one time investment as it allows me to install the GPL themes on any website. To upload it go to Appearance>Themes and click “Add New” on top. You can now upload the zip folder from your pc to install the theme. Click on activate and it is ready. There will be a note that you need to install a framework plugin. Just click on install and then activate it.
6. If you want to make code changes to the theme that persist when the theme is updated, you can create a child theme with the plugin “Child Theme Configurator”. Most beginners won’t need this but if you later decide to add a code snipped you are already prepared as it is easier to do this in the beginning. To install a plugin for WordPress go to the menu section “Plugins” and click on “Add New” on the top. This time you can search the free WordPress store instead of uploading a zip file. When you installed the Child Theme Configurator, go to Tools>Child Themes and select “Create a child theme”. Pick the Ultra theme, click on “Copy Menus, Widgets, …” and proceed. Then activate the new Ultra child under Appearance>Themes.
7. The next plugin is very important and should be installed as soon as possible (of course you can also get another one with similar functions). The plugin is WP Cerber Security and it protects you from robots that try to break into your website. It blocks an IP address after some false password entries. On my website it registers hundrets of failed attempts each week.
8. Here is a short list of essential plugins:
Themify Shortcodes: Shortcodes that are required for some of the demo pages. It can help you to add elements with a few words (see documentation).
WP Cerber Security: WP Cerber lets you limit login attempts. It will block an IP after some failed attempts. Also, there is a basic spam protection and it can block certain code injection attacks.
Really Simple SSL: This plugin helps you to activate the ssl functions of Hostgator (make your address https and protects the privacy of visitors).
Contact Form 7: Enables you to create simple contact forms with spam protection (Google Captcha or a quiz).
Yoast SEO: The Yoast plugin helps you to create articles that appear often in search engines (e.g. Google). It will add an widget on the bottom of the post editor with tips on how you can improve the current article.
Slimstat: If Google Analytics is to complicated for now, you can simply install Slimstat in WordPress. It helps you to track the visitors in alignment of the EU privacy regulation
9. In order to make the post links look better, you should go to Settings>Permalinks and change it to “Post Name”. This removes silly numbers and it uses the name of the post instead. You should also change the tagline (subtitle of the website) under Settings>General. If you want that search engines not yet show your unfinished website in the results, you can change this under Settings>Reading. You can even go furter and install a “coming soon” page with the plugin IgniteUp.
Give your WordPress Website a beautiful look
Now for the visual appearance you can benefit a lot from the Ultra Theme. Themify has a clearly arranged settings page in the backend for the general setup of the theme. Further, if you click on Appearance>Customize you can change design options for the whole website while instantly seeing the results.
If you want to design a specific post or subpage you can use the Themify Builder, which can be started by clicking the button on the top of the post editor. The builder helps you to instantly create popular graphical elements. The purple box represents the row and the orange boxes are the columns inside the row.
You can even use preconfigured demo sections as a starting point and if you have created an complex element you can save it in a library for future use.
As I had a growing number of different devices I needed a cloud service. However, my expectations are high. It should be realiable and cheap and most importantly, I want full control of my data. After some reasearch, I found a solution that fitted all of my needs, the open source project Nexcloudpi. I hosted it on a Raspberry Pi, as the device is perfect for everyday use. It is cheap, quiet and low in energy consumption.
Some time ago, the installation was quite difficult, but now with the NextcloudPi image it is much easier. In the following steps I show you how to host your own cloud.
Instruction
1. On a pc, download the image of the NextcloudPi. Then plug in the microSD with an adapter. Unpack the file with 7-Zip and write it to the microSD with Win32DiskImager. Be careful to select the right drive, I lost some vacation pictures due to inattentiveness.
2. Then, add the microSD to the raspberry pi and plug in the mouse, keyboard, hdmi and finally the power cable. The first boot process will take a bit longer. When you are asked to log in use “pi” as username and “raspberry” as password. Afterwards, you should immediately change the passwords in the terminal with the command:
passwd
3. You can look for your IP address with:
sudo ifconfig
Now, if you enter the ip in the address bar of a browser, you should see a page with one password for the cloud and one password for the configuration. After you clicked on activate, the cloud is ready to use in the local network. You will then be forwarded to port 4443 for the configuration.
4. The configuration wizard guides you through the set up of the Nextcloudpi. For the first time, I would only use the microSD as storage. You can later add usb drives but this can sometimes cause problems. The wizard also asks if you want to use the cloud via the internet. If you select yes, it installs the password protection fail2ban.
5. In a next step, you will need to forward the port 443 (and 80) on the router to the raspberry pi, so that it can receive data. For some routers it can do it automatically, otherwise you will need to log in to your router configuration and do it manually. Just select an incoming port on the router and assign it to the IP of the raspberry pi on port 443.
6. It is likely that the public ip address of your router changes from time to time. Therefore, programs that want to reach the cloud always need to know the current IP of your router (which forwards them to the local cloud). To translate the changing public IP into a stable web address, you need a ddns service. Also here, you will get help from the wizard. You just need to create a free webaddress from one of the providers and the pi will send them a message everytime your ip changes.
7. Now, if you want to reach your cloud in the local network you can use the ip and in the internet you use the ddns address with the port of the router (e.g. address.ddns.com:600). Congratulations, you are now the master of your data.
8. The fun part starts here. You can synchronize your calendars with Nextcloud, make polls for events, collaborate like in Google Docs and much more.
Note: I found out that the Raspberry Pi 3b+ is perfect to synchronize documents but to weak for large media files like movies. You might want to install Nextcloud on a stronger PC if this is an issue. There is now even the possibility to use the Nextcloudpi configuration wizard on any Debian system.
I bought two Pine a64 2Gb boards when there was a liquidation at my local electronics store half a year ago. Since then they were lying around and collecting dust, mainly because they are a lot more difficult to use than the raspberry pi. I finally found a good use for one. I installed a 12 $ rtlsdr dongle (RTL2832U), so I can listen to the frequencies in the air from 500 kHz up to 1.75 GHz. This means the device receives data from radio, planes, satellites, garage doors and also some mobile communication. One of the most interesting things was to see how smartphones communicate with towers. The following instructions seem pretty long but it is easier than you think and most is copy and paste code.
Installation of Armbian and the RTL-SDR dongle
1. Download the latest Armbian OS (based on Ubuntu) for your device. You should pick the one with graphical desktop. Then on a Windows PC you can unpack it using the free tool 7zip and install the .img file on a microSD card with Win32DiskImager.
2. Hook up the pine64 on a screen with an hdmi cable. Add a usb mouse and keyboard.
Now plug in the microSD and and power the device up. The first boot will take a bit longer then usual.
Eventually, you will be asked to sign in with a username and password. This is for armbian “root” and “1234”.
Now you are prompted to create a new password for the root account and you need to create a normal user with username and password. If you want to access the command line of the pine64 from a windows pc you can use SSH with Putty. Great, now all the basic stuff is done.
3. When you plug in the rtlsdr dongle you should be able to see it in the list created with:
lsusb
.
For me it looks like this:
Bus 001 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
In my case “0bda” is the vendor identification and “2838” is the product number.
Run
You need to insert the vendor id and product number of your device if it is different than my example. This should ensure that the rtl-sdr is available for the pine.
Installation of GNU Radio
1. In the terminal, update the system with:
sudo apt-get update && sudo apt-get upgrade
.
2. First, you can run
sudo apt install gnuradio
to install GNU Radio, which is a software that lets you process information from software radios. Next, you install the rtl-sdr tools. Note that some of the steps can take very long to compute on the Pine a64.
git clone https://github.com/balint256/gr-baz.git
cd gr-baz
mkdir build
cd build
sudo apt-get install cmake
sudo apt-get install gnuradio-dev
cmake ..
make
sudo make install
sudo ldconfig
Installation of Gr-Gsm
1. The installation of gr-gsm follows the instructions from osmocom. First, you need to install a few modules, that are required for the software:
2. When this is done, you can install gr-gsm, which is required to see gsm communication:
cd ~
git clone https://git.osmocom.org/gr-gsm
cd gr-gsm
mkdir build
cd build
cmake ..
mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/
cd ~/gr-gsm/build
make
sudo make install
sudo ldconfig
Next, you need some Python modules to run the IMSI-catcher script:
3. Let the fun part begin. You need to have a graphical desktop in front of you. Open two terminal windows. In the first one you enter
grgsm_scanner
to see on what frequencies there are towers around you. Then, start to listen to one of those frequencies with:
grgsm_livemon -f 'YOURFREQUENCY'M
.
e.g.
grgsm_livemon -f 948.2M
In the second window you start to receive the processed data in the form of a list with IMSI numbers, phone providers and countries. To get this run inside the IMSI-catcher folder:
python simple_IMSI-catcher.py
There you go. I hope you have as much fun as I had with this tool 🙂 More information can be found here.
Hint: If you want the data to be directly stored in a textfile, use:
Have you ever seen a demonstration, where a hacker opened a garage door or triggered a wireless doorbell from distance? The Universal Radio Hacker (URH) could be a good choice for such a scenario. However, you can also do more productive things, like connecting incompatible devices to your computer or smart home.
Instructions
Note: In case, that you need to set up rtl-sdr or you get an error, make sure that you check my previous tutorials in the RTL-SDR series in order to have the same starting point.
Gqrx is a graphical tool that visualizes radio signals in the spectrum. One of the easiest applications is, to tune to the frequency of a local FM or AM radio station and listen to the music. Assuming that you followed the airplane tracking tutorial, the installation is simple.
1. Run each line separately to add the repositories that are required:
sudo add-apt-repository -y ppa:bladerf/bladerf
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr
sudo apt-get update
2. Install the program:
sudo apt-get install gqrx-sdr
3. Now, you can run the program with
gqrx-sdr
or by clicking on it in the startmenu-section internet. The first time you run it, you need to select an input device. For me it was the recommended one. In the window under ‘file>Start DSP’ you can start the waterfall and the audio.
It’s school vacation time and I hear a lot of planes passing by, when I am in the garden. This reminded me of a project for the Rtl-Sdr, that I saw a while ago. I could track the ADS-B signals of aircrafts to mark their position on a map. And this all can be done in minutes!
Required hardware:
– 1x Pine A64 with power adaptor and wifi module or ethernet
– 1x MicroSD 16 GB
– 1x MicroSD to usb adaptor (to plug microSD into PC)
– 1x RTL-SDR (DVB-T Dongle with the RTL2832U Chip)
Preparation of Armbian:
1. Download the Armbian operating system with desktop (right one).
2. Unpack it until you see a .img file (e.g. with 7-Zip).
3. Plug-in the microSD with an adaptor and write the .img on it with Win32DiskImager. Select the .img file as image and the usb adaptor as medium.
4. Put the microSD back into the Pine and connect an usb-mouse and -keyboard as well as an hdmi display. Now connect the power and let it boot.
5. Log in with the user “root” and password “1234”. You are forced to change the password and create a new standard user. Then, you will see the desktop. SSH starts automatically, so you can access the terminal from another pc (e.g. with Putty).
Install the RTL-SDR dongle:
1. Open the terminal and run
sudo apt-get update && sudo apt-get upgrade
.
2. Plug in the RTL-SDR dongle and run:
lsusb
. You should now see the dongle in the list. For me it looks like this:
Bus 001 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T.
In my case “0bda” is the vendor identification and “2838” is the product number.
You need to insert the vendor id and product number of your device if it is different than my example. This should ensure that the rtl-sdr is accessible by the pine. Now shutdown with
sudo halt
and then start it again (the reboot command can cause problems).
4. Run ‘sudo apt-get install librtlsdr-dev’ to install the development package for rtl-sdr.
5. Install two more packages:
sudo apt-get install pkg-config build-essential
6. Download the plane tracking program Dump1090 from Github:
9. Now, you will see the raw data. If you want to get a neat map with all the planes around you, open the browser on any pc in the network and go to “IP of Pine64”:8080. You can see your IP with
ifconfig
. The map might be watermarked, but you can get a free API code in the Google Console. Then, open the gmap file: ‘sudo nano ~/dump1090/public_html/gmap.html’. Insert the following line before the