Getting Started with Raspberry Pi

Getting Started with Raspberry Pi

রাস্পবেরি পাই এ হাতেখড়ি পর্ব-১

Introduction

আচ্ছা কখনো কি ভেবে দেখেছ? যে Sophia কিংবা The Pepper Bot অথবা Mars এর The Curiosity Rover অথবা AIBO ইত্যাদি রোবট গুলো কিভাবে কাজ করে? এগুলার ক্ষেত্রে কিন্তু কম্পিউটার ই ব্যাবহার করা হয় রোবট এর মস্তিষ্ক হিসেবে। তাই বলে আবার ভেবনা যে পুরা আস্ত ল্যাপটপ বা কম্পিউটার এর বড়ও বড়ও মাদারবোর্ড ব্যাবহার করা হয়! এ ক্ষেত্রে ব্যাবহার করা হয় Microprocessor যেটা Single Board Computer এ লাগানো থাকে. তো এই Microprocessor এবং Single Board Computer কি জিনিস?

একটি মাইক্রোপ্রসেসর হল একটি কম্পিউটার প্রসেসর যেখানে ডেটা প্রসেসিং লজিক এবং নিয়ন্ত্রণ একটি একক ইন্টিগ্রেটেড সার্কিট বা অল্প সংখ্যক ইন্টিগ্রেটেড সার্কিটে অন্তর্ভুক্ত করা হয়। এবং একটি Single Board Computer সংক্ষেপে SBC হল একটি সম্পূর্ণ কম্পিউটার যা একটি একক সার্কিট বোর্ডে নির্মিত, যেখানে একটি কার্যকরী কম্পিউটারের জন্য প্রয়োজনীয় মাইক্রোপ্রসেসর, মেমরি, ইনপুট/আউটপুট এবং অন্যান্য বৈশিষ্ট্য রয়েছে।

তো সেরকম একটা Single Board Computer রাস্পবেরি পাই যেটা নিয়ে আমরা কথা বলব। এটি সর্বপ্রথম যুক্তরাজ্যে Raspberry Pi Foundation এবং Broadcom দ্বারা পরিচিত করান হয় 24 February 2012 তে। এটি মূলত তৈরি করা হয়েছিল কম্পিউটার শিক্ষা কে সহজলভ্য করার জন্য। এরপর আস্তে আস্তে এই বোর্ড টি ব্যাপক পরিচিতি লাভ করতে শুরু করে। এখন পর্যন্ত সবচেয়ে বেশি বিক্রি হওয়া বোর্ড গুলার মধ্যে এটি অন্যতম। ২০১৯ সাল পর্যন্ত ৪০ মিলিওন কপি বিক্রি হয়েছে। এটি দিয়ে Game developing, ethical hacking, Robotics, Internet of Things ইত্যাদি কাজ করা যায় তবে আমরা Robotics এবং IoT (Internet of Things) এর কাজই নাহয় করি!

রাস্পবেরি পাই এর মূলত কয়েকটি ভার্সন রয়েছে যেমনঃ Raspberry Pi 1 Model B (2012), Raspberry Pi 1 Model A (2013), Raspberry Pi 1 model B+ (2014), Raspberry Pi 1 model A+ (2014), Raspberry Pi 2 Model B (2015), Raspberry Pi Zero (2015), Raspberry Pi 3 Model B (2016), Raspberry Pi Zero W (2017), Raspberry Pi 3 Model B+ (2018), Raspberry Pi 3 Model A+ (2019), Raspberry Pi 4 Model A (2019), Raspberry Pi 4 Model B (2020), Raspberry Pi 400 (2021), Raspberry Pi zero 2W (2021).

তবে সব রাস্পবেরি পাই এর কনফিগারেশন মোটামুটি একই। খালি পার্থক্য Ram এবং প্রসেসর নিয়ে।

Raspberry Pi Operating System Setup

রাস্পবেরি পাই তো হিসেবে একটি কম্পিউটারই তাইনা? সব কম্পিউটারেই কিন্তু একটা ওপারেটিং সিস্টেম লাগে চালানোর জন্য। তেমনিভাবে রাস্পবেরি পাই চালানোর জন্যও আমাদের একটি Operating System প্রয়োজন। যেটি Raspberry Pi Foundation আগে থেকেই তৈরি করে রেখেছে যার নাম Raspbian। এটি একটি লিনাক্স বেজড ৩২ বিট ওপারেটিং সিস্টেম যা অনেক কম প্রসেসিং পাওয়ার এবং অল্প র‍্যামে চলতে পারে।

https://www.raspberrypi.com/software/ এখান থেকে Raspberry Pi imager নামের Software টি ডাউনলোড করে নিতে হবে।

এরপর সে Software এ প্রবেশ করে Operating System Icon এ ক্লিক করতে হবে। এবং সেখান থেকে Raspberry Pi os (other) এ ক্লিক করতে হবে। এরপর একটু নিচে স্ক্রল করলে দেকতে পাবে Raspberry Pi os (legacy) আছে সেখানে ক্লিক করতে হবে। এরপর Choose Storage এ ক্লিক করলে যে পোর্ট এ তোমার SD কার্ড রিডার লাগিয়েছ সেটা সিলেক্ট করতে হবে। এরপর তোমার Keyboard এ CTRL+SHIFT+X চাপ দিলে নিচের মত একটা ইন্টারফেস দেকতে পাবে সেখানে আমই যেভাবে দিয়েছই ঠিক সেভাবে Configure করতে হবে খালি SSID তে তোমার বাসার ওয়াইফাই এর নাম এবং Password এ তোমার বাসার ওয়াইফাই এর Password দিবে।

এরপর তোমার অপারেটিং সিস্টেম অনুযায়ী Command Terminal ওপেন করতে হবে। এবং লিখতে হবে ssh pi@raspberrypi সেখানে passwrod: raspberrypi দিবে যেহেতু এটা Default হিসেবে দেয়া থাকে পরে তুমি নিজে চাঙ্গে করে নিতে পারবে। এর পর হয়ত নিচের মত কিছু দেখাবে।

এখানে ssh-keygen -f "/home/ahnaf/.ssh/known_hosts" -R "raspberrypi" এই কমান্ড কপি করে Paste করবে তোমার ক্ষেত্রে হয়ত /home/ahnaf/ এখানে অন্য কিছু আস্তে পারে সেটা তুমি দেখে ঠিক করে নিবে অবশ্যই। এর পর আবার ssh pi@raspberrypi কমান্ড দিবে এর পর যা কিছু জিজ্ঞাস করবে সেখানে yes লিখে দিবে। এই পর্যন্ত তোমার আসল কাজ মানে Headless boot করা শেষ! সবথেকে ঝামেলার কাজ আরকি! তোমাদের কারো কারো কাছে হয়ত বাসায় মনিটর আছে সেক্ষেত্রে এত ঝামেলা করার দরকার নেই তোমরা রাস্পবেরি পাই এর যে hdmi পোর্ট আছে সেটার সাথে মনিটর কানেক্ট করে দিবে। সেক্ষেত্রে নিচের কাজগুলো করার ও দরকার নেই।

এর পর তোমার প্রথম লিনাক্স কমান্ড sudo apt update দিবে এটি দ্বারা System কে আপডেট করে। এর পর আবার দিবে sudo apt upgrade এটি দ্বারা তোমার সিস্টেম টাকে আপগ্রেড করা হবে। যদি কিছু আসে তাহলে y ক্লিক করে enter চাপ দিবে। এবং মাঝে মাঝেই এই ২টা কমান্ড দিবে কারণ প্রায়ই কিছু না কিছু আপডেট আসেই! এর পর sudo raspi-config কমান্ড দিবে। এরপর নিচের ছবির মত কিছু দেখাবে।

এখানে 3 নাম্বার অপশন এ ক্লিক করবে। এর পর VNC তে ক্লিক করবে এরপর yes এ ক্লিক করবে। এরপর hostname –I কমান্ড দিবে এই কমান্ড এর মাধ্যমে তোমার রাস্পবেরি পাই এর IP এড্রেস জানতে পারবে এবং সেটা নোট করে নিবে। এর পর Reboot করবে কিনা সেটা জিজ্ঞাস করবে সেখানে yes দিবে। এর পর https://www.realvnc.com/en/connect/download/viewer/ এখানে যেয়ে vnc viewer ডাউনলোড করবে। এর পর ইন্সটল হওয়ার পর অ্যাপ এ ঢুকার পর দেকবে উপরে File section এ new connection এ ক্লিক করবে এরপর দেখবে নিচের মত একটা ইন্টারফেস আসবে।

এখানে VNC Server এ তোমার রাস্পবেরি পাই এর IP address দিবে এবং name তোমার ইচ্ছামত একটা দিবে। এরপর আবার নিচের মত কিছু দেখাবে।

এখানে username এ pi দিবে এবং password এ raspberrypi দিবে। এরপর দেখবে একটা ইন্টারফেস চলে এসেছে নিচের ছবি এর মত।

এরপর আবার নিচের ছবির মত কিছু আসবে সেখানে যেভাবে আছে সেভাবেই রাখতে পারো এবং Next ক্লিক করো।

এর পর জিজ্ঞাস করবে যে Password চেঞ্জ করবা কিনা। এখানে তোমার ইচ্ছা হলে password চেঞ্জ করবে নাহলে Next ক্লিক করবে।

এরপর আবার নিচের ছবির মত কিছু আসবে এখানে Skip বাটন এ ক্লিক করো।

এরপর আপডেট করবে কিনা সেটা জিজ্ঞাস করবে এটাও Skip করতে পারো।

হয়ে গেল তোমার সেটআপ ডান!

Basic Linux Commands

এরপর দেখবে উপরে কালো রঙের একটা software icon আছে সেটা হল টার্মিনাল সেখানে ক্লিক করো। এখানেই কিন্তু sudo apt update এবং sudo apt upgrade কমান্ড দিবে এরপর থেকে! এখন আমরা কিছু linux কমান্ড শিখব।

1. pwd এই কমান্ড দ্বারা তুমি কোন directory তে আছো সেটা দেখাবে।

2. cd এই কমান্ড দ্বারা directory চেঞ্জ করে যেমন তোমার টার্মিনাল এ হয়ত Home directory তে আছো এখন তুমি Documents directory তে যাবে সেক্ষেত্রে তুমি cd Documents কমান্ড দিবে।

3. ls এই কমান্ড দ্বারা চেক করে যে তোমার directory তে কি কি ফাইল আছে যেমন তুমি যদি home directory তে ls কমান্ড দাও সেক্ষেত্রে দেকবে যে Documents, Pictures ইত্যাদি directory এসেছে বা তুমি কোনও ফাইল download করলে সেটাও দেখাবে। এবং কোনও কিছুই না থাকলে তাইলে কিছুই দেখাবে না

4. mkdir এই কমান্ড দ্বারা নতুন directory বানায় যেমন তুমি যদি mkdir new_project কমান্ড দিবে এরপর ls কমান্ড দিলে দেখবে যে নতুন new_project নামের একটি directory তৈরি হয়েছে।

5. rm -rf এই কমান্ড দ্বারা কোনও ফাইল অথবা ফোল্ডার রিমুভ করে যেমন rm -rf new_project এই কমান্ড দিলে দেখবে তোমার তোমার new_project ফোল্ডার টি আর নেই।

6. sudo nano এই কমান্ড দ্বারা যেকোনো ফাইল এডিট করে বা নতুন টেক্সট ফাইল খুলে যেমন sudo nano xyz.txt কমান্ড দিলে দেখতে পারবে যে ফাইল এ লিখতে পারছ এরপর সেটা সেভ করতে চাইলে ctrl+x এরপর y এ এন্টার প্রেস করলে।

7. wget এই কমান্ড দ্বারা যেকোনো ফাইল ডাউনলড করা যায়। যেমন আমই একটা স্যাম্পল ফাইল হিসেবে একটা Cascade Model ডাউনলড করি এই haarcascade_frontalface_default.xml এর বেপারে পরবর্তীতে যখন opencv নিয়ে শিখব সেখানে তোমরা জানতে পারবে আপাদত Document Directory তে ডাউনলড করে রেখে দাও

wget github.com/Shaligram1234/Python/raw/master/..

8. cp এই কমান্ড দ্বারা যেকোনো ফাইল বা ফোল্ডার কপি করা যায়। যেমন cp haarcascade_frontalface_default.xml /home/pi/Documents এই কমান্ড রান করলে দেখবে তোমার haarcascade_frontalface_default.xml ফাইল টি Documents ফোল্ডার এ কপি হয়েছে।