Remote to Raspberry Pi

เพื่อให้ผู้เรียนทดลองเข้าใช้งานบอร์ด RaspberryPi ผ่านการแสดงผลบนคอมพิวเตอร์

Remote to Raspberry Pi

การใช้งานบอร์ด RaspberryPi เป็นเหมือนคอมพิวเตอร์ขนาดเล็กจะต้องทำการต่อจอแสดงผลและ คีย์บอร์ดเพิ่มเพื่อให้สามารถใช้งานโดยตรงได้ การ Remote เป็นอีกวิธีหนึ่งในการเข้าใช้งานบอร์ด RaspberryPi โดยไม่จำเป็นต้องหาอุปกรณ์ต่อพ่วงเข้าไปกับบอร์ด เพื่อเพิ่มความสะดวกในการใช้งาน ซึ่งวิธีการ remote นั้นมีหลายวิธียกตัวอย่างเช่น การใช้ Secure shell(SSH) protocol ที่เป็นการเข้าถึง Raspberry pi โดยใช้ command line หรือ Virtual Network Computing (VNC) ที่สามารถเข้าถึง Raspberry pi และสามารถควบคุมโดยแสดงหน้า Desktop ของ Raspberry Pi บนคอมพิวเตอร์ให้ด้วย อย่างไรก็ตามทั้งสองแบบจะสามารถเข้าถึง Raspberry pi ได้จะต้องรู้ IP address ของ RaspberryPi ก่อน

How to Find IP adress

เนื่องจาก Raspberry Pi OS รองรับ multicast Domain Name System (mDNS) เราสามารถสแกนหา IP address ของ Raspberry pi ได้จากชื่อ hostname ตามด้วย .local จากแล็ปก่อนหน้านี้เรา ตั้งค่าเริ่มต้น hostname ว่า “raspberrypi” ไว้ก่อนที่ flash OS ลง SD card ดังนั้นเราสามารถ scan หา IP address ของ raspberry pi ด้วย command line ด้านล่างนี้

For Windows, Linux/mac

ping raspberrypi.local

Secure Shell (SSH)

เมื่อเราทราบ IP address ของ raspberry pi แล้วเราสามารถ Remote โดย ใช้ SSH Command line บน mac/Linux terminal หรือ command Prompt บน Windows ดังนี้

ssh pi@raspberrypi.local

Password ของ Raspberry Pi คือ "raspberry"

***หมายเหตุ network ของบอร์ด RaspberryPi และคอมพิวเตอร์ที่ต้องการ Remote ต้องอยู่ใน local เดียวกันและ ทำการตั้งค่า ssh interface บนบอร์ดแล้ว

LAB1: ทดสอบคอมไพล์และรันโปรแกรม hello.c

คำสั่งพื้นฐานที่ใช้มีดังนี้ cd, cat, mkdir

หลังจาก Remote เข้า Raspberry Pi แล้วให้ทำการเขียน โปรแกรม hello.c ด้วยคำสั่ง cat ลงในไดเรกทอรี lab01 โดย code มีดังนี้

#include <stdio.h>
int main()
{
int i;
for (i=0; i<10; i++) printf(“hello world\n”);
}

เราสามารถคอมไพล์โปรแกรมภาษา c ด้วยคำสั่งนี้

gcc -o hello hello.c

เราสามารถรันโปรแกรมได้โดยใช้ไฟล์ที่คอมไพล์แล้ว

./hello

แบบฝึกหัดที่ 1:

1. จงใช้คำสั่ง mkdir สร้างไดเรกทอรีไฟล์ไฟล์ ชื่อ “hello101” และใช้คำสั่ง cat สำหรับสร้างไฟล์ โดยแต่ละไฟล์ให้ใส่ข้อมูลดังนี้

  1. id.txt ให้ใส่ รหัสนิสิต

  2. name.txt ให้ใส่ ชื่อ นามสกุล

เมื่อใช้ คำสั่ง tree จะได้ผลตามภาพด้านล่าง

และ ใช้ คำสั่ง cat แสดงข้อมูลในแต่ละไฟล์บันทึกผลภาพข้อมูลที่แสดง

2. ใช้คำสั่ง cp สำหรับ copy ไฟล์ hello.c และ hello ที่คอมไพล์แล้วจากการทดลองก่อนหน้ามาไว้ในไดเรกทอรี hello101 แล้วใช้คำสั่ง tree เพื่อแสดงโครงสร้างไฟล์ทั้งหมดในไดเรกทอรี บันทึกผล

แบบฝึกหัดที่ 2:

ให้เลือก คำสั่ง 20 คำสั่ง จากลิ้ง Basic Linux commands บันทึกผลการใช้งานและอธิบายคำสั่งที่ใช้ โดยมีรูปแบบตารางการเก็บผลตามด้านล่างนี้

No.

คำสั่ง

คำอธิบาย

ผลการทดลอง

1

2

:

20

SSH-Putty tool

สามารถ Download และติดตั้งลงคอมพิวเตอร์เพื่อทดลองใช้ได้เลย สำหรับการใช้ putty สามารถทำได้ดังนี้

1.หลังจาก Dowload และติดตั้งโปรแกรม เปิดโปรแกรมจะพบหน้าต่างดังภาพด้านล่าง

2. ระบุ IP address ของ RespberryPi ลงช่อง Host name และใช้ port 22

3. ตรวจสอบ Connection type ให้ติ๊ก SSH แล้วคลิ๊ก Open จะปรากฎหน้าต่างตามด้านล่าง

  • หลัง login as : พิมพ์ "pi" แล้ว enter เมื่อหน้าต่างขึ้นถามหารหัสผ่านของ RaspberryPi ใส่ดังนี้ "raspberry"

เมื่อพิมพ์รหัสผ่าน จะไม่มีตัวอักษรใด ๆ ปรากฎ โปรดพิมพ์รหัสให้ถูกต้อง

  • เมื่อปรากฎดังภาพด้านล่างแสดงว่าสามารถ Remote เข้า RespberryPi ได้สำเร็จ

  • เมื่อ Remote สำเร็จเราสามารถใช้คำสั่ง command สำหรับใช้งาน RaspberryPi ได้เลย

SSH-WSL

เราสามารถ Remote โดยใช้ ssh command บน Terminal Vscode ได้ดังนี้

  1. เปิด Virtual studio code และตรวจสอบว่า ได้เชื่อมต่อกับ WSL แล้วหรือไม่

ถ้า Virtual studio code ยังไม่เชื่อมต่อ WSL ให้ทำดังนี้

คลิ๊ก ปุ่มสีเขียวมุมซ้ายด้านล่างของหน้าต่างโปรแกรม VScode

หน้าต่างโปรแกรม Vscode จะแสดงช่องค้นหา

ให้เลือก Remote-WSL: New Window using Distro... >>Ubuntu 18.04 จะปรากฎหน้าต่าง Vscode ที่เชื่อมต่อ WSL

ไปที่แถบเมนู เลือก terminal>>New terminal

Virtual Network Computing (VNC)

เราสามารถเข้าถึง Raspberry pi และมี Desktop แสดงผลแบบกราฟฟิกบนคอมพิวเตอร์ของเราได้โดยการใช้ VNC ซึ่งใน Raspberry pi OS เราจะต้องเข้าไปตั้งค่าเปิดการใช้งาน VNC ที่การตั้งค่า Interfaces ของ Raspberry Pi สำหรับบนเครื่องคอมพิวเตอร์ที่ต้องการเข้าถึง Raspberry Pi และมีกราฟฟิกแสดงผลดาวน์โหลดและติดตั้งโปรแกรม VNC viewer ได้ทั้ง Linux mac และ Windows ตาม OS ของคอมพิวเตอร์ที่เราใช้ โดยใส่ IP address ของ Raspberry pi ลงไปในช่อง ค้นหา ถ้าสามารถสามารถเชื่อมต่อได้จะมีหน้า Desktop ของ raspberry pi แสดงขึ้นมาสามารถคลิ๊กเพื่อใชงานได้เลย ซึ่งโปรแกรมจะใช้หน้าจอคอมพิวเตอร์ของเราเป็นหน้าจอแสดงผลของ Raspberry Pi

VNC Viewer Program***รูปตัวอย่างการแสดงผลเชื่อมต่อ Rpi

Using Secure Copy (SCP)

Secure Copy (SCP) เป็นคำสั่งสำหรับส่งไฟล์บน SSH protocol ซึ่งสามารถคัดลอกไฟล์ระหว่างคอมพิวเตอร์หรือ RaspberryPi ได้โดยจะต้องรู้ IP address ของ Raspberry Pi ที่เราต้องการส่งไฟล์ไป

LAB2: คัดลอกไฟล์ hello_world.cpp ไปยัง RaspberryPi

  1. สร้างไฟล์ hello_world.cpp แล้วใส่ code ด้านล่างลงไปแล้ว save

#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
   vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
   for (const string& word : msg)
   {
      cout << word << " ";
   }
   cout << endl;
}

2. คัดลอกไฟล์ hello_world.cpp ไปยังไดเรกทอรี LAB1 ที่ได้สร้างก่อนหน้าใน RaspberryPi โดยใส่ คำสั่ง scp

scp hello_world.cpp pi@ip-address:~/ไดเรกทอรีLAB1

3. เมื่อเข้าไปยังบอร์ด RaspberryPi อีกครั้งให้ตรวจสอบไฟล์ที่ได้ทำการคัดลอกมาในขั้นตอนก่อนหน้าที่โดยพิมพ์ ls บันทึกผล

4. ทำการ compile code ภาษา c++ โดยใช้คำสั่งดังนี้

g++ hello_world.cpp -o hello02

5. ทดลองรันโปรแกรมและบันทึกผล

./hello2

6. ใช้คำสั่ง tree และบันทึกภาพโครงสร้างไฟล์ที่มีในไดเรกทอรีทังหมด

Date: May 2023

Author: Soontree Jaikhong (AIC-Researcher)

Author: Thanaluk Pranekunakol (AIC-Researcher)

Last updated

Assoc. Prof. Wiroon Sriborrirux, Founder of Advance Innovation Center (AIC) and Bangsaen Design House (BDH), Electrical Engineering Department, Faculty of Engineering, Burapha University