ZS-040 переходит в режим AT но не отвечает

bezzeb
Offline
Зарегистрирован: 02.11.2013

Добрый вечер.

Имею вот такой bluetooth адаптер без кнопки,но с выведенным пином Key

и arduino uno

подключил

vcc-5v

rx-rx

tx-tx

gnd-gnd

key-3.3v

Пробовал стандартные примеры

include <SoftwareSerial.h>

SoftwareSerial mySerial(0, 1); // указываем пины rx и tx соответственно

void setup()  {
  pinMode(0,INPUT);
  pinMode(1,OUTPUT);
  Serial.begin(9600);
  mySerial.begin(38400);
  Serial.println("start prg");
}

void loop() {
  if (mySerial.available()) {
    char c = mySerial.read(); // читаем из software-порта
    Serial.print(c); // пишем в hardware-порт
  }
  if (Serial.available()) {
    char c = Serial.read(); // читаем из hardware-порта
    mySerial.write(c); // пишем в software-порт
  }
}

Модем переходит в АТ режим(мигает раз в 2 секунды светодиод)

но отвечает на команды только так

AT   -    x>AxxTx⸮⸮

 

Подскажите в чем может быть проблема?

заранее благодарен

bezzeb
Offline
Зарегистрирован: 02.11.2013

поборол проблему перейдя на софтовые rx/tx

at команды теперь проходят,но при подключении к elm327 постоянно ошибка 

"AT+BIND=6635,56,7890AB" . . . "OK"

"AT+PAIR=6635,56,7890AB,10" . . . "OK"

"AT+LINK=6635,56,7890AB" . . . Failed

при запросе статуса постоянно висит INQUIRING

Feofan
Offline
Зарегистрирован: 28.05.2017
Смартфон к ELM подключается?
ELM на запрос ATRV со смартфона отвечает стабильно?
На ZS-040 pin State есть?
На ZS-040 pin En есть?
ELM327, не оригиналы, очень своеобразные устройства. Каждая "модель" со своим характером и набором вредности.
 
bezzeb
Offline
Зарегистрирован: 02.11.2013

Да,есть на руках 2 elm версии 1.5 и 2 

на оба подключается смартфон нормально

реагирует на AT I -выдает версию 

и на AT RV - 11.9-12 вольт

пробовал подключиться на смартфон с ZS-040 подключается нормально

а вот с elm уже проблемы

1)с версией 2 пишет Fail на этапе AT+Pair и не создает пару для сопряжения

2)с версией 1.5 создает пару,опрашивает нормально имя,но при команде AT+Link та же проблема.

а при запросе статуса AT+state ? пишет постоянно  INQUIRING

вроде бы простая вещь по подключению.но застрял и не знаю что с этим делать

En есть, подаю 3.3v чтобы включить режим команд AT

state тоже

 

тут еще читал статью по подключению к elm,так там после настройки модуля есть такая строка 

"Повторим выдачу АТ-команд в рабочем режиме (после сброса питания):

AT . . . AT?>

AT+VERSION? . . . AT+VERSION?>

Видим: HC-05 команды "AT+…" (адресованные HC-05) возвращает, другие AT команды проходят на ELM, соответственно, видим ответы ELM327."

но я так и не смог добиться так ,чтобы  выдавал ZS-040 команды эхом

Feofan
Offline
Зарегистрирован: 28.05.2017

bezzeb пишет:

En есть, подаю 3.3v чтобы включить режим команд AT

 
Странно, для этого есть пин Key. ZS-040 у меня нет, только HC05. Не думаю, что они настолько сильно отличаются. Для HC05:
EN <- управление питанием. HIGH - включено, LOW - выключено.
Key <- переключение режимов. HIGH - режим AT, LOW - режим DATA.
State -> соединение с ELM. HIGH - есть, LOW - нет.
AT, PAIR и LINK могут отрабатывать не с первого раза.
AT+STATE не использую, достаточно данных State.
В режим настроек HC05 вхожу только через снятия/подачу питания (En+Key).
Некоторые экземпляры ELM327 нормально реагируют только после нажатия кнопки на морде.
У меня нет BT ELM327 версии 2.
Как-то так, если ничего не напутал.

 

bezzeb
Offline
Зарегистрирован: 02.11.2013

Пина Key нет,так же как и кнопки

подключил 3.3 к 34 контакту.результат тот же.

мигание рза в 2 секунды т.е тот же режим АТ

вот краткий лог

16:40:22.573 -> BTserial started at 38400
16:40:54.441 -> AT
16:40:54.475 -> ERROR:(0)
16:40:57.130 -> AT
16:40:57.164 -> OK
16:41:25.863 -> AT+PSWD?
16:41:25.931 -> +PSWD:1234
16:41:25.931 -> OK
16:41:38.782 -> AT+BIND?
16:41:38.850 -> +BIND:0:0:111111
16:41:38.850 -> OK
16:41:57.343 -> AT+STATE?
16:41:57.412 -> +STATE:INITIALIZED
16:41:57.412 -> OK
16:43:10.887 -> AT+LINK=0000,00,111111
16:43:10.922 -> ERROR:(16)
16:43:30.679 -> AT+LINK=0000,00,111111
16:43:30.748 -> ERROR:(16)
16:43:31.797 -> AT+LINK=0000,00,111111
16:43:31.864 -> ERROR:(16)
16:43:32.817 -> AT+LINK=0000,00,111111
16:43:32.884 -> ERROR:(16)
16:43:33.492 -> AT+LINK=0000,00,111111
16:43:33.526 -> ERROR:(16)
16:43:35.596 -> AT+STATE?
16:43:35.631 -> +STATE:INITIALIZED
16:43:35.631 -> OK
16:43:46.205 -> AT+BIND=0000,00,111111
16:43:46.239 -> OK
16:44:11.648 -> AT+RNAME 0000,00,111111
16:44:16.841 -> FAIL
 
 
кнопки на elm нет.
 
Feofan
Offline
Зарегистрирован: 28.05.2017
ERROR:(16)->SPP lib hasn’t been initialized.
0:0:111111 - это что-то кривое. MAC у ELM какой?
Feofan
Offline
Зарегистрирован: 28.05.2017
Что будет с такой инициализацией?
AT
AT+INIT
AT+DISC
AT+RMAAD
AT+ORGL
AT+UART=38400,0,0
AT+ROLE=1
AT+BIND=000D,18,3A678F
AT+CMODE=0
AT+PAIR=000D,18,3A678F,20
AT+LINK=000D,18,3A678F
MAC исправить на нужный.
P.S.
Что-то у меня подозрение, что этот модуль сможет быть мастером. Внешне очень похож на HC06.
bezzeb
Offline
Зарегистрирован: 02.11.2013

мак 00:00:00:11:11:11

как пришел ,так сразу подключил к телефону и в имени он стоял как нс-05

bezzeb
Offline
Зарегистрирован: 02.11.2013

Feofan пишет:

Что будет с такой инициализацией?
AT
AT+INIT
AT+DISC
AT+RMAAD
AT+ORGL
AT+UART=38400,0,0
AT+ROLE=1
AT+BIND=000D,18,3A678F
AT+CMODE=0
AT+PAIR=000D,18,3A678F,20
AT+LINK=000D,18,3A678F
MAC исправить на нужный.
P.S.
Что-то у меня подозрение, что этот модуль сможет быть мастером. Внешне очень похож на HC06.

Вот

Enter AT commands:
17:46:47.612 -> OK
17:46:56.722 -> OK
17:47:05.966 -> +DISC:NO_SLC
17:47:05.966 -> OK
17:47:15.669 -> OK
17:47:24.324 -> OK
17:47:32.327 -> OK
17:47:40.240 -> OK
17:48:03.104 -> OK
17:48:18.442 -> OK
17:48:36.654 -> FAIL
17:49:02.729 -> FAIL
17:49:03.206 -> +INQ:9C2E:A1:42ED3A,5A020C,7FFF
17:49:03.240 -> OK
 
 
на Pair написал FAIL 
Feofan
Offline
Зарегистрирован: 28.05.2017

00:1D:A5:03:C2:D5 это кто?

bezzeb
Offline
Зарегистрирован: 02.11.2013

это первый адаптер,который версии 1.5

который самый нижний нули и единицы это версия 2.0

 

коннект к ним разный.

на версии 1.5 Pair и Bind  проходят нормально.

Только нет LINK,ошибка  вданном месте и постоянно статус попытка подключения

на версии 2.0 сразу ошибка при BIND

 

тестирую их по отдельности 

Feofan
Offline
Зарегистрирован: 28.05.2017
Логи-то с какого приводили? Остановитесь на одном ELM, версии 1.5.
Проверил. HC05 как ведомый - смартфон его находит, может подключиться. Удаляю это сопряжение в смартфоне. HC05 как мастер - смартфон его не находит. Т.е. Ваш "HC05" есть ведомый, раз его видно.
Удалите из смартфона текущее сопряжение HC-05. Выполните вот такую инициализацию:
AT
AT+INIT
AT+DISC
AT+RMAAD
AT+ORGL
AT+UART=38400,0,0
AT+ROLE=0
AT+BIND=000D,18,3A678F
AT+RESET
Перегрузите по питанию. Попытайтесь найти его со смартфона и подключиться.
 
Удалите из смартфона сопряжение HC-05. Затем вот такую инициализацию:
AT
AT+INIT
AT+DISC
AT+RMAAD
AT+ORGL
AT+UART=38400,0,0
AT+ROLE=1
AT+BIND=000D,18,3A678F
AT+RESET
Перегрузите по питанию. Попытайтесь найти его со смартфона и подключиться.
Что будет в первом и втором варианте?
bezzeb
Offline
Зарегистрирован: 02.11.2013

Да,проверяю пока на одном,на версии 2.0

Версии 1.5 сейчас нет под рукой

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

в данный момент Hc-05 как мастер,смартфон его не находит.

Если включаю bluetooth смартфона виден только OBD2(но bluetooth выключаю,чтоб не было ошибок)

20:01:34.993 -> OK
20:01:44.490 -> OK
20:01:52.627 -> +DISC:NO_SLC
20:01:52.627 -> OK
20:02:00.390 -> OK
20:02:06.867 -> OK
20:02:13.510 -> OK
20:02:20.217 -> OK
20:03:28.969 -> OK
20:03:39.675 -> OK
 
виден смартфону,принимает комманды как слейв
 
20:01:34.993 -> OK
20:01:44.490 -> OK
20:01:52.627 -> OK
20:01:52.627 -> OK
20:02:00.390 -> OK
20:02:06.867 -> OK
20:02:13.510 -> OK
20:02:20.217 -> OK
20:03:28.969 -> OK
20:03:39.675 -> OK
 
не виден смартфону

 

Feofan
Offline
Зарегистрирован: 28.05.2017

bezzeb пишет:

Если включаю bluetooth смартфона виден только OBD2(но bluetooth выключаю,чтоб не было ошибок)

После удаления сопряжения поиск делаете? Выключать/включать BT на смартфоне не надо, просто удалять.

bezzeb пишет:

...

виден смартфону,принимает комманды как слейв

...
 
не виден смартфону

 
Получается, что оно-таки умеет быть мастером. Попробуйте подключаться к ELM 1.5.
bezzeb
Offline
Зарегистрирован: 02.11.2013

да.конечно,удаляю,потом нажимаю refresh и он ищет новые устройства.

да,притом и в режим ат команд входит,поэтому меня это и удивляет.

как смартфон легко подключается к elm,а hc-05 нет.

 

 

попробовал подключиться к телефону,все подключилось легко

 

еще попробовал функцию поиска AT + INQ

23:10:45.926 -> +INQ:482C:A0:E45DB4,5A020C,7FFF
23:10:46.536 -> +INQ:9C2E:A1:42ED3A,5A020C,7FFF
23:10:56.642 -> OK
 
явно не видит этого устройства,при том,что смартфон его находит

 

Feofan
Offline
Зарегистрирован: 28.05.2017

bezzeb пишет:

да.конечно,удаляю,потом нажимаю refresh и он ищет новые устройства.

да,притом и в режим ат команд входит,поэтому меня это и удивляет.

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

Несколько вопросов:
1. Чем питается все это хозяйство?
2. Как мигает светодиод после подачи питания до AT-режима?
3. Как мигает светодиод после включения AT-режима?
4. Откуда подаете 3.3v на En для включения AT-режима?
5. Откуда подаете команды на "HC05", чем смотрите ответы?
6. Как все это соединено?
7. В #5 фото сделано Вами? Если нет, то сделайте нормальное фото с обеих сторон.
8. Самостоятельно ничего не модернизировали?
А вообще то, что управляющий питанием пин переводит в AT-режим есть полный бред. Промойте плату. Если подать на En 3.3v на продолжительное время, то светодиод моргает, светит, потух?

 

bezzeb
Offline
Зарегистрирован: 02.11.2013

Удивляет,то,что HC05 к смартфону коннектится легко и быстро.
Так же как и смартфон к elm.
А вот hc05 к elm не хочет

1)компьютер-arduino uno-hc-05 т.е от порта usb
2) быстро (3-4 раза в секунду)
3) медленно (1-2 секунды горит,1-2 секунды нет)
4)с порта 3,3v arduino uno
5)с arduino ide
6)комп-arduino uno-hc05(rx(softserial 10),tx (softserial 11),vcc-5v,до переписки с вами en-3.3v,после подал сразу на pin34(но режим ат включался и так и так одинаково))
7)нет,фотографии из интернета,но платы идентичные,только у меня на нижней микросхеме золотой краской галочка поставлена
Ок,сделаю.
8)нет,ничего не трогал.
Вчера попробовал подпаять на место кнопки проводки и замыкать как в инструкциях.
Результат такой же как и раньше

bezzeb
Offline
Зарегистрирован: 02.11.2013

Еще удивляет то,что сканирую устройства вокруг и находит только два,хотя включая два дополнительных смартфона должно быть уже 4.
В настройках поиска установил поиск до 9 устройств

Feofan
Offline
Зарегистрирован: 28.05.2017

Если подать на Vcc +5v и на En не более +3.3v, то светодиод моргает, светит, не светит?

Feofan
Offline
Зарегистрирован: 28.05.2017

bezzeb пишет:

еще попробовал функцию поиска AT + INQ

23:10:45.926 -> +INQ:482C:A0:E45DB4,5A020C,7FFF
23:10:46.536 -> +INQ:9C2E:A1:42ED3A,5A020C,7FFF
23:10:56.642 -> OK
 
явно не видит этого устройства,при том,что смартфон его находит

bezzeb пишет:
сканирую устройства вокруг и находит только два

Быть может это связано с
AT+CLASS=...
AT+IAC=...
AT+INQM=...
Не вникал.

 

bezzeb
Offline
Зарегистрирован: 02.11.2013

Feofan пишет:

Если подать на Vcc +5v и на En не более +3.3v, то светодиод моргает, светит, не светит?


Моргает как в режиме ат команд 1-2 секунды включен,потом на такой же час тухнет

Feofan
Offline
Зарегистрирован: 28.05.2017
Это и непонятно. Почему AT? Что там наваяли...
P.S.
Не по теме. Прозвонить куда идет En можете?
bezzeb
Offline
Зарегистрирован: 02.11.2013

Где-то на англоязычных сайтах именно по zs-040 без кнопки писалось,что en=key.

Ну даже если не брать этот пин(en) уже подаю напрямую на 34 пин 3,3в и вход в режим есть.
Ответы есть.
Подключение к телефону есть как мастер

bezzeb
Offline
Зарегистрирован: 02.11.2013

Feofan пишет:

Это и непонятно. Почему AT? Что там наваяли...
P.S.
Не по теме. Прозвонить куда идет En можете?

вот из описания



Second, wiring methods:

VCC: positive power supply

GND: power supply is negative

RXD: Receive side, the Bluetooth module receives data sent to the other device; TXD terminal normally connected to the other device to send

TXD: sending end, the Bluetooth module to send data to other devices; RXD terminal normally connected to other devices receiving

EN: Enable, then you need to enter AT mode 3.3V

купил новый модуль уже с кнопкой
Идет подключение.
Везде ок,кроме команды Bind.
После нее нет ни ок ни fault.

Ну и опять в поиске всего два устройства и нет elm

Feofan
Offline
Зарегистрирован: 28.05.2017
И мой HC05 находит только три устройства, хотя рядом минимум четыре. Видит Samsung S4 (при его некоторой, временной настройке), ELM327 и еще кого-то. Не видит Honor View20, а быть может и кого ещё.
 
Попробовал МАС 0000,00,111111:
AT+PAIR=0000,00,111111
ERROR:(0) Что значит "AT command error".
 
Подключаюсь по простейшему:
HC05 Rx  <- Tx USB_TTL
HC05 Tx  -> Rx USB_TTL
HC05 Key <- +3.3v USB_TTL постоянно
HC05 Vcc <- +5V USB_TTL
HC05 GND <- GND USB_TTL
На PC запущен "Tera Term"
bezzeb
Offline
Зарегистрирован: 02.11.2013

да,чуть  уточню.

пришел модуль с прошивкой версии 4.0 

Теперь мак адрес нули не пропускает и пишется полностью 0000,00,111111

Отрабатывает все быстрей

Зато пропала команда AT+INIT при ее вводе пишет Error 0

Единственное,теперь нет ответа на команду AT+BIND

Правда пробую все пока только с зажатой кнопкой,без подключения 3.3v к пину 34(kEY)

"Попробовал МАС 0000,00,111111:

AT+PAIR=0000,00,111111
ERROR:(0) Что значит "AT command error"."
а там же еще через запятую надо ввести количество милиссекунд,время попыток подключения

 

А в каком режиме нужно пытаться подключиться к elm ?Когда светодиод медленно мигает или когда быстро?

Feofan
Offline
Зарегистрирован: 28.05.2017

bezzeb пишет:

Зато пропала команда AT+INIT при ее вводе пишет Error 0

Может что попутали, как я? Чем теперь инициализировать? 16-я ошибка не появляется? Хотя могли и документацию изменить, но где её найти...

bezzeb пишет:

надо ввести количество милиссекунд,время попыток подключения

Да, накосячил.

bezzeb пишет:

А в каком режиме нужно пытаться подключиться к elm ?

Теоретически Key или на Gnd, или в воздухе. Мигать должен "быстро". Не в AT-режиме этот пин в LOW ставлю.

bezzeb
Offline
Зарегистрирован: 02.11.2013

нет,уже наизусть эти команды выучил.

да +вот такая же проблема

https://forum.arduino.cc/index.php?topic=645772.0

 

т.е когда хочу подключиться к elm (а подключение 100% требует режима ат команд) то мне нужен упрощенный режим,когда ат команды проходят но мигает быстро или полный ,когда мигает медленно?

или нет разницы вплане подключения?

и странно,что Bind не сработал,но link написал ok

а и еще вспомнил,что rname не выводит имя устройства 0000,00,11111

Feofan
Offline
Зарегистрирован: 28.05.2017

При подключении и работе с ELM использую только обычный режим. АТ для настройки. Полу-АТ может козлить. И не все АТ команды понимает. Наелся.

bezzeb
Offline
Зарегистрирован: 02.11.2013

Огромное спасибо,все получилось.

пришлось после каждой установки мастера и скоростей делать reset 

иначе писалось ,что установлено,но оставалось старое значение.

видимо особенность версии 4

 

Feofan
Offline
Зарегистрирован: 28.05.2017

bezzeb пишет:

пришлось после каждой установки мастера и скоростей делать reset 

Reset HC05 после инициализации - не всегда желателен.
В каком-то pdf-файле попадалась информация, о необходимости задержек при переключении режимов. Сейчас найти не удалось. В нем было рекомендовано 5 ms. Использую 6, действительно помогает. Но это если управление HC05 полностью "автоматизировано".
На новом модуле En управляет питанием или AT/DATA?
Какая МС по питанию? Если S2PJ, то она управляемая.

 

bezzeb
Offline
Зарегистрирован: 02.11.2013

Удивительно ,но установил модуль в режим master.
Проверил.
Все нормально показал.
Но смартфон его нашел как slave.
Помог только reset и потом установка параметра и опять reset
И так и по скорости и по выбору master/slave
Хотя команды вводил вручную т.е паузы были.

En не трогал,все делал кнопкой

Вечером гляну и напишу