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

Vòng đeo tay hỗ trợ người mù

Dự án là một vòng đeo tay hỗ trợ cho người mù có trọng lượng khá nhẹ chỉ khoảng 65g, có thể sạc pin khi hết, sử dụng cảm biến khoảng cách hc-sr04 và những thứ sẵn có xung quanh chúng ta. Mình mong muốn đóng góp sản phẩm này với hy vọng, nó sẽ sẽ giúp người mù đi lại được tốt hơn bằng việc thông báo cho họ âm thanh hoặc rung động khi đến gần vật cản. Với một chút kiến thức về Arduino bất cứ ai cũng có thể làm được điều này. Thiết bị dễ dàng đeo và tháo ra khỏi tay một cách nhanh chóng. Các bạn cùng chiêm ngưỡng nhé!

lên
15 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ả

Bài 7: Nâng cấp phiên bản Linux trên Intel Galileo

Phiên bản Linux mặc định trên Galileo bị thiếu nhiều chức năng do đã được Intel tinh giảm bớt đi. Một số câu lệnh hay các phần hỗ trợ thường có trên các bản Linux cũng có thể bị lược bỏ ít nhiều. Do đó, để có thể tận dụng được tối đa sức mạnh của Intel Galileo mà phần lõi là hệ điều hành Linux, bạn phải nâng cấp hệ điều hành này.

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

Các câu hỏi thường gặp về Intel Galileo

Bài viết này giới thiệu các câu hỏi thường gặp với người sử dụng mạch Intel Galileo. Bạn nên xem qua nó trước khi định hỏi ai đó những thứ liên quan đến Intel Galileo.

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