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
Secure Shell (SSH)
เมื่อเราทราบ IP address ของ raspberry pi แล้วเราสามารถ Remote โดย ใช้ SSH Command line บน mac/Linux terminal หรือ command Prompt บน Windows ดังนี้
Password ของ Raspberry Pi คือ "raspberry"
***หมายเหตุ network ของบอร์ด RaspberryPi และคอมพิวเตอร์ที่ต้องการ Remote ต้องอยู่ใน local เดียวกันและ ทำการตั้งค่า ssh interface บนบอร์ดแล้ว
LAB1: ทดสอบคอมไพล์และรันโปรแกรม hello.c
คำสั่งพื้นฐานที่ใช้มีดังนี้ cd, cat, mkdir
หลังจาก Remote เข้า Raspberry Pi แล้วให้ทำการเขียน โปรแกรม hello.c ด้วยคำสั่ง cat ลงในไดเรกทอรี lab01 โดย code มีดังนี้
เราสามารถคอมไพล์โปรแกรมภาษา c ด้วยคำสั่งนี้
เราสามารถรันโปรแกรมได้โดยใช้ไฟล์ที่คอมไพล์แล้ว
แบบฝึกหัดที่ 1:
1. จงใช้คำสั่ง mkdir สร้างไดเรกทอรีไฟล์ไฟล์ ชื่อ “hello101” และใช้คำสั่ง cat สำหรับสร้างไฟล์ โดยแต่ละไฟล์ให้ใส่ข้อมูลดังนี้
id.txt ให้ใส่ รหัสนิสิต
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 ได้ดังนี้
เปิด 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
สร้างไฟล์ hello_world.cpp แล้วใส่ code ด้านล่างลงไปแล้ว save
2. คัดลอกไฟล์ hello_world.cpp ไปยังไดเรกทอรี LAB1 ที่ได้สร้างก่อนหน้าใน RaspberryPi โดยใส่ คำสั่ง scp
3. เมื่อเข้าไปยังบอร์ด RaspberryPi อีกครั้งให้ตรวจสอบไฟล์ที่ได้ทำการคัดลอกมาในขั้นตอนก่อนหน้าที่โดยพิมพ์ ls บันทึกผล
4. ทำการ compile code ภาษา c++ โดยใช้คำสั่งดังนี้
5. ทดลองรันโปรแกรมและบันทึกผล
6. ใช้คำสั่ง tree และบันทึกภาพโครงสร้างไฟล์ที่มีในไดเรกทอรีทังหมด
Date: May 2023
Author: Soontree Jaikhong (AIC-Researcher)
Author: Thanaluk Pranekunakol (AIC-Researcher)
Last updated