Загрузка Sketch по Bluetooth

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

Модератор: immortal

Ответить
annakin
Сообщения: 130
Зарегистрирован: Пн окт 28, 2013 5:06 pm
Откуда: Молдова
Благодарил (а): 11 раз
Поблагодарили: 10 раз

Загрузка Sketch по Bluetooth

Сообщение annakin » Ср июл 15, 2015 2:13 pm

Вчера решил прикрутить Bluetooth модуль HC-05 к Arduino что бы можно было заливать Скетчи по БТ без подключения USB шнурка к Arduino.
Покопался в интернете и нашёл кучу мануалов но не один толком не смог заставить работать, и тут начались танцы с бубном вокруг Arduino и HC-05.
В конце концов мне понадобилось 2 дня что бы чегото добиться, в итоге у меня получилось скетчи заливаются в Ардуинку по БТ.
Шас я попытаюсь объяснить как вам это сделать дабы не наступать на теже грабли что и я.
Что нам нужно:
1) Пины на 6 контактов.
СпойлерПоказать
20150715132733.jpg
Пины
20150715132733.jpg (142.86 КБ) 8345 просмотров
2) Сам модуль БТ HC-05
СпойлерПоказать
hc-051.jpg
Сам БТ модуль и нужен именно HC-05.
hc-051.jpg (82.13 КБ) 8345 просмотров
3) Силиконовый пистолет (фоткать его не стал, думаю каждый знает что это такое)
4) Любой Bluetooth USB (у меня был в наличии УСБ Нано от Гембирта, но подойдёт и ноут с УСБ)
5) Само собой Arduino ) без разници какой и использовал Mega 2560 но тестировал на Uno дабы не спалить мегу)
6) Прямые руки (ну хоть чучуть)
7) Паяльник ( я использовал паяльную станцию BAKU)

Итак сам процес:
Подключаем Ардуину УСБ шнурком к компу заливаем скетч:
СпойлерПоказать

Код: Выделить всё

/* Serial Loop */

#include <SoftwareSerial.h>

#define rxPin 8
#define txPin 9

SoftwareSerial mySerial(rxPin, txPin); // RX, TX
char myChar ;

void setup() {
  Serial.begin(9600);   
  Serial.println("AT");

  mySerial.begin(38400);
  mySerial.println("AT");
}

void loop() {
  while (mySerial.available()) {
    myChar = mySerial.read();
    Serial.print(myChar);
  }

  while (Serial.available()) {
    myChar = Serial.read();
    Serial.print(myChar); //echo
    mySerial.print(myChar);
  }
}

 
Далее подключаем сам модуль HC-05 к Ардуинке таким образом.
СпойлерПоказать
bluetooth-setup1.png
bluetooth-setup1.png (6.75 КБ) 8345 просмотров
Вот даташит на модуль HC-05:
http://cdn.makezine.com/uploads/2014/03 ... etooth.pdf
Скажу сразу Key это 34 контакт на плате HC-05, так вот коротим его с +3,3В на время пока мы будем прошивать HC-05 на нужные нам параметры.
Так подключили все это дело к Ардуинке и индикатор на БТ модуле HC-05 должен медленно моргать, если он моргает быстро значит он не стоит в режиме програмирования, проверьте перемычку +3,3В.
После того как у нас модуль уже запущен в режиме програмирования открываете Сериал Порт в IDE и вводим следующие команды:
СпойлерПоказать

Код: Выделить всё

AT+ORGL     

AT+ROLE=0

AT+POLAR=1,0    

AT+UART=115200,0,0    

AT+INIT
На все команды вы должны получать OK.
ПримерПоказать
at_commands21.png
at_commands21.png (43.34 КБ) 8345 просмотров
Всё как только вы закончили програмить Модуль отключаем Ардуинку от УСБ и отпаиваем перемычку 34 пин и +3,3В.
Подключаем обратно Ардуинку к УСБ и на компе начинаем поиск нашего модуля по БТ, как только вы его нашли нужно их спарить ( думаю тут вы сами разберётесь)
И дальше начинается самое интересное собираем вот такую схему:
СпойлерПоказать
bt_shield_circuit3.png
bt_shield_circuit3.png (13.01 КБ) 8345 просмотров
Я собрал её на 6-ти пинах вот так:
СпойлерПоказать
rdy.jpg
rdy.jpg (48.9 КБ) 8345 просмотров
20150715132858.jpg
20150715132858.jpg (113.55 КБ) 8345 просмотров
Как только вы собрали всё, начинайте подключать.
У меня это вот так выглядит:
СпойлерПоказать
20150715132838.jpg
20150715132838.jpg (153.32 КБ) 8345 просмотров
Допустим вы всё подключили и приэтом умудрились не спалить к чертям Ардуинку и сам модуль БТ, запускаем IDE и в портах выбираем Порт исходящий БТ у меня это 8 порт.
Обычно УСБ БТ задействует два порта, на исходящие соединения и на Входящие, так вот нам нужен именно исходящий порт, это вы можете посмотреть в настройках БТ на компе там пишет.
Но по своему опыту скажу что это порт с низким значением, то есть у меня исходящий 8 а входящий 9.
Ну а дальше заливаите скетчи как обычно.

Но во всей этой прекрасной сказке есть одно НООО!!!! После заливки скетчей надо делать ресет ардунке ((
Пока это я не вылечил, если кто сможет устранить этот нюанс пишите.
Всем спасибо за внимание.
с Ув. Николай.

UPD: Оказалось что Ресет Ардуинке не надо делать она сама ресетитса после заливки, при первом испытании проста наверно она у меня подвисла а при повторных двух всё прошло удачно, скетч залилса и Ардуинка ресетнулась. ))

UPD: Вот сделал видео как это работает.
http://youtu.be/kG6I-Js4B5s
Последний раз редактировалось annakin Ср июл 15, 2015 5:41 pm, всего редактировалось 2 раза.
За это сообщение автора annakin поблагодарили (всего 2):
savenko_egor (Вс окт 09, 2016 1:06 am) • ErmolenkoM (Вс окт 09, 2016 9:25 pm)
Рейтинг: 2.33%
Server: Raspberry Pi 3 B+
OS: Rasbian
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Загрузка Sketch по Bluetooth

Сообщение Alex » Ср июл 15, 2015 2:49 pm

annakin, если вы такой продвинутый, то может быть вы запилите обновление серверных страничек не через сериал, а через сеть (проводную)?
annakin
Сообщения: 130
Зарегистрирован: Пн окт 28, 2013 5:06 pm
Откуда: Молдова
Благодарил (а): 11 раз
Поблагодарили: 10 раз

Re: Загрузка Sketch по Bluetooth

Сообщение annakin » Ср июл 15, 2015 2:56 pm

Alex писал(а):annakin, если вы такой продвинутый, то может быть вы запилите обновление серверных страничек не через сериал, а через сеть (проводную)?
Неа пока я ещё зелёный в этом деле (( я ещё учусь. Потом может быть возмусь за это, но не шас. ))
Для начала меня если чесно устраивает и заливка сетчей по БТ.
Server: Raspberry Pi 3 B+
OS: Rasbian
chewbakkaz
Сообщения: 3
Зарегистрирован: Сб июл 25, 2015 10:37 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Загрузка Sketch по Bluetooth

Сообщение chewbakkaz » Вс июл 26, 2015 4:15 pm

Ну все мы с чего-то начинали :)
-----------------------
http://americangrill.ru/weber-gift-certificates/
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: Загрузка Sketch по Bluetooth

Сообщение shemnik69 » Ср июл 29, 2015 7:37 am

А идея интересная. Т.е по сути, если на Ардуино (или клоне. даже просто атмега с загрузчиком) установлен стандартный загрузчик (bootloader) внешним воздействием ресетим (презагружаем) и по сути микроконтроллер готов к приему данных. Это может быть как сетевой адаптер (например на основе роутера) так и типа BT. Ресетить микроконтроллер можно например командой с роутера через его GPIO.
Aleksandr
Сообщения: 1
Зарегистрирован: Чт янв 05, 2017 12:12 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Загрузка Sketch по Bluetooth

Сообщение Aleksandr » Чт янв 05, 2017 12:47 pm

На схеме ножка TX HC-05 соединяется на землю через резистор 2,2 кОм. На листике с RCT. Как правильно?
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

Re: Загрузка Sketch по Bluetooth

Сообщение immortal » Чт янв 05, 2017 2:30 pm

Alex писал(а):annakin, если вы такой продвинутый, то может быть вы запилите обновление серверных страничек не через сериал, а через сеть (проводную)?
Есть библиотека для ардуины OTA, я её юзал для esp8266 http://xn--b1afas9b4a.xn--p1ai/archives/749
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Ответить