LAB: Usage GPIO via CLI

การใช้คำสั่ง commade line ในการควบคุม GPIO ของ CrowPi

Usage GPIO via CLI

การใช้คำสั่ง commade line ในการควบคุม GPIO ของ CrowPi นี้จะยึดตัวเลข pin ตามแบบ GPIO.BCM

คำสั่ง: การเข้าถึงสิทธิ์ root ในบอร์ด

sudo -i  #enable root account privileges 
cd /sys/class/gpio

คำสั่ง: กำหนดค่า pin GPIO เพื่อเรียกใช้งานผ่าน CLI

echo 21 > export #GPIO21 which is Pin 40cd gpio21

คำสั่ง: กำหนดหน้าที่ของ pin GPIO เป็น Output

echo out > direction

คำสั่ง: ใช้ cat สำหรับแสดงค่าในไฟล์ direction

cat direction

คำสั่ง: กำหนดค่าให้กับ pin GPIO เป็น high

echo 1 > value 

คำสั่ง: กำหนดค่าให้กับ pin GPIO เป็น low

echo 0 > value 

คำสั่ง: ใช้ cat สำหรับแสดงค่าในไฟล์ value

สังเกตุที่ pin 40 บน CrowPi LED จะติด value เป็น 1 และจะดับเมื่อเป็น 0

cat value 

คำสั่ง: กำหนดค่า pin กลับไปค่าเริ่มต้น

cd ..echo 23 > unexport 

Bash Script

# usage:
# >sudo sh gpio.sh <pin> <value>
# writing example:
# >sudo sh gpio.sh 21 1

#!/bin/bash

#assign parameters
pin=$1
value=$2

#create gpio instance
echo $pin > /sys/class/gpio/export
#assign direction
echo out > /sys/class/gpio/gpio$pin/direction
#assign value
echo $value > /sys/class/gpio/gpio$pin/value
#remove gpio instance
echo $pin > /sys/class/gpio/unexport

ตัวอย่าง code from Bash script to read and write RaspberryPi gpio pin

git clone https://gist.github.com/175dd01a80af9c237da2ce90f103bc14.git script

Ex1: การใช้งาน Raspberry Pi ควบคุม GPIO ของบอร์ด Crow pi ผ่าน CLI

กำหนด Raspberry Pi สั่งควบคุม Buzzer บนบอร์ด Crow Pi ซึ่งจากบอร์ด Crow Pi ระบุว่าเชื่อมต่ออยู่กับ Pin 12 ที่ยืดตามเลขแบบ GPIO.Board

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