Updated some Bridge examples

This commit is contained in:
Cristian Maglie 2013-06-05 14:51:15 +02:00
parent 4306561e25
commit 48a4f76e42
3 changed files with 79 additions and 22 deletions

View File

@ -1,25 +1,61 @@
/*
Running process using Process class.
This sketch demonstrate how to run linux processes
using an Arduino Yún.
created 5 Jun 2013
by Cristian Maglie
*/
#include <Process.h>
void setup() {
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
Serial.begin(9600);
// Setup Bridge (needed every time we communicate with the Arduino Yún)
Bridge.begin();
// Setup Console
Console.begin();
Console.buffer(64);
// Wait until a Network Monitor is connected.
while (!Console);
digitalWrite(13,HIGH);
delay(2000);
// run various example processes
runCurl();
runCpuInfo();
}
void loop() {
// Do nothing here.
}
void runCurl() {
// Launch "curl" command and get Arduino asciilogo from the network
Process p;
p.begin("curl");
p.addParameter("http://arduino.cc/asciilogo.txt");
p.run();
// Print arduino logo over the console
while (p.available()>0) {
char c = p.read();
Serial.print(c);
Console.print(c);
}
Console.flush();
}
void loop() {
void runCpuInfo() {
// Launch "cat /proc/cpuinfo" command (shows info on Atheros CPU)
Process p;
p.begin("cat");
p.addParameter("/proc/cpuinfo");
p.run();
// Print command output on the Console
while (p.available()>0) {
char c = p.read();
Console.print(c);
}
Console.flush();
}

View File

@ -38,7 +38,7 @@ void setup() {
while(!Console); // wait for Network Console to open
Console.println("Xively client");
// Do a first update immediatly
// Do a first update immediately
updateData();
sendData();
lastRequest = millis();
@ -80,7 +80,7 @@ void sendData() {
// Send the HTTP PUT request
// Is better to declare the Process here, so when the
// sendData function finishes the resources are immediatly
// sendData function finishes the resources are immediately
// released. Declaring it global works too, BTW.
Process xively;
Console.print("\n\nSending data... ");

View File

@ -1,9 +1,8 @@
/*
Arduino Yun USB-to-Serial
Allows you to use the Yun's 32U4 processor as a
serial terminal for the linino processor
serial terminal for the linino processor.
Upload this to an Arduino Yun via serial (not WiFi)
then open the serial monitor at 115200 to see the boot process
@ -11,28 +10,31 @@
as a basic command line interface for the linino processor using
this sketch.
From the serial monitor the following commands can be issued:
'~' followed by '0' -> Set the UART speed to 57600 baud
'~' followed by '1' -> Set the UART speed to 115200 baud
The circuit:
* Arduino Yun
created March 2013
by Massimo Banzi
modified by Cristian Maglie
This example code is in the public domain.
*/
long baud = 115200;
long lininoBaud = 57600;
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
int ledState = HIGH; // whether the LED is high or low
void setup() {
Serial.begin(baud); // open serial connection to Linino
Serial1.begin(baud); // open serial connection via USB-Serial
Serial.println("Prova"); // Hello USB
Serial1.println("Prova1"); // Hello Linino
Serial.begin(115200); // open serial connection via USB-Serial
Serial1.begin(lininoBaud); // open serial connection to Linino
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
@ -40,12 +42,31 @@ void setup() {
}
void loop() {
boolean commandMode = false;
void loop() {
// copy from virtual serial line to uart and vice versa
if (Serial.available()) { // got anything from USB-Serial?
char c = (char)Serial.read(); // read from USB-serial
Serial1.write(c); // write to Linino
if (commandMode == false) { // if we aren't in command mode...
if (c == '~') { // Tilde '~' key pressed?
commandMode = true; // enter in command mode
} else {
Serial1.write(c); // otherwise write char to Linino
}
} else { // if we are in command mode...
if (c == '0') { // '0' key pressed?
Serial1.begin(57600); // set speed to 57600
Serial.println("Speed set to 57600");
} else if (c == '1') { // '1' key pressed?
Serial1.begin(115200); // set speed to 115200
Serial.println("Speed set to 115200");
} else { // any other key pressed?
Serial1.write('~'); // write '~' to Linino
Serial1.write(c); // write char to Linino
}
commandMode = false; // in all cases exit from command mode
}
ledState=!ledState; // invert LED state
digitalWrite(led, ledState); // toggle the LED
}