ShellCommands

Bu çizim, bir Yún cihazında Linux kabuk komutlarının çalıştırıldığını gösterir.

Linux işlemcisinde wifiCheck komut dosyasını (/usr/bin/pretty-wifi-info.lua adresinde bulunur) çalıştırır, sonra sinyal gücünü almak için grep kullanır.

Kartta, WiFi sinyal gücünü bir tamsayı olarak okumak için analogWrite() ve bu sayıyı analogWrite() ile bir LED'i soldurmak için kullanır.

Gerekli Donanım

  • Yún kartı veya kalkan
  • Kablosuz bir ağa bağlı Yún cihazı
  • 220 ohm direnç
  • LED
  • bağlantı telleri
  • breadboard

Devre

Breadboard üzerindeki 220 ohm direnç üzerinden dijital pim 9'a kırmızı LED bağlandı.

Şematik

Kod

Process sınıfını çiziminize ekleyin. #include <Process.h>

setup() 'de Bridge'i başlatmak ve bir seri bağlantı başlatmak isteyeceksiniz. Çizimin geri kalanını çalıştırmadan önce seri bağlantının etkinleşmesini bekleyin.

void setup() {
  Bridge.begin();
  Serial.begin(9600);

  while (!Serial);
}
[Kodu Al]

WiFi durum komut dosyasını ve grep'i çalıştırmak için kullanacağınız adlandırılmış bir Süreç oluşturun.

void loop ( ) {
İşlem p ;

Ek komutlarla birlikte runShellCommand() çalıştırmak istediğiniz komut dosyasının yolunu runShellCommand() . Bu durumda, yalnızca WiFi bağlantısının sinyal gücünü çıkarmak için "grep Signal" (çağrı) sinyalini çağırırsınız.

p.runShellCommand("/usr/bin/pretty-wifi-info.lua | grep Signal");

Tüm çıktıyı elde etmek için işlem bitene kadar bekleyin

while(p.running());

İşlemin çalışması bittiğinde, sinyal gücünü temsil eden bir tamsayı aramak için parseInt() kullanın. 0 - 100 arasında analogWrite() . analogWrite() map() ile 0 ile 255 arasında bir değerle map() ve analogWrite() 9 analogWrite() ile pin 9'daki LED'in parlaklığını ayarlamak için bu değeri kullanın. Sinyal gücünü seri monitöre yazdırın ve yeniden başlamadan önce birkaç saniye bekleyin.

while ( p. kullanılabilir ( ) ) {
int sonuç = s. parseInt ( ) ;
int sinyali = harita ( sonuç , 0 , 100 , 0 , 255 ) ;
analogWrite ( 9 , sinyal ) ;
Seri . println ( sonuç ) ;
}
gecikme ( 5000 ) ;
}

WiFi sinyal gücü dalgalandıkça LED parlaklığını değiştirmelidir.

Çizimin tamamı aşağıdadır:

/ *
Process sınıfını kullanarak kabuk komutlarını çalıştırma.

Bu çizim, linux shell komutlarının nasıl çalıştırılacağını gösterir
YunShield / Yún kullanarak. Linux tarafında wifiCheck komut dosyasını çalıştırır
sonra, sadece sinyal gücü hattını elde etmek için grep kullanır.
Sonra wifi sinyal gücünü bir tamsayı olarak okumak için parseInt () kullanır,
ve son olarak, analogWrite () kullanarak bir LED'in solması için bu sayıyı kullanır.

Devre:
* YunShield / Yún, pim 9'a bağlı LED ile

oluşturuldu 12 Haz 2013
ile Cristian Maglie
değiştirildi 25 Haziran 2013
tarafından Tom Igoe

Bu örnek kod kamu malıdır.

http: egitim.aspx e = ShellCommands

* /


#include <Process.h>

void setup ( ) {
Köprü. begin ( ) ; // Köprüyü başlat
SerialUSB. başlar ( 9600 ) ; // Seriyi Başlat

// Seri Monitör bağlanana kadar bekleyin.
süre ( ! SerialUSB ) ;
}

void loop ( ) {
İşlem p ;
// Bu komut satırı WifiStatus komut dosyasını (/usr/bin/pretty-wifi-info.lua) çalıştırır,
// kelimeyi içeren bir satırı aramak için sonucu grep komutuna gönderir
// "Sinyal:" sonuç bu taslağa aktarılır:
s. runShellCommand ( "/usr/bin/pretty-wifi-info.lua | grep Sinyali" ) ;

// işlem bitene kadar hiçbir şey yapmaz, böylece tüm çıktıyı elde edersiniz:
süre ( s. çalışıyor ( ) ) ;

// Komut çıktısını oku. runShellCommand (), "Signal: xx &" iletisini geçmelidir:
while ( p. kullanılabilir ( ) ) {
int sonuç = s. parseInt ( ) ; // bir tam sayı arayın
int sinyali = harita ( sonuç , 0 , 100 , 0 , 255 ) ; // 0-100 aralığından 0-255'e kadar harita sonucu
analogWrite ( 9 , sinyal ) ; // pim 9'daki LED'in parlaklığını ayarlama
SerialUSB. println ( sonuç ) ; // numarayı da yazdır
}
gecikme ( 5000 ) ; // tekrar yapmadan önce 5 saniye bekleyin
}

See Also

  • Bridge Library- Köprü Kütüphanesine referansınız
  • Bridge- Analog ve dijital pinlere erişmek için basit REST tarzı çağrılar
  • Console Ascii Table- Konsola yazdırılan eksiksiz bir ASCII tablosu
  • Console Pixel- Konsoldan bir LED'i açma ve kapatma
  • Console Read- Console.read () işlevini kullanarak köprüden gelen verileri okuma
  • Data Logger- Üç analog sensörden bir SD karta veri kaydedin.
  • File Write- Dosya Yún dosya sistemine nasıl yazılır.
  • Http Client- İnternete bağlanan ve içeriği indiren temel bir HTTP istemcisi.
  • Http Client Console- Bağlanan, içeriği indiren ve WiFi ve Konsol kullanarak içeriği gösteren HTTP istemcisi.
  • Mailbox Read Message- Köprü kitaplığını kullanarak Posta Kutusu adlı ileti sırasını okuma.
  • Process- Bir Yún kullanarak linux süreçleri nasıl çalıştırılır.
  • Remote Due Blink- DUE panolarına uzaktan taslak yükleme.
  • Temperature Web Panel- Yún'ın yerleşik web sunucusu üzerinden bir analog girişten veri sunma.
  • Time check- Bridge üzerinden Linux'tan zamanı alır, sonra saatleri, dakikaları ve saniyeleri ayrıştırır.
  • WiFi Status- Wifi bağlantınızın durumu hakkında bilgi yazdırır.
  • Yún First Configuration- Seri Monitör ve USB bağlantı noktasını kullanarak Yún cihazınızı kolayca yapılandırın.
  • Serial Terminal- Yún'ın 32U4 işlemcisini, Yún'daki Linux tarafı için seri terminal olarak kullanın.