Bài 6: Sử dụng Terminal trên Intel Galileo

Khởi đầu

Có 2 cách để bạn kết nối đến terminal của hệ điều hành Linux chạy trên Galileo:

  • Sử dụng cổng RS-232: vì cổng RS-232 trên Galieo được thiết kế dưới dạng jack cắm stereo 3.5mm, do đó bạn phải có một loại cáp đặc biệt để kết nối.
  • Sử dụng cổng USB Client: bạn phải upload một chương trình Arduino đặc biệt để chuyển Galileo qua chế độ giao tiếp bằng cổng USB Client.

Mỗi phương pháp có những ưu và khuyết điểm riêng. Tuy nhiên cả 2 cách này đều đòi hỏi bạn phải có một "terminal emulator" - một công cụ cho phép bạn tạo ra một kết nối đến terminal để sử dụng giao diện dòng lệnh. Mình thường sử dụng PuTTY, bạn có thể tải nó tại đây

Sử dụng cổng RS-232

Phương pháp này khá là dễ thực hiện, tuy nhiên bạn phải cần một loại cáp Serial RS-232 đặc biệt để chuyển từ dạng đầu cắm stereo 3.5mm như trên Galileo sang loại đầu cắm cổng RS-232 trên máy tính của bạn.

Dưới đây là một sợi cáp giúp bạn có thể kết nối Galileo với máy tính để bàn qua cổng RS-232.

Cổng RS-232 trên Galileo chỉ có 3 chân là GND, TX, và RX. Do đó nếu không có điều kiện mua cáp, bạn có thể kết nối thủ công 3 chân này với 3 chân GND, TX, RX tương ứng trong cổng RS-232 trên thiết bị của mình. Phần lớn máy tính để bàn (Desktop) đều có cổng RS-232.

Khi sử dụng máy bạn, bạn sẽ có cổng giao tiếp là COM1.

Chân RD, TD tương ứng với RX, TX

Khi đã kết nối xong, bạn cần sử dụng một chương trình hỗ trợ giao tiếp qua giao diện dòng lệnh. Hãy mở PuTTY lên, đây là lúc nó phải sử dụng đến nó.

Khi sử dụng giao tiếp qua cổng RS-232 này, bạn phải luôn chọn baudrate là 115200. Đây là thông số mặc định của Galileo.

Sử dụng cổng USB Client

Với cách này, thực chất là bạn đang sử dụng IDE của Galileo để gửi các câu lệnh Linux qua cổng USB Client.

Khi sử dụng cách này, bạn sẽ không thể tải các chương trình Arduino lên Galileo được, bởi cổng USB Client đã được sử dụng cho việc giao tiếp với hệ điều hành Linux trên Galileo.

Chúng ta sẽ có 2 chế độ tạm gọi là:

  • Linux mode: giúp bạn có thể sử dụng terminal của Linux. Tuy nhiên bạn không thể upload chương trình Arduino lên Galileo khi ở chế độ này.
  • Arduino mode: chế độ bình thường, bạn có thể upload chương trình Arduino lên Galileo.

 

Để sử dụng "Linux mode", hãy mở IDE của Galileo và tải lên đoạn chương trình sau:

void setup() {
  system("cp /etc/inittab /etc/inittab.bak");  // Back up inittab
  // Replace all "S:2345" with "S0:2345"'s (switching serial ports):
  system("sed -i 's/S:2345/S0:2345/g' /etc/inittab");
  // Replace all "ttyS1" with "ttyGS0"'s (switching serial ports):
  system("sed -i 's/ttyS1/ttyGS0/g' /etc/inittab");
  // Replace all "grst" with "#grst"'s to comment that line out:
  system("sed -i 's/grst/#grst/g' /etc/inittab");
  // Replace all "clld" with "#clld"'s to comment that line out:
  system("sed -i 's/clld/#clld/g' /etc/inittab");
  system("kill -SIGHUP 1");
}
void loop() {
}

Sau khi tải thành công, hãy sử dụng chương trình PuTTY như đã giới thiệu ở trên để mở giao diện dòng lệnh. Chú ý bạn phải luôn chọn baudrate là 115200, cổng COM chọn tương tự như lúc lập trình bình thường.

Để chuyển qua lại "Arduino mode", trong PuTTY, bạn hãy chạy chuỗi lệnh này

rm /sketch/sketch.elf
cp /etc/inittab.bak /etc/inittab
kill -SIGHUP 1

Sử dụng Linux Terminal

Khi sử dụng terminal, bạn sẽ phải đăng nhập vào Linux. Hãy sử dụng username là root password để trống (khi được hỏi password, hãy bấm phím Enter).

Sau khi đăng nhập, bạn có thể sử dụng các câu lệnh Linux (gọi là ngôn ngữ Bash). Một số câu lệnh thường sử dụng như:

  • ls - liệt kê nội dung trong một thư mục
  • cd - di chuyển thư mục gốc
  • mkdir - tạo thư mục mới
  • touch - tạo file mới
  • ...

Bạn có thể xem hàng tá câu lệnh khác cũng như cách sử dụng chúng tại http://ss64.com/bash/

Có rất nhiều bản Linux từ nhỏ đến lớn được tạo ra cho Galileo, do đó nếu bạn thấy bản Linux hiện tại không có câu lệnh mình cần dùng thì cũng đừng ngạc nhiên.

lên
2 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

#include

#include cho phép chương trình của bạn tải một thư viện đã được viết sẵn. Tức là bạn có thể truy xuất được những tài nguyên trong thư viện này từ chương trình của mình. Nếu bạn có một đoạn code và cần sử dụng nó trong nhiều chương trình, bạn có thể dùng #include để nạp đoạn code ấy vào chương trình của mình, thay vì phải chép đi chép lại đoạn code ấy.

lên
8 thành viên đã đánh giá bài viết này hữu ích.

Học Arduino qua dự án làm xe điều khiển từ xa - Phần 1: Tổng quan

Chắc hẳn nhiều bạn mới học Arduino đều muốn tự làm cho mình một chiếc xe điều khiển từ xa phải không nào ? Loạt bài viết này sẽ giúp bạn giải đáp những khúc mắc của bản thân. Mình sẽ tập trung trình bày những gì liên quan đến Arduino trong dự án này, do vậy, nói thẳng ra là sản phẩm làm ra chỉ thích hợp cho việc tìm hiểu về Arduino (hay nói đúng hơn là để chơi là chính) hơn là để thương mại hóa, để các bạn không hiểu nhầm.

lên
27 thành viên đã đánh giá bài viết này hữu ích.