Cách vào Linux console của Galileo

Giới thiệu

Như các bạn đã biết, Intel Galileo là một mạch linux và tương thích với Arduino. Như vậy có 2 cách để lập trình Galileo, một là dùng phần mềm Arduino Galileo-ized IDE để lập trình thông qua ngôn ngữ Arduino, hai là dùng các ngôn ngữ lập trình khác (như PHP, Python, LUA, BASH, C, C++, JS,... - tất nhiên là những cái này đã cài trình biên dịch) lập trình cho phần Linux trong mạch Galileo. Hôm nay, chúng ta sẽ nghiên cứu về cách vào Linux từ đó lập trình theo cách thứ hai, vì cách một bạn chỉ cần nghiên cứu về mạch Arduino ở các bài trước là được!

Mục đích của bài viết

Bài viết này nhằm giải quyết vấn đề "không vô được Linux" xuất hiện ở Bài 6: Sử dụng Terminal trên Intel Galileo, vì vậy nếu ở Bài 6, bạn làm tốt và vô được Linux Console thì hãy tham khảo bài này như là để có thể tham kiến thức, nhằm hỗ trợ cho những bạn chưa biết. Còn nếu ở bài 6, bạn làm chưa được thì đây sẽ là cuốn cẩm nang tốt dành cho bạn.

Mình sẽ viết cực kì ngắn gọn nhưng đầy đủ thông tin để các bạn làm theo, từ đấy tự suy ra những kinh nghiệm dành cho mình.

Nội dung

Ở phạm vi bài viết này, mình xin hướng dẫn vào Linux lúc bạn chưa cài một hệ điều hành linux nào khác trên thẻ nhớ. Và máy tính của bạn phải chạy hệ điều hành Windows

Mặc định hệ thống Linux của galileo có thông số truy cập với tên người dùng là root và không có mật khẩu. Bạn không cần thay đổi cho mật khẩu của bản linux khi chưa cài hệ điều hành trên galileo làm gì, nhưng nếu muốn thì bạn hãy xem mục bình luận ở dưới.

Vì vậy khi truy cập vào Linux Console của Galileo, bạn chỉ cần gõ root rồi ấn nút Enter là xong!

Theo mình thì có 4 cách để truy cập vào phần Linux Console của Galileo với giá thành rẻ.

1. Sử dụng kết nối UART giữa Intel Galileo và máy tính (chỉ có cách này bạn mới cài được hệ điều hành linux khác với hệ điều hành cơ bản mà Intel khuyên dùng)

  • Máy tính của bạn cần có một cổng COM (DB9), nếu không có bạn cần mua một cái Serial to USB. Thường thì máy tính để bàn có cổng COM sẵn nằm ở sau máy.
  • Bạn cần có một cổng RS-232 to DB9 cho galileo, nếu không có, bạn hãy xem cách làm tại đây.
  • Sau đó bạn sử dụng Putty để vào phần Linux Console với thông số như hình và sau đó bạn có thể vô được Linux Console của Galileo rồi.

2. Kết nối Intel Galileo trực tiếp với máy tính thông qua dây LAN

  • Bạn kết nối Intel Galileo với PC trực tiếp bằng dây LAN
  • Mặc định thì khi boot lên Galileo không mở cổng Ethernet (nhưng nó vẫn sáng đèn), vì vậy bạn cần khởi động cổng Ethernet. Vì vậy, bạn cần upload đoạn code sau lên Galileo.
#include <SPI.h>
#include <Ethernet.h>

//Bạn thay đổi địa chỉ MAC dưới đây sao cho giống với địa chỉ MAC của Galileo của bạn.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };  
//Địa chỉ IP dùng để truy cập vào Serial Console khi máy của bạn không cấp IP động cho Galileo
byte ip[] = { 192, 168, 0, 2 };    

// Upload xong bạn nhớ nhanh tay bật Serial Monitor nhé.

void setup()
{
    Serial.begin(9600);
    Serial.println("Khoi dong cong Ethernet, lay IP dong (DHCP)");
    if (Ethernet.begin(mac) == 0) {
        Serial.println("Khong duoc cap IP dong (DHCP)");
        Serial.println("Dat Galileo bang dia chi IP tinh");
        Ethernet.begin(mac, ip);
    }
    Serial.print("Dia chi IP cua ban la: ");
    Serial.println(Ethernet.localIP());
}

void loop () {}
  • Từ chương trình trên, bạn sẽ được một địa chỉ IP, ví dụ là 192.168.0.2. bạn chỉ việc dùng Putty cài đặt các thông số sau là có thể vào được Linux Console.

3. Kết nối Intel Galileo với Router Wireless hoặc Modem

  • Bạn làm tương tự như cách 2, nhưng ở đây khác ở bước 1, thay vì kết nối giữa máy tính và Galileo, bạn kết nối Galileo với  Modem hoặc Router Wireless

4. Sử dụng code "Poor Man's Telnet" - được viết bởi Mikal Hart

  • Bạn chỉ việc upload đoạn code này lên Intel Galileo rồi vô Serial Monitor là vào được Serial Console.
  • Ưu điểm:
    • Đơn giản, tiện lợi, nhanh chóng, không cần mua thêm đồ, chi phí = 0 đồng
    • Bạn chỉ cần mở Serial Monitor của Arduino Galileo-ized IDE là được
  • Nhược điểm:
    • Một số câu lệnh trả về hơi khác những gì nó cần trả về. Bạn chạy lệnh top là rõ ngay.

 

lên
3 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

Xe điều khiển bằng tay game Dual Shock3 thông qua Bluetooth

Vừa bắt đầu với arduino được hơn 1 tuần, có tham khảo qua các nguồn từ "trung ương đến địa phương", nắm được 1 số kiến thức cơ bản nên mình bắt đầu thực hiện 1 sản phẩm để đúc kết kinh nghiệm. Trong số đó thì xe điều khiển là dễ nhất. Kết hợp với cái tay game ps3 nằm lăn lóc ở góc nhà. Thế là có 1 chiếc xe điều khiển từ xa. Bắt đầu nhé.

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

Làm xe điều khiển từ xa bằng Bluetooth - Điều khiển bằng Android với App Inventor

Mình rất thích điện tử nhưng không học về ngành điện tử. Rất may là có Adruino, rồi có cộng đồng Adruino Việt Nam, đặc biệt là sự nhiệt tình của tất cả các bạn trong cộng đồng, mình đã làm được 1 chiếc xe điều khiển từ xa. Cho con chơi là lí do phụ thôi, còn tìm hiểu, học tập là chính. Hôm nay chia sẻ cùng các bạn, cùng gửi lời cảm ơn đến tất cả các bạn trong cộng đồng. Có bạn thì giúp đỡ trực tiếp, có bạn thì viết bài, rồi có bạn thì bình luận, nêu câu hỏi. Tất cả đều có giá trị đối với mình.

Ngại viết bài nên mình đăng dưới dạng ảnh.

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

In một chuỗi với nội dung được quy định sẵn trong Arduino (Formatted String)

Trong các bài trước, chúng ta đã tìm hiểu khá nhiều về chuỗi trong Arduino, nào là cách lưu chuỗi vào bộ nhớ flash, hay cách mà Arduino lưu trữ các biến. Hôm nay, chúng ta sẽ tìm hiểu thêm về cách in chuỗi theo một định dạng tự định nghĩa.

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