Хочу управлять нагрузкой смартфоном. Купил два модуля Bluetooth BTM-220, по прайсу шли как Bluetooth модули BTM-222, вот они:
Спойлер
Нашел пару статеек по данному вопросу, пробовал сделать как описано там http://helios.wh2.tu-dresden.de/~benni_koch/blog/?p=274.
Вот мой вариант:
СпойлерСпойлер
Проблема в следующем...модуль нормально отвечает только на команду "AT" (ответ получаю "AT OK"), а вот на команду "ATI1" выдет "ATI1 ERROR", вместо того, чтобы выдать некую информацию о состоянии модуля. Но если я с UART терминала PICKit2 пошлю пачку команд "ATI1" зажав клавишу ENTER (никакие быстрие кликание мышей не помогли), то на какой-то посылке модуль ответит нормально, в чем может быть проблема? В неправильном подключении? В проценте ошибок UART терминала PICKit2? Вот то о чем я писал:
Спойлер
AT
AT
OK
ATI1
ATI1
ERROR
ATI1
ATI1
ERROR
ATI1
AATI1
TI1
ERROR
ATI1
OK
ATI1
ATC=1, HARDWARATI1
E FLOW CONTROL
ATD=0000-00-ATI1
000000, NEVER SET BLUETOOTH ADDATI1
RESS
ATE=1, ECHO CHARACTERS
ATG=0, NEVER ATI1
ENTER SLEEP MODE
ATH=1, DISCOATI1
VERABLE
ATK=0, ONE STOP BIT
ATI1
ATL=1, BAUD RATE is 9600
ATATI1
M=0, NONE PARITY_BIT
ATN=Serial Adaptor, LOCATI1
AL NAME
ATO=0, ENABLE AUTO ATI1
CONNECTING
ATP=1234, PIN CODE ATI1
ATQ=0, SEND RESULT CODE
ATI1
ATR=1, SPP SLAVE ROLE
ATS=0, DISABLE AUTO-PATI1
OWERDOWN OF RS232 DRIVER
ATATI1
X=1, ALWAYS CHECK '+++'
ATIATI1
1
ATI1
ATI1
ATI1
ATI1
ATI1
ATI1
ERROR
ATI1
ERROR
ATI1
OK
ATI1
ERROR
ATC=1, HARDWARE FLOW CONTROL
ATD=0000-00-000000, NEVER SET BLUETOOTH ADDRESS
ATE=1, ECHO CHARACTERS
ATG=0, NEVER ENTER SLEEP MODE
ATH=1, DISCOVERABLE
ATK=0, ONE STOP BIT
ATL=1, BAUD RATE is 9600
ATM=0, NONE PARITY_BIT
ATN=Serial Adaptor, LOCAL NAME
ATO=0, ENABLE AUTO CONNECTING
ATP=1234, PIN CODE
ATQ=0, SEND RESULT CODE
ATR=1, SPP SLAVE ROLE
ATS=0, DISABLE AUTO-POWERDOWN OF RS232 DRIVER
ATX=1, ALWAYS CHECK '+++'
ATI1
ATI1
ATI1
ATI1
ATI1
ERROR
Питание подавал со стабилизатора 3.3 В с хорошим током, изменений нету, также нету изменений если посылать команды с микроконтроллера, а вот сбросив скорость до 4800 бит/с, модуль стал отвечать намного адекватнее, но перед посылкой любой команды обязательно нужно чтобы ответ на команду "АТ" был положительным, тогда следующая команда срабатывает на ура!
Спойлер
AT
AT
OK
ATI1
ATI1
OK
ATC=1, HARDWARE FLOW CONTROL
ATD=0000-00-000000, NEVER SET BLUETOOTH ADDRESS
ATE=1, ECHO CHARACTERS
ATG=0, NEVER ENTER SLEEP MODE
ATH=1, DISCOVERABLE
ATK=0, ONE STOP BIT
ATL=0, BAUD RATE is 4800
ATM=0, NONE PARITY_BIT
ATN=Serial Adaptor, LOCAL NAME
ATO=0, ENABLE AUTO CONNECTING
ATP=1234, PIN CODE
ATQ=0, SEND RESULT CODE
ATR=1, SPP SLAVE ROLE
ATS=0, DISABLE AUTO-POWERDOWN OF RS232 DRIVER
ATX=1, ALWAYS CHECK '+++'
AT
AT
ERROR
AT
AT
OK
ATI1
ATI1
OK
ATC=1, HARDWARE FLOW CONTROL
ATD=0000-00-000000, NEVER SET BLUETOOTH ADDRESS
ATE=1, ECHO CHARACTERS
ATG=0, NEVER ENTER SLEEP MODE
ATH=1, DISCOVERABLE
ATK=0, ONE STOP BIT
ATL=0, BAUD RATE is 4800
ATM=0, NONE PARITY_BIT
ATN=Serial Adaptor, LOCAL NAME
ATO=0, ENABLE AUTO CONNECTING
ATP=1234, PIN CODE
ATQ=0, SEND RESULT CODE
ATR=1, SPP SLAVE ROLE
ATS=0, DISABLE AUTO-POWERDOWN OF RS232 DRIVER
ATX=1, ALWAYS CHECK '+++'
ATI1
ATI1
ERROR
ATI1
ATI1
ERROR
ATI1
ATI1
ERROR
ATI1
ATI1
ERROR
AT
AT
ERROR
AT
AT
OK
ATI1
ATI1
OK
ATC=1, HARDWARE FLOW CONTROL
ATD=0000-00-000000, NEVER SET BLUETOOTH ADDRESS
ATE=1, ECHO CHARACTERS
ATG=0, NEVER ENTER SLEEP MODE
ATH=1, DISCOVERABLE
ATK=0, ONE STOP BIT
ATL=0, BAUD RATE is 4800
ATM=0, NONE PARITY_BIT
ATN=Serial Adaptor, LOCAL NAME
ATO=0, ENABLE AUTO CONNECTING
ATP=1234, PIN CODE
ATQ=0, SEND RESULT CODE
ATR=1, SPP SLAVE ROLE
ATS=0, DISABLE AUTO-POWERDOWN OF RS232 DRIVER
ATX=1, ALWAYS CHECK '+++'
И еще проблема подключения со смартфоном, он модуль видит, пин код просит, авторизует, но нету рабочей программки чтобы слать текст (вроде нужна поддержка профиля SPP), в статьи что в первом моем посте есть приложение БлютузЧат, но у меня не видит модуль, возможно версия Андроида не та (у мну 4.1.1), перекомпилировать проект под мою версию пока не получается, изучаю Eclipse.
...
Удалось перевести один блютуз модуль в режим Master с помощью команды ATRO (по умолчанию установлен ATR1 - Slave), они связались между собой, теперь смартфон их не видит )), прикольно, своеобразный мост связи, по которому теперь легко передавать с терминалки символы, на АТ команды понятное дело не реагирует. При установки связи мастер пишет "CONNECT '0012-6F-2F368C'", при разрыве - "DISCONNECT '0012-6F-2F368C'", то есть они у меня уже не пропадут, на крайний случай я им найду применение.
...
Получилось приконектится к смартфону по демо-программе взятой с сайта http://robokits.co.in/shop/index.php?ma ... chapter=15
прога в архиве по ссылке http://robokits.co.i...on/RAN-1114.zip, теперь все стает на свои места.
Буду искать другие варианты софта с профилем SPP (Serial Port Profile), возможно через некоторое время освою java язык, и смогу сделать собственную прогу под свои нужды.
АТ команды http://www.rtcs.ru/supplier_article_det ... =41&id=330