mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-13 23:48:46 +01:00
71 lines
1.7 KiB
C++
71 lines
1.7 KiB
C++
/*
|
|
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() {
|
|
// Setup Bridge (needed every time we communicate with the Arduino Yún)
|
|
Bridge.begin();
|
|
|
|
// Setup Console
|
|
Console.begin();
|
|
// Buffering improves Console performance, but we must remember to
|
|
// finish sending using the Console.flush() command.
|
|
Console.buffer(64);
|
|
|
|
// Wait until a Network Monitor is connected.
|
|
while (!Console);
|
|
|
|
// 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; // Create a process and call it "p"
|
|
p.begin("curl"); // Process should launch the "curl" command
|
|
p.addParameter("http://arduino.cc/asciilogo.txt"); // Add the URL parameter to "curl"
|
|
p.run(); // Run the process and wait for its termination
|
|
|
|
// Print arduino logo over the console.
|
|
// A process output can be read with the stream methods
|
|
while (p.available()>0) {
|
|
char c = p.read();
|
|
Console.print(c);
|
|
}
|
|
// Ensure the latest bit of data is sent.
|
|
Console.flush();
|
|
}
|
|
|
|
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.
|
|
// A process output can be read with the stream methods
|
|
while (p.available()>0) {
|
|
char c = p.read();
|
|
Console.print(c);
|
|
}
|
|
// Ensure the latest bit of data is sent.
|
|
Console.flush();
|
|
}
|
|
|