Advertisement
Guest User

fona.ino

a guest
Feb 19th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.98 KB | None | 0 0
  1. #include "Adafruit_FONA.h"
  2.  
  3. #define FONA_RX 8
  4. #define FONA_TX 7
  5. #define FONA_RST 10
  6.  
  7. #include <SoftwareSerial.h>
  8. SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
  9. SoftwareSerial *fonaSerial = &fonaSS;
  10. Adafruit_FONA fona = Adafruit_FONA(FONA_RST);
  11.  
  12. void setupFona() {
  13.   fonaSerial->begin(4800);
  14.   while(!fona.begin(*fonaSerial));
  15.  
  16.   while(!fona.enableGPS(true));
  17.   Serial.println("GPS on");
  18.  
  19.   fona.setGPRSNetworkSettings(F("http.globe.com.ph")); //change this if you'll use non-globe simcard
  20.   fona.enableGPRS(true);
  21.  
  22.   Serial.println("Setup Fona done");
  23.  
  24.   deleteMessages();
  25. }
  26.  
  27. uint8_t sendSMS(char *number, char *message) {
  28.   if (!fona.sendSMS(number, message)) {
  29.     return 0;
  30.   } else {
  31.     return 1;
  32.   }
  33. }
  34.  
  35. uint8_t getGPS(float *latitude, float *longitude, float *speed_kph, float *heading, float *altitude) {
  36.   if(!fona.getGPS(latitude, longitude, speed_kph, heading, altitude)){
  37.     return 0;
  38.   } else {
  39.     return 1;
  40.   }
  41. }
  42.  
  43. void deleteMessages() {
  44.   Serial.println("Deleting all messages");
  45.  
  46.   int slot = 10;
  47.   while(slot > 0) {  // delete all messages
  48.     if(fona.deleteSMS(slot)) {
  49.       Serial.println(F("Deleted!"));
  50.     }
  51.     slot--;
  52.   }
  53. }
  54.  
  55. String readSMS(char *number) {
  56.   uint16_t smslen;
  57.   char replybuffer[255];
  58.   char sender[32];
  59.   bool isAuthorized = true;
  60.  
  61.   if(fona.readSMS(1, replybuffer, 250, &smslen)) {  // pass in buffer and max len!
  62.     Serial.println(F("Read SMS!"));
  63.    
  64.     if(fona.getSMSSender(1, sender, 31)) {
  65.       Serial.println(String(sender));
  66.       if(!String(sender).equals(String(number))) {
  67.         Serial.println("Unauthorized text received");
  68.         isAuthorized = false;
  69.       } else {
  70.         Serial.println("Authorized text received");
  71.       }
  72.     }
  73.    
  74.     if(fona.deleteSMS(1)) {
  75.       Serial.println(F("Deleted!"));
  76.     } else {
  77.       Serial.println(F("Couldn't delete"));
  78.     }
  79.  
  80.     if(isAuthorized) return String(replybuffer);
  81.  
  82.     return "unauthorized";
  83.   }
  84.  
  85.   return "";
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement