Sim808 + Adruino Pro mini + 2 аккумулятора по 3,7 = глюки

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем chiffa, 20 апр 2016.

  1. chiffa

    chiffa Нуб

    Всем добрый день. такой вопрос: собираю схему sim808 + Adruino Pro mini (фотки прилагаются), цель: получения GPS и дальнейшая отправка на сервер. Все собрал, написал, подключил к USB, залил - данные полетели (AT CGNSINF CGNSINF:1,0,19800106004030.000,,,,0.00,0.0,0,,,,,,0,0,,,,,), качество определения не радует (очень долго летят нули) и раздупляется через раз. Стал думать, что дело в помещении и решил потестить на улице, для этого нужна автономность.

    Соеденил 2 аккумулятора по 3,7в последовательно = 7,4в т.к. на 3,7 sim808 даже не хотел мигать диодом сети (что вообщем тоже есть странным т.к. в документации писалось 3,3-4,4). Подключил аккум к Adruino, все завелось, адруинка постоянно шлет пустоту, то есть диод мигает учещенно (отправка данных), данные прилетают на сервак в размере одного байта - пробела, если подключить к ЮСБ - все норм.

    Может кто подскажет, в чем может быть проблема?... Заранее благодарен за любую подсказку! Прикладываю код:
    Код (C++):
    #include <SoftwareSerial.h>
    #include<stdio.h>
    #include<string.h>
    #define DEBUG true


    SoftwareSerial mySerial(7,8);
           
    void setup()
    {
      Serial.begin(9600);
    mySerial.begin(9600);

           
    }
    String Serialread;
    void loop()
    {

    StartGPRS ();
    String GetData;
    mySerial.println("AT+CGNSPWR=1");
    GetData = mySerial.readString();
    mySerial.println("AT+CGNSSEQ=RMC");
    GetData = mySerial.readString();
    mySerial.println("AT+CGNSINF");
    GetData = mySerial.readString();
            delay(1000);

      GetData.replace("\n", "");
      GetData.replace("\r", "");
      GetData.replace(" ", "");
    Serial.println(GetData);
    SendData (GetData);

    CloseGPRS ();


    delay (10000);

    }

    void StartGPRS (void)
    {

    mySerial.println("AT+CMGF=1");
    Serial.println(mySerial.readString());
    mySerial.println("AT+CGATT=1");
    Serial.println(mySerial.readString());
    mySerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");
    Serial.println(mySerial.readString());
    mySerial.println("AT+SAPBR=3,1,\"APN\",\"internet\"");
    Serial.println(mySerial.readString());
    mySerial.println("AT+SAPBR=1,1");
    Serial.println(mySerial.readString());
     
    }

    void SendData (String DataForUrl)
    {


     
    mySerial.println("AT+HTTPINIT");
    Serial.println(mySerial.readString());
    mySerial.println("AT+HTTPPARA=\"CID\",1");
    Serial.println(mySerial.readString());


    mySerial.println("AT+HTTPPARA=\"URL\",\"<a href="/sim808/index.php?gps_data=">http://*******/sim808/index.php?gps_data=</a>"+DataForUrl+"\"");
    Serial.println(mySerial.readString());
    delay (3000);

    mySerial.println("AT+HTTPACTION=0");
    Serial.println(mySerial.readString());
    mySerial.println("AT+HTTPREAD");
    Serial.println(mySerial.readString());
    }

    void CloseGPRS (void)
    {
    mySerial.println("AT+HTTPTERM");
    Serial.println(mySerial.readString());
    mySerial.println("AT+SAPBR=0,1");
    Serial.println(mySerial.readString());
    }
     

    Вложения:

  2. kadr142

    kadr142 Нуб

    Уважаемый chiffa ! Никак не могу подружить UNO (Китай) и шилд. Не имея опыта , никак на соображу как их между собой соединить какой вывод куда? Можете помочь ?
     

    Вложения: