Датчик наклона с оповещением по gsm/gprs

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

Новичок - ищу подсказки

Нужно:
Датчик наклона с оповещением по gsm/gprs

Есть на руках:
1. attiny85 digispark
2. Arduino Nano
3. ESP8266
4. Модуль GSM/GPRS Goouuu Tech IOT-GA6-B
5. Модуль GY-521 с гироскопом, акселерометром и термометром MPU-6050

Вопросы:
Вот можно ли attiny85 digispark подружить с модулями ?
Или мне нужно хотя бы Arduino Nano ?

P/S - Если я правильно понимаю, то из за отсутствия у attiny85 digispark UART интерфейса не получится подружить GSM/GPRS модуль.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

interesuyushchijsya пишет:
Вопросы:
Ответы:
interesuyushchijsya пишет:
Вот можно ли attiny85 digispark подружить с модулями ?
Вот можно. Если что, скажете, что я разрешил.
interesuyushchijsya пишет:
Или мне нужно хотя бы Arduino Nano ?
Никто, кроме Вас не знает, что Вам нужно, а что - нет.
interesuyushchijsya пишет:
из за отсутствия у attiny85 digispark UART интерфейса не получится подружить GSM/GPRS модуль.
Ну, кто ж заранее может сказать? У меня получается. У остальных - тоже. А получится ли у Вас ... попробуйте и нам расскажете.

b707
Offline
Зарегистрирован: 26.05.2017

interesuyushchijsya пишет:
Если я правильно понимаю, то из за отсутствия у attiny85 digispark UART интерфейса не получится подружить GSM/GPRS модуль.

отсутсвие UART не так важно, важнее что на аттини маловато пинов для подключения той периферии, что вы себе запланировали. Если причина выбора дигиспарка в том, что нужно устройство малого размера, то лучше взять вместо нано отдеьный микроконтроллер и развести свою плату

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

b707 пишет:

interesuyushchijsya пишет:
Если я правильно понимаю, то из за отсутствия у attiny85 digispark UART интерфейса не получится подружить GSM/GPRS модуль.

отсутсвие UART не так важно, важнее что на аттини маловато пинов для подключения той периферии, что вы себе запланировали. Если причина выбора дигиспарка в том, что нужно устройство малого размера, то лучше взять вместо нано отдеьный микроконтроллер и развести свою плату


 

Как я понял...
От gsm/gprs должно идти на 2 пина и так же от gy521 на 2 пина
Итого: 4 пина
 
У attiny85 digispark вижу 6
 
Или как то просчитался( ?
b707
Offline
Зарегистрирован: 26.05.2017

interesuyushchijsya пишет:

Как я понял...

От gsm/gprs должно идти на 2 пина и так же от gy521 на 2 пина
Итого: 4 пина
 
У attiny85 digispark вижу 6
 
Или как то просчитался( ?

на дигиспарке 5 пинов, шестой это Reset, с ним надо уметь работать.

Если Вы абсолютно уверены что, кроме двух указанных модулей, в проекте больше ничего не появится - то пинов вроде хватает.

Но, по-опыту - обычно по мере доводки схемы появляются новые задачи. Например, если это мобильное устройство - возможно вы захотите измерять напряжение на батарейке - это еще пин...

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

@b707

Понял, спасибо!

Буду пробовать / разбираться.

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

Выбрал пока для старта:
1. Arduino Nano
2. Модуль GSM/GPRS Goouuu Tech IOT-GA6-B

Почему не отправляется СМС ?

#include <SoftwareSerial.h>

              // NANO | GSM
              // 5V | VCC
              // GND | G
#define D2  2 // D2 | UTX
#define D3  3 // D3 | URX

SoftwareSerial gsm(D2, D3);

String number = "+79XXXXXXXX"; // Принимаемый номер телефона


void setup() {
  Serial.begin(9600);
 
  Serial.println("Старт системы...");
  gsm.begin(115200);
  delay(1000);
 
sms();   // Отправка sms

}

void loop() {}

//----------- GSM Функции ----------

void sms()
{
  Serial.println ("Отправка смс");
  gsm.println("AT+CMGF=1\r"); // Перевод модуля в режим работы с тектовыми сообщениями
  delay(1000);
  gsm.println("AT+CSCS=\"GSM\"\r"); // Включение GSM кодировки
  delay(1000);
  Serial.println ("Установка номера");
  gsm.println("AT+CMGS=\"" + number + "\"\r"); // Отправка SMS
  delay(1000);
  
  String SMS = "SMS.....";
  
  gsm.println(SMS);
  delay(100);
  gsm.println((char)26);
  delay(1000);

 Serial.println ("Смс отправлено");
}

 

Подключение: NANO по USB к компьютеру

NANO | GSM 5V -> VCC GND -> G D2 -> UTX D3 -> URX

А так же пробовал и отдельно питать модуль GSM/GPRS Goouuu Tech IOT-GA6-B

Блок питания OUTPUT 12V 2A -> DC–DC понижающего преобразователя D-SUN Входное напряжение: 7 - 28 В Выходное напряжение: 5 В Выходной ток: 0 - 3 A -> Модуль

В мониторе порта:

Старт системы...
Отправка смс
Установка номера
Смс отправлено

Но смс не приходит.

b707
Offline
Зарегистрирован: 26.05.2017

interesuyushchijsya пишет:

Почему не отправляется СМС ?

#include <SoftwareSerial.h>

SoftwareSerial gsm(D2, D3);
gsm.begin(115200);
}

 

может потому что максимальная скорость Софтсериала - 38400 ?

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

b707 пишет:

может потому что максимальная скорость Софтсериала - 38400 ?

Ой, исправил на 9600
Вот только безрезультатно(

Но и вот тут у парня всё работает на 115200:

1. https://www.youtube.com/channel/UCYGK6xzxWoTKrpHLPDqs5Mg
2. https://github.com/arifroboshoptech/UNO-GSM-GA6-B/blob/main/GA6-B_GSM/GA...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

interesuyushchijsya пишет:

Ой, исправил на 9600

Исправлять на не "на 9600", а на ту скорость, с которой работает Ваш модуль

interesuyushchijsya пишет:

Вот только безрезультатно

А чего Вы хотели? В правда думали, что других ляпов нет? Например, что вот здесь;

#define D2  2 // D2 | UTX
#define D3  3 // D3 | URX

SoftwareSerial gsm(D2, D3);

RX и TX не перепутаны?

interesuyushchijsya пишет:

Но и вот тут у парня всё работает на 115200

Вот ему и задавайте вопросы. Чего Вы сюда-то пришли?

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

ЕвгенийП пишет:

RX и TX не перепутаны?

В описании правда напутал, подключено было правильно
 

ЕвгенийП пишет:

Исправлять на не "на 9600", а на ту скорость, с которой работает Ваш модуль

А как определить правильную скорость ?
Сейчас стоит для Serial.begin(9600); и для gsm.begin(9600);

- Я пытался найти примеры где у людей всё работает и хотел повторить
А в итоге не выходит) и скорости не те

Я и эту темку пытался повторить, но мне и ответы на AT-команды никакие не приходят xD
http://arduino.ru/forum/apparatnye-voprosy/strannoe-povedenie-gsm-modulya-goouuu-tech-iot-ga6

Модуль GSM запитан отдельно 5V
А NANO по USB к компьютеру
 

#include <SoftwareSerial.h>

// Подключение:
// NANO | GSM
// D2 -> URX
// D3 -> UTX

SoftwareSerial gsm(2, 3);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  Serial.println("Start!");
  delay(2000);

  gsm.begin(9600);
  Serial.println("Отправка \"AT\"");
  gsm.println("AT");
  delay(300);
  Serial.println("Отправка \"AT\"");
  gsm.println("AT");
  delay(300);
  Serial.println("Отправка \"AT\"");
  gsm.println("AT");
  delay(1500);
  Serial.println("Отправка \"AT+COPS?\"");
  gsm.println("AT+COPS?");
  delay(1500);
  Serial.println("Отправка \"AT+CPAS\"");
  gsm.println("AT+CPAS");
  delay(1500);
  Serial.println("Отправка \"AT+CREG?\"");
  gsm.println("AT+CREG?");
  delay(1500);
}

void loop() { // run over and over
  if (gsm.available())
    Serial.write(gsm.read());
  if (Serial.available())
    gsm.write(Serial.read());
}

 

b707
Offline
Зарегистрирован: 26.05.2017

interesuyushchijsya пишет:

Я и эту темку пытался повторить, но мне и ответы на AT-команды никакие не приходят xD
 

#include <SoftwareSerial.h>

// Подключение:
// NANO | GSM
// D2 -> URX
// D3 -> UTX

SoftwareSerial gsm(2, 3);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  Serial.println("Start!");
  delay(2000);

  gsm.begin(9600);
  Serial.println("Отправка \"AT\"");
  gsm.println("AT");
  delay(300);
  Serial.println("Отправка \"AT\"");
  gsm.println("AT");
  delay(300);
  Serial.println("Отправка \"AT\"");
  gsm.println("AT");
  delay(1500);
  Serial.println("Отправка \"AT+COPS?\"");
  gsm.println("AT+COPS?");
  delay(1500);
  Serial.println("Отправка \"AT+CPAS\"");
  gsm.println("AT+CPAS");
  delay(1500);
  Serial.println("Отправка \"AT+CREG?\"");
  gsm.println("AT+CREG?");
  delay(1500);
}

void loop() { // run over and over
  if (gsm.available())
    Serial.write(gsm.read());
  if (Serial.available())
    gsm.write(Serial.read());
}

это вы от этого кода какие-то ответы ждете? - с чего бы?

Посмотрите внимательно - сначала вы долго долбите модем разными командами, не читая ответов. После последней команды ждете 1.5 секунды - и только потом начинаете слушать модем. А что там слушать к тому моменту? - если модем вам что и говорил. то уже давно закончил :)

выкиньте из этого кода все команды, оставьте только это:

#include <SoftwareSerial.h>

SoftwareSerial gsm(2, 3);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  gsm.begin(9600);
 }

void loop() { // run over and over
  if (gsm.available())
    Serial.write(gsm.read());
  if (Serial.available())
    gsm.write(Serial.read());
}

прошейте ардуину, подключите к компу, откройте в Ардуино "Монитор порта", настройте скорость на 9600 и попробуйте дать модему команды ыручную, начните хотя бы с "АТ" . Вот тогда и увидите, отвечает что-то модем или нет

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

b707 пишет:

прошейте ардуину, подключите к компу, откройте в Ардуино "Монитор порта", настройте скорость на 9600 и попробуйте дать модему команды ыручную, начните хотя бы с "АТ" . Вот тогда и увидите, отвечает что-то модем или нет

 

Пробую отправлять "AT" как с ковычками , так и без них, ничего не происходит.
- Позвонил на всякий на ту симку что там стоит, она "не в сети"
Постоянно горит красный и мигает зелёлный.

 

b707
Offline
Зарегистрирован: 26.05.2017

interesuyushchijsya пишет:

Пробую отправлять "AT" как с ковычками , так и без них, ничего не происходит.

отправлять AT без кавычек, латинскими заглавными буквами, в терминале перевод строки поставить NL & CR. Строку AT отправлять 10-15 раз подряд, иногда модем отвечает не сразу

если все равно нет ответа - то либо с проблемы с подключением, либо скорость не та, или модем совсем не стартует. Пока модем в терминале не ответит - пробовать какие-либо скетчи в ардуино абсолютно бессмысленно

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707 пишет:

отправлять AT без кавычек, латинскими буквами, в терминале перевод строки поставить NL & CR

Дополню: лучше заглавными буквами. А скорость можно подбирать, пробуя по очереди. Мне как-то модем  с 19200 попался.

genia1991
Offline
Зарегистрирован: 25.12.2019

interesuyushchijsya пишет:

b707 пишет:

прошейте ардуину, подключите к компу, откройте в Ардуино "Монитор порта", настройте скорость на 9600 и попробуйте дать модему команды ыручную, начните хотя бы с "АТ" . Вот тогда и увидите, отвечает что-то модем или нет

 

Пробую отправлять "AT" как с ковычками , так и без них, ничего не происходит.
- Позвонил на всякий на ту симку что там стоит, она "не в сети"
Постоянно горит красный и мигает зелёлный.

 

наверное надо было начать с того как подключено питание на SIM?

как подключен UART?

 

b707
Offline
Зарегистрирован: 26.05.2017

ЕвгенийП пишет:

А скорость можно подбирать, пробуя по очереди. Мне как-то модем  с 19200 попался.

у ТС модем Goouuu Tech IOT-GA6-B - это китайский клон китайского же AThinker A6, у которого должна быть автонастройка скорости Сериал. Если его подолбить подольше разными командами - он должен начать отвечать на скорости входящих данных :)

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

Данный модуль должен сам регистрироваться в сети при подаче питания ?
- вставляю сим в телефон - в сети
- вставляю в модуль - не в сети

Подключение модуля пробую 2

1: От Nano
VCC модуля -> 5V nano
G модуля -> GND рядом с VIN nano
URX модуля -> D2 nano
UTX модуля -> D3 nano

2: Отдельно

Блок питания OUTPUT 12V 2A -> DC–DC понижающего преобразователя D-SUN Входное напряжение: 7 - 28 В Выходное напряжение: 5 В Выходной ток: 0 - 3 A -> Модуль

VCC модуля -> D-SUN +
G модуля -> D-SUN -
URX модуля -> D2 nano
UTX модуля -> D3 nano

b707
Offline
Зарегистрирован: 26.05.2017

interesuyushchijsya пишет:

Подключение модуля пробую 2

1: От Nano
VCC модуля -> 5V nano
G модуля -> GND рядом с VIN nano
URX модуля -> D2 nano
UTX модуля -> D3 nano

Нано подключите к компу по USB, никаких других блоков питания не нужно. Этот модем мало потребляет, ему питания от USB вполне достаточно

RX TX попробуйте и так, как нарисовано. и наоборот - иногда китайцы подписи путают

 

Кстати,  СИМка какая? - должна быть обязательно 2G. А сейчас стали появлятся операторы, у которых 2G уже нет, например российский Теле2. Такая СИМка в этом модеме работать не будет

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

b707 пишет:

Кстати,  СИМка какая? - должна быть обязательно 2G. А сейчас стали появлятся операторы, у которых 2G уже нет, например российский Теле2. Такая СИМка в этом модеме работать не будет

Мегафон - на симке надпись 4G+

b707
Offline
Зарегистрирован: 26.05.2017

interesuyushchijsya пишет:

Мегафон - на симке надпись 4G+

надпись ничего не значит. смотрите на сайте оператора, в каком типе сетей он работает в вашем регионе

еще в старых телефонах раньше было "инженерное меню", где можно было посмотреть диапазоны, поддерживаемые именно этой симкой. В новых не знаю, отстал от темы, может кто их железячников подскажет

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Проще карту покрытия посмотреть. 

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

Пробежался по скоростям
А так же пытался долбить командами
Ничего не помогает xD
Не одного "OK" на отправку "AT"

 

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

А такое разве может решить проблему ?

Перевод Google Translate

Сам топик тут https://forum.arduino.cc/index.php?topic=422375.0
- Именно это сообщение последнее в топике.

Привет, я расскажу вам о своем опыте работы с модулем A6 Mini (Goouuu Tech), подключенным к клону Arduino Nano на макетной плате.
Я перепробовал все, что упоминалось в этом посте (отправьте несколько AT, пока модуль не синхронизируется, потяните вверх / вниз несколько контактов и т. д. и т. д.)
Наконец, я только что подключил ОГРОМНЫЙ конденсатор 4700 мкФ к шине питания, это решило все, что
я не подключал ни к контакту PWR, ни к контакту RESET, только + 5V, GND и Tx / Rx (в 3,3V логика, нужно использовать адаптер уровня для разговора с платой Nano, я использовал недорогой TLL Open Collector AND gate), и он работал отлично.Я
установил скорость передачи на 9600 только один раз, используя команды AT, описанные в руководстве, и нет необходимости в дальнейшей настройке . Каждый раз, когда я подключаю питание, модуль загружается через 2/3 секунды, NETLED начинает мигать, и я могу начать отправлять AT-команды.
Я использую SoftwareSerial на 9600, чтобы общаться с A6, заботясь о том, что это программный порт ПОЛУДУПЛЕКСА, вам нужно тщательно запрограммировать квитирование с A6, поскольку он отправляет локальное эхо командам.
Надеюсь, это поможет.
С уважением.
interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

Судя по покрытию мой симки "Мегафон" - я есть и буду "не в сети" xD

P.S - Я новичок - не злитесь на тупость xD

А правильно ли я понимаю нижеследующее ?

Я не могу видеть ответы из за разности скоростей аппаратного Serial и софтового SoftwareSerial ?
- Т.е. допустим Arduino Nano и мой модуль общаются аппаратно на скорости 115200 и мне не удаётся подсмотреть что там происходит из за ограничений SoftwareSerial в 38400 и не возможности наладить модуль на подходящие для SoftwareSerial скорости.

Т.е. если я отправляю модулю команды на его скорости, то он их видит, а просто я не могу реакцию через монитор порта посмотреть - так получается ?
 

void setup() {
  Serial.begin(9600);

  gsm.begin(115200);
  delay(1000);

  gsm.println ("AT");
}

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Вы спросили какой-то бред. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

interesuyushchijsya пишет:

Я не могу видеть ответы из за разности скоростей аппаратного Serial и софтового SoftwareSerial ?

Такая проблема есть. Ставьте одинаковые скорости. И ещё, по тем же причинам, что и у этой проблемы, старайтесь не пересекать по времени работу аппаратного и программного сериалов, чтобы они не работали одновременно.

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

ЕвгенийП пишет:

Такая проблема есть. Ставьте одинаковые скорости. И ещё, по тем же причинам, что и у этой проблемы, старайтесь не пересекать по времени работу аппаратного и программного сериалов, чтобы они не работали одновременно.

Да что то на сотни ручных отправок команды "AT" в монитор - ноль ответов(

Видимо я для поиграться проблемный (со сложностями) модуль купил...

 

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); // URX-D2 / UTX-D3


void setup() {
Serial.begin(9600);
mySerial.begin(9600);

Serial.println("Отправка команды AT+IPR=9600");
mySerial.println("AT+IPR=9600");
delay(1500);

Serial.println("Преднастройка готова");

}

void loop() {

if (mySerial.available())
   Serial.write(mySerial.read());
if (Serial.available())
   mySerial.write(Serial.read());
}

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

Может какое то более хитрое подключение нужно ?
- У меня так

b707
Offline
Зарегистрирован: 26.05.2017

Так.... а земли ардуино и модуля кто обьединять будет?? Без этого точно ничего не заработает

И я же вам написал - не надо внешних БП, питайте модуль от пина 5в на Нано, а нану - от Usb

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ура! К 28-му посту Вы расщедрились на схему подключения, которая должна была бы быть ещё в самом первом!

Вот сколько раз зарекался требовать схему, скетч и фото сразу. Не хочет ТС рисовать и выкладывать - лесом! Но, каждый раз ... не зря говорят: "Зарекалась свинья дерьмо не есть, идёт, а оно лежит ..."

В общем с такой схемой работать не должно и не будет.

Во-первых, я Вам уже писал вчера (#9), что у Вас перепутаны TX и RX, Вы мне солгали, что на самом деле всё правильно (#10).

Во вторых, земли ардуины и модуля должны быть соединены.

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

ЕвгенийП пишет:

Ура!

Во-первых, я Вам уже писал вчера (#9), что у Вас перепутаны TX и RX, Вы мне солгали, что на самом деле всё правильно (#10).

Прошу прощения!
- Видимо я запутался совсем.

Как правильно должно быть ?

У меня URX к D2 | UTX к D3
А должно быть URX к D3 | UTX к D2 ?

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

b707 пишет:
Так.... а земли ардуино и модуля кто обьединять будет?? Без этого точно ничего не заработает И я же вам написал - не надо внешних БП, питайте модуль от пина 5в на Нано, а нану - от Usb

И так и так пробовал, но много где вычитал что нужно отдельное питание.
- Сделал по вашему.

Вот так:

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

interesuyushchijsya пишет:

И так и так пробовал, но много где вычитал что нужно отдельное питание.

В отдельном питании нет ничего плохого, но линии GND обязаны быть объединены!

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021
Последнее сообщение отредактировать не могу
- Это комментарий к фото

Модуль | Nano

G (сиреневый) GND
VCC (белый) 5V
URX (желтый) D2
UTX (зеленый) D3

И скетч:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); // URX-D2 / UTX-D3


void setup() {
Serial.begin(9600);
mySerial.begin(9600);

Serial.println("Отправка команды AT+IPR=9600");
mySerial.println("AT+IPR=9600");
delay(1500);

Serial.println("Преднастройка готова");

}

void loop() {

if (mySerial.available())
   Serial.write(mySerial.read());
if (Serial.available())
   mySerial.write(Serial.read());
}

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

interesuyushchijsya пишет:

Как правильно должно быть ?

У меня URX к D2 | UTX к D3
А должно быть URX к D3 | UTX к D2 ?

Вот таким походом Вы выносите себе мозг и сами себя путаете.

Запомните навсегда: RX одного устройства к TX другого и только так. Tx - это пин на который передаём, а RX - пин с которого читаем. Так вот Вы всегда должны соединять передатчик одного устройства с приёмником другого. А Вы соединили передатчик с передатчиком и приёмник с приёмником. Много они у Вас наобщаются?

В параметрах конструктора SoftSerial первым идёт RX, вторым TX. Поэтому, если Вы не пошутили опять, и у Вас в коде действительно написано:

SoftwareSerial mySerial(2,3);

значит у Вас RX - 2, a TX - 3. Вот и получается, что Вы соединили два RX и два TX между собой

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

interesuyushchijsya пишет:

URX (желтый) D2
UTX (зеленый) D3

Я сдаюсь. Горбатого могила исправит :-(

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

ЕвгенийП пишет:

interesuyushchijsya пишет:

URX (желтый) D2
UTX (зеленый) D3

Я сдаюсь. Горбатого могила исправит :-(

Просто выше обновил, чтобы прослеживались ошибки.

Я понял что RX -> TX и TX -> RX должны быть соединены.
А так же, что идёт такая очерёдность в SoftwareSerial mySerial (rxPin, txPin);

Но в моей голове сложность возникает из за того что я к D2 и D3 подключаюсь, а не к RX и TX.
 

b707
Offline
Зарегистрирован: 26.05.2017

А еще я вам три дня назад писал - просто попробуйте поменять местами rx tx
Я тоже вечно их путаю - и когда сомневаюсь и ничего не работает, частенько просто меняю наоборот. Этим ничего сломать нельзя

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

b707 пишет:
А еще я вам три дня назад писал - просто попробуйте поменять местами rx tx Я тоже вечно их путаю - и когда сомневаюсь и ничего не работает, частенько просто меняю наоборот. Этим ничего сломать нельзя

Я игрался с ними - максимальный эффект был
- Была куча бесконечных "?"

Сейчас выполнил все рекомендации

Вот такой скетч - 0 эмоций в мониторе порта на отправки "AT"

 

#include <SoftwareSerial.h>

// Модуль VCC (красный) Nano 5V
// Модуль G (черный) Nano GND
// Модуль URX (белый) Nano D2
// Модуль UTX (коричневый) Nano D3

SoftwareSerial mySerial (3, 2);


void setup() {
Serial.begin(9600);
mySerial.begin(9600);

Serial.println("Отправка команды AT+IPR=9600");
mySerial.println("AT+IPR=9600");
delay(1500);

Serial.println("Преднастройка готова");

}

void loop() {

if (mySerial.available())
   Serial.write(mySerial.read());
if (Serial.available())
   mySerial.write(Serial.read());
}


b707
Offline
Зарегистрирован: 26.05.2017

interesuyushchijsya пишет:

Я игрался с ними - максимальный эффект был
- Была куча бесконечных???


Вооот!!! Вот именно то соединение, где были вопросы - вам и надо повторить.
Но вообще я уже не верю, что у вас хоть что-то выйдет, ардуино и электроника вообще - явно не ваше, 4 провода неделю подсоенить не можете.
Смешно, а ведь вы планировали это на дигиспарке делать...

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

b707 пишет:
interesuyushchijsya пишет:

Я игрался с ними - максимальный эффект был
- Была куча бесконечных???

Вооот!!! Вот именно то соединение, где были вопросы - вам и надо повторить. Но вообще я уже не верю, что у вас хоть что-то выйдет, ардуино и электроника вообще - явно не ваше, 4 провода неделю подсоенить не можете. Смешно, а ведь вы планировали это на дигиспарке делать...

Я просто чутка вскипел из за количества переработанной информации вот и начал путаться на 2+2)
- Всё заработает, я уверен. - С вашими подсказками конечно xD

Подумал что куча "???" - это был какой то мусор) и сигнал о том, что то не так xD

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

Уфффф)
Вы сказали повторить, я повторил)
- И всё заработало.

На питании от Arduino Nano - вообще 0 эмоций.

Но так как я не знал про общий минус, куча ???? у меня появлялось на отдельном питании модуля.

А подключив сейчас общий минус и отдельное питание - получаю вот что xD

b707
Offline
Зарегистрирован: 26.05.2017

Урррряяяяя

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

interesuyushchijsya пишет:

Но в моей голове сложность возникает из за того что я к D2 и D3 подключаюсь, а не к RX и TX.

Так я же Вам писал, что 

ЕвгенийП пишет:

Вот таким походом Вы выносите себе мозг и сами себя путаете.

помните? Думаете я это для красного словца?

Вот, скажите, кто или что мешает Вашей голове НИКОГДА не писать вот так:

SoftwareSerial mySerial(2,3);

А ВСЕГДА писать вот так:

#define SOTF_RX 2
#define SOTF_RX 3
...
SoftwareSerial mySerial(SOTF_RX, SOTF_TX);

Самому же насколько легче жить станет! Вы теперь, глядя на строки 1-2 сразу видите где у Вас что и понимаете как это надо соединять.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

С Победой!

interesuyushchijsya
Offline
Зарегистрирован: 10.04.2021

Модуль видимо через какое то время после запуска засыпает), не реагирует на команды, а как его будить ?
Какой то специальной AT командой ? Или нужно тащить ещё куда то провод на вкл / выкл ?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Засыпает? Изучайте как его из сна выводить - https://voltiq.ru/datasheets/A6_gprs_series_module_at_instruction_set_v1.0.pdf

AndreyD
AndreyD аватар
Offline
Зарегистрирован: 07.10.2018

Евгений Петрович, а не лучше писать так?

constexpr uint8_t sorfRx = 2;

constexpr uint8_t sorfTx = 3;

...

SoftwareSerial mySerial(sorfRx,sorfTx)

Это я под впечатлением, что define устарел. )

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Лучше. Сам я так и пишу. Только я бы туда ещё static добавил.

AndreyD
AndreyD аватар
Offline
Зарегистрирован: 07.10.2018

Сочетание static constexpt это что-то новое для меня.