Всем добрый день. такой вопрос: собираю схему 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()); }
Уважаемый chiffa ! Никак не могу подружить UNO (Китай) и шилд. Не имея опыта , никак на соображу как их между собой соединить какой вывод куда? Можете помочь ?