Sim808 + Adruino Pro mini + 2xаккумулятора по 3,7 = глюки
- Войдите на сайт для отправки комментариев
Всем добрый день. такой вопрос: собираю схему 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, все завелось, адруинка постоянно шлет пустоту, то есть диод мигает учещенно (отправка данных), данные прилетают на сервак в размере одного байта - пробела, если подключить к ЮСБ - все норм.
Может кто подскажет, в чем может быть проблема?... Заранее благодарен за любую подсказку! Прикладываю код:
#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\",\"http://*******/sim808/index.php?gps_data="+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()); }
День добрый!
Скорее всего не хватает силы тока.
1. Надеяться на надежное обнаружение спутников из глубины комнаты, конечно, не стоит. Но можно положить датчик на подоконник.
2. Если при одном питании схема работает, а прир другом - нет, очевидно, проблема в питании.
Приобрел такой же модуль SIM800. Уровень сигнала GPS -0 . Заказал антенну ( активную ) с разъемом как на плате - IPEX, но непонятно как же подавать на неё питание. У Вас от USB вообще без антенны работает?