Sometimes the Twitter analytics designed in such way to feed/suggest us with next level of information about underlying topics, for example, since I follow Python I get more suggestion about Pandas, Numpy, Jupyter and some extend to Raspberry PI device. I have heard about Raspberry device which can be used as the small computer and can also be used for running 24/7 processes, so I just clicked to follow the Raspberry twitter page. The next day I started getting more tweets about the DIY and that is where started to know about fantasy around DIY. In fact, DIY is also one of the well-supported projects by Google in AIY. So I encouraged to learn about the AIY of Google project and that slowly made me buy a raspberry device to try small DIY project by myself.

RaspberryPi: A Mini powerful computer which fulfills our basic requirements to play around with some technology in our home. The main purpose of raspberryPi is also for the same reason to leverage every people even kids to use this and entertain themselves by doing interesting projects like the weather station, voice assistant, smart speaker, home automation and local cloud which can be stored and accessible from your home.

There are the varieties of RaspberryPi devices exists like Intel processors and it is our choice to choose based on the project and purpose that we are planning to use RaspberryPi.

Here are the available and mainly used raspberryPi for different projects.

The Raspberry Pi zero is low-cost single board computer with single core CPU processor, which is sufficient for running basic kids projects but unless until the project is so budget conscious you can directly choose RaspberryPi-3 model as it has enough power to run even the operation that you would do with an Intel Celeron processor. This model is made with GPIO (general purpose Input & output) which can be used to integrate with the other electronics devices. I shouldn’t close this chapter without mentioned Raspberry-pi B+ that support 64-bit architecture. you can choose this unless until you know about the project that you are planning to work with this otherwise as a standard you can directly go with RaspberryPi-3.

Small OS for Big Purpose:Ok, so far we discussed raspberryPi hardware device. How about the operating system that will work with this mini computer. Yes, raspberry has more option to install the operating system such as

Raspian: Raspian is the standard operating system that specially builds for raspberryPi hardware. The OS comes in two forms such as Desktop & lite images but both are built on top of Linux OS. The desktop version has GUI with educational software pre-installed for kids learnings and ready desktop for our general purpose use. Raspian lite is designed for lightweight but we can play around by installing the variety of software if you are bit techie. I feel this OS as the gateway for developers & techies who wants to explore software and having a hobby to play always on systems. The best part is, you have plenty of support on google for a quick solution. There are the different versions on top on Raspian such as wheezy, Jessie & stretch but the stretch is the newest version with all famous software updated.

Ubuntu-Mate: Ubuntu-Mate is the OS that replicates the real ubuntu OS. If you are the fan of Ubuntu like me then you can choose this option and enjoy the ubuntu on a minicomputer. This OS also best suits if you want to make your own IOT device based on Ubuntu-IOT.

Windows IOT: As like Linux OS, windows also part of this era by releasing IOT OS. You can choose this OS if you are going to work on software that compatible with windows. You may not find the better support for setup but as always windows documentation is straightforward to go.

OSMC: OSMC is the best project to start with. Yes, it is a TV which can stream your local media or through the internet. If you have normal LED/LCD TV with HDMI option and you wanted to make it as smart TV then you can set up this image on low-cost raspberryPi and stream IP-TV/movies through it. This image has been created on top of KODI. In fact, nowadays most TV boxes are pre-installed with this kind of software to deliver you the better contents. There are tips available from a variety of source to play around with this TV to enjoy your entertainment time.

LIBREELEC: This is another image especially for pure KODI. If you have a raspberry pi device and don’t know what to do with it. Just etcher on plain SD card and enjoy the IP-TV stream with high-quality content on your costly TV.

PINET: Pinet is designed by computer science student for the classroom mini projects. It is to manage the multiple raspberry devices from one place and also internal network managing for file sharing. If you are a teacher looking for a creative way to encourage your students. Go ahead and install this image to make project collaboration among students.

PiMusicBox: PiMusic is an image which created on top of the mopidy music server. If you have wonderful bose/JPL speaker lying in your old box and you are kinds of DIY then go ahead and etcher this OS on SD card to create your own Sonos like a smart speaker. You can follow this blog to start doing it now.

NextCloudPi: Nowadays we are taking more photos, videos and also hosting our docs on the third-party cloud environment like iCloud, Google Drive and oneDrive without knowing how our data are handled and maintained. If you are a kind of person who concerned about privacy and DIY, then this is the right solution for you create your own cloud at home and safeguards your files on your own HDD that connected with raspberryPi device. The NextCloud also has the android, iOS & desktop client to continuously sync your files from anywhere to your raspberry pi device that hosted at your home. This option does not require you to be more technical. So you can go ahead and install it directly on your raspberry pi.

Hassio: If you are more interested in the developing/automating the stuff in your home but you are not much technical. Then this is another best image to install raspberry-pi and play around on the HomeAssistant UI. I recommend you to start playing it if you are really free and have enough time as it is more fun and interesting stuff to configure. The Hassio is built with necessary add-ons to use it like a simple plug & play method. This method not required you to be more techie. But if you are a techie and wants to enjoy the Hassio on Raspian OS, then you can install the docker and on top of it install Hassio docker image. This Hassio community support has explained very well.

Mycroft-AI: As I have discussed Mycroft on my blog. This is an opensource voice assistant image which is perfectly designed for raspberry-Pi. This is a voice assistant that designed concerning privacy, so you can DIY this voice assistant in your home and enjoy. The privacy concerned voice assistant has the variety of skills in GitHub and based on your requirements, you can install the skills. This is not required for you to be more techies as it is very simple to install addon by asking Mycroft itself to do that. I would suggest changing the hot word from Mycroft to Mark since it is some time confuse while pronouncing it.

OpenHAB: This is another home automation software which is also available as an image for easy etcher and starts automating the home stuff and reduce your water and electricity bills. you can go-through this medium blog to DIY. I have not wet my hands with this since I am a fan of home-assistant a python project.

RasPlex: RasPlex another image which is the client for Plex media server. This is another best option to stream your music from your home HDD of your favorite music & movie collections. Also, it has the TV add-ons to stream IPTV & News channels. You can also install the Plex server on your Raspberry-Pi by following this blog explained very well. Again if you don’t have a smart TV then you can install RasPlex client & server on the same Raspberry-Pi and enjoy your favorite contents on your TV.

Next Course of Action:

I have tried my best to list out the best raspberryPi OS that is very useful for day-to-day life. But after I got my raspberryPi device and know about OS, what should be the next steps to start playing around.

Usually, the raspberry-Pi device is just motherboard which required SD card, Monitor/ TV and keyboard with mouse to enjoy completely with raspberry-Pi. But if you don’t want to spend extract cost on monitor & keyboard but you have SD card with the adapter then still we can easily start setting up our raspberry very gently.

Etcher is the tool which is well known for writing the OS images on the SD card, which is available in all famous OS. So you can install it and it has very simple steps to follow for the first time imaging the SD card.

Once you installed your images on the SD card, then you definitely need to set up or enable the network connectivity & SSH connection to headless login and set up your raspberry-Pi, by following below two steps.

Step 1: Network

Ethernet

Plug and play. Since you have ethernet, directly go to step-2 to enable the ssh connection.

Wifi

Insert the SD card in your computer and add the following file wpa_supplicant.conf at the root of the boot volume of the SD card (do not forget to update the ssid and psk keys):

Step 2: Enable SSH

Enable SSH by adding an empty file atssh the root of the volumeboot on your SD card. Insert the SD card into the Raspberry. It will boot in about 20 seconds. If you run into issues check this.

You can now access your Raspberry from your computer using ssh pi@raspberrypi.local

If you have MAC / Ubuntu OS, then the terminal the right tool to connect with raspberry with above command else you would be required to install putty on your windows machine to login into the raspberry-Pi.

Sometime, theraspberrypi.local may not work, in that case, you may have to connect to your router and locate the DHCP client table to identify the physical IP address of your raspberry-pi that your router assigned for your raspberry-pi device and using which you can directly SSH to your raspberry-pi as next steps.

RDP Access:

You can also set up the headless Raspberry-Pi through RDP login but your raspian OS should be Desktop version for better experience. In windows, we have RDP enabled by default but to install that protocol in Raspberry-Pi you would need XRDP. The Raspian desktop version already pre-installed with VNC server, however, most of the people prefer the RDP since windows have it as default. Please follow the below steps for XRDP installation.

Step 3: Static-IP

In most of the system, the IP is always dynamic as it is our home router’s decision to assign IP to MAC addresses based on the availability. However, sometimes it is necessary to set up the static IP for our devices when we want to install software that required the static IP configuration. You can follow this thread to know more and set up the static-ip.

Here is the simple setup to directly set-up static-IP,

Run the commandifconfig to know which IP is currently assigned on your etho0(ethernet) or wlan0 (wifi) based on your choice as you chose on step-1 above. I would suggest using your current IP as your static-IP as it is an easy option.

Then you have to edit this /etc/dhcpcd.conf file as below,

#static IP configuration
interface "etho0 if it ethernet or wlan0 if it is wifi connection"
static ip_address=192.168.1.(your IP)/24
static routers=192.168.1.1 (your router ip, most of the router this is 192.168.1.1 is default.)
static domain_name_servers=192.168.1.1

Step 4: Mount Your Mass Drive

Since RaspberryPi does not have a hard drive, we have to attach our HDD or pen drive into it. As with other computer devices, Raspberry also has plug & play option with HDD or pen drives. However, if you are using Plex or Kodi media server then it is advisable to mount your pen drive directly with RaspberryPi to enjoy full features.

You can follow this steps to mount your drive permanently. After you enable this option, RaspberryPi always expects this sda1 or 2 (if configured using sda slot) or UUID (if configured using drive UUID) be attached while booting. So please ensure that your raspberry-pi has attached on respective sda slot or respective UUID device connected, otherwise booting will not work.

Step 5: Port Forwarding

If you are working on projects that you want to access from outside of your home network, then port forwarding is required to allow that particular app access. For eg, I have installed a camera in my raspberry-Pi with a motion detector which I wanted to access even when I am outside of my home. Then I can use this port forwarding option by enabling the port 1234 (example port number for motion detector) on the router to raspberryPi and enjoy your DIY.

Step 6: DNS

Some ISP provider won’t provide static IP for your home internet due to which you might not be able to access your apps outside of your home network that installed on your RaspberryPi, in that case, you need to have specific DNS to access your apps outside of your home using DUCK-DNS, DYNU-DNS & more option available. But you need to have the client installed on your local to update your home IP address to respective DNS providers.

I encourage you to buy one RaspberryPi and spend your free time to enjoy DIY and become a DIY hobbyist. But while you do any camera related projects, always ensure you refer the authenticated sites and not disclosing your port number as it is considered to be pin number for your home when you do port forwarding with any home automation system. In the digital world, security to be more concerned otherwise anybody can track you because of your own DIY apps.