вот я и попробовал кидать напрямую АТ команды в железный порт без всяких библиотек - и не пошло.
а с софтовой библиотекой через команды библиотеки работало.
Наверное, что-то делал не так...
void setup()
{
Serial3.begin(19200);
delay(500);
}
void loop()
{
1. вариант:
if (Serial3.available())
Serial.write(Serial3.read());
if (Serial.available())
Serial3.write(Serial.read());
2 вариант:
// Устанавливает текстовый режим для SMS-сообщений
Serial3.print("AT+CMGF=1\r");
delay(100); // даём время на усваивание команды
// Устанавливаем адресата: телефонный номер в международном формате
Serial3.println("AT + CMGS = \"+791000000\"");
delay(100);
// Пишем текст сообщения
Serial3.println("ALARM!");
delay(100);
// Отправляем Ctrl+Z, обозначая, что сообщение готово
Serial3.println((char)26);
}
вот я и попробовал кидать напрямую АТ команды в железный порт без всяких библиотек - и не пошло.
а с софтовой библиотекой через команды библиотеки работало.
Наверное, что-то делал не так...
void setup()
{
Serial3.begin(19200);
delay(500);
}
void loop()
{
1. вариант:
if (Serial3.available())
Serial.write(Serial3.read());
if (Serial.available())
Serial3.write(Serial.read());
2 вариант:
// Устанавливает текстовый режим для SMS-сообщений
Serial3.print("AT+CMGF=1\r");
delay(100); // даём время на усваивание команды
// Устанавливаем адресата: телефонный номер в международном формате
Serial3.println("AT + CMGS = \"+791000000\"");
delay(100);
// Пишем текст сообщения
Serial3.println("ALARM!");
delay(100);
// Отправляем Ctrl+Z, обозначая, что сообщение готово
Serial3.println((char)26);
}
поменяйте местами RX и TX местами в arduino и питание должно быть только внешнее, не от arduino.
Скорость выставьте Serial3 и Serial одинаковую,например 9600
Судя по комментам, у многих ситуация аналогичная. Такое ощущение, что это связано со спецификой производства каждой конкретной меги. Ибо производятся они китайцами, и могут иметь различную топологию, и даже разную элементную базу. Других причин я не вижу.
вот я и попробовал кидать напрямую АТ команды в железный порт без всяких библиотек - и не пошло.
а с софтовой библиотекой через команды библиотеки работало.
Наверное, что-то делал не так...
вот я и попробовал кидать напрямую АТ команды в железный порт без всяких библиотек - и не пошло.
а с софтовой библиотекой через команды библиотеки работало.
Наверное, что-то делал не так...
поменяйте местами RX и TX местами в arduino и питание должно быть только внешнее, не от arduino.
Скорость выставьте Serial3 и Serial одинаковую,например 9600
TX и RX менял уже.
питание в своих экспериментах с библиотеками подавал от Ардуины, проблем не видел (хотя понимаю, что это не доказательство).
вот насчет одинаковой скрости портов - интересно.
Попробую вечером!
Мега с модулем SIM800 у меня на хардовых портах не пошел. Только на 10-11 пинах с софтовой библиотекой.
а у меня наоборот не получилось. Использую 14 и 15 - Serial3 с АТ командами.
Судя по комментам, у многих ситуация аналогичная. Такое ощущение, что это связано со спецификой производства каждой конкретной меги. Ибо производятся они китайцами, и могут иметь различную топологию, и даже разную элементную базу. Других причин я не вижу.
у меня Мега типа приличная, на подвальная - Keyestudio, определяется как родная )
А нет никакого куска кода, которым можно было бы попробовать работу?
м.б., я в коде где-то накосячил? из меня программер тот еще )
А в чем проблема, если на софтовом порту работает? Или надо дозарезу на хардовом?
на софтовом - через либу.
А на железном не хочет ни через либу, ни напрямую.
Ну таки в чем проблема? Ну через либу.. либа то какая? SoftSerial?
На софтовом порту можно спокойно пользовать AT команды.
на софтовом - через либу.
А на железном не хочет ни через либу, ни напрямую.
хотите уйти от либы или памяти сэкономить?
основная цель (вбитая мной в голову) - уйти от софтовых портов.
Отказаться от либы - часть цели ).
И хотя писать/читать СМС проще либой, но какие-то вещи - типа запроса времени, баланса и проч. делаются через команды.
Коллеги, спешу подеоиться радостью!
совет obuhanoe "Скорость выставьте Serial3 и Serial одинаковую,например 9600" помог!
поставил везде 19200, и AT откликнулся! без всяких библиотек, на 14-15 ногах!
буду тестить дальше, но очевидно, что прогресс есть!
Спасибо obuhanoe!
Дополнено:
проверил АТ-командами отправку/прием СМС, исходящий звонок, лькальное-сетевое время и прочее - все работает!
причем на скоростях порта до 115к
А какая версия прошивки в вашем модуле (Sim800l) сейчас стоит ?
AT+GCAP
+GCAP: +CGSM
В плате Sim800L EVB V2.2 ?
в плате - не знаю .
на плате - EVB + v2.0 )
подскажите пожалуйсто что не так с кодом?
Хотелось бы отправлять в ответ смс с температурой и влажностью, но до них не доходит, в сериал показывает старые смс, новые нет.