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

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

setup() và loop()

Những lệnh trong setup() sẽ được chạy khi chương trình của bạn khởi động. Bạn có thể sử dụng nó để khai báo giá trị của biến, khai báo thư viện, thiết lập các thông số,…

Sau khi setup() chạy xong, những lệnh trong loop() được chạy. Chúng sẽ lặp đi lặp lại liên tục cho tới khi nào bạn ngắt nguồn của board Arduino mới thôi.

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

BIT MATH – Các phép toán thao tác trên bit

Với số học thông thường, bạn không thể lưu trữ 2 con số vào trong 1 con số khác. Nhưng với Bit Math, điều đó lại có thể. Đôi khi những con số thông thường như 123456789 lại mang trong đó tên của bạn cũng nên. Tôi có thể nén cả 1 đoạn tin nhắn thành những con số kiểu như 235 46 36 346 34 235,... và đấy chỉ là một phần nhỏ ứng dụng của Bit Math. Và để ứng dụng được nó, trước tiên, bạn phải biết cách sử dụng nó....

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