aboutsummaryrefslogtreecommitdiff
path: root/libraries/Bridge/examples/Process
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Bridge/examples/Process')
-rw-r--r--libraries/Bridge/examples/Process/Process.ino70
1 files changed, 70 insertions, 0 deletions
diff --git a/libraries/Bridge/examples/Process/Process.ino b/libraries/Bridge/examples/Process/Process.ino
new file mode 100644
index 0000000..919cea7
--- /dev/null
+++ b/libraries/Bridge/examples/Process/Process.ino
@@ -0,0 +1,70 @@
+/*
+ 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();
+}
+