Проблема последовательной связи с общей землей SIM800L
У меня возникла проблема, когда я использую модуль SIM800L с общим заземлением в сочетании с: FTDI232+ARDUINO PRO и аккумулятором Li-po. Я использую общий язык, чтобы Arduino мог видеть последовательный порт SIM800L.
Я использую батарею (lipo) для питания SIM800L, чтобы обеспечить пиковый ток 2A.
Последовательная работа, но иногда модуль перезагружается (я думаю), и я вижу странный характер. SIM800L работает некорректно.
Я сталкиваюсь с той же проблемой, когда использую VCC FTDI, каждый раз, когда я использую общий язык, у меня возникает эта проблема.
Посмотрите на гифку, вы можете увидеть проблему:
Я использую эту проводку
Это странно, потому что, когда я подключаю SIM800L напрямую к FTDI232, у меня нет проблем, все работает нормально.
Я использую этот код для отладки последовательной связи:
#include <SoftwareSerial.h>
SoftwareSerial serialSIM800(RX,TX)
[..]
// При настройке
Serial.begin(115200);
while(!Serial);
//Последовательная связь с Arduino и SIM800
serialSIM800.begin(115200);
delay(1000);
serialSIM800.print("AT\r");
//[..]
void loop(){
if (serialSIM800.available())
Serial.write(serialSIM800.read());
if (Serial.available()) {
while(Serial.available()){
Serial.print(">");
char test=Serial.read();
Serial.print(test);
Serial.println();
serialSIM800.write(test);
}
Есть несколько вещей, которые ускользают от меня, поэтому мне нужны ваши огни, заранее спасибо. С уважением
@kiki67100, 👍1
Обсуждение1 ответ
Лучший ответ:
Наконец-то я решил свою проблему. Я отключил автоматическую скорость передачи SIM800L через FTDI232 с помощью этих команд at:
AT + IPR = 9600
AT & W
AT + IPR: зафиксируйте скорость передачи данных на уровне 9600 AT & W: сохранить в SIM800L
Тогда, когда я использую SoftwareSerial, у меня больше нет проблем. Когда я сбрасываю модуль с помощью короткого соединения RST с GND, я получаю хороший ответ от SIM800L:
RDY
+CFUN: 1
+CPIN: READY
Call Ready
SMS Ready
Спасибо за помощь.
Примечание. Убедитесь, что у вас хороший источник питания и хорошие провода.
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не отвечает на AT-команды
- Связь UART - серийный номер всегда пуст
- AT-команда не отвечает на последовательный монитор
- В чем разница между библиотеками Software Serial? Какая из них совместима с Arduino Nano?
- Ардуино для чтения с преобразователя RS232 в последовательный модуль TTL
- Как связаться с ESP8266 ESP01, отправив данные через программный сериал на Arduino Uno?
- myserial.available() возвращает нулевой байт
Два подозрения могут быть расследованы. Во-первых, это «Программный последовательный порт», который всегда вызывает подозрения. Я так понимаю, что вы отлаживаете с пк через FTDI. Возможно, вам лучше отлаживать с помощью Arduino Mega, поскольку у него есть несколько аппаратных серийных номеров, пока вы не будете удовлетворены своим проектом, а затем портируете код на Arduino Pro. И во-вторых, если версия Arduino Pro 3v (вы не упомянули) и вызывает проблемы с логическими уровнями., @Sener
Если бы я был на вашем месте, я бы начал тестирование с более низких частот, таких как 9600, и повышал бы их до тех пор, пока данные не начали бы искажаться, как вы видите., @Sener
Кстати, ваша проводка показывает SIM900L, а не SIM800, у которых немного другие рекомендации по проводке. Который твой?, @Sener
@Sener я ошибаюсь, это действительно sim800l, @kiki67100
Я использую скорость 1200 бод, и я использую https://github.com/nickstedman/SoftwareSerialWithHalfDuplex для последовательного программного обеспечения, это не работает, у меня такая же проблема, @kiki67100