Eğitimler
FileWriteScript
Bu örnek, YUn aygıtının dosya sistemine FileIO sınıflarını kullanan bir dosyaya yazar. / Tmp içinde bir kabuk komut dosyası oluşturulur ve daha sonra yürütülür.
Gerekli Donanım
- Yún kartı veya kalkan
Devre
Bu örnek için devre yok.
Kod
Dosya sistemiyle iletişim kurmak için FileIO başlığını ekleyin.
#include < FileIO .h>
setup()
Bridge, Seri iletişim ve FileSystem'ı başlatın . Etkin bir seri bağlantı bekleyin ve loop()
başlatmadan önce dosyanızı yükleyecek özel bir işlev uploadScript()
işlevini uploadScript()
.
Bridge.begin();
Serial.begin(9600);
while(!Serial); // wait for Serial port to connect.
Serial.println("File Write Script example\n\n");
FileSystem.begin();
uploadScript();
}
loop()
sadece 5 saniyede bir başka bir özel işlev olan runScript()
çağırarak komut dosyanızı yürütür.
runScript ( ) ;
gecikme ( 5000 ) ;
}
uploadScript()
işleviniz Linux dosya sisteminde WiFi arabiriminin ağ trafiğini kontrol edecek bir kabuk betiği oluşturur. Dosyayı oluşturun ve File@ class, and calling
bir örneğini oluşturarak ve komut dosyasını nerede oluşturmak istediğinizi belirten FileSystem .open () @@ öğesini File@ class, and calling
açın. Sınırlı sayıda FLASH bellek okuma / yazma döngüsünü korumak için betiği RAM'de bulunan "/ tmp" içinde saklayacaksınız.
Dosya betiği = Dosya Sistemi. open ( "/tmp/wlan-stats.sh" , FILE_WRITE ) ;
Komut dosyasının içeriğini File.print()
ile dosyaya File.print()
. "#! / bin / s" başlığını, ardından ifconfig
yardımcı programını yazdırarak başlayın. @ ifconfig @ ağ arabirimlerini kontrol etmek için kullanılan bir komut satırı yardımcı programıdır. "wlan0" olarak adlandırılan WiFi arayüzüne bakacaksınız. Yardımcı program grep
, ifconfig
çıktısını arar. Alınan bayt sayısını arıyorsunuz, bu nedenle "RX bayt" anahtar kelimelerini arayın ve dosyayı kapatın.
senaryo. print ( "ifconfig wlan0 | grep 'RX bayt' \ n " ) ;
senaryo. close ( ) ; // dosyayı kapat
Komut dosyasını yürütülebilir hale getirmek için bir İşlem başlatın. chmod@ is a command that will change the modes of files. By sending the
Chmod @@ komutunu ve dosya yolunu chmod@ is a command that will change the modes of files. By sending the
kabuk betiğinizin bir uygulama gibi çalışmasını sağlayabilirsiniz.
chmod. başlar ( "chmod" ) ; // chmod: modu değiştir
chmod. addParameter ( "+ x" ) ; // x çalıştırılabilir durumda kalır
chmod. addParameter ( "/tmp/wlan-stats.sh" ) ;
chmod. run ( ) ;
}
runScript()
işlevi, komut dosyasını çalıştıran ve sonuçları Seri Monitöre yazdıran bir İşlem oluşturur. Adlandırılmış bir Process oluşturun ve Process.begin(filepath)
ve Process.run()
çağırarak komut dosyanızı başlatın.
İşlem myscript ;
myscript. başlar ( "/tmp/wlan-stats.sh" ) ;
myscript. run ( ) ;
Çıktıyı tutmak için bir dize oluşturun ve çıktıyı içine okuyun
while ( myscript. available ( ) ) {
output + = ( karakter ) myscript. read ( ) ;
}
Dizenin başındaki ve sonundaki boşlukları kaldırın ve seri monitöre yazdırın:
Seri . println ( çıktı ) ;
Seri . flush ( ) ;
}
Çizimin tamamı aşağıdadır:
FileIO sınıflarını kullanarak dosyaya yazın.
Bu çizim, YunShield / Yún dosya sistemine nasıl dosya yazılacağını göstermektedir.
/ Tmp içinde bir kabuk komut dosyası oluşturulur ve daha sonra yürütülür.
oluşturuldu 7 Haziran 2010
ile Cristian Maglie
Bu örnek kod kamu malıdır.
http: egitim.aspx e = FileWriteScript
* /
#include <FileIO.h>
void setup ( ) {
// Kurulum Köprüsü (Arduino Yún ile her iletişim kurduğumuzda gerekir)
Köprü. begin ( ) ;
// Seriyi Başlat
SerialUSB. başlar ( 9600 ) ;
süre ( ! SerialUSB ) ; // Seri bağlantı noktasının bağlanmasını bekleyin.
SerialUSB. println ( "Dosya Yazma Komut Dosyası örneği \ n \ n " ) ;
// Kurulum Dosyası ES
Dosya sistemi. begin ( ) ;
// Ağ istatistikleri elde etmek için kullanılan komut dosyasını yükle
uploadScript ( ) ;
}
void loop ( ) {
// İstatistik komut dosyasını her 5 saniyede bir çalıştırın.
runScript ( ) ;
gecikme ( 5000 ) ;
}
// bu işlev linux işlemciye bir kabuk betiği içeren bir dosya oluşturur
// WiFi arayüzünün ağ trafiğini kontrol etmek için
void uploadScript ( ) {
// kabuk betiğimizi / tmp
// / tmp komutunu kullanarak komut dosyasını RAM'de bu şekilde saklayabiliriz
// sınırlı miktarda FLASH silme / yazma döngüsü
Dosya betiği = Dosya Sistemi. open ( "/tmp/wlan-stats.sh" , FILE_WRITE ) ;
// Kabuk komut dosyası başlığı
senaryo. print ( "#! / bin / sh \ n " ) ;
// kabuk komutları:
// ifconfig: ağ arabirimlerini kontrol etmek için kullanılan bir komut satırı yardımcı programıdır.
// wlan0 sorgulamak istediğimiz arayüz
// grep: "RX bayt" anahtar kelimesinin ifconfig komutunun çıktısında arama yapın
// ve onu içeren satırı çıkarın
senaryo. print ( "ifconfig wlan0 | grep 'RX bayt' \ n " ) ;
senaryo. close ( ) ; // dosyayı kapat
// Komut dosyasını yürütülebilir yapın
İşlem chmod ;
chmod. başlar ( "chmod" ) ; // chmod: modu değiştir
chmod. addParameter ( "+ x" ) ; // x çalıştırılabilir durumda kalır
chmod. addParameter ( "/tmp/wlan-stats.sh" ) ; // dosyayı çalıştırılabilir hale getirmek için yol
chmod. run ( ) ;
}
// bu işlev komut dosyasını çalıştırır ve çıktı verilerini okur
void runScript ( ) {
// Komut dosyasını çalıştırın ve sonuçları Seri'de gösterin
İşlem myscript ;
myscript. başlar ( "/tmp/wlan-stats.sh" ) ;
myscript. run ( ) ;
String output = "" ;
// betiğin çıktısını oku
while ( myscript. available ( ) ) {
output + = ( karakter ) myscript. read ( ) ;
}
// dizenin başında ve sonundaki boşlukları kaldır
çıktı. trim ( ) ;
SerialUSB. println ( çıktı ) ;
SerialUSB. flush ( ) ;
}
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.
- 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.
- Shell Commands- Bir Yún kullanarak linux kabuk komutları nasıl çalıştırılır.
- 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.