Arduino+GSM модем
- Войдите на сайт для отправки комментариев
Чт, 24/05/2018 - 19:45
привет всем
туплю не могу правильно написать код.. кто подскажет куда рыть?)
не могу правильно распарсить ответ от модема, чтобы выгрызть из ответа CCID (идентификационный номер SIM карты)
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
Adafruit_BME280 bme; // I2C
unsigned long delayTime;
String readGPS;
String readGPSLat;
String readGPSLon;
String readTime;
String readCCID;
String Arsp, Grsp;
void setup() {
Serial.begin(115200);
Serial1.begin(115200);
bool status;
status = bme.begin();
pinMode(9,OUTPUT);
digitalWrite(9, HIGH);
delay(3000);
digitalWrite(9, LOW);
}
void loop() {
// Serial.println(bme.readTemperature());
boolean isOKFound = Serial1.find("+CCID: ");
if (isOKFound)
{
Serial.println("ccid = ");
}
if (Serial.available())
{
Arsp = Serial.readString();
Serial1.println(Arsp);
}
if (Serial1.available())
{
Grsp = Serial1.readString();
Serial.println(Grsp);
}
}
at+ccid - запрос к модему
+CCID: 89701010063791673521 //ответ от модем
OK
нуууу, "тут всю систему менять надо...." (с)
У вас скетч из одних ошибок.
во-первых - обмен по Сериал написан неверно, функция readString вовсе не читает строку из порта
во-вторых, в скетче вы модему запрос не отсылаете
в-третьих - когда вы ищете ответ, вы его нигде не сохраняете и печатаете вместо значения CCID только строку "CCID="
Может и еще ошибки есть... но пока хватит, исправте для начала эти.