GPRS Ping
This sketch connects an host and continuously ping it.
Hardware Required
antenna
SIM card enable for Data
Circuit
Code
/*
This uses an MKR GSM 1400 to continuously pings given host specified by IP Address or name.
Circuit:
* MKR GSM 1400 board
* Antenna
* SIM card with a data plan
created 06 Dec 2017
by Arturo Guadalupi
*/
#include <MKRGSM.h>
#include "arduino_secrets.h"
// Please enter your sensitive data in the Secret tab or arduino_secrets.h
// PIN Number
const char PINNUMBER[] = SECRET_PINNUMBER;
// APN data
const char GPRS_APN[] = SECRET_GPRS_APN;
const char GPRS_LOGIN[] = SECRET_GPRS_LOGIN;
const char GPRS_PASSWORD[] = SECRET_GPRS_PASSWORD;
// initialize the library instance
GSMSSLClient client;
GPRS gprs;
GSM gsmAccess;
// Specify IP address or hostname
String hostName = "www.google.com";
int pingResult;
void setup() {
// Initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.println("Starting Arduino GPRS ping.");
// connection state
bool connected = false;
// After starting the modem with GSM.begin()
// attach the shield to the GPRS network with the APN, login and password
while (!connected) {
if ((gsmAccess.begin(PINNUMBER) == GSM_READY) &&
(gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) {
connected = true;
} else {
Serial.println("Not connected");
delay(1000);
}
}
}
void loop() {
Serial.print("Pinging ");
Serial.print(hostName);
Serial.print(": ");
pingResult = gprs.ping(hostName);
if (pingResult >= 0) {
Serial.print("SUCCESS! RTT = ");
Serial.print(pingResult);
Serial.println(" ms");
} else {
Serial.print("FAILED! Error code: ");
Serial.println(pingResult);
}
delay(5000);
}
See Also
GPRS Constructor
GSMClient Constructor
ready()
connect()
write()
endWrite()
read()
peek()
flush()
stop()
Arduino MKR GSM 1400 - Complete product description.
Getting started with the MKR GSM 1400 - Get everything set up in minutes.
MKRGSM library - Your reference for the GSM Library.
MKRGSMExamplesMakeVoiceCall - How to make a voice call with mic and speaker.
MKRGSMExamplesReceiveVoiceCall - The call is received and connected, the number that is calling is shown on serial monitor and then the call is hung up.
MKRGSMExamplesReceiveSMS - How to receive an SMS message.
MKRGSMExamplesSendSMS - How to send an SMS entering number and text through the serial monitor.
MKRGSMExamplesWebServer - A web server that when gets a request from a client sends back the value read on Analog inputs.
MKRGSMToolsTestGPRS - Tries to access the internet over GPRS with supplied APN and credentials.
Last revision 2017/11/29 by AG