Eğitimler
MKRGSMExamplesSSLWebClient
Bu çizim bir Arduino MKR GSM 1400 kartını GSM ağı üzerinden Arduino ana sayfasına ( http://arduino.cc) bağlar. Daha sonra sayfanın içeriğini Arduino Yazılımının (IDE) seri monitörü üzerinden yazdırır.
Gerekli Donanım
- Arduino MKR GSM 1400
- anten
- Veri için SIM kart etkinleştirme
Devre
Kod
İlk olarak, GSM kütüphanesini içe aktarın
#include <MKRGSM.h>
SIM kartların işlevlerini etkinleştiren bir PIN numarası olabilir. SIM'inizin PIN kodunu tanımlayın. SIM'inizde PIN yoksa boş bırakabilirsiniz:
#define PINNUMBER ""
Bağlanacağınız GPRS ağı hakkında bilgi içeren bir dizi sabit tanımlayın. Erişim Noktası Adı (APN), oturum açma adı ve parola gerekir. Bu bilgileri edinmek için en güncel bilgiler için şebeke sağlayıcınıza başvurun. Bu sayfada çeşitli operatör ayarları hakkında bazı bilgiler var, ancak güncel olmayabilir.
#define GPRS_LOGIN "login"
#define GPRS_PASSWORD "password"
Kullanacağınız sınıfların örneklerini başlatın. GSM, GPRS ve GSMClient sınıflarına ihtiyacınız olacak.
GPRS gpr'leri ;
GSM gsmAccess ;
Bağlanmak istediğiniz sunucuyu, yolu ve bağlantı noktasını tutmak için bazı değişkenler oluşturun.
char yolu [ ] = "/" ;
int bağlantı noktası = 443 ;
setup
, bilgisayara seri bir bağlantı açın. Bağlantıyı açtıktan sonra çizimin başladığını belirten bir mesaj gönderin.
Seri . başlar ( 9600 ) ;
Seri . println ( "Arduino web istemcisini başlatma." ) ;
Bağlantı durumunu izlemek için yerel bir değişken oluşturun. SIM'in ağa bağlanmasına kadar çizimin başlamasını önlemek için bunu kullanırsınız:
gsmAccess.begin()
çağırarak ağa bağlanın. SIM kartın PIN kodunu argüman olarak alır. GPRS şebekesine gprs.attachGPRS()
kullanarak da bağlanacaksınız. Bu, daha önce bildirdiğiniz APN, oturum açma adı ve parolayı gerektirir. Bir içinde bu yerleştirerek while()
döngü, sürekli bağlantının durumunu kontrol edebilirsiniz haline hem etmesini beklemeniz true
ilerlemeden önce.
Modem bağlandığında ve kendisini GPRS şebekesine gsmAccess()
, gsmAccess()
GSM_READY
. notConnected
değişkenini true
veya false
olarak ayarlamak için notConnected
bayrak olarak kullanın. Bağlandıktan sonra, setup
geri kalanı çalışır.
{
eğer ( gsmAccess. başlar ( PINNUMBER ) == GSM_READY )
( gprs. attachGPRS ( GPRS_APN , GPRS_LOGIN , GPRS_PASSWORD ) == GPRS_READY ) )
notConnected = yanlış ;
Başka
{
Seri . println ( "Bağlı değil" ) ;
gecikme ( 1000 ) ;
}
}
client.connect()
kullanarak sunucuya bağlanmayı client.connect()
. connect()
, sunucu ve bağlantı noktası olmak üzere iki bağımsız değişken gerektirir. Sunucuya bağlandıktan sonra, client.print()
çağırarak bir HTTP isteği yapın. Tipik bir web isteği "GET yol adı HTTP / 1.0" şeklinde görünür. print
mesajı tıpkı bir tarayıcı gibi gönderir.
{
Seri . println ( "bağlı" ) ;
istemcisi. yazdır ( "GET" ) ;
istemcisi. yazdırma ( yol ) ;
istemcisi. println ( "HTTP / 1.0" ) ;
istemcisi. println ( ) ;
}
Sunucu bağlantısı başarısız olduysa, seri monitörde not edin ve setup
kapatın.
{
Seri . println ( "bağlantı başarısız" ) ;
}
}
İç loop
, sunucudan döndürülen bayt olup olmadığını kontrol edin. Öyleyse, bunları okuyun ve seri monitöre yazdırın.
{
char c = istemci. read ( ) ;
Seri . baskı ( c ) ;
}
Sunucu genellikle HTTP isteğini tamamladıktan sonra yapacağı bağlantıyı keserse, istemciyi yerel olarak durdurun ve loop
kapatın.
{
Seri . println ( ) ;
Seri . println ( "bağlantı kesiliyor." ) ;
istemcisi. stop ( ) ;
// sonsuza dek hiçbir şey yapma:
için ( ;; )
;
}
}
Kodunuz yüklendikten sonra seri monitörü açın. Http://arduino.cc HTML'nin alındığında ekranda çıktısını görmelisiniz. Yaklaşık bir dakika sürer, bu yüzden hemen bir geri bildiriminiz yoksa endişelenmeyin!
Çizimin tamamı aşağıdadır.
Web istemcisi
Bu çizim, bir MKR GSM 1400 kartı üzerinden SSL kullanan bir web sitesine bağlanır. özellikle,
bu örnekte "http://www.arduino.cc/asciilogo.txt" URL'si indirilir ve
Seri monitöre yazdırır.
Devre:
* MKR GSM 1400 kartı
* Anten
* Veri planlı SIM kart
oluşturuldu 8 Mar 2012
tarafından Tom Igoe
* /
// kütüphaneler
#include <MKRGSM.h>
#include "arduino_secrets.h"
// Lütfen hassas verilerinizi Gizli sekmesine veya arduino_secrets.h girin
// PIN numarası
const char PINNUMBER [ ] = SECRET_PINNUMBER ;
// APN verileri
const char GPRS_APN [ ] = SECRET_GPRS_APN ;
const char GPRS_LOGIN [ ] = SECRET_GPRS_LOGIN ;
const char GPRS_PASSWORD [ ] = SECRET_GPRS_PASSWORD ;
// kütüphane örneğini başlat
GSMSSLClient istemcisi ;
GPRS gpr'leri ;
GSM gsmAccess ;
// URL, yol ve bağlantı noktası (örneğin: arduino.cc)
char server [ ] = "arduino.cc" ;
char path [ ] = "/asciilogo.txt" ;
int bağlantı noktası = 443 ; // 443 numaralı bağlantı noktası HTTPS için varsayılan değerdir
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 yerel USB bağlantı noktası için gereklidir
}
Seri . println ( "Arduino web istemcisini başlatma." ) ;
// bağlantı durumu
bool bağlı = yanlış ;
// Modemi GSM.begin () ile başlattıktan sonra
// kalkanı APN, oturum açma adı ve parola ile GPRS şebekesine ekleyin
while ( ! bağlı ) {
eğer ( ( gsmAccess. başlar ( PINNUMBER ) == GSM_READY ) &&
( gprs. attachGPRS ( GPRS_APN , GPRS_LOGIN , GPRS_PASSWORD ) == GPRS_READY ) ) {
bağlı = doğru ;
} başka {
Seri . println ( "Bağlı değil" ) ;
gecikme ( 1000 ) ;
}
}
Seri . println ( "bağlanıyor ..." ) ;
// bir bağlantı alırsanız, seri yoluyla rapor verin:
if ( istemci. bağlantı ( sunucu , bağlantı noktası ) ) {
Seri . println ( "bağlı" ) ;
// Bir HTTP isteği yapın:
istemcisi. yazdır ( "GET" ) ;
istemcisi. yazdırma ( yol ) ;
istemcisi. println ( "HTTP / 1.1" ) ;
istemcisi. print ( "Ana Bilgisayar:" ) ;
istemcisi. println ( sunucu ) ;
istemcisi. println ( "Bağlantı: kapat" ) ;
istemcisi. println ( ) ;
} başka {
// sunucuyla bağlantı bulamadıysanız:
Seri . println ( "bağlantı başarısız" ) ;
}
}
void loop ( ) {
// kullanılabilir gelen bayt varsa
// sunucudan okuyun ve yazdırın:
if ( müşteri. kullanılabilir ( ) ) {
char c = istemci. read ( ) ;
Seri . baskı ( c ) ;
}
// sunucunun bağlantısı kesilirse, istemciyi durdurun:
if ( ! istemci. kullanılabilir ( ) && ! istemci. bağlı ( ) ) {
Seri . println ( ) ;
Seri . println ( "bağlantı kesiliyor." ) ;
istemcisi. stop ( ) ;
// sonsuza dek hiçbir şey yapma:
için ( ;; )
;
}
}
See Also
- GPRSinşaatçı
- MKRattachGPRS()
- GSMClientinşaatçı
- ready()
- connect()
- beginWrite()
- write()
- endWrite()
- connected()
- read()
- available()
- peek()
- flush()
- stop()
- Arduino MKR GSM 1400- Komple ürün açıklaması.
- Getting started with the MKR GSM 1400- Her şeyi dakikalar içinde kurun.
- MKRGSM library- GSM Kütüphanesi için referansınız.
- MKRGSMExamplesMakeVoiceCall- Mikrofon ve hoparlör ile sesli arama nasıl yapılır.
- MKRGSMExamplesReceiveVoiceCall- Çağrı alınır ve bağlanır, aranan numara seri monitörde gösterilir ve çağrı kapatılır.
- MKRGSMExamplesReceiveSMS- SMS mesajı nasıl alınır.
- MKRGSMExamplesSendSMS- Seri monitörden bir SMS giriş numarası ve metni nasıl gönderilir.
- MKRGSMExamplesWebServer- Bir istemciden istek alındığında Analog girişlerde okunan değeri geri gönderen bir web sunucusu.
- MKRGSMToolsTestGPRS- Verilen APN ve kimlik bilgileriyle GPRS üzerinden internete erişmeye çalışır.