Đỉnh NGUYỄN

life's a journey not a destination

Hướng dẫn về Arduino Yún

Leave a comment


Arduino Yún là 1 board mạch không giống với các board mạch thuộc họ Arduino khác. Trong khi việc lập trình tương tự Arduino Leonardo và dùng cùng bộ xử lý, ATmega32U4, nó cũng có thêm 1 bộ xử lý, Atheros AR9331, chạy Linux là OpenWrt wireless stack. Lập trình 32U4 thông qua USB giống hệt với Arduino Leonardo. Một khi bạn đã cấu hình Yún kết nối với mạng WiFi, bạn có thể lập trình 32U4 thông qua WiFi.

image

https://www.sparkfun.com/products/12053

Để kết nối Arduino Yún vào máy tính, bạn cần 1 Micro-B USB cable. USB cable này cung cấp nguồn và dữ liệu cho board. Khi lập trình Yún, bạn phải chọn Arduino Yún từ Tools > Board trong Arduino IDE. Yún chỉ được hỗ trợ bởi Arduino IDE 1.5.4 trở lên.

image

https://www.sparkfun.com/products/11301

Sự khác biệt so với Arduino Leonardo

image

Ngoài con chip 32U4, Yún có thêm 1 vi xử lý, Atheros AR9331, chạy Linux cho hệ thống nhúng tên OpenWrt-Yun, dựa trên OpenWrt. Bao gồm 1 bản cài đặt đầu đủ Python 2.7. Yún có 1 số đặc tính vật lý và kết nối khác với Leonardo. Có 1 khe cắm SD trên board mạch, jack cắm Ethernet, và 1 kết nối USB-A Host. Không có kết nối nguồn trên Yún; nó được cấp nguồn thông qua kết nối micro-USB.

Board mạch dùng nguồn 5V. Nếu cấp nguồn cho Yún hơn 5V, có thể sẽ làm hỏng nó. Nếu không cấp nguồn cho Yún từ kết nối micro-USB, có thể dùng nguồn cho Vin và 5V pins trên board. Khuyến khích cấp nguồn cho Yún từ kết nối USB bất cứ khi nào có thể. Các kết nối SD, Ethernet và USB-A không kết nối vật lý với bộ xử lý 32U4, chúng được kết nối với AR9331.

Các chức năng 32U4 của Yún giống như Leonardo, ngoại trừ không thể dùng Serial1. Nó được dành riêng để giao tiếp với vi xử lý AR9331. Yún có WiFi module có sẵn trên board, cho phép nó kết nối với 1 wireless router, hoặc hoạt động như 1 access point. Các bộ xử lý 32U4, WiFi, và AR9331 tất cả đều có nút reset riêng.

image

Có 1 số đèn LEDs trạng thái trên Yún, thể hiện nguồn, kết nối WLAN, kết nối WAN và USB. Ngoài ra pin 13 được kết nối với 1 trong những đèn trạng thái.

image

OpenWrt – Yun

Yún chạy 1 bản phân phối Linux gọi là OpenWrt-Yun, dựa trên OpenWrt. Trong khi nó có thể cấu hình hệ thống từ dòng lệnh, có 1 trang web cho phép cấu hình nhiều tùy chọn khác nhau có sẵn. Giao diện (được gọi là LuCi) cho phép truy cập hầu hết mọi thiết lập bạn cần duy trì giao diện WiFi. Truy cập vào giao diện web được mô tả dưới đây.

Để cài đặt phần mềm thêm vào OpenWrt-Yun, dùng trình quản lý gói của Linux opkg. Thêm thông tin cách quản lý và 1 số lệnh cơ bản, xem trang Yún package manager. Khi giao tiếp với hệ thống OpenWrt-Yun, dùng dòng lệnh hoặc truy cập thông qua thư viện Bridge của Arduino, hoặc thông qua SSH. Nếu không quen với dòng lệnh, có thể đọc 1 số vấn đề cơ bản thường dùng trong lập trình.

Python

OpenWrt-Yun cài đặt sẵn Python 2.7, có thể viết các ứng dụng hoặc kịch bản. Tìm hiểu thêm về Python, xem trang Python 2.7 documentation. Nếu mới tiếp cận Python lần đầu, xem “Learn Python the Hard Way” sẽ gồm mọi thứ bạn cần biết để bắt đầu và chạy mã kịch bản của riêng mình.

External storage trên Yún

Bộ nhớ xây dựng sẵn trong Yún có 1 số giới hạn về ghi. Có thể dùng bộ nhớ ngoài như microSD card hoặc USB để lưu trữ dữ liệu, mã kịch bản, các trang web,… Để truy cập và lưu thông tin lên đĩa thông qua 32U4, cần có 1 thư mục tên arduino nằm ở gốc của đĩa.

Web services

OpenWrt-Yun dùng REST cho client và server. REST là viết tắt của “Representational State Transfer”. Nó là kiến trúc phần mềm để tương tác với nhiều phần khác nhau của phần cứng Arduino thông qua URL. Mặc định, truy cập REST API được bảo vệ bởi mật khẩu. Để thay đổi thiết lập này, vào bảng điều khiển Yún. Ở cuối trang, bạn sẽ thấy nút để thay đổi quyền truy cập.

image

Giới thiệu khái niệm REST, xem tại đây.

Có 2 REST end point được thừa nhận bởi Yún:

         /arduino

         /data

         /mailbox

Thư mục “/arduino” không có bất cứ điều gì được cấu hình trước. Bất cứ thứ gì được thêm vào URL sau khi end point sẽ được truyền từ web server đến sketch trên 32U4. Bạn có thể định nghĩa các API trong sketch. Xem ví dụ Bridge để xem cách truy cập vào các chân (pin) trên board.

/data” để truy cập các lưu trữ key/value nội bộ. Các giá trị có sẵn:

         /put/KEY/VALUE: lưu 1 giá trị bên trong vùng lưu trữ

         /get/KEY: lấy giá trị có khóa yêu cầu theo dạng JSON

         /get: lấy danh sách toàn bộ vùng lưu trữ theo dạng JSON

         /delete: xóa vùng lưu trữ nội bộ

mailbox” được dùng để thêm thông điệp vào 1 hàng đợi gọi là MailBox. Hàng đợi thông điệp được lưu bên trong hệ thống Linux và có thể được đọc bởi Arduino microcontroller. Lời gọi REST có sẵn:

         mailbox/message

Resetting the processors (AR9331, WiFi, và 32U4)

Để restart AR9331, reboot OpenWrt-Yun, nhấn “YÚN RST” reset button gần các chân đầu vào analog và các đèn LED trên board.

Để restart 32U4 và restart Arduino sketch đã được cài đặt hiện tại, nhấn nút kê bên cạnh cổng Ethernet 2 lần.

Nút reset cho WiFi nằm kế bên cổng USB-A, khi nhấn nút, đèn WLAN sẽ nhấp nháy.

Nếu bạn di chuyển sang 1 mạng khác và không thể truy cập không dây đến Yún thông qua giao diện web, bạn có thể reset cấu hình mạng của Yún bằng cách nhấn nút Wifi reset lâu hơn 5s nhưng ít hơn 30s, bộ xứ lý AR9331 sẽ khởi động lại (reboot). Cấu hình WiFi sẽ bị reset và Yún sẽ start mạng WiFi của nó Arduino Yún-XXXXXXXXXXXX. Bất kỳ các cấu hình/ thay đổi khác sẽ được giữ lại. Để reset bản phân phối OpenWrt-Yun về trạng thái ban đầu, nhấn nút WiFi reset ít nhất 30s. Board sẽ trở lại trạng thái ban đầu như thể đã được reflashed hoặc vừa lấy ra khỏi hộp. Điều này sẽ hủy bỏ tất cả các tập tin đã cài đặt và các cấu hình mạng.

Serial re-enumeration on reset

Từ khi Yún không có chịp chuyên dụng để xử lý giao tiếp nối tiếp (serial), nghĩa là các serial port là ảo – nó là thủ tục phần mềm, cả trên hệ điều hành và trên chính board mạch. Cũng như máy tính của bạn tạo ra 1 thể hiện của serial port driver khi bạn cắm bất kỳ Arduino, 32U4 tạo 1 thể hiện serial bất cứ khi nào nó chạy bootloader. Board là 1 thể hiện của trình điều khiển Connected Device Class (CDC) của USB.

Điều này có nghĩa rằng mỗi khi reset lại 32U4, kết nối USB serial sẽ bị phá vỡ và tái lập. Board sẽ biến mất khỏi danh sách serial port, và danh sách sẽ tái liệt kê. Bất kỳ chương trình nào mở kết nối serial đến Yún sẽ bị mất kết nối. Điều này trái ngược với Arduino Uno khi bạn có thể reset lại vi xử lý chính (ATmega328P) mà không đóng kết nối USB (được duy trì bởi vi xử lý phụ ATmega8U2 hoặc ATmega16U2). Sự khác biệt này có ý nghĩa khi cài đặt trình điều khiển, tải lên và giao tiếp.

Không được reset khi bạn mở serial port

Yún không restart sketch khi bạn mở 1 serial port trên máy tính. Nghĩa là bạn không nhìn thấy dữ liệu serial đã được gửi đến máy tính từ board, bao gồm, ví dụ, hầu hết dữ liệu được gửi trong setup(). Điều này cũng áp dụng cho Console, mô tả dưới đây.

Điều này nghĩa là nếu bạn đang dùng bất kỳ Serial hay Console print(), println() hoặc write() trong setup(), chúng sẽ không xuất hiện khi bạn mở giám sát serial hoặc kết nối Console. Để làm việc này, bạn có thể kiểm tra nếu port được mở như sau:

// stops the program until Serial Monitor is opened
  
while (!Serial) ;

hoặc

// stops the program until Console is opened
  
while (!Console) ;

Cài đặt trình điều khiển cho Yún

Windows

Với Windows, có trình cài đặt cho IDE và drivers.

Tải về Arduino IDE 1.5.4 hoặc mới hơn và double-click tập tin cài đặt.

image

Đồng ý license, click nút “I agree”.

image

Mặc định, tất cả các thành phần có sẵn được chọn. Chúng gồm IDE, drivers và shortcuts.

image

Chọn vị trí thư mục cài IDE

image

Quá trình cài đặt

image

Nếu chọn cài đặt driver, 1 hộp hoại sẽ xác nhận lựa chọn này

image

Khi cài đặt hoàn tất, nhấn nút close.

NB: Yún dùng dịch vụ Bonjour để tự động phát hiện 1 mạng không dây. Dịch vụ này mặc định chưa có trong Windows. Nếu chưa cài đặt Bonjour, có thể tải về từ đây. Ngoài ra, nên chắc rằng các chương trình anti-virus không chặn cổng giao tiếp 5353.

Cấu hình onboard WiFi

Yún có thể hoạt động như access point, nó cũng có thể kết nối với 1 mạng đã có. Hướng dẫn này chỉ bạn cách kết nối Yún vào 1 mạng không dây. Yún có thể kết nối với mạng không dây không được mã hóa, cũng như các mạng hỗ trợ mã hóa WEP, WPA, và WPA2.

Khi lần đầu bật nguồn cho Yún, nó tạo mạng WiFi tên ArduinoYun-XXXXXXXXXXXX. Kết nối máy tính của bạn với mạng này.

image

Một khi bạn nhận được 1 địa chỉ IP, mở trình duyệt web và nhập http://arduino.local hoặc 192.168.240.1 trong thanh địa chỉ. Sau vài phút, 1 trang web xuất hiện yêu cầu mật khẩu. Nhập “arduino” và nhấn nút Log In.

image

Bạn sẽ thấy 1 trang với 1 số thông tin chuẩn đoán các kết nối mạng hiện tại. Đầu tiên là giao diện WiFi của bạn, thứ hai đến kết nối Ethernet của bạn. Nhấn vào nút Configuration để tiến hành.

image

Trên trang mới, bạn sẽ cấu hình Yún, đặt 1 tên duy nhất và xác định những gì mạng muốn kết nối đến.

Tại trường Yún NAME, đặt 1 tên duy nhất cho Arduino. Bạn sẽ dùng để tham chiếu đến nó trong tương lai. Chọn 1 mật khẩu 8 ký tự cho Arduino của bạn. Nếu bỏ trống trường này, hệ thống giữ mật khẩu mặc định là arduino.

Nếu muốn, bạn thiết lập timezone và country. Khuyến khích thiết lập các tùy chọn này, nó giúp kết nối với mạng WiFi cục bộ.

Nhập tên mạng WiFi bạn muốn kết nối đến. Chọn loại bảo mật và nhập mật khẩu.

image

Khi nhấn nút Configure & Restart, Arduino sẽ tự reset và join vào 1 mạng chỉ định. Mạng Arduino sẽ shutdown sau vào phút.

image

Bây giờ bạn có thể join vào mạng đã gán cho Yún.

Lập trình 32U4 thông qua WiFi

Khi Yún cùng mạng với máy tính, bạn có thể kết nối không dây để lập trình nó. Sau khi cấu hình Yún, kết nối vào mạng mà bạn đã chỉ định trong thiết lập cấu hình. Mở Arduino IDE, vào Tools > Port, bạn sẽ thấy 1 mục liệt kê tên của Yún và địa chỉ IP của nó. Trong menu Board, chọn Arduino Yún.

Mở ví dụ Blink (File > Examples > 01Basics > Blink) và upload sketch vào board. Bạn sẽ được nhắc mật khẩu quản trị. Khi chương trình đã được uploaded, vi xử lý 32U4 sẽ khởi động lại. Bạn sẽ thấy đèn LED kết nối với chân (pin) 13 nhấp nháy.

Dùng onboard Ethernet

Khi kết nối Yún vào mạng có dây với cáp ethernet, nó sẽ cố gắng kết nối tự động với DHCP. Board sẽ hiển thị trên menu port giống như thông qua WiFi.

Nếu muốn kết nối trực tiếp Yún vào máy tính, hoặc cấu hình interface của máy tính để có địa chỉ IP tĩnh, hoặc hoạt động như 1 DHCP server.

NB: ethernet interface là eth1, không phải eth0.

Giao tiếp với OpenWrt-Yun thông qua Bridge

Thư viện Bridge cho phép giao tiếp giữa Arduino và OpenWrt-Yun. Có các lớp tiện ích khác nhau cho các loại giao tiếp khác nhau giữa 2, mô tả sau đây, và sâu hơn trên trang tham khảo thư viện Bridge.

image

WiFi và Ethernet interface, USB host và SD card tất cả được kết nối vào AR9331. Thư viện Bridge cho phép bạn làm việc với các thiết bị này, cũng như chạy các script và giao tiếp với web service.

Console

Console, dựa trên Bridge, cho phép gửi thông tin từ Yún đến 1 máy tính như đã làm với serial monitor, nhưng không dây. Nó tạo 1 kết nối bảo mật giữa Yún và máy tính thông qua SSH.

Load các thành phần sau vào Yún của bạn:

 

#include <Console.h>

const int ledPin = 13; // the pin that the LED is attached to
int incomingByte;      // a variable to read incoming serial data into

void setup() {
  
// initialize serial communication:
  Bridge.
begin();
  Console.
begin(); 

  while (!Console){
    ; 
// wait for Console port to connect.
  }
  Console.
println("You’re connected to the Console!!!!");
  
// initialize the LED pin as an output:
  
pinMode(ledPin, OUTPUT);
}

void loop() {
  
// see if there’s incoming serial data:
  
if (Console.available() > 0) {
    
// read the oldest byte in the serial buffer:
    incomingByte = Console.
read();
    
// if it’s a capital H (ASCII 72), turn on the LED:
    
if (incomingByte == ‘H’) {
      
digitalWrite(ledPin, HIGH);
    } 
    
// if it’s an L (ASCII 76) turn off the LED:
    
if (incomingByte == ‘L’) {
      
digitalWrite(ledPin, LOW);
    }
  }
  
delay(100);
}

 

 

Để thấy Console, chọn tên của Yún và IP address trong menu Port. Yún chỉ hiển thị trong menu Ports nếu máy tính trong cùng mạng LAN với Yún. Nếu board trong 1 mạng khác, bạn không nhìn thấy nó trong menu Ports. Mở Port Monitor. Bạn sẽ được nhắc mật khẩu của Yún. Bạn cũng có thể nhìn thấy Console bằng cách mở cửa sổ terminal và nhập:

ssh root@yourYunsName.local ‘telnet localhost 6571’

sau đó nhấn Enter.

NB: Nếu dùng Windows, phải cài terminal emulator. PuTTY là 1 sự lựa chọn, nhưng bạn sẽ nhập 2 lệnh trên riêng biệt.

Nhập ‘H’để bật đèn LED trên chân (pin) 13 và nhập ‘L’ để tắt.

Process

Lệnh Process cho phép chạy các tiến trình Linux trên OpenWrt-Yun thông qua Arduino. Trong ví dụ sau, OpenWrt-Yun sẽ kết nối đến 1 server với curl, và tải 1 số ASCII text. Nó in văn bản (text) trong kết nối serial.

 

#include <Process.h>

void setup() {
  
// Initialize Bridge
  Bridge.
begin();

  // Initialize Serial
  
Serial.begin(9600);

  // Wait until a Serial Monitor is connected.
  
while (!Serial);

  // run various example processes
  runCurl();
}

void loop() {
  
// Do nothing here.
}

void runCurl() {
  
// Launch "curl" command and get Arduino ascii art logo from the network
  
// curl is command line program for transferring data using different internet protocols
  Process p;        
// Create a process and call it "p"
  p.
begin("curl");  // Process that launch the "curl" command
  p.
addParameter("http://arduino.cc/asciilogo.txt&quot;); // Add the URL parameter to "curl"
  p.
run();      // Run the process and wait for its termination

  // Print arduino logo over the Serial
  
// A process output can be read with the stream methods
  
while (p.available()>0) {
    
char c = p.read();
    
Serial.print(c);
  }
  
// Ensure the last bit of data is sent.
  
Serial.flush();
}

 

 

Dùng Bridge để truyền thông tin giữa các processors

Bridge cho phép truyền thông tin giữa 2 processors dùng cặp key/value. Ví dụ cách dùng thư viện Bridge truy xuất các chân digital và analog trên board thông qua lời gọi REST. Minh họa cách tạo API của riêng bạn khi dùng lời gọi theo phong cách REST thông qua trình duyệt. Khi chạy ví dụ này, đảm bảo máy tính trong cùng mạng với Yún. Khi bạn lập trình trên board, bạn có thể request value trên 1 chân (pin), ghi value vào 1 chân (pin), và cấu hình 1 chân (pin) như input hoặc output.

Khi mật khẩu REST bị tắt, bạn có thể dùng trình duyệt với cấu trúc URL sau:

         http://myArduinoYun.local/arduino/digital/13 : calls digitalRead(13);

         http://myArduinoYun.local/arduino/digital/13/1 : calls digitalWrite(13,1);

         http://myArduinoYun.local/arduino/analog/9/123 : analogWrite(9,123);

         http://myArduinoYun.local/arduino/analog/2 : analogRead(2);

         http://myArduinoYun.local/arduino/mode/13/input : pinMode(13, INPUT);

         http://myArduinoYun.local/arduino/mode/13/output : pinMode(13, OUTPUT);

Bạn có thể dùng lệnh curl từ dòng lệnh thay vì trình duyệt.

Bạn cần include các thư viện Bridge, YunServer, và YunClient.

#include <Bridge.h>
#include <YunServer.h>
#include <YunClient.h>

Tạo 1 server cho phép Yún lắng nghe các kết nối từ client.

YunServer server;

Trong setup(), start giao tiếp serial cho mục đích debug, và bật đèn LED trên chân 13 trong khi Bridge bắt đầu. Bridge.begin() đang khóa, và cần 2s để hoàn thành. Một khi Bridge đã start up, tắt đèn LED.

void setup() {
  
Serial.begin(9600);
  
pinMode(13,OUTPUT);
  
digitalWrite(13, LOW);
  Bridge.
begin();
  
digitalWrite(13, HIGH);

Trong phần thứ 2 của setup(), nói với thể hiện của Yún server  lắng nghe các kết nối vào chỉ từ localhost. Các kết nối đến OpenWrt-Yun sẽ được truyền cho 32U4 processor để parsing và điều khiển các chân (pins).

Điều này xảy ra trên cổng 5555. Start server với server.begin().

server.listenOnLocalhost();
  server.
begin();
}

Trong loop(), bạn tạo 1 thể hiện của YunClient để quản lý các kết nối. Nếu client kết nối, xử lý các yêu cầu trong 1 hàm (mô tả dưới đây) và đóng kết nối khi hoàn thành.

Đặt 1 delay ở cuối hàm loop() có ích giúp giữ vi xử lý không ảnh hưởng quá nhiều đến công việc.

void loop() {
  YunClient client = server.
accept();

  if (client) {
    process(client);
    client.
stop();
  }

  delay(50); 
}

Tạo 1 hàm tên process chấp nhận YunClient làm đối số. Đọc lệnh bằng cách tạo 1 chuỗi để giữ thông tin vào. Parse lệnh REST theo chức năng của nó (digital, analog, …) và truyền thông tin vào hàm có tên phù hợp.

void process(YunClient client) {
  String command = client.
readStringUntil(‘/’);

  if (command == "digital") {
    digitalCommand(client);
  }
  
if (command == "analog") {
    analogCommand(client);
  }
  
if (command == "mode") {
    modeCommand(client);
  }
}

Tạo 1 hàm liên quan đến các lệnh digital. Chấp nhận client làm đối số. Tạo 1 số biến cục bộ để lưu giữ pin và value của lệnh.

void digitalCommand(YunClient client) {
  
int pin, value;

Parse request của client cho pin để làm việc dùng client.parseInt().

Nếu ký tự sau pin là 1 “/”, nghĩa là URL sẽ có giá trị là 1 hoặc 0 theo sau. Giá trị này sẽ gán 1 giá trị cho pin, bật nó thành HIGH hoặc LOW. Nếu không có dấu “/”, đọc giá trị từ pin chỉ định.

pin = client.parseInt();

  if (client.read() == ‘/’) {
    value = client.
parseInt();
    
digitalWrite(pin, value);
  } 
  
else {
    value = 
digitalRead(pin);
  }

In giá trị cho client và cập nhật datastore với giá trị pin hiện tại.

Bằng cách gói giá trị cho client trong hàm F(), bạn sẽ in dưới dạng bộ nhớ flash. Điều này giúp tiết kiệm không gian trong SRAM, nó hữu ích với chuỗi dài như URL.

Key sẽ là pin và type. Ví dụ D2 sẽ được lưu cho digital pin 2. Giá trị sẽ là bất cứ giá trị nào pin đang được gán, hoặc đã được đọc từ pin.

client.print(F("Pin D"));
  client.
print(pin);
  client.
print(F(" set to "));
  client.
println(value);

  String key = "D";
  key += pin;
  Bridge.
put(key, String(value));
}

Tạo 1 hàm xử lý các lời gọi analog theo cách tương tự, ngoại trừ thiết lập key là A thay vì D khi làm việc với các chân đầu vào analog.

void analogCommand(YunClient client) {
  
int pin, value;

  pin = client.parseInt();

  if (client.read() == ‘/’) {
    value = client.
parseInt();
    
analogWrite(pin, value);

    // Send feedback to client
    client.
print(F("Pin D"));
    client.
print(pin);
    client.
print(F(" set to analog "));
    client.
println(value);

    String key = "D";
    key += pin;
    Bridge.
put(key, String(value));
  }
  
else {
    value = 
analogRead(pin);

    client.print(F("Pin A"));
    client.
print(pin);
    client.
print(F(" reads analog "));
    client.
println(value);

    String key = "A";
    key += pin;
    Bridge.
put(key, String(value));
  }
}

Tạo nhiều hàm xử lý các thay đổi pin mode. Chấp nhận YunClient làm tham số, và tạo biến cục bộ lưu giữ pin number. Đọc giá trị pin giống như đã làm cho hàm digital và analog.

void modeCommand(YunClient client) {
  
int pin;
  pin = client.
parseInt();

Kiểm tra để đảm bảo URL hợp lệ.

if (client.read() != ‘/’) {
    client.
println(F("error"));
    
return;
  }

Nếu URL hợp lệ, lưu trữ URL dạng chuỗi. Nếu mode là input hoặc output, cấu hình pin và thông báo đến client. Nếu chuỗi không khớp với các giá trị, trả về lỗi.

String mode = client.readStringUntil(\r);

  if (mode == "input") {
    
pinMode(pin, INPUT);
    
// Send feedback to client
    client.
print(F("Pin D"));
    client.
print(pin);
    client.
print(F(" configured as INPUT!"));
    
return;
  }

  if (mode == "output") {
    
pinMode(pin, OUTPUT);
    
// Send feedback to client
    client.
print(F("Pin D"));
    client.
print(pin);
    client.
print(F(" configured as OUTPUT!"));
    
return;
  }

  client.print(F("error: invalid mode "));
  client.
print(mode);
}

Có thể tìm hiểu chi tiết các ví dụ trên trang Bridge Example.

Kết nối đến internet services với Temboo

image

Yún có 1 số khả năng được xây dựng sẵn cho mạng, nhưng một số khía cạnh thú vị nhất là làm việc với các nền tảng trực tuyến khác. Arduino đã hợp tác với Temboo để tạo kết nối với các dịch vụ yêu thích của bạn dễ dàng. Temboo cho phép truy cập hơn 100 APIs từ 1 điểm liên hệ duy nhất cho phép bạn trộn và kết hợp dữ liệu từ nhiều nền tảng (ví dụ Twitter, Facebook, Foursquare, FedEx hoặc PayPal).

Có 1 số ví dụ trong File > Examples > Bridge > Temboo folder, đây là 1 nơi tuyệt vời để bắt đầu làm việc với Yún trong đám mây. Có thể tìm hiểu thêm sự tích hợp của Temboo và Arduino tại trang Temboo getting started.

Spacebrew

Spacebrew là “một thứ đơn giản nhất để kết nối những thứ tương tác với nhau”. Nó dựa trên mô hình client/server và dùng WebSockets để giao tiếp giữa 2 bên. Nó chạy 1 máy chủ web tùy chỉnh trên Yún trong Python và cho phép dễ dàng giao tiếp. Có 1 số ví dụ cho Spacebrew trên Yún bao gồm phần mềm. Tìm hiểu thêm về Yún, xem trang tài liệu của dự án.

Cài đặt phần mềm thêm trên Linux

Yún đi kèm với một số phần mềm cài đặt sẵn trên OpenWrt-Yun, gồm “curl” và “python”. Bạn có thể muốn cài đặt các phần mềm khác trên Yún. Trên các hệ thống Linux, phầm mềm bổ sung có thể được cài đặt bằng công cụ “package management system”. Thêm thông tin, xem hướng dẫn quản lý gói.

Bước tiếp theo

Bạn đã có kiến thức cơ bản, bây giờ bạn có thể tìm hiểu sâu hơn về thư viện Bridge và các ví dụ. Bạn cũng có thể kiểm tra trang phần cứng Yún để có thêm thông tin kỹ thuật.

(Theo http://Arduino.cc)

Advertisements

Author: dinhnn

Senior software developer, a technical leader. You can be reached at via email to dinhnguyenngoc@gmail.com, via my blog at dinhnguyenngoc.wordpress.com, and on Twitter @dinhnguyenngoc.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s