Часть 4. Связываем Arduino и телефон на Android через Bluetooth. Подключаемся к bluetooth модулю.

  Переглядів 2,374

Astar Channel

Astar Channel

6 років тому

Продолжаем серию видео-уроков по созданию приложения в Android Studio для телефона под управлением ОС Android, при помощи которого мы будем управлять устройствами, подключеных к плате Arduino. В этой части реализуем подключение к найденному bluetooth модулю, а так же отправку команд, для управления устройствами подключенных к ардуино.
Данная серия видеоуроков будет о том, как создать на мобильный телефон под управлением Android приложение для управления Arduino и подключенными к нему устройствами посредством bluetooth технологии. Основным элементом в данной серии видеуроков будет выступать bluetooth модуль HC-06
Bluetooth модуль HC-06 goo.gl/VHhNXi
Arduino UNO goo.gl/aiN1D8
Arduino NANO goo.gl/mWuTVZ
Исходники приложения из видеоурока (Google Drive) drive.google.com/open?id=1m2H...
Исходники приложения из видеоурока (GitHub) goo.gl/c1rcMs
Скетч к проекту из видеоурока goo.gl/PSQ7jX
Android Studio скачать goo.gl/kJbNkt

КОМЕНТАРІ: 16
@advisernone9343
@advisernone9343 Рік тому
Когда повторяешь с экрана всё сам, понято абсолютно всё: и зачем, и почему так, и почему тут. Но вот мне, знакомому только с си++ и ассемблером, не понятен принцип приобретения знаний, необходимых для самостоятельной разработки подобного кода с нуля. Ведь невозможно же запомнить все методы, их параметры, какие из них применимы для конкретной ситуации... В общем ищу подсказку как выползти из тёмного леса на свет! :) т.е . научится не выгразать чужие куски и стряпать из них что-то, а полноценно описать в студио свой алгоритм самостоятельно, используя только справочники. Огромное спасибо за труд!
@AsTaR75256
@AsTaR75256 Рік тому
Если речь идет об андроид, то да - я соглашусь. Все таки это уже абсолютно другая платформа со своими особенностями. Тут тебе надо уже конкретно изучать SDK Android, что и как в нем работает. Лучшая документация для этого естественно сайт developer.android.com. Так же есть хороший сайт startandroid.ru хоть там и уроки были написаны достаточно давно (примерно 2011 года), но тем не менее информация там еще в полне актуальна, но местами устарела не спорю. Ну в любом случае можешь мне в телеграмм написать, я постараюсь помочь.
@sonar_devices
@sonar_devices 4 роки тому
Большое спасибо!
@artemv7769
@artemv7769 6 років тому
Спасибо, годные уроки. Как бы ещё сделать чтение с датчиков, подключенных к ардуино?
@AsTaR75256
@AsTaR75256 6 років тому
Artem V, тоже самое почти. Считанное значение с датчика отправляешь в Serial порт. У нас как раз блютуз модуль в моем примере подключен. А в java уже считываешь через InputStream. Могу записать урок, если нужно, но это будет в течении нескольких дней, так как времени не очень много
@artemv7769
@artemv7769 6 років тому
Astar75, очень бы хотелось увидеть такой урок. В идеале ещё рассмотреть бы в нём как можно выводить данные в виде графика в реальном времени
@artemv7769
@artemv7769 6 років тому
Дополнил код автора такой функцией. Теперь в TextView с названием "sensor" будет выводиться последняя строка, которую передала Arduino. Содержимое MainActivity.java: pastebin.com/BUmhT9qd Может кому-то пригодится. Для нескольких датчиков, я так понимаю, нужно сделать какой-то разделитель между значениями с них, типа такой реализации stackoverflow.com/questions/16619827/java-separate-numbers-from-a-string З.Ы. Я совсем новичок в Java, реализацию приема данных через InputStream подсмотрел в StackOverflow, так что не претендую на ее идеальность, но вроде работает.
@user-dt9vo8sh3k
@user-dt9vo8sh3k 6 років тому
Сурово записываешь! Но молодец, круто)
@AsTaR75256
@AsTaR75256 6 років тому
Егор Макаров сурово в плане чего? Спасибо
@sergeypavlovskiy3345
@sergeypavlovskiy3345 5 років тому
С получившимся приложением не все в порядке. Поиск запускается через раз. Часто крашится и если запускается, то поиск проходит очень долго. Думал, я что-то не правильно накодил. Но скачал приложение из описания и получил то же самое.
@AsTaR75256
@AsTaR75256 5 років тому
Совсем скоро я перезапишу данный цикл видеороликов, учитывая пожелания подписчиков и людей оставивших комментарии. На каком месте крашится начинает? Если можете, опишите подробные действия. Поиск проходит долго, потому-что по умолчанию задан временной диапазон для поиска (некоторые устройства могут находиться дальше и Bluetooth модулю в телефоне приходится затрачивать больше ресурсов и времени на обнаружение таких устройств). Как вариант вы можете сами остановить поиск с помощью метода cancelDiscovery()
@sergeypavlovskiy3345
@sergeypavlovskiy3345 5 років тому
@@AsTaR75256 при начале поиска, чаще всего пишет, что поиск уже запущен, перезапуск, но диалоговое окно не открывается. Повторно если нажать поиск, то краш происходит. Вообще, сначала надо бы выводить список сопряженных устройств, чтобы каждый раз не искать (bondedDevices). И если только этого устройства нет, то тогда начинать поиск. И в целом, по всему циклу роликов много вопросов остается. Пробовал смотреть другие видеоролики с "обучением". Но все сводится к одному - "это интерфейс программы и будем его разбирать в течении часа. А вот наше первое приложение Hello World и его мы будем дрочить еще три часа, меняя цвет текста и размер. А теперь разберем ListView, для него создадим адаптеры-хуяптеры-интенты, переопределим наши классы и все заработает". И такое чувство, что где-то пропустил полкурса. Может java-разработчикам не нужно объяснять что для чего нужно, но лично меня это вводит в ступор. В итоге, плюнул на все эти курсы и взял книгу. Сразу стало понятно, что имелось ввиду под словом "хардкодить". Наверное, цикл рассчитан на тех, кто уже знаком с программированием под Андроид.
@AsTaR75256
@AsTaR75256 5 років тому
@@sergeypavlovskiy3345 можете мне в вк написать vk.com/d.astar ? Более подробно обсудим с вами. Проведу с вами небольшой экскурс в Java. По поводу сопряженных устройств, я с вами согласен, в моем недавнем уроке я уделил этому внимание, вашему вниманию ссылка на плейлист ukposts.info/have/v-deo/cKmchGqebJCCtp8.html Естественно интерфейсу будет больше внимания уделяться, так как это же не консольное приложение. По поводу ListView, да! Я согласен! Сложно! С чем связаны подобные сложности? В основном с тем, что список ListView достаточно гибок к настройкам, вы можете сделать как обычный список, а можете сделать список с разными количествами остальных элементов. Например список который в себе так же имеет галочку для выделения нескольких элементов в списке. Можете в элемент списка даже положить отдельную кнопку либо что то еще, то есть все зависит только от вас. И понимаете? Если бы это все было под один шаблон, а тут целая так сказать свобода действий для реализации разных плюшек в ваших списках. Адаптеры для списка как раз таки и занимаются кастомизацией ваших списков и позволяет выводить элементы списка правильно. Коротко об интентах. Интент в андроид -- это намерение. Я тоже по началу столкнулся с той же проблемой как у вас. И это нормально. Почитав литературу и посмотрев видеоролики других авторов у меня сложилось понимание того, как что работает. Вообще в андроиде интент служит для нескольких случаев. Во-первых для запуска приложения или новой активности (можно подразумевать как новое окно в Windows) приложения. Могут быть такие случаи когда программа должна открыть другую программу, которая будет работать с вашими данными, а последней вдруг не оказалось. По крайней мере она попыталась открыть ее, если например она ее не найдет, она может запросить список тех программ которые могли бы обработать ваши данные. Во-вторых интенты так же служат для того что бы передавать данные между приложениями, можно сказать это как почтовый голубь, который еще в праве требовать у других компонентов что то сделать )))
@AsTaR75256
@AsTaR75256 5 років тому
@@sergeypavlovskiy3345 хардкодить -- создавать сложный не логичный код, в котором тяжело разобраться. В данном видеокурсе, признаюсь, честно говоря много хардкода. Суть в устранении хардкода является разделение программы на составляющие части с применением правильной архитектуры приложения и разных паттернов проектирования. Но это тема достаточно сложна, потому как я даже в ней еще не разобрался окончательно. Подразумевается разделение вот чем: Мы выносим разные визуальные части отдельно от кода программы для того что бы нам было проще менять эти части не бегая по коду логики самой программы. Так же отдельно выносим строки, цвета, картинки, для того что бы опять же было проще их менять. Чем бегая по 1000 строкам кода, мы уже знаем где это будет находиться, сразу зайдем туда и поменяем. Далее мы формируем программу таким образом что бы каждый модуль отвечал за что то одно. Например класс для работы с пользовательским интерфейсом, класс для работы с блютуз, класс для работы с потоками ввода-вывода данных. Для реализации этих подходов потребуется гораздо больше времени на объяснение. Вот как то так
@0_741
@0_741 4 роки тому
Эх, грусть тоска у меня с этими уроками. Расчитаны на матёрых Java прогеров . Нигде нет нормального разъяснения. Надо начать с синтаксиса, списка команд, описания классов, методов, и разъяснения что это такое, описания типов переменных и переходить к решению практических задач. Урок на 15 минут , а тема то огромная, попытаешся повторить и нихера не выйдет. Прийдётся книжку читать по джаве и долбить по ней пробовать.
@AsTaR75256
@AsTaR75256 4 роки тому
Ну иных способов просто не найти. Куда подробнее объяснять? Тут проблема в том что если все выкладывать в одно видео (основы + реализация приложения), то это будет считаться изнасилованием мозга. Однако если хотите, могу вас подтянуть по java правда не за бесплатно
Урок 9. Bluetooth LE. ESP-32. Android.
34:14
Astar Channel
Переглядів 3,2 тис.
Level 1 to 100 Mystery Buttons
00:46
A4
Переглядів 5 млн
Старейшая нерешённая задача [Veritasium]
30:08
Шаг 3. Загрузка и настройка микропрограммы
11:15
Домашняя автоматика SmartESP
Переглядів 734
Уроки Arduino #7 - подключение светодиода
3:39
Заметки Ардуинщика
Переглядів 431 тис.
Уроки Arduino #2 - работа с монитором COM порта
7:03
Заметки Ардуинщика
Переглядів 702 тис.
СКОЛЬКО ЕЩЕ БУДЕТ АКТУАЛЕН IPHONE 13?
14:10
DimaViper Live
Переглядів 56 тис.
Phone charger explosion
0:43
_vector_
Переглядів 28 млн
Первый рабочий день HappyPC Старый Оскол! 🔥
9:51
Герасимов Live
Переглядів 14 тис.
Broken Flex Repair #technology #mobilerepair
0:55
ideal institute aligarh
Переглядів 15 млн