Eğitimler
YunSerialTerminal
Bu örnek, Yún'ın 32U4 işlemcisini veya blendaja bağlı kartın mikro denetleyicisini Linux işlemcisi için seri terminal olarak çalışma sağlar.
Bunu USB üzerinden bir Ynn cihazına göre ( WiFi üzerinden değil), ardından Linux işlemcisinin önyükleme işlemini görmek için 115200bps'de seri monitörü açın. Linux için temel bir komut satırı arayüzü olarak da kullanılır.
Seri monitörden günün komutlar verilebilir:
- '~' ardından '0' -> UART hızını 57600 baud olarak uygulanır
- '~' ardından '1' -> UART hızını 115200 baud olarak uygulanır
- '~' ardından '2' -> UART hızını 250000 baud olarak uygulanır
- '~' ardından '3' -> UART hızını 500000 baud olarak uygulanır
- '~' taki '~' -> Konsolu elde etmek için köprünün kapatma komutunu gönderir.
Gerekli Donanım
- Yún kartı veya kalkan
devre
Bu örnek için devre yok.
Kod
İşlemcilerin iletişim kuracağı baud hızını korumak için değişken değişken.
uzun linuxBaud = 250000 ;
boolean commandMode = yanlış ;
boolean commandMode = yanlış ;
[Kodu Al]
Kurulumda ve Linux'a seri bağlantıyı açın setup()
void setup ( ) {
Seri . başlar ( 115200 ) ;
Seri1 . başlar ( linuxBaud ) ;
}
Seri . başlar ( 115200 ) ;
Seri1 . başlar ( linuxBaud ) ;
}
loop()
bir seri bağlantıdan diğerine veri kopyalayın. "~" Karakteri geçildiyse, komut girmek girin.
void loop ( ) {
// sanal seri satırından kopyala veya tersi
if ( Seri . kullanılabilir ( ) ) { // USB Seri'den bir şey aldı mı?
char c = ( char ) Seri . read ( ) ; // USB dizisinden okuma
if ( commandMode == false ) { // komut modunda olabilir ...
(c == '~') {// Yaklaşık işareti '~' sıralamalıldığında?
commandMode = true ; // komut dosyasının gir
} başka {
Seri1 . yazma ( c ) ; // aksi halde Linux'a char yaz
}
} başka { // komut modundaysak ...
(c == '0') {// '0' bulunabilir basıldığında?
Seri1 . başlar ( 57600 ) ; // hızı 57600 olarak çalışır
Seri . println ( "Hız 57600'e ayarlı" ) ;
} Başka (C == '1') {// '1' dahildir basıldığında?
Seri1 . başlar ( 115200 ) ; // hızı 115200 olarak görüntülemek
Seri . println ( "Hız 115200'e ayarlandı" ) ;
} Başka (c == '2') {// '2' klasör basıldığında?
Seri1 . başlar ( 250000 ) ; // hızı 250000 olarak görüntüleyin
Seri . println ( "Hız 250000'e ayarlandı" ) ;
} Başka (c == '3') {// '3' klasör basıldığında?
Seri1 . başlar ( 500000 ) ; // hızı 500000 olarak çalışır
Seri . println ( "Hız 500000 olarak ayarlandı" ) ;
} else if ( c == '~' ) {
Seri1 . Yazma ((uint8_t *) "\ xff \ 0 \ 0 \ X05, XXXXX \ x0d \ XAF", 11);
Seri . println ( "Köprü kapatma komutu gönderiliyor" ) ;
} else { // başka bir tuşa basıldı mı?
Seri1 . yazma ( '~' ) ; // Linux'a '~' yaz
Seri1 . yazma ( c ) ; // Linux'a karakter yaz
}
commandMode = yanlış ; // her durumda komut modundan çık
}
}
if ( Serial1 . available ( ) ) { // Linux'tan bir şey aldı mı?
char c = ( char ) Seri1 . read ( ) ; // Linux'tan okuma
Seri . yazma ( c ) ; // USB seriye yaz
}
}
// sanal seri satırından kopyala veya tersi
if ( Seri . kullanılabilir ( ) ) { // USB Seri'den bir şey aldı mı?
char c = ( char ) Seri . read ( ) ; // USB dizisinden okuma
if ( commandMode == false ) { // komut modunda olabilir ...
(c == '~') {// Yaklaşık işareti '~' sıralamalıldığında?
commandMode = true ; // komut dosyasının gir
} başka {
Seri1 . yazma ( c ) ; // aksi halde Linux'a char yaz
}
} başka { // komut modundaysak ...
(c == '0') {// '0' bulunabilir basıldığında?
Seri1 . başlar ( 57600 ) ; // hızı 57600 olarak çalışır
Seri . println ( "Hız 57600'e ayarlı" ) ;
} Başka (C == '1') {// '1' dahildir basıldığında?
Seri1 . başlar ( 115200 ) ; // hızı 115200 olarak görüntülemek
Seri . println ( "Hız 115200'e ayarlandı" ) ;
} Başka (c == '2') {// '2' klasör basıldığında?
Seri1 . başlar ( 250000 ) ; // hızı 250000 olarak görüntüleyin
Seri . println ( "Hız 250000'e ayarlandı" ) ;
} Başka (c == '3') {// '3' klasör basıldığında?
Seri1 . başlar ( 500000 ) ; // hızı 500000 olarak çalışır
Seri . println ( "Hız 500000 olarak ayarlandı" ) ;
} else if ( c == '~' ) {
Seri1 . Yazma ((uint8_t *) "\ xff \ 0 \ 0 \ X05, XXXXX \ x0d \ XAF", 11);
Seri . println ( "Köprü kapatma komutu gönderiliyor" ) ;
} else { // başka bir tuşa basıldı mı?
Seri1 . yazma ( '~' ) ; // Linux'a '~' yaz
Seri1 . yazma ( c ) ; // Linux'a karakter yaz
}
commandMode = yanlış ; // her durumda komut modundan çık
}
}
if ( Serial1 . available ( ) ) { // Linux'tan bir şey aldı mı?
char c = ( char ) Seri1 . read ( ) ; // Linux'tan okuma
Seri . yazma ( c ) ; // USB seriye yaz
}
}
Kodun tümü aşağıdadır:
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.
- 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.