SIM800l не отвечает на arduino micro
Я хочу, чтобы мой Arduino Micro взаимодействовал с моим модулем SIM 800 L. Но, к сожалению, ничего не происходит, помогите мне понять, где я допустил ошибку. Вот моя проводка:
Кратко о моей проводке:
- Внешняя батарея ---> 800 л
- плюс ---> 5VIN
- минус ---> GND (как в POWER, так и в TTL-разделе UART)
- Ардуино ---> 800 л
- RX ---> RXD
- TX ---> TXD
С этой настройкой я использую следующий код:
#include <SoftwareSerial.h>
#include<Arduino.h>
//Ардуино Микро
//СИМ 800л
SoftwareSerial mySerial(1, 0); // прием, передача
void setup()
{
// Открыть последовательную связь
Serial.begin(9600);
// устанавливаем скорость передачи данных для порта SoftwareSerial
mySerial.begin(9600);
Serial.println("Setup finished");
}
void loop() // запускаем снова и снова
{
Serial.println("Sending AT command");
mySerial.write("AT"); // OK должно быть возвращено
delay(1000);
//читаем ответ sim-модуля
Serial.println("Response: ");
while( mySerial.available() )
{
char c = mySerial.read();
Serial.print(c);
}
mySerial.write("at+cmee=2"); // переводим сим-модуль в режим отладки
delay(1000);
mySerial.write("at+cpin?"); //проверяем, нужен ли пин
//читаем ответ sim-модуля
while( mySerial.available() )
{
char c = mySerial.read();
Serial.print(c);
}
}
Но это дает мне следующий вывод в виде цикла:
Sending AT command
Response:
Sending AT command
Response:
Sending AT command
Response:
И я заметил, что желтый светодиод на Arduino мигает во время работы программы, поэтому я предполагаю, что должен быть какой-то ввод от SIM800, но я не могу прочитать данные в данный момент. На самой плате 800L также есть светодиод, который мигает с интервалом около одной секунды, что говорит вам об отсутствии связи (я живу в относительно удаленном районе), но даже если связи нет, не должен ли он все равно возвращаться OK при отправке АТ?
Если вам нужна дополнительная информация, не стесняйтесь спрашивать. Буду признателен за каждую вашу идею :)
Редактировать: на фото провод идет от Arduino напрямую к 800L, но я изменил его, так что теперь питание 800L поступает от батареи.
@Cowboy_Patrick, 👍0
1 ответ
Вот некоторые изменения в вашем коде
#include <SoftwareSerial.h>
#include<Arduino.h>
//Ардуино Микро
//СИМ 800л
SoftwareSerial mySerial(9,10); // прием, передача
void setup()
{
// Открыть последовательную связь
Serial.begin(9600);
// устанавливаем скорость передачи данных для порта SoftwareSerial
mySerial.begin(9600);
Serial.println("Setup finished");
}
void loop() // запускаем снова и снова
{
Serial.println("Sending AT command");
mySerial.write("AT\r\n"); // OK должно быть возвращено
delay(1000);
//читаем ответ sim-модуля
Serial.println("Response: ");
while( mySerial.available() )
{
String c = mySerial.readString();
Serial.println(c);
}
mySerial.write("at+cmee=2\r\n"); // переводим сим-модуль в режим отладки
delay(1000);
mySerial.write("at+cpin?\r\n"); //проверяем, нужен ли пин
//читаем ответ sim-модуля
while( mySerial.available() )
{
String c = mySerial.readString();
Serial.println(c);
}
}
Измените контакты UART на 9,10, так как 0,1 уже используются в обычном последовательном порте. Во-вторых, измените Seria.read() на Serial.readString(), потому что, насколько я знаю, ответом является строка.
- Отправлять большие объемы данных в PHP-скрипт через GSM-модуль SIM800L.
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не регистрируется в сети
- Модуль SIM808 GSM работает нормально, GPS не работает (нет сообщения о готовности GPS при включении питания)
- Подключение модема GSM напрямую к Rx и Tx
- Arduino : отправка данных через спутник (или другие решения ? без GSM)
- Sim800 FTP Arduino
- GSM и GPS-модуль не работают вместе
Спасибо за совет, но мне все равно ничего не вернули. Только светодиод RX на моем Arduino мигает, но на tx ничего не приходит. Я попытался сопоставить rxd с txd, поместил его в порт 9,10, а затем обратно в порты RX, TX, но ничего не получил., @Cowboy_Patrick
извините, я пропустил вещь. Возврат каретки и символ EOD являются наиболее важной частью AT-команд. Я просто вижу, что их не хватает., @Vaibhav
Большое спасибо, повторная попытка некоторых положений проводки и возврат каретки сделали свою работу, теперь она проснулась :), @Cowboy_Patrick