mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-18 12:54:25 +01:00
Made ShellCommands example more physical
This commit is contained in:
parent
86438fc84b
commit
20be75fe77
@ -3,18 +3,21 @@
|
|||||||
Running shell coommands using Process class.
|
Running shell coommands using Process class.
|
||||||
|
|
||||||
This sketch demonstrate how to run linux shell commands
|
This sketch demonstrate how to run linux shell commands
|
||||||
using an Arduino Yún.
|
using an Arduino Yún. It runs the wifiCheck script on the linino side
|
||||||
|
of the Yun, 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:
|
The circuit:
|
||||||
* Arduino Yun
|
* Arduino Yun with LED connected to pin 9
|
||||||
|
|
||||||
created 12 Jun 2013
|
created 12 Jun 2013
|
||||||
by Cristian Maglie
|
by Cristian Maglie
|
||||||
modified 21 June 2013
|
modified 25 June 2013
|
||||||
by Tom Igoe
|
by Tom Igoe
|
||||||
|
|
||||||
This example code is in the public domain.
|
This example code is in the public domain.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <Process.h>
|
#include <Process.h>
|
||||||
@ -27,15 +30,23 @@ void setup() {
|
|||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
Process p;
|
Process p;
|
||||||
// This command line prints the name of the wireless network
|
// This command line runs the wifiCheck script, (lua /arduino/pretty...), then
|
||||||
// that the board is connected to, or the network which the board has created:
|
// sends the result to the grep command to look for a line containing the word
|
||||||
p.runShellCommand(F("lua /usr/lib/lua/pretty_wifi_info.lua | grep SSID"));
|
// "Signal:" the result is passed to this sketch:
|
||||||
|
p.runShellCommand("lua /arduino/pretty_wifi_info.lua | grep Signal");
|
||||||
|
|
||||||
// Read command output
|
// 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()) {
|
while (p.available()) {
|
||||||
char c = p.read();
|
int result = p.parseInt(); // look for an integer
|
||||||
Serial.print(c);
|
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
|
||||||
}
|
}
|
||||||
while (true); // do nothing more
|
delay(5000); // wait 5 seconds before you do it again
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user