GSMToolsTestModem

Bu çizim, doğru çalışıp çalışmadığını görmek için GSM kalkanındaki modemi test eder. Bu örnek için bir SIM karta ihtiyacınız yoktur.

Gerekli Donanım

Devre

Kod

İlk olarak, GSM kütüphanesini içe aktarın

#include <GSM.h>

GSMModem sınıfının bir örneğini oluşturun:

GSMModem modem;

Modemin IMEI numarasını tutmak için bir değişken oluşturun

String IMEI = "";
[Kodu Al]

setup , bilgisayara seri bir bağlantı açın. Bağlantıyı açtıktan sonra çizimin başladığını belirten bir mesaj gönderin.

void setup ( ) {
Seri . başlar ( 9600 ) ;
Seri . print ( "Modem testi başlatılıyor ..." ) ;

Modemi başlatmak için modem.begin() çağırın. Sonuca bağlı olarak bir durum mesajı gönderin ve setup() sonlandırın setup() .

if ( modem. begin ( ) )
Seri . println ( "modem.begin () başarılı" ) ;
Başka
Seri . println ( "HATA, modem yanıtı yok." ) ;
}

loop içinde, modemin IMEI numarasını döndürmek için modem.getIMEI() kullanın. Bu numara GSM kalkanınıza özgüdür.

void loop ( )
{
// modem IMEI'sini al
Seri . print ( "IMEI kontrol ediliyor ..." ) ;
IMEI = modem. getIMEI ( ) ;

getIMEI() den geçerli bir yanıt varsa, seri monitöre yazdırın ve modemi modem.begin() ile sıfırlayın.

eğer ( IMEI ! = NULL )
{
// seri monitörde IMEI göster
Seri . println ( "Modem'in IMEI:" + IMEI ) ;
// önyüklemeyi kontrol etmek için modemi sıfırlayın:
Seri . print ( "Modem sıfırlanıyor ..." ) ;
modem. begin ( ) ;

Sıfırladıktan sonra, IMEI'yi tekrar kontrol edin. Tekrar geçerli bir dönüşse, modem beklendiği gibi çalışıyor.

if ( modem. getIMEI ( ) ! = NULL )
{
Seri . println ( "Modem düzgün çalışıyor" ) ;
}

Modemi sıfırladıktan sonra getIMEI() geçerli bir geri dönüş getIMEI() hata getIMEI()

Başka
{
Seri . println ( "Hata: modem.begin ()" den sonra getIMEI () başarısız oldu ) ;
}

Taslağa başladıktan sonra hiç IMEI almadıysanız, raporu bildirin ve programı sonlandırın.

}
Başka
{
Seri . println ( "Hata: IMEI alınamadı" ) ;
}
// hiçbir şey yapma:
while ( true ) ;
}

Kodunuz yüklendikten sonra seri monitörü açın. Http://arduino.cc HTML'nin alındığında ekranda çıktısını görmelisiniz.

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

/ *

Bu örnek, cihazın modeminin
GSM kalkanı düzgün çalışıyor. İhtiyacın yok
bu örnek için bir SIM kart.

Devre:
* GSM kalkanı takılı

12 Haz 2012 tarihinde oluşturuldu
ile David del Peral
değiştirildi 21 Kas 2012
tarafından Tom Igoe

http: egitim.aspx e = GSMToolsTestModem

Bu örnek kod, genel alanın bir parçasıdır

* /


// kütüphaneler
#include <GSM.h>

// modem doğrulama nesnesi
GSMModem modem ;

// IMEI değişkeni
Dize IMEI = "" ;

void setup ( ) {
// seri iletişimi başlatın ve portun açılmasını bekleyin:
Seri . başlar ( 9600 ) ;
while ( ! Seri ) {
; // seri portun bağlanmasını bekleyin. Yalnızca Leonardo için gerekli
}

// modem testini başlat (yanıtı sıfırla ve kontrol et)
Seri . print ( "Modem testi başlatılıyor ..." ) ;
if ( modem. begin ( ) ) {
Seri . println ( "modem.begin () başarılı" ) ;
} başka {
Seri . println ( "HATA, modem yanıtı yok." ) ;
}
}

void loop ( ) {
// modem IMEI'sini al
Seri . print ( "IMEI kontrol ediliyor ..." ) ;
IMEI = modem. getIMEI ( ) ;

// IMEI yanıtını kontrol et
eğer ( IMEI ! = NULL ) {
// seri monitörde IMEI göster
Seri . println ( "Modem'in IMEI:" + IMEI ) ;
// önyüklemeyi kontrol etmek için modemi sıfırlayın:
Seri . yazdır ( "Modemi sıfırlanıyor ..." ) ;
modem. begin ( ) ;
// IMEI'yi bir kez daha alın ve kontrol edin
if ( modem. getIMEI ( ) ! = NULL ) {
Seri . println ( "Modem düzgün çalışıyor" ) ;
} başka {
Seri . println ( "Hata: modem.begin ()" den sonra getIMEI () başarısız oldu ) ;
}
} başka {
Seri . println ( "Hata: IMEI alınamadı" ) ;
}
// hiçbir şey yapma:
while ( true ) ;
}

See Also