Eğitimler
GSMExamplesSendSMS
Arduino veya Genuino kartından bir SMS mesajı gönderir. Arduino Yazılımının (IDE) seri monitörünü kullanarak bağlanacak numarayı ve gönderilecek metin mesajını gireceksiniz.
Gerekli Donanım
- Arduino veya Genuino Kurulu
- Arduino + Telefonica GSM / GPRS Kalkanı
- SIM kart
devre
Kod
İlk olarak, GSM kütüphanesini içe aktarın
#include <GSM.h>
SIM kartların işlevlerini etkinleştiren bir PIN numarası olabilir. SIM'inizin PIN kodunu tanımlayın. SIM'inizde PIN'i yoksa boş bırakabilir:
#define PINNUMBER ""
Kullanacağınız sınıfların örneklerini inceleyin. Hem GSM hem de GSM_SMS sınıfına göre olacak.
GSM_SMS sms ;
setup
, seri seri bir bağlantı açın. Bağlantıyı açmaya sonra çizimin başladığını belirten bir mesaj gönderin.
Seri . başlar ( 9600 ) ;
Seri . println ( "SMS Mesaj Göndereni" ) ;
Bağlantı durumunu izlemek için yerel bir değişkenliğini izleyin. SIM'in ağa bağlanmasına kadar çizimin başlamasına kesinlikle için bunu yapınsınız:
gsmAccess.begin()
çağırarak ağa bağlanın. SIM kartın PIN kodunu argüman olarak alır. Bunu bir while()
döngüüsünün içine yerleştirerek, bağlantının durumunu sürekli olarak kontrol edebilirsiniz. Modem bağlanır, gsmAccess()
GSM_READY
değerini döndürür. notConnected
değişkenini true
veya false
olarak ayarlamak için notConnected
bayrak olarak kullanın. Bağlanıyor sonra, setup
geri kalanı çalışır.
{
Eger (gsmAccess. baslar (PINNUMBER) == GSM_READY)
notConnected = yanlış ;
Başka
{
Seri . println ( "Bağlı değil" ) ;
gecikme ( 1000 ) ;
}
}
Seri monitöre bazı bilgilerle setup
tamamlayın.
}
int
readSerial
adlı bir işlev çalıştırmak. Bunu, seri monitörden gelen giriş, SMS göndermek için numarayı ve göndereceğim mesajı saklamak için gereklisınız. Bir char
dizisini argüman olarak kabul etmelidir.
{
Seri arabelleğindeki öğeler arasında saymak için bir değişkenlikte ve sürekli olarak seçtiğinizecek bir while
döngüsü altında.
süre ( 1 )
{
Seri bilgileri mevcut olduğu hakkında, özellikler inChar
adlı bir değişkene inChar
.
{
char inChar = Seri . read ( ) ;
Okunmakta olan karakter yeni bir satırsa, diziyi sonlandırın, seri arabelleği içindir ve işlevden çıkın.
{
sonuç [ i ] = ' \ 0 ' ;
Seri . flush ( ) ;
dönüş 0 ;
}
ASCII karakteri ise, diziye ekleyin ve dizini artırın. while
döngüsel ve çalışır durumda.
{
sonuç [ i ] = inChar ;
i ++;
}
}
}
}
In loop
, bir olusturmak char
Adlı diziyi remoteNumber
boyutu SMS gondermek istediginiz numarayı tutmak icin. Oluşturdugunuz Az önce readSerial
işlevini readSerial
ettik remoteNumber
Bağımsız Değişken Olarak remoteNumber
. readSerial
yürütüldüğünde, remoteNumber
iletiyi göndermek için numarayla doldurur.
char remoteNumber [ 20 ] ;
readSerial ( remoteNumber ) ;
Seri . println ( remoteNumber ) ;
txtMsg
adlı yeni bir char
dizisi içindir. Bu, SMS'inizin olduğu tutacaktır. txtMsg
doldurmak için readSerial
.
char txtMsg [ 200 ] ;
readSerial ( txtMsg ) ;
Çağrı sms.beginSMS()
ve bu da geçer remoteNumber
mesaj, sms.print()
mesaj göndermek için ve sms.endSMS()
için gerekli. Bazı tanılama için yazdırmaın ve loop
içindir. Mesajınız geliyor!
Seri . println ( ) ;
Seri . println ( "Mesaj:" ) ;
Seri . println ( txtMsg ) ;
SMS. beginSMS ( remoteNumber ) ;
SMS. baskı ( txtMsg ) ;
SMS. endSMS ( ) ;
Seri . println ( " \ n TAMAM! \ n " ) ;
}
Kodunuz yüklendikten sonra seri monitörü açın. Seri monitörün sadece dönüşte yeni satır karakteri gönderecek şekilde ayarlandığından emin olun. Aramak istediğiniz numarayı girmeniz istendiğinde, sayıları girin ve geri dönmek için gerekli. Daha sonra mesajınızı girmeniz istenir. Bunu yazdıktan sonra, göndermek için geri dönmektedir.
Çizimin listesinde lütfendır.
See Also
- GSMinşaatçı
- GSM.begin()
- GSM.shutdown()
- GSM_SMSinşaatçı
- beginSMS()
- ready()
- endSMS()
- available()
- remoteNumber()
- read()
- write()
- print()
- peek()
- flush()
- Arduino GSM Shield- Komple ürün açıklaması.
- Getting started with the GSM Shield- Her şeyi dakikalar içinde kurun.
- GSM library- GSM Kütüphanesi için referansınız.
- GSMExamplesMakeVoiceCall- Mikrofon ve hoparlör ile sesli arama nasıl yapılır.
- GSMExamplesReceiveVoiceCall- Çağrı alınır ve bağlanır, aranan numara seri monitörde gösterilir ve çağrı kapatılır.
- GSMExamplesReceiveSMS- SMS mesajı nasıl alınır.
- GSMExamplesWebServer- Bir istemciden istek alındığında Analog girişlerde okunan değeri geri gönderen bir web sunucusu.
- GSMExamplesWebClient- Arduino.cc ana sayfasına bağlanın ve içindekileri seri monitör penceresinde yazdırın.
- GSMToolsTestGPRS- Verilen APN ve kimlik bilgileriyle GPRS üzerinden internete erişmeye çalışır.