DFRobot GSM / GPS shield с ошибкой UNO init
Прошу прощения, но у меня мало опыта работы с Arduino и т. Д. Была ли где-нибудь устранена "Ошибка инициализации Sim808", пожалуйста? Я перепробовал все примеры, которые смог найти, включая и те, что были на этих страницах StackExchange, но безуспешно. Я начал с тестового кода GPS из следующего источника:
https://wiki.dfrobot.com/SIM808_GPS_GPRS_GSM_Shield_SKU__TEL0097
Паранси, Марчелло, Пуя, Арслан и другие предлагали моды к этому коду, так что я перепробовал их все, как мне кажется, - ни один не работал.
Затем я посмотрел это видео:
https://www.youtube.com/watch?v=fN8fwX3KmsM
который, по-видимому, показывает приведенный ниже код или что-то подобное:
/*
### Получить данные GPS
1. Этот пример используется для проверки считывания GPS-данных SIM808 GPS/GPRS/GSM Shield.
2. Откройте пример SIM808_GetGPS или скопируйте этот код в свой проект
3. Загрузите и наберите функциональный переключатель на Arduino
4. откройте последовательный помощник
4. Поместите его снаружи, подождите несколько минут, а затем он отправит GPS-данные на последовательный порт.
create on 2016/09/23, version: 1.0
by jason
*/
#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
//#define PIN_TX 10
//#define PIN_RX 11
//SoftwareSerial mySerial(PIN_TX,PIN_RX);
//DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,
DFRobot_SIM808 sim808(&Serial);
void setup() {
//mySerial.begin(9600);
Serial.begin(9600);
//******** Initialize sim808 module *************
//while(!sim808.init()) {
while(!sim808.checkPowerUp()) {
delay(1000);
Serial.print("Sim808 init error\r\n");
}
//************* Turn on the GPS power************
if( sim808.attachGPS())
Serial.println("Open the GPS power success");
else
Serial.println("Open the GPS power failure");
}
void loop() {
//************** Get GPS data *******************
if (sim808.getGPS()) {
Serial.print(sim808.GPSdata.year);
Serial.print("/");
Serial.print(sim808.GPSdata.month);
Serial.print("/");
Serial.print(sim808.GPSdata.day);
Serial.print(" ");
Serial.print(sim808.GPSdata.hour);
Serial.print(":");
Serial.print(sim808.GPSdata.minute);
Serial.print(":");
Serial.print(sim808.GPSdata.second);
Serial.print(":");
Serial.println(sim808.GPSdata.centisecond);
Serial.print("latitude :");
Serial.println(sim808.GPSdata.lat,6);
sim808.latitudeConverToDMS();
Serial.print("latitude :");
Serial.print(sim808.latDMS.degrees);
Serial.print("\^");
Serial.print(sim808.latDMS.minutes);
Serial.print("\'");
Serial.print(sim808.latDMS.seconeds,6);
Serial.println("\"");
Serial.print("longitude :");
Serial.println(sim808.GPSdata.lon,6);
sim808.LongitudeConverToDMS();
Serial.print("longitude :");
Serial.print(sim808.longDMS.degrees);
Serial.print("\^");
Serial.print(sim808.longDMS.minutes);
Serial.print("\'");
Serial.print(sim808.longDMS.seconeds,6);
Serial.println("\"");
Serial.print("speed_kph :");
Serial.println(sim808.GPSdata.speed_kph);
Serial.print("heading :");
Serial.println(sim808.GPSdata.heading);
//************* Turn off the GPS power ************
sim808.detachGPS();
}
}
Я установил щит DFRobot на UNO и запитал его через бочкообразный разъем стабилизированным источником питания 2_amp 5V. Щит DFRobot показывает красный светодиод питания, а нажатие кнопки reset мигает синим светодиодом рядом с ним, но больше ничего не делает - последовательный монитор просто повторяет "ошибка инициализации Sim808". На видео синий светодиод "net" мигает еще до того, как SIM-карта вставлена, но моя карта не мигает. Должен ли я вернуть плату Фарнеллу и потребовать назад свои деньги?
Любая помощь очень ценится!
@Bolin, 👍1
Обсуждение1 ответ
Плата dfrobot имеет странную систему кнопок загрузки, которой вам нужно следовать, чтобы загрузить плату. Я потратил целую вечность, пытаясь заставить его работать, прежде чем наконец чего-то добился.
На плате есть синий светодиод, который будет непрерывно мигать с разной скоростью, если чип правильно питается и ищет мобильную сеть.
Я заметил, что вы прокомментировали его в строке while(!sim808.init ()). Это попытка включить плату автоматически, но я действительно помню, что что-то было забавным в этой реализации.
Судя по тому, что я некоторое время занимался исследованиями, прорывная плата dfrobot-не самая лучшая аппаратная реализация этого чипа. На самом деле из памяти я не смог найти ни одного модуля, который удовлетворял бы всем моим требованиям к проекту. Я бы порекомендовал ознакомиться со всей документацией, которую dfrobot предоставляет на своем веб-сайте. Надеюсь, это поможет вам работать.
Резюме: это безумно сложный процесс, чтобы заставить его работать, но платы функциональны
- Модуль SIM808 GSM работает нормально, GPS не работает (нет сообщения о готовности GPS при включении питания)
- Модуль SIM808: команда определения местоположения GSM (AT+CIPGSMLOC=1,1) дает неверное значение после выполнения команды отправки сообщения (AT+CMGS=+91xxxxxxxx)
- Какие компоненты мне нужны маленького GPS-трекера
- Arduino Mega + SIM808 GSM + модуль GPS + программа включается без нажатия кнопки?
- Arduino: подключите UNO к A7 AI Thinker
- SIM800C, CPIN: НЕ ГОТОВ (КОД ОШИБКИ: +CME ОШИБКА: 10)
- Как извлечь широту и долготу из GPS
- Arduino : отправка данных через спутник (или другие решения ? без GSM)
Проблема, вероятно, в том, что вы пытаетесь использовать
Serial
для связи с SIM808 и ПК одновременно. Это не может действительно работать., @MajenkoУ вас есть подлинный Arduino или дешевая китайская подделка?, @Majenko
@Majenko: Спасибо за помощь. Это с подлинным Arduino Uno от RobotShop не стук, и экран DFRobot пришел от Farnell в надлежащей маркированной коробке и в антистатических мешках для антенны и экрана. Цитируемый код-лишь один из многих, которые я пробовал., @Bolin
Не совсем уместно, но я только что подключил китайскую универсальную плату Sim900, и она работала "прямо из коробки", используя код LastMinuteEngineers, так что я думаю, что мой щит DFRobot Sim808 сломан/ непригоден к эксплуатации., @Bolin