*แจ้งวันหยุด* ทางบริษัทจะปิดทำการวันที่ 22 และ 29 กรกฎาคม 67 ตามปฏิทินวันหยุดของไทย เพราะฉะนั้นออเดอร์จะทำการจัดส่งอีกครั้งในวันทำการถัดไป
IRIV PiControl เชื่อมต่ออินเตอร์เน็ตผ่านสัญญาณ 4G ด้วย EC25

IRIV PiControl เชื่อมต่ออินเตอร์เน็ตผ่านสัญญาณ 4G ด้วย EC25

ในปัจจุบัน การใช้งานอุปกรณ์ IoT จำเป็นจะต้องมีการพึ่งพาใช้งานอินเตอร์เน็ตอยู่ตลอดเวลา สำหรับการส่งผ่านข้อมูลต่างๆระหว่างผู้ใช้งานกับอุปกรณ์นั้นๆ เพื่อการมอนิเตอร์หรือสั่งการอุปกรณ์ระยะไกล ทำให้พื้นที่ติดตั้งอุปกรณ์เหล่านั้น จำเป็นที่จะต้องมีอินเตอร์เน็ตพร้อมให้ใช้งานอยู่ตลอดเวลา แต่ในความเป็นจริงแล้ว ในบางพื้นที่ก็ไม่ได้มีอินเตอร์เน็ตพร้อมให้ใช้งานเสมอไป ดังนั้นอินเตอร์เน็ตไร้สายผ่านเครือข่ายสัญญาณโทรศัพท์อย่าง 4G หรือ 5G จึงเข้ามามีบทบาทมากขึ้นสำหรับอุปกรณ์ IoT 

 

 

และความสามารถในการเชื่อมต่อสื่อสารด้วยอินเตอร์เน็ตไร้สายผ่านสัญญาณโทรศัพท์ 4G หรือ 5G ก็เป็นอีกหนึ่งสิ่งที IRIV PiControl สามารถทำได้

 

ดังนั้นในคลิปนี้ เราจะมาเรียนรู้วิธีการทำให้ IRIV PiControl ของเรานั้น สามารถเชื่อมต่ออินเตอร์เน็ตผ่านสัญญาณ 4G ด้วยโมดูลอินเตอร์เน็ต 4G รุ่น EC25 ที่เราได้ทำการติดตั้งเข้ากับตัวบอร์ด IRIV PiControl ในคลิปที่แล้วได้ พร้อมทั้งเรียนรู้วิธีการใช้งาน PiTunnel ที่จะทำให้เราสามารถรีโมท SSH เข้าไปที่ตัวบอร์ด IRIV PiControl ได้แม้จะใช้อินเตอร์เน็ตจาก 4G พร้อมกันแล้ว ลองมาดูวิธีไปพร้อมๆกันครับ

 

โดยก่อนที่เราจะไปทำการติดตั้งสคริปและเครื่องมือต่างๆ สำหรับการใช้งานอินเตอร์เน็ตผ่านสัญญาณ 4G ด้วยโมดูล EC25 เราจะมาทำการสร้าง tunnel สำหรับการรีโมท SSH เข้าไปที่ตัวบอร์ด IRIV PiControl ซึ่งสามารถรีโมทได้ แม้เราจะไม่ได้อยู่ในวงเครือข่ายเดียวกับตัวบอร์ด เช่น การรีโมท SSH ไปที่ตัวบอร์ดขณะที่ตัวบอร์ดเชื่อมต่ออินเตอร์เน็ตผ่านสัญญาณ 4G

 

สร้าง Tunnel สำหรับหรับรีโมท SSH ผ่าน 4G ด้วย PiTunnel

1. ไปที่เว็บไซต์ https://pitunnel.com คลิก Get Started

 

 

ทำการกรอกข้อมูลเพื่อสมัครบัญชีผู้ใช้งานกับ PiTunnel กด I agree to the Term of Service… แล้วกด Join

 


3.หลังจากทำการสรา้งบัญชีผู้ใช้เสร็จสิ้น ก็จะเข้าสู่หน้าสำหรับการผูก IRIV PiControl เข้ากับ PiTunnel โดยสามารถกด Next ได้เลย

 

 

4. โดยเมื่อพบกับหน้านี้ ให้ทำการคัดลอกคำสั่งในบรรทัด ดังภาพ นำไปวางใน terminal ของ IRIV PiControl แล้วกด Enter

 

 


โดยเมื่อติดตั้งสำเร็จ PiTunnel ก็จะปรากฏข้อความดังภาพ ซึ่งแปลว่าเราสามารถที่จะรีโมท SSH ผ่าน PiTunnel ได้แล้ว

 

 

หากกลับไปที่หน้าเว็บไซต์ PiTunnel หลังจากที่ติดตั้ง PiTunnel บน IRIV PiControl เสร็จสิ้น จะพบว่าการเชื่อมต่อสำเร็จ ให้กดปุ่ม Done ได้เลย

 

 

5. หลังจากนั้น จะพบกับหน้า Dashboard แสดงถึงอุปกรณ์ที่เชื่อมต่อกับ PiTunnel อยู่ ซึ่งจะพบกับบอร์ด IRIV PiControl ของเราที่ขึ้น Online อยู่ 

โดยเราสามารถกด Open Remote Terminal เพื่อเข้าถึง terminal ของ IRIV PiControl ได้ทันที

 


หรืออีกหลากหลายฟังก์ชัน ไม่ว่าจะเป็นการแสดง Process ต่างๆที่รันอยู่บนตัวบอร์ด, ดู Screenshot ของตัวบอร์ดปัจจุบัน หรือสั่งรีสตาร์ตตัวบอร์ด

 

 

เริ่มต้นใช้งานโมดูล Quectel EC25 สำหรับการเชื่อมต่ออินเตอร์เน็ตผ่านสัญญาณ 4G

เพื่อเป็นการอำนวยความสะดวกให้ผู้ใช้งานสามารถเริ่มต้นใช้งานโมดูล EC25 กับตัวบอร์ด IRIV PiControl ได้อย่างรวดเร็ว ทางเราได้ทำการเตรียมสคริปสำหรับการติดตั้งใช้งาน IRIV PiControl ให้เพื่อน ๆ แล้ว โดยสามารถเปิด terminal ของ IRIV PiControl แล้วรันคำสั่งด้านล่าง เพื่อรันสคริปที่เราเตรียมไว้ได้เลย

หมายเหตุ: ก่อนการรันสคริปข้างต้น ตัวบอร์ด IRIV PiControl จะต้องมีการเชื่อมต่ออินเตอร์เน็ตอยู่ (LAN หรือ WiFi ก็ได้) เพื่อที่จะสามารถดาว์นโหลดสคริปและไฟล์ที่จำเป็นต่างๆจากอินเตอร์เน็ตได้

 

curl -L https://bit.ly/3szbUs6 | sudo bash


*สำหรับหลักการทำงานของสคริปข้างต้น สามารถอ่านได้ในส่วนท้ายของบทความ

โดยก่อนที่เราจะทำการตั้งค่าสคริปสำหรับเริ่มต้นการใช้งานอินเตอร์เน็ตผ่านโมดูล EC25 ให้เราทำการติดตั้ง SIM card เข้ากับตัวบอร์ด IRIV PiControl ก่อน โดยตำแหน่งของ SIM card slot จะอยู่บริเวณด้านล่างพอร์ต USB Type-C ฝั่งด้านเดียวกันกับพอร์ต HDMI ซึ่งจะใช้เป็น SIM card ขนาด micro SIM

 

 

โดยหลังจากติดตั้ง SIM card เข้ากับตัวบอร์ดเสร็จสิ้น เราจะทำการตั้งค่าให้มีการเรียกใช้งานสคริปที่ทำหน้าที่เปิดการทำงาน miniPCIe slot และเริ่มต้นการเชื่อมต่ออินเตอร์เน็ตผ่านโมดูล EC25 ที่ติดตั้งอยู่บนตัวบอร์ด ทุกครั้งที่บอร์ดเปิดการทำงาน โดยเราจะใช้การสร้าง cronjob โดยเปิด terminal ของ IRIV PiControl ขึ้นมา แล้วใช้คำสั่ง

 

crontab -e


หลังจากนั้นจะปรากฏตัวเลือกให้เราเลือก text editor สำหรับแก้ไขไฟล์ crontab ให้เลือก nano โดยการพิมพ์เลข 1 แล้วกด Enter

หลังจากนั้น จะปรากฏ text editor ที่มีตัวอักษรด้านในไฟล์ดังภาพ ให้ทำการเลื่อน cursor ไปด้านล่างสุด แล้วนำคำสั่งด้านล่างไปวาง

 

@reboot sudo /usr/local/bin/ec25_cellular_module/connect_internet_ec25.sh


หลังจากนั้น ทำการ reboot ตัวบอร์ด โดยใช้คำสั่ง

 

sudo reboot now

 

โดยหลังจากบอร์ด IRIV PiCotrol ติดขึ้นมาอีกครั้ง ทำการตรวจสอบ interface การเชื่อมต่ออินเตอร์เน็ตปัจจุบัน โดยไปที่ terminal แล้วใช้คำสั่ง

 

ifconfig

 

ซึ่งหากโมดูล Quectel EC25 เริ่มทำงานแล้ว เราจะพบ interface ที่มีชื่อว่า wwan0 และ ppp0 

 

 

ซึ่งนั่นหมายความว่า ตอนนี้บอร์ด IRIV PiControl ของเราสามารถใช้งานอินเตอร์เน็ตผ่านสัญญาณ 4G ด้วยโมดูล Quectel EC25 ที่เราติดตั้งไปได้แล้ว โดยเราสามารถถอดสาย LAN ที่เชื่อมต่อเข้ากับบอร์ด IRIV PiControl ออก เพื่อให้ตัวบอร์ดเหลืออินเตอร์เน็ตจากสัญญาณ 4G เพียงแหล่งเดียว
หลังจากนั้นกลับไปที่ Dashboard บนเว็บไซต์ PiTunnel แล้วทดสอบกด Open Remote Terminal ไปที่ตัวบอร์ด IRIV PiControl ที่เราได้ผูกกับ PiTunnel ไว้ ซึ่งถ้าหากตัวบอร์ด IRIV PiControl สามารถใช้งานอินเตอร์เน็ตผ่านสัญญาณ 4G ได้ เราก็จะสามารถรีโมทไปที่ตัวบอร์ดได้ตามปกติ

 

 

หลักการทำงานของสคริป

1. สคริปที่ทำหน้าที่ดาว์นโหลดไฟล์ที่จำเป็นสำหรับการใช้งานโมดูล Quectel EC25 กับบอร์ด IRIV PiControl ได้แก่ git, linux-ppp-scripts ซึ่งเป็นสคริปที่รันโดยใช้คำสั่ง

 

curl -L https://bit.ly/3szbUs6 | sudo bash

 

สคริปในส่วนนี้ มีรายละเอียด ดังนี้

 

#!/bin/bash

# Make sure the script is run as root.
if [ $(id -u) -ne 0 ]; then
    echo
    echo
    echo "Please run as root."
    exit 1
fi
#Check if the system has Git installed and ready to use.
if ! command -v git &> /dev/null; then
    echo "Git is not installed. Installing Git..."
    sudo apt update
    sudo apt install git -y

    # Check installation success
    if ! command -v git &> /dev/null; then
        echo "Git installation failed. Please check your internet connection or install Git manually."
        exit 1
    else
        echo "Git has been installed successfully!"
    fi
else
    echo "Git is already installed."
fi

cd /
# create folder for scripts.
cd /usr/local/bin
sudo mkdir ec25_cellular_module
cd ec25_cellular_module

#Download script for EC25 dialing process 
git clone https://github.com/turmary/linux-ppp-scripts.git
echo
echo "Prepare linux-ppp-scripts files complete!"

#Download script for enable miniPCIe slot and start dialing process
wget https://raw.githubusercontent.com/CytronTH/IRIV_cellular/main/connect_internet_ec25.sh
sudo chmod +x connect_internet_ec25.sh
echo
echo "Enable mPCIe and prepare dialing scripts files complete!"

 

2. สคริปที่ทำหน้าที่เปิดการใช้งาน miniPCIe slot บนตัวบอร์ด IRIV PiControl ทุกครั้งที่บอร์ดเปิดการทำงาน แล้วทำการ dialing เพื่อเชื่อมต่ออินเตอร์เน็ตผ่านสัญญาณ 4G ด้วยโมดูล Quectel EC25

 

#!/bin/bash
# Run the commands with root privileges using sudo

# Function to check if interface is available
sudo -i < cd /sys/class/gpio || exit

#Start enable power for miniPCIe slot#
# Export GPIO pins 6 and 5
echo 6 > export
echo 5 > export

# Configure GPIO pin 6
cd gpio6 || exit
echo out > direction
echo 1 > value

# Configure GPIO pin 5
cd ..
cd gpio5 || exit
echo out > direction
echo 1 > value

#Enable power for miniPCIe slot end#

#Check WWAN0 interface to be ready before start dialing process#
interface="wwan0"

#Checking WWAN0 interface function#
check_interface() {
    if [[ "$(ip link show $interface 2>/dev/null)" ]]; then
        return 0  # Interface is available
    else
        return 1  # Interface is not available
    fi
}

#Call checking WWAN0 interface function#
while :
do
    if check_interface; then
        echo "Interface $interface is available. Continuing with the script." #If wwan0 interface is ready. Go to next step
        break
    else
        echo "Interface $interface is not available. Waiting..." #If wwan0 interface is not ready. Waiting for ... seconds before try again
        sleep 5  # Adjust the interval between checks (in seconds)
    fi
done

#Waiting for 20 seconds for ec25 cellular module initialization#
echo 
echo 
echo Waiting for 20 seconds before start dialing
sleep 20

#Go to dialing script location#
cd /
cd /usr/local/bin/ec25_cellular_module/linux-ppp-scripts

#Start dialing#
echo 
echo 
echo "Start dialing..."
echo 
echo 
# Run the script in the background to capture its output    
sudo ./quectel-pppd.sh > output.log &

# Monitor the output for a specific message using grep
while :
do
    if grep -q "IPV6CP: timeout sending Config-Requests" output.log; then
        echo 
        echo "Dialing completed. Process next step"
        echo 
        pkill -INT -f "quectel-pppd.sh"
        sleep 2  #Wait for 2 seconds before running the next command
        #Add new default gateway route for internet connection from ec25 4g module
        sudo route add default gw 10.64.64.64
        echo
        echo "Cellular connection is now ready to use"
        break  # Exit the loop
    fi
    sleep 1  # Check debug message from dialing script every second
done

exit
EOF

 

อุปกรณ์ฮาร์ดแวร์


โพสต์ที่เกี่ยวข้อง

สร้าง Datalogger ส่งข้อมูลขึ้น Google Sheet ง่ายๆด้วย IRIV

สร้าง Datalogger ส่งข้อมูลขึ้น Google Sheet ง่ายๆด้วย IRIV

สร้าง Datalogger ส่งข้อมูลขึ้น Google Sheet ง่ายๆด้วย IRIV..