libraries / Bridge / examples / Process / Process.inoon commit Added link to project report (97a3ba0)
   1/*
   2  Running process using Process class.
   3
   4 This sketch demonstrate how to run linux processes
   5 using an Arduino Yún.
   6
   7 created 5 Jun 2013
   8 by Cristian Maglie
   9
  10 This example code is in the public domain.
  11
  12 http://www.arduino.cc/en/Tutorial/Process
  13
  14 */
  15
  16#include <Process.h>
  17
  18void setup() {
  19  // Initialize Bridge
  20  Bridge.begin();
  21
  22  // Initialize Serial
  23  SerialUSB.begin(9600);
  24
  25  // Wait until a Serial Monitor is connected.
  26  while (!SerialUSB);
  27
  28  // run various example processes
  29  runCurl();
  30  runCpuInfo();
  31}
  32
  33void loop() {
  34  // Do nothing here.
  35}
  36
  37void runCurl() {
  38  // Launch "curl" command and get Arduino ascii art logo from the network
  39  // curl is command line program for transferring data using different internet protocols
  40  Process p;            // Create a process and call it "p"
  41  p.begin("curl");      // Process that launch the "curl" command
  42  p.addParameter("http://www.arduino.cc/asciilogo.txt"); // Add the URL parameter to "curl"
  43  p.run();              // Run the process and wait for its termination
  44
  45  // Print arduino logo over the Serial
  46  // A process output can be read with the stream methods
  47  while (p.available() > 0) {
  48    char c = p.read();
  49    SerialUSB.print(c);
  50  }
  51  // Ensure the last bit of data is sent.
  52  SerialUSB.flush();
  53}
  54
  55void runCpuInfo() {
  56  // Launch "cat /proc/cpuinfo" command (shows info on Atheros CPU)
  57  // cat is a command line utility that shows the content of a file
  58  Process p;            // Create a process and call it "p"
  59  p.begin("cat");       // Process that launch the "cat" command
  60  p.addParameter("/proc/cpuinfo"); // Add the cpuifo file path as parameter to cut
  61  p.run();              // Run the process and wait for its termination
  62
  63  // Print command output on the SerialUSB.
  64  // A process output can be read with the stream methods
  65  while (p.available() > 0) {
  66    char c = p.read();
  67    SerialUSB.print(c);
  68  }
  69  // Ensure the last bit of data is sent.
  70  SerialUSB.flush();
  71}
  72