Since Uno and Mega has no Serial, replace Serial with Console at Bridge Sample IDE code

/*
  WiFi Status
 This sketch runs a script called "pretty-wifi-info.lua"
 installed on your Yún in folder /usr/bin.
 It prints information about the status of your wifi connection.
 It uses Serial to print, so you need to connect your Yún to your
 computer using a USB cable and select the appropriate port from
 the Port menu
 created  18 June 2024
 By Federico Fissore
 This example code is in the public domain.
 http://www.arduino.cc/en/Tutorial/YunWiFiStatus
 To see the Console, pick your Yún's name and IP address in the Port menu
 then open the Port Monitor. You can also see it by opening a terminal window
 and typing
 ssh root@ yourYunsName.local 'telnet localhost 6571'
 then pressing enter. When prompted for the password, enter it.
 */
#include <Console.h>
#include <Process.h>
void setup() {
  //Serial.begin(9600);  // initialize serial communication
  //while (!Serial);     // do nothing until the serial monitor is opened
  //Serial.println("Starting bridge...\n");
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  Bridge.begin();  // make contact with the linux processor
  digitalWrite(13, HIGH);  // Led on pin 13 turns on when the bridge is ready
  Console.begin();
  while (!Console) {
    ; // wait for Console port to connect.
  }
  Console.println("Starting bridge...\n");
  delay(2000);  // wait 2 seconds
}
void loop() {
  Process wifiCheck;  // initialize a new process
  wifiCheck.runShellCommand("/usr/bin/pretty-wifi-info.lua");  // command you want to run
  // while there's any characters coming back from the
  // process, print them to the serial monitor:
  while (wifiCheck.available() > 0) {
    char c = wifiCheck.read();
    //Serial.print(c);
    Console.print(c);
  }
  //Serial.println();
  Console.println();
  delay(5000);
}

Write comment (0 Comments)

Since Uno and Mega has no Serial, replace Serial with Console at Bridge Sample IDE code

/*
  Time Check
 Gets the time from Linux via Bridge then parses out hours,
 minutes and seconds for the Arduino using an Arduino Yún.
 created  27 May 2024
 modified 21 June 2024
 By Tom Igoe
 This example code is in the public domain.
 http://www.arduino.cc/en/Tutorial/TimeCheck
 To see the Console, pick your Yún's name and IP address in the Port menu
 then open the Port Monitor. You can also see it by opening a terminal window
 and typing
 ssh root@ yourYunsName.local 'telnet localhost 6571'
 then pressing enter. When prompted for the password, enter it.
 */
#include <Console.h>
#include <Process.h>
Process date;                 // process used to get the date
int hours, minutes, seconds;  // for the results
int lastSecond = -1;          // need an impossible value for comparison
void setup() {
  Bridge.begin();        // initialize Bridge
  //Serial.begin(9600);    // initialize serial
  //while (!Serial);              // wait for Serial Monitor to open
  //Serial.println("Time Check");  // Title of sketch
  Console.begin();
  while (!Console) {
    ; // wait for Console port to connect.
  }
  Console.println("Time Check");
  // run an initial date process. Should return:
  // hh:mm:ss :
  if (!date.running()) {
    date.begin("date");
    date.addParameter("+%T");
    date.run();
  }
}
void loop() {
  if (lastSecond != seconds) { // if a second has passed
    // print the time:
    /* if (hours <= 9) Serial.print("0");    // adjust for 0-9
     Serial.print(hours);
     Serial.print(":");
     if (minutes <= 9) Serial.print("0");  // adjust for 0-9
     Serial.print(minutes);
     Serial.print(":");
     if (seconds <= 9) Serial.print("0");  // adjust for 0-9
     Serial.println(seconds); */
    if (hours <= 9) Console.print("0");    // adjust for 0-9
    Console.print(hours);
    Console.print(":");
    if (minutes <= 9) Console.print("0");  // adjust for 0-9
    Console.print(minutes);
    Console.print(":");
    if (seconds <= 9) Console.print("0");  // adjust for 0-9
    Console.println(seconds);
    // restart the date process:
    if (!date.running()) {
      date.begin("date");
      date.addParameter("+%T");
      date.run();
    }
  }
  //if there's a result from the date process, parse it:
  while (date.available() > 0) {
    // get the result of the date process (should be hh:mm:ss):
    String timeString = date.readString();
    // find the colons:
    int firstColon = timeString.indexOf(":");
    int secondColon = timeString.lastIndexOf(":");
    // get the substrings for hour, minute second:
    String hourString = timeString.substring(0, firstColon);
    String minString = timeString.substring(firstColon + 1, secondColon);
    String secString = timeString.substring(secondColon + 1);
    // convert to ints,saving the previous second:
    hours = hourString.toInt();
    minutes = minString.toInt();
    lastSecond = seconds;          // save to do a time comparison
    seconds = secString.toInt();
  }
}

Write comment (0 Comments)

Since Uno and Mega has no Serial, replace Serial with Console at Bridge Sample IDE code

/*
  Running shell commands using Process class.
 This sketch demonstrate how to run linux shell commands
 using an Arduino Yún. It runs the wifiCheck script on the Linux side
 of the Yún, then uses grep to get just the signal strength line.
 Then it uses parseInt() to read the wifi signal strength as an integer,
 and finally uses that number to fade an LED using analogWrite().
 The circuit:
 * Arduino Yún with LED connected to pin 9
 created 12 Jun 2024
 by Cristian Maglie
 modified 25 June 2024
 by Tom Igoe
 This example code is in the public domain.
 http://www.arduino.cc/en/Tutorial/ShellCommands
   To see the Console, pick your Yún's name and IP address in the Port menu
 then open the Port Monitor. You can also see it by opening a terminal window
 and typing
 ssh root@ yourYunsName.local 'telnet localhost 6571'
 then pressing enter. When prompted for the password, enter it.
 */
#include <Console.h>
#include <Process.h>
void setup() {
  Bridge.begin();	// Initialize the Bridge
  //Serial.begin(9600);	// Initialize the Serial
  // Wait until a Serial Monitor is connected.
  //while (!Serial);
  Console.begin();
  while (!Console) {
    ; // wait for Console port to connect.
  }
}
void loop() {
  Process p;
  // This command line runs the WifiStatus script, (/usr/bin/pretty-wifi-info.lua), then
  // sends the result to the grep command to look for a line containing the word
  // "Signal:"  the result is passed to this sketch:
  p.runShellCommand("/usr/bin/pretty-wifi-info.lua | grep Signal");
  // do nothing until the process finishes, so you get the whole output:
  while (p.running());
  // Read command output. runShellCommand() should have passed "Signal: xx&":
  while (p.available()) {
    int result = p.parseInt();			// look for an integer
    int signal = map(result, 0, 100, 0, 255);	// map result from 0-100 range to 0-255
    analogWrite(9, signal);			// set the brightness of LED on pin 9
    // Serial.println(result);			// print the number as well
    Console.println(result);
  }
  delay(5000);  // wait 5 seconds before you do it again
}

Write comment (0 Comments)

Since Uno and Mega has no Serial, replace Serial with Console at Bridge Sample IDE code

/*
  Write to file using FileIO classes.
 This sketch demonstrate how to write file into the Yún filesystem.
 A shell script file is created in /tmp, and it is executed afterwards.
 created 7 June 2024
 by Cristian Maglie
 This example code is in the public domain.
 http://www.arduino.cc/en/Tutorial/FileWriteScript
  To see the Console, pick your Yún's name and IP address in the Port menu
 then open the Port Monitor. You can also see it by opening a terminal window
 and typing
 ssh root@ yourYunsName.local 'telnet localhost 6571'
 then pressing enter. When prompted for the password, enter it.
 */
#include <Console.h>
#include <FileIO.h>
void setup() {
  // Setup Bridge (needed every time we communicate with the Arduino Yún)
  Bridge.begin();
  // Initialize the Serial
  //Serial.begin(9600);
  //while (!Serial); // wait for Serial port to connect.
  //Serial.println("File Write Script example\n\n");
  Console.begin();
  while (!Console) {
    ; // wait for Console port to connect.
  }
  Console.println("File Write Script example\n\n");
  // Setup File IO
  FileSystem.begin();
  // Upload script used to gain network statistics
  uploadScript();
}
void loop() {
  // Run stats script every 5 secs.
  runScript();
  delay(5000);
}
// this function creates a file into the linux processor that contains a shell script
// to check the network traffic of the WiFi interface
void uploadScript() {
  // Write our shell script in /tmp
  // Using /tmp stores the script in RAM this way we can preserve
  // the limited amount of FLASH erase/write cycles
  File script = FileSystem.open("/tmp/wlan-stats.sh", FILE_WRITE);
  // Shell script header
  script.print("#!/bin/sh\n");
  // shell commands:
  // ifconfig: is a command line utility for controlling the network interfaces.
  //           wlan0 is the interface we want to query
  // grep: search inside the output of the ifconfig command the "RX bytes" keyword
  //       and extract the line that contains it
  script.print("ifconfig wlan0 | grep 'RX bytes'\n");
  script.close();  // close the file
  // Make the script executable
  Process chmod;
  chmod.begin("chmod");      // chmod: change mode
  chmod.addParameter("+x");  // x stays for executable
  chmod.addParameter("/tmp/wlan-stats.sh");  // path to the file to make it executable
  chmod.run();
}
// this function run the script and read the output data
void runScript() {
  // Run the script and show results on the Serial
  Process myscript;
  myscript.begin("/tmp/wlan-stats.sh");
  myscript.run();
  String output = "";
  // read the output of the script
  while (myscript.available()) {
    output += (char)myscript.read();
  }
  // remove the blank spaces at the beginning and the ending of the string
  output.trim();
  //Serial.println(output);
  //Serial.flush();
  Console.println(output);
  Console.flush();
}

Write comment (0 Comments)