AT команды для МТС иногда снимают деньги

Тема в разделе "Arduino & Shields", создана пользователем abrikos, 18 июл 2013.

  1. abrikos

    abrikos Нерд

    Подключаюсь к МТС Интернету через GPRS Shield
    Посылаю АТ команды:
    Код (C):

    mySerial.println("AT+CSQ");
    mySerial.println("AT+CGATT?");
    mySerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");//setting the SAPBR, the connection type is using gprs
    mySerial.println("AT+SAPBR=3,1,\"APN\",\"internet.mts.ru\"");//setting the APN, the second need you fill in your      mySerial.println("AT+SAPBR=3,1,\"USER\",\"mts\"");//setting the APN, the second need you fill in your local apn server
      mySerial.println("AT+SAPBR=3,1,\"PWD\",\"mts\"");//setting the APN, the second need you fill in your local apn server
      mySerial.println("AT+SAPBR=1,1");//setting the SAPBR, for detail you can refer to the AT command mamual
      mySerial.println("AT+SAPBR=2,1");//setting the SAPBR, for detail you can refer to the AT command mamual
      mySerial.println("AT+HTTPINIT"); //init the HTTP request
      mySerial.println("AT+HTTPPARA=\"URL\",\"myserver.com/arduino.php?temp="+String(t)+"&power="+String(p)+"&b="+(balance)+"\"");// setting the httppara, the second parameter is the website you want to access
      mySerial.println("AT+HTTPACTION=0");//submit the request
      mySerial.println("AT+HTTPREAD");// read the data from the website you access
     
    В основном все нормально, но иногда МТС отвечает "ERROR" вместо "OK" то на одну АТ-комманду, то на другую. В некоторых случааях доступ в интернет происходит, а в некоторых - нет. В детализации переодически появляются строки:
    HTML:

    Internet_Category_0080          gprs        0кб   67,7966руб
     
    Как бы узнать при какой ошибке МТС снимает по 67.8 рублей ?
     
  2. HighDigital

    HighDigital Гик

    Варианты:
    1) Этот код находится в loop(), и подключается к инету хренсот раз.
    2) МТС-тариф с "подковыркой".
     
  3. abrikos

    abrikos Нерд

    Да это все в цикле. Может есть смысл циклить не все комманды? Как бы узнать время на которое выдается ip адрес?
     
  4. HighDigital

    HighDigital Гик

    Попробуйте весь ваш скетч в void setup() - это заставит ваш код 1 раз выполниться, а так, поспрашивайте у знающих тут людей - я с GPRS не работал не разу, дорогой зараза :(

    Единственное, попробуйте посмотреть это, быть может принцип такой же...