arduino yún: internet for makers

25
Arduino Yún: Internet for makers Federico Vanzati [email protected] - Officine Arduino Torino

Upload: codemotion

Post on 17-May-2015

986 views

Category:

Technology


0 download

DESCRIPTION

L’Arduino Yún è la prima Arduino ad integrare un microcontrollore per l’interazione fisica col mondo e un piccolo sistema Linux che le dona illimitate possibilità di connettersi ad Internet tramite Ethernet o WiFi. E’ grazie al lavoro in sintonia dei due processori che i dati provenienti dai sensori trovano una facile strada verso la rete mentre, ogni input dal web può essere trasformato in un’azione reale. Durante la talk, attraverso la demo, familiarizzeremo con la Yún per poi approfondire sketch, scripts e la libreria Bridge. Tutto all’insegna della semplicità che caratterizza Arduino.

TRANSCRIPT

Page 1: Arduino Yún: internet for makers

Arduino Yún: Internet for makers

Federico Vanzati

[email protected] - Officine Arduino Torino

Page 2: Arduino Yún: internet for makers

Federico Vanzati [email protected] - Officine Arduino Torino

What is Arduino?

Arduino is an electronic prototyping platform that can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators.

COMMUNICATION

INPUT

OUTPUT

AnalogDigital

AnalogDigital

USBSerialTWISPI

Page 3: Arduino Yún: internet for makers

Physical to Internet?Federico Vanzati [email protected] - Officine Arduino Torino

Ethernet ShieldWiFi Shield

Page 4: Arduino Yún: internet for makers

Federico Vanzati [email protected] - Officine Arduino Torino

TCP/IP stackonly

Client ServerManaging the connection

Limited number of connectionsand modest performances because all the code is processed from the AVR

can't handle secure connections natively

Page 5: Arduino Yún: internet for makers

Arduino YúnFederico Vanzati [email protected] - Officine Arduino Torino

32U4[Leonardo]

AR9331running OpenWRT

Usual Arduino experience

HttpsSSL

SSH Tools offered by the Linux system

Advanced connectivity capabilitiesthanks to Linux

Page 6: Arduino Yún: internet for makers

Internet of Things (IoT)Federico Vanzati [email protected] - Officine Arduino Torino

Arduino: one of the first platform to offer the possibility to connect sensors and actuators to Internet.

Many projects in different categories, for example:

● Smart metering (photovoltaic, water flow and level, electrical comsumption)

Page 7: Arduino Yún: internet for makers

Internet of Things (IoT)Federico Vanzati [email protected] - Officine Arduino Torino

● Enviroment (radiation level, earthquake, air pollution)

● Security & Emergencies (intrusion detection, fire/gas detection)

Page 8: Arduino Yún: internet for makers

Internet of Things (IoT)Federico Vanzati [email protected] - Officine Arduino Torino

In a few years certainly these projects have influenced the definition of IoT.

The Arduino Yún follows the evolution of internet answering to the new requirements of access to the web services.

The Arduino Yún gives you a lot of cool features.

Both WiFi and Ethernet

Enhanced connectivity (speed, more protocols, …)

Independent Web Server

Additional peripherals (USB host, SD card

Page 9: Arduino Yún: internet for makers

What's on board?Federico Vanzati [email protected] - Officine Arduino Torino

Thanks to the Linux processor you have all the tools you normally use on your compurer to develop code that lives on Internet.

Page 10: Arduino Yún: internet for makers

Hardware SummaryFederico Vanzati [email protected] - Officine Arduino Torino

Atmega32U4 (Leonardo) AR9331 (OpenWRT)

Digital I/O Pins 20

PWM Channels 7

Analog Input Channels 12

Flash Memory 28 KB aval.

SRAM 2.5 KB

EEPROM 1 KB

Clock Speed 16 MHz

Architecture MIPS @400MHz

Ethernet IEEE 802.3 10/100Mbit/s

WiFi IEEE 802.11b/g/n

USB Type-A 2.0 Host/Device

Card Reader Micro-SD only

RAM 64 MB DDR2

Flash Mem.16 MB

Operating voltage: 5V

Page 11: Arduino Yún: internet for makers

Processors CooperationFederico Vanzati [email protected] - Officine Arduino Torino

Page 12: Arduino Yún: internet for makers

Bridge ConceptFederico Vanzati [email protected] - Officine Arduino Torino

As is common on Linux system, the console to access to the environment is exposed on the Serial port.

The Arduino microcontroller (32U4) can control the Linux system through the Serial port.

The Bridge Library has been developed to simplify the way the sketch can manage the processes and the tools on the Linux side.

Bridge

Arduino Library

Python process on the Linux side

Started by the sketch

Page 13: Arduino Yún: internet for makers

Bridge Features – communication protocolFederico Vanzati [email protected] - Officine Arduino Torino

The Bridge library simplify the communication between the two processors using a protocol that numbers the packets, manage retrasmission and timeout.

● Storage● Process● Console● FileIO● Mailbox● HttpClient● YunServer● YunClient

Classes of the library:

Page 14: Arduino Yún: internet for makers

Bridge Features – Shared StorageFederico Vanzati [email protected] - Officine Arduino Torino

With the Bridge library is possible to save data or variables and share it with the Linux processor using the shared storage, that has a KEY/VALUE structure.

Page 15: Arduino Yún: internet for makers

Bridge Features – ProcessFederico Vanzati [email protected] - Officine Arduino Torino

Process is the base class for all Bridge based calls for communicating with the Yun's shell. It is not called directly, but invoked whenever you use a function that relies on it.

Process p;              p.begin("curl");        p.addParameter("http://arduino.cc/asciilogo.txt");   p.run();

Run Process

while (p.available()>0) {    char c = p.read();    Serial.print(c);  }  Serial.flush();}

Read Output

Page 16: Arduino Yún: internet for makers

Bridge Features – ConsoleFederico Vanzati [email protected] - Officine Arduino Torino

Console, based on Bridge, enables you to send information from the Yún to a computer just as you would with the serial monitor, but wirelessly. It creates a secure connection between the Yún and your computer via SSH.

#include <Console.h>const int ledPin = 13; int incomingByte;void setup() {  Bridge.begin();  Console.begin();   while (!Console) ; // wait for Console port to connect.  Console.println("You're connected to the Console!!!!");  pinMode(ledPin, OUTPUT);}void loop() {  // see if there's incoming serial data:  if (Console.available() > 0) {    incomingByte = Console.read(); // read the oldest byte in the serial buffer:    if (incomingByte == 'H') { // if it's a capital H (ASCII 72), turn on the LED      digitalWrite(ledPin, HIGH);    }     if (incomingByte == 'L') {  // if it's an L (ASCII 76) turn off the LED      digitalWrite(ledPin, LOW);    }  }}

Page 17: Arduino Yún: internet for makers

Bridge Features – FileIOFederico Vanzati [email protected] - Officine Arduino Torino

FileIO is the base class for manipulating files and directories on the Linux system directly from the 32U4.

If an SD card is inserted into the slot with an empty folder in the SD root named "arduino". This will ensure that the Yún will create a link to the SD to the "/mnt/sd" path.

Page 18: Arduino Yún: internet for makers

Bridge Features – MailboxFederico Vanzati [email protected] - Officine Arduino Torino

Mailbox Class allows you to exchange messages between the two processors, putting them in two separate queues.

Page 19: Arduino Yún: internet for makers

Bridge Features – Client/ServerFederico Vanzati [email protected] - Officine Arduino Torino

HttpClient:

HttpClient extends Process and acts as a wrapper for common cURL commands by creating a HTTP client in Linino

YunServer:

YunServer opens a listening socket on the Linino. You can choose to use it only on localhost or expose the socket on the outside (with or without password)

YunClient:

YunClient is a TCP/IP client, implements the same APIs to connect, read and write as in the Arduino Ethernet and WiFi Client libraries

Page 20: Arduino Yún: internet for makers

WiFi UploadFederico Vanzati [email protected] - Officine Arduino Torino

Page 21: Arduino Yún: internet for makers

“www” folderFederico Vanzati [email protected] - Officine Arduino Torino

Page 22: Arduino Yún: internet for makers

Out of the Box experienceFederico Vanzati [email protected] - Officine Arduino Torino

Page 23: Arduino Yún: internet for makers

TembooFederico Vanzati [email protected] - Officine Arduino Torino

Page 24: Arduino Yún: internet for makers

Sands ProjectFederico Vanzati [email protected] - Officine Arduino Torino

Social&Smart is a research project using the housekeeping scenario to experiment a pervasive Future Internet network that provides real services to a wide population.

Page 25: Arduino Yún: internet for makers

DemoFederico Vanzati [email protected] - Officine Arduino Torino