quocbao gửi vào
- 14500 lượt xem
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 và 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.