read()



Açıklama

Gelen SigFox verilerini okur. read (), Stream yardımcı program sınıfından miras alır.

Sözdizimi

SigFox .read ()

Parametreler

Yok

İadeler

gelen SigFox verilerinin ilk baytı (veya veri yoksa -1) - int

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