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="
Может и еще ошибки есть... но пока хватит, исправте для начала эти.