что за зверь BT182 ? я нашел упоминание только о BTM-182
обычные HC-0x надо ввести в командный режим, подав + на отдельный пин чтобы они отвечали на AT команды, но судя по скорости 19200 это какие то другие модули
для уже соединившихся блютусов описанное поведение нормально - они просто пересылают байтики друг другу
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Вы правы, BTM-182. Как-то я хз как не заметил букву М О_о. Я посмотрел даташит на тему замыкания чего-нибудь для передачи АТ команд, но там никаких упоминаний нет. В названиях пинов тоже ничего такого не прослеживается. Я прикрепил даташит, список команд и примерную схему.
ого, какие они "другие" на первый взгляд надо отправить что то типа +++ATB? (в ответ должен вернуть адрес) возможно с переводом строки после +++ и ATB?, а мб и нет - что то об этом ничего не написано, если без перевода строки - может быть критично время пауз между символами, хотя если он не соединен ни с чем - должен бы отвечать и без +++
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
А перевод строки каким образом делать? Не понимаю. И ещё, исходя из ваших скриншотов Термита, я вижи, что синим пишется то, что мы отправляем модулю, а зелёным то, что приходит от него. У меня схема синий-зелёный работает при условии, что стоит галочка Local echo, если её нет, то всё, что я пишу зелёного цвета. Также как и то, что приходит с планшета. Щас вот модуль на +++ATB? ничего не ответил. Как осциллограф будет, посмотрю еслить ли что-то на канале связи, когда он возвращает эхо. Хотябы станет понятно, кто это эхо возвращает.
UPD: тут загуглил, нашёл https://forum.sparkfun.com/viewtopic.php?f=14&t=22448 , оттуда увидел, что пишут про \r, \n и r\n\. Посмотрел настройки Термита, там поставил активным Apperend CR и устройство стало отзываться. А что это такое?
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
ну это оно и есть отдавая команду терминалу "послать строку" мы можем иметь в виду "отправить строго напечатанные символы", а можем "отправить напечатанные символы + перевод строки" и не все терминалы отправляют строку по команде, могут отправлять символы по мере набирания их в окошке, но не все устройства и ждут эти спецсимволы, могут воспринимать как завершение команды просто длинную паузу, вот, например, кусочек про HC-0x:
"- Версии HC-04 и HC-06 отвечают на 9600. При этом, разделителем служит таймаут. Да, да, вам нужно очень-очень быстро написать AT (при этом, без никаких /r/n) и через таймаут, модуль ответит OK.
- Версия HC-05 отвечает на скорости 38400, при этом нужно передавать AT\r\n. Но, кроме того, нужно подтянуть вывод “mode” к питанию – это переводит модуль в командный режим."
сама по себе эта последовательность часто используется, в обычном текстовом файле именно по \r\n разделяются строки между собой - это символы с кодами 10 и 13 (0xA 0xD), исторически так сложилось что их 2 - один говорит о "переводе курсора" на следующую строку, другой о "переводе курсора" в 1ю позицию строки
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Коты, привет. Я мучаю HC-05, а он не отзывается вообще ничем.
Вот в данный момент он включен так:
3.3V - К 3.3V
GND - GND
Между ними конденсатор 0.1 мкф
RESET к 3.3V через 10K
Ногу 34 (режим АТ команд) через 680R сажал на и 3.3V и на GND
Исходя из того, что писалось в теме выше, Должны начать мигать диоды.
Судя по схеме, ток для диода идёт из модуля на GND. Следовательно, ноги должны меня состояние 3.3 на GND. (А не Hi-Z и GND).
На деле на ногах диодов всегда 0. На ноге TX всегда значение, близкое к VCC.
Сам модуль при это скачкообразно потребляет ток до 41 мА.
У меня модули с какой-то хитрой прошивкой? Или снова что-то упускаю из вида?
P.S. Я описал колхозную много ножку, т.к. у меня есть собранная плата, где диоды на самом деле подключены, стоит MCP2200 и всё остальное. Часть платы, которая отвечает именно за USB-UART я проверил посредством общения с ATmega48. От Termita из PC до RX TX ATmega48 всё доходит нормально. Поэтому подумал, вдруг я что-то напутал в части платы, которая отвечает за HC-05. Следовательно взял чистенький HC-05, припаял к нему необходимый минимум проводуль и компонентов и решил посмотреть, что будет. А ничего не происходит.
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Ага, странненько, должны мигать. Можно попробовать перепрошить если нормальный lpt порт есть, а то может они совсем того...
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Вот LPT - это проблема Я тут посмотрел одну штуку, в которой стоит этот модуль. Там во время работы тоже никаких сигналов с ног диодов нет. Зато диод подключен на ногу запрет\разрешение TX - мигает Пока что вопрос с ними отложу на пару дней. Сначала доделаю до конца программу на обоих устройствах, пока что поэмитирую всё это с Termit'a, а вот как доделаю - будут танцы с бубном...
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Можно через "ардуину" (условно, мега8 сойдет) прошить, но это долго и малость с бубном. Я выше кидал ссылку вроде на архив с ПО для таких модулей, dll'ку для дуины поищу, должна была остаться.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Не тратье время - у меня нет Дурины и её ни разу в руках не держал. В моём арсенале AVR Dragon, копия MKII, для которой я не след неделе должен найти, наконец, драйвер Ещё могу достать ChipProg.
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
/*
Attempt to talk to CSR Bluetooth chip SPI
*/
#include <inttypes.h>
#include <avr/interrupt.h>
#include <avr/io.h>
uint8_t pinChipSelect=_BV(2);
uint8_t pinMOSI=_BV(3);
uint8_t pinMISO=_BV(4);
uint8_t pinCLK=_BV(5);
uint8_t nOutMask=pinChipSelect|pinMOSI|pinCLK;
uint8_t nInMask=pinMISO;
uint8_t nOutput=pinChipSelect|pinMOSI|pinCLK;
uint8_t nDefault=pinChipSelect|pinCLK|pinMISO;
void setup()
{
// start serial port at 9600 bps:
Serial.begin(256000);
DDRB=(DDRB&~(nInMask|nOutMask))|nOutput;
PORTB=(PORTB&~(nInMask|nOutMask))|nDefault;
}
void loop()
{
// if we get a valid byte, read analog ins:
if (Serial.available() > 0) {
uint8_t in=Serial.read();
PORTB=(PORTB&~nOutMask)|(in&nOutMask);
Serial.write(PINB&nInMask);
}
}
тут исходники и готовая библиотечка для замены в bluelab41/tools/bin, "классическая" прошивка hc05 + батник для прошивки
в готовой dll блокируется изменение некоторых адресов (т.е. инфа туда из файла прошивки не попадает), не знаю с чем это связано, но конкретно в мои модули по этим адресам не шилось нормально - шьешь, а считывается как было (контроль осуществляет утилитка bluelab и там он вроде не отключается), но вроде hc06 в hc05 успешно прошились
в общем желательно собрать сначала dll без модификации, а если пойдут ошибки верификации - использовать мою или плясать с бубном в visual studio
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Вообще данный модуль у меня в разработке. Я как раз увлеченно его изучаю. Дык вот. Если пытаться с ним работать АТ командами, придется сломать голову. Ведь надо переключаться между адресами модулей и переключать режимы работы. Это все можно, да только камней там навал. И у протокола ВТ там куча веток... Для новичка не подъемно.
Я немножко погуглив на европейских форумах сразу отказался от данной мысли. Есть другие модули... радиомодуль NRF24L01, он может работать как мост между двумя мк и примеров предостаточно. А этот друг хорош как раз между мк и компом. Немцы возятся с такой связкой мастерски.
Вот пару ссылок, может поможе =) http://robocraft.ru/blog/electronics/587.html http://www.aisi555.com/2013/09/tutorial ... -easy.html
[uquote="Morroc",url="/forum/viewtopic.php?p=1963432#p1963432"]запускаем терминал, включаем скорость командного режима по умолчанию - 38400 (в нормальном режиме по умолчанию 9600)
смотрим адреса устройств, слева включаем мастер, справа слэйв (ROLE), режим коннекта к определенному адресу (CMODE=0) и BIND друг на друга по адресам:
[/uquote]
Вот этого, кажется, мне и не хватало. Я BIND только на мастере прописывал. Доберусь до дома - попробую.
Добавлено after 3 hours 16 minutes 30 seconds:
РАБОТАЕТ! Мужики, это невероятно!
Рад, как ребенок...)))
Вот, снял. Контроллер (правый), соединенный со Slave выставляет на своем РВ0 логическую единицу при температуре на датчике контроллера (левого) при Master около 27 градусов.