Node.js ve Raspberry Pi
Raspberry Pi, küçük, çok kullanımlı bir bilgisayardır.
Node.js ile Raspberry Pi'nizle harika şeyler yapabilirsiniz.
Ahududu Pi nedir?
Raspberry Pi, küçük, uygun fiyatlı ve inanılmaz yetenekli, kredi kartı boyutunda bir bilgisayardır.
Raspberry Pi Vakfı tarafından geliştirilmiştir ve şimdiye kadar yaratılmış en çok yönlü teknoloji olabilir.
Yaratıcı Eben Upton'ın amacı, programlama becerilerini ve donanım anlayışını geliştirecek düşük maliyetli bir cihaz yaratmaktı.
Cihazın küçük boyutu ve fiyatı nedeniyle, tamirciler, yapımcılar ve elektronik meraklıları tarafından çok çeşitli projelerin merkezi haline geldi.
Raspberry Pi ve Node.js
Raspberry Pi'nin bir dizi GPIO (Genel Amaçlı giriş/çıkış) pini vardır ve bunlar gerçek dünya ile şaşırtıcı şekillerde etkileşim kurmak için kullanılabilir. Bu eğitici, bunların Node.js ile nasıl kullanılacağına odaklanacaktır.
Neye ihtiyacım var?
Bu eğitim için bir Raspberry Pi'ye ihtiyacınız var. Örneklerimizde bir Raspberry Pi 3 kullanıyoruz, ancak bu eğitim çoğu sürüm için çalışmalıdır.
Gerekli donanım:
- Ahududu Pi bilgisayar
- MicroSD hafıza kartı (16 GB veya daha yüksek bir sınıf 10 öneririz)
- MicroSD - SD hafıza kartı adaptörü (genellikle MicroSD kartla birlikte verilir)
- Raspberry Pi'ye güç sağlamak için mikro USB güç kaynağı (2.5A veya üstü önerilir)
- Raspberry Pi için WiFi/Ethernet Kablosu bağlantısı (Raspberry Pi 3 için WiFi yerleşik olduğundan gerekli değildir)
- İnternet ve SD hafıza kartı okuyucusu olan çalışan bir bilgisayar (Raspberry Pi için İşletim Sistemini (İşletim Sistemi) hafıza kartına almak için kullanılır). Eğitimimizde bunun için bir Windows bilgisayar kullanıyoruz, ancak isterseniz bir Mac veya Linux bilgisayar kullanabilirsiniz.
- HDMI monitör, USB klavye (bunlara yalnızca Raspberry Pi'nin ilk önyüklemesi için geçici olarak ihtiyacımız var)
Bu eğitimin sonraki bölümlerinde Raspberry Pi'ye bağladığımız özel sensörler veya cihazlar kullanacağız. Bunları ilgili bölümlerde özel gereksinimler olarak belirteceğiz.
Halihazırda Raspbian, internet ve etkin SSH ile kurulmuş bir Raspberry Pi'niz varsa, "Raspberry Pi'ye Node.js Kur" adımına geçebilirsiniz.
Raspbian OS Görüntüsünü MicroSD Karta Yaz
Raspberry Pi'mizi herhangi bir şey için kullanmaya başlamadan önce, bir işletim sistemi kurmamız gerekiyor.
Raspbian, Debian Linux tabanlı ücretsiz bir işletim sistemidir ve Raspberry Pi optimize edilmiştir.
En son Raspbian görüntüsünü https://www.raspberrypi.org/downloads/raspbian/ adresinden bilgisayarınıza indirin.
Raspberry Pi'yi başsız bir sunucu olarak ayarladığımız için öğreticimizde "LITE" sürümünü kullanıyoruz (bağlı bir klavye/ekran olmadan SSH üzerinden bağlanacağız). İstediğiniz sürümü kullanabilirsiniz, ancak bu eğitimde odak noktası "LITE" sürümüyle yazılmıştır.
MicroSD hafıza kartını bilgisayarınıza takın (gerekirse SD adaptörü aracılığıyla). Çalıştığını doğrulamak için Dosya Gezgini'ni açın.
Etcher, görüntüleri hafıza kartlarına yanıp sönen bir programdır. Etcher'ı şu adresten indirin ve yükleyin: https://etcher.io/
Etcher'ı başlatın:
Click "Select image" button and find the Raspbian zip file that you downloaded.
Click the "Select drive" button and specify the memory card as the target location.
Click the "Flash!" button to write the image to the memory card.
After Etcher is finished writing the image to the memory card, remove it from your computer.
Set up Your Raspberry Pi
To get the Raspberry Pi ready to boot we need to:
- Insert the MicroSD memory card into the Raspberry Pi
- Connect the USB keyboard
- Connect the HDMI cable
- Connect the USB Wi-Fi adapter (or Ethernet cable). Skip this step if you are using a Raspberry Pi 3
- Connect the micro USB power supply
- The Raspberry Pi should now be booting up
When the Raspberry Pi is finished booting up, log in using username: pi
and password: raspberry
Set Up Network on the Raspberry Pi
If you will use a Ethernet cable to connect your Raspberry Pi to the internet, you can skip this step.
For this section we will assume you have a Raspberry Pi 3, with built in WiFi.
Start by scanning for wireless networks:
pi@raspberrypi:~ $
sudo iwlist wlan0 scan
This will list all of the available WiFi networks. (It also confirms that your WiFi is working)
Now we need to open the wpa-supplicant file, to add the network you want to connect to:
pi@raspberrypi:~ $ sudo
nano /etc/wpa_supplicant/wpa_supplicant.conf
This will open the file in the Nano editor. Add the following to the bottom
of the file (change wifiName
and wifiPassword
with the actual network name and
password):
network={
ssid="wifiName"
psk="wifiPassword"
}
Press "Ctrl+x
" to save the code. Confirm with "y
", and confirm the name with "Enter
".
And reboot the Raspberry Pi:
pi@raspberrypi:~ $ sudo reboot
After reboot, log in again, and confirm that the WiFi is connected and working:
pi@raspberrypi:~ $ ifconfig wlan0
If the WiFi is working propery, the information displayed should include an IP address, similar to this:
inet addr:192.168.1.50
Write down that IP address, as we will use it to connect to the Raspberry Pi via SSH.
Enable SSH, Change Hostname and Password
Now your Raspberry Pi is connected to the internet, it is time to enable SSH.
SSH allows you up use the Raspberry Pi without having a monitor and keyboard connected to it.
(You will need a SSH client for this on your non-Raspberry Pi computer. We use
Open the Raspberry Pi Software Configuration Tool:
pi@raspberrypi:~ $ sudo raspi-config
You should see a menu like this:
Select option 5 Interfacing Options
:
Select option P2 SSH
, to activate SSH:
Confirm with YES
, to activate SSH:
SSH is now enabled, and you should be in the main menu again.
Select 1 Change User Password
, and follow the instructions to change the password. Choose a secure password, but something you will remember:
After you have finished changing the password, you should be back in the main menu.
Select 2 Hostname
, and follow the instructions to change the hostname:
After you have finished changing the hostname, you should be back in the main menu.
Now we will close the menu and save the changes:
When selecting Finish
, you will get the option to reboot. Select Yes
to reboot the Raspberry Pi.
You can now unplug the monitor and keyboard from the Raspberry Pi, and we can log in using out SSH client.
Open PuTTY, type in the IP address for your Raspberry Pi, and click Open
:
Log in using the username pi
and the new password you specified.
You should now see a command line like this: (we used w3demopi as our hostname)
pi@w3demopi:~ $
You are now able to run your Raspberry Pi in "Headless-mode", meaning you do not need a monitor or keyboard. And if you have a WiFi connection, you do not need a ethernet cable either, just the power cable!
Install Node.js on Raspberry Pi
With the Raspberry Pi properly set up, login in via SSH, and update your Raspberry Pi system packages to their latest versions.
Update your system package list:
pi@w3demopi:~ $ sudo apt-get update
Upgrade all your installed packages to their latest version:
pi@w3demopi:~ $ sudo apt-get dist-upgrade
Doing this regularly will keep your Raspberry Pi installation up to date.
To download and install newest version of Node.js, use the following command:
pi@w3demopi:~ $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Now install it by running:
pi@w3demopi:~ $ sudo apt-get install -y nodejs
Check that the installation was successful, and the version number of Node.js with:
pi@w3demopi:~ $ node -v
Get Started with Raspberry Pi and Node.js
Now you have a Raspberry Pi with Node.js installed!
If you want to learn more about Node.js, follow our tutorial: https://www.w3schools.com/nodejs/
In the next chapter we will get to know the GPIO and how to use it with Node.js.