• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Prośba o sprawdzenie kodu
#8
Aktualnie sytuacja wygląda tak.Komunikacja jest ok.W monitorze wyrzuca OK na komendy AT które są w kodzie (CMGF,CMNI).Lecz po wysłaniu sms dalej cisza.Zmieniłem także ten string.Aktualnie kod wygąda tak:

Kod:
#include <DallasTemperature.h>
#include <OneWire.h>
#include <SoftwareSerial.h>
String textForSMS;
float currentTemp;
char inchar;

SoftwareSerial cellSerial(2,3); // numery pinów tx rx chyba?
#define ONEWIRE_PIN 5             /// numer pinu czujnika temp.
byte address[8] = {0x28, 0xFF, 0xFC, 0xDA, 0x84, 0x16, 0x5, 0x50}; /// adres czujnika temp.

OneWire onewire(ONEWIRE_PIN);
DallasTemperature sensors(&onewire);

void setup()
{
Serial.begin(9600); /// boud rate modułu GSM
cellSerial.begin(57600); /// rate sensora temp.
Serial.println("stabilizacja modemu...");
delay(10000);
Serial.println("modem test");
delay(300);
cellSerial.println("AT\r");
delay(300);
getcellSerial();
cellSerial.println("AT\r");
delay(200);
getcellSerial();
cellSerial.println("AT+CMGF=1\r");
delay(200);
getcellSerial();
cellSerial.println("AT+CNMI=2,1,0,0,0\r");
delay(200);
getcellSerial();
sensors.begin();
}
void getcellSerial()
{
 while (cellSerial.available() > 0)
 Serial.write(cellSerial.read()); // przekazanie danych na UART
}
void SendTextMessage(String message) ///funkcja do wysyłania wiadomości SMS
{
cellSerial.print("AT+CMGF=1\r"); // przełączenie modułu na text mode
delay(300);
cellSerial.println("AT+CSCS=\"GSM\"\r"); /// ustawianie znaków GSM
delay(300);
cellSerial.println("AT+CNMI=2,1,0,0,0\r");
delay(300);
cellSerial.println("AT+CMGW=\"+48697516999\"\r"); // numer telefonu do którego ma wysłać
delay(300);
cellSerial.println(message); // zawartość wiadomości SMS
cellSerial.println((char)26); // kod26 to zakończenie "CTRL+Z"
delay(2000);
cellSerial.println();
}


void loop()
{
String komenda = cellSerial.readString();
if (cellSerial.available() > 0)
{
 inchar = cellSerial.read();
if (komenda=="#tmp"){
      {
      Serial.println ("rozpoczecie odczytu temperatury");
      currentTemp = sensors.getTempCByIndex(0);
      delay(200);
      textForSMS = "Temperatura:";
      textForSMS = (textForSMS, currentTemp);
      delay(200);
      Serial.println("wiadomosc:");
      Serial.println(textForSMS);
      delay(200);
      SendTextMessage (textForSMS);
      delay(30000);
      Serial.println("zakonczono czas oczekiwania");
      }
      }
      cellSerial.println("AT+CMGD=3"); // usuwanie smsów
     }
   }
Może źle ustawił komende "CNMI".Nie mogłem znaleść jak powinno wyglądać ustawienie formatu wiadomości i ustawiłem sugerowaną w instrukcji M590.
 
Odpowiedź
  


Wiadomości w tym wątku
Prośba o sprawdzenie kodu - przez aqq - 27-08-2017, 18:42
RE: Prośba o sprawdzenie kodu - przez adix - 27-08-2017, 20:46
RE: Prośba o sprawdzenie kodu - przez aqq - 29-08-2017, 21:15
RE: Prośba o sprawdzenie kodu - przez Robson Kerman - 30-08-2017, 09:30
RE: Prośba o sprawdzenie kodu - przez aqq - 30-08-2017, 10:30
RE: Prośba o sprawdzenie kodu - przez aqq - 30-08-2017, 11:48
RE: Prośba o sprawdzenie kodu - przez adix - 30-08-2017, 20:02
RE: Prośba o sprawdzenie kodu - przez aqq - 30-08-2017, 22:07
RE: Prośba o sprawdzenie kodu - przez adix - 09-09-2017, 18:10

Skocz do:


Przeglądający: 1 gości