available()



Açıklama

Okunacak bayt (karakter) sayısını alın. Bu, önceden alınmış ve bir alma arabelleğinde (8 bayt tutar) saklanan verilerdir. available (), Stream yardımcı program sınıfından miras alır.

Sözdizimi

SigFox. Mevcut ()

Parametreler

Yok

İadeler

okunabilecek bayt sayısı

Misal

/ *
SigFox İlk Yapılandırma

Bu çizim MKRFox1200 SigFox modülünün kullanımını göstermektedir.
Kart düşük güç düşünülerek tasarlandığından, doğrudan ArduinoLowPower kütüphanesine bağlıdır

Bu örnek kod kamu malıdır.
* /


#include <SigFox.h>
#include <ArduinoLowPower.h>

void setup ( ) {
Seri . başlar ( 9600 ) ;
while ( ! Seri ) { } ;

// Özel bir kartla çalışıyorsanız bu satırı açıp yorum başlayacaktır ()
// if (! SigFox.begin (SPI1, 30, 31, 33, 28, LED_BUILTIN)) {
eğer ( ! SigFox. begin ( ) ) {
Seri . println ( "Kalkan hatası veya yok!" ) ;
dönüş ;
}
// Hata ayıklama ledini etkinleştir ve otomatik derin uyku özelliğini devre dışı bırak
// Projenizi gönderirken bu satırı yorumlayın :)
SigFox. debug ( ) ;

Dize sürümü = SigFox. SigVersion ( ) ;
Dize Kimliği = SigFox. ID ( ) ;
String PAC = SigFox. PAC ( ) ;

// Ekran modülü bilgileri
Seri . println ( "MKRFox1200 Sigfox ilk yapılandırması" ) ;
Seri . println ( "SigFox FW sürümü" + sürüm ) ;
Seri . println ( "Kimlik =" + Kimlik ) ;
Seri . println ( "PAC =" + PAC ) ;

Seri . println ( "" ) ;

Seri . baskı ( "Modül sıcaklığı:" ) ;
Seri . println ( SigFox. internalTemperature ( ) ) ;

Seri . println ( " Tahtanızı https://backend.sigfox.com/activate adresine verilen kimlik ve PAC ile kaydedin" ) ;

gecikme ( 100 ) ;

// Modülü en derin uyku moduna gönderin
SigFox. end ( ) ;

Seri . println ( "Gönderilecek mesajı yazın" ) ;
while ( ! Serial . available ( ) ) ;

Dize mesajı ;
while ( Seri . kullanılabilir ( ) ) {
mesaj + = ( karakter ) Seri . read ( ) ;
}

// Her SigFox paketi 12 baytı aşamaz
// Dize daha uzunsa, yalnızca ilk 12 bayt gönderilir

if ( mesaj. uzunluk ( ) > 12 ) {
Seri . println ( "Mesaj çok uzun, yalnızca ilk 12 bayt gönderilecek" ) ;
}

Seri . println ( "Gönderiliyor" + mesajı ) ;

// EOL'yi kaldır
İleti. trim ( ) ;

// Gönderilebilecek mesaj örneği
// sendString (mesaj);

Seri . println ( "Yanıtın alınması 50 saniye kadar sürer" ) ;
Seri . println ( "İşlem devam ederken LED yanıp söner" ) ;

// Gönderme ve okuma yanıtı örneği
sendStringAndGetResponse ( mesaj ) ;
}

void loop ( )
{
}

void sendString ( String str ) {
// Modülü başlat
SigFox. begin ( ) ;
// İlk yapılandırmadan sonra en az 30mS bekleyin (100mS önce)
gecikme ( 100 ) ;
// Bekleyen tüm kesintileri temizler
SigFox. durum ( ) ;
gecikme ( 1 ) ;

SigFox. beginPacket ( ) ;
SigFox. baskı ( str ) ;

int ret = SigFox. endPacket ( ) ; // SIGFOX ağına arabellek gönder
if ( ret > 0 ) {
Seri . println ( "İletim yok" ) ;
} başka {
Seri . println ( "İletim tamam" ) ;
}

Seri . println ( SigFox. durumu ( SIGFOX ) ) ;
Seri . println ( SigFox. durumu ( ATMEL ) ) ;
SigFox. end ( ) ;
}

void sendStringAndGetResponse ( String str ) {
// Modülü başlat
SigFox. begin ( ) ;
// İlk yapılandırmadan sonra en az 30mS bekleyin (100mS önce)
gecikme ( 100 ) ;
// Bekleyen tüm kesintileri temizler
SigFox. durum ( ) ;
gecikme ( 1 ) ;

SigFox. beginPacket ( ) ;
SigFox. baskı ( str ) ;

int ret = SigFox. endPacket ( gerçek ) ; // SIGFOX ağına arabellek gönder ve yanıt bekle
if ( ret > 0 ) {
Seri . println ( "İletim yok" ) ;
} başka {
Seri . println ( "İletim tamam" ) ;
}

Seri . println ( SigFox. durumu ( SIGFOX ) ) ;
Seri . println ( SigFox. durumu ( ATMEL ) ) ;

if ( SigFox. parsePacket ( ) ) {
Seri . println ( "Sunucudan yanıt:" ) ;
ise (SigFox. mevcuttur ()) {
Seri . yazdır ( "0x" ) ;
Seri . println ( SigFox. read ( ) , HEX ) ;
}
} başka {
Seri . println ( "Sunucudan yanıt alınamadı " ) ;
Seri . println ( "Bölgenizdeki SigFox kapsamını kontrol edin" ) ;
Seri . println ( "İç mekandaysanız, 20dB kapsama alanını kontrol edin veya bir pencerenin yanına gidin" ) ;
}
Seri . println ( ) ;

SigFox. end ( ) ;
}

Ayrıca bakınız