Не удается связаться с серийным номером программного обеспечения на определенных устройствах (SIM7600G-H)
У меня есть 3 устройства:
- UNO (неподлинный)
- SMS шляпа/щит устройство
SIM7600G-H
для связи через UART
- А USB UART контроллер для целей отладки
Я использую UNO для связи с SMS-устройством через UART на скорости 9600
в бодах для отправки и получения SMS-команд. Мне нужно, чтобы аппаратный порт был открыт для отладки, и я пытаюсь использовать программный порт для связи с устройством SMS через его контакты TX RX.
Но я вообще не могу заставить программный порт общаться с SMS-устройством.
Это успех, которого я добился, пытаясь разговаривать с устройствами и с них. Чтобы эта настройка работала, необходимо решить выделенные жирным шрифтом поля. ✅ = работающий коммуникатор, ❌ = вообще ничего на коммуникаторе. Читать слева направо: последовательный порт HAT (SMS DEVICE) может обмениваться данными с аппаратным серийным номером UNO.
И я использую этот код, чтобы просто передавать входные и выходные данные между аппаратными и программными портами для тестирования.
// Должен быть одинаковым для макета и серийного номера
const int baud = 9600;
// Связь с mock hat
SoftwareSerial mockPort(2, 3);
void setup()
{
Serial.begin(baud);
while (!Serial)
{
; // ждем подключения последовательного порта. Требуется только для родного порта USB
}
mockPort.begin(baud);
Serial.println("Mock port has started @ " + String(baud));
}
void loop()
{
while (mockPort.available() > 0)
{
char inByte = mockPort.read();
// и отправляем на аппаратный последовательный порт:
Serial.write(inByte);
}
// пока есть данные, поступающие FROM SERIAL, читаем их и отправляем обратно в mock
while (Serial.available() > 0)
{
char inByte = Serial.read();
// и отправляем на фиктивный последовательный порт:
mockPort.write(inByte);
}
}
Почему я не могу установить связь с устройством SMS через программные порты? (или также USB UART?) При тестировании я вижу, что индикатор RX UNO загорается, но я никогда не получаю никаких данных от устройства SMS (монитор последовательного порта просто черный).
Примечания:
- Я также пробовал библиотеку AltSoftSerial
- Я установил скорость передачи SMS по умолчанию на
9600
- Я пробовал разные контакты для связи
- У меня есть контакты TX на контактах RX и наоборот
@Freddy Mcloughlan, 👍-1
Обсуждение1 ответ
Лучший ответ:
Ярлыки TX
и RX
соответствуют Raspberry Pi. Поэтому я поменял местами провода RX
и TX
, чтобы соединить их как RX
->RX
и TX<. /code>->
TX
и теперь все работает
- AT-команда не отвечает на последовательный монитор
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- Как остановить SoftwareSerial от получения данных и повторно включить его в какой-то другой момент?
- Ардуино для чтения с преобразователя RS232 в последовательный модуль TTL
- Не нашел датчик отпечатков пальцев :( Arduino Mega 2560 Adafruit Fingerprint Sensor
- Как работает последовательная связь на Arduino?
- Как связаться с ESP8266 ESP01, отправив данные через программный сериал на Arduino Uno?
- Ошибка 'Serial' was not declared in this scope
Я использую simcom7600gh, но с esp32. Вы уверены, что отправляете модему правильные AT-команды?, @Ahmad Firdaus Idris
@AhmadFirdausIdris Все, что я отправляю, это
at
. Я тоже пробовал с ESP32. Я даже не могу получить сообщение загрузки из шапки., @Freddy Mcloughlan