Управление через блютуз контроллером TXT

Обсуждаем модели и конструкции, построенные своими руками
Muaed
Сообщения: 38
Зарегистрирован: 19 окт 2021, 12:38

Re: Управление через блютуз контроллером TXT

Сообщение Muaed »

Я дошел до пункта 2.6.
Увидел страницу файлового менеджера контроллера TXT.
Как передать команды с телефона?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Управление через блютуз контроллером TXT

Сообщение Mr.Kubikus »

Отлично!

Если в браузере вашего телефона открылась страница файлового менеджера контроллера, то это означает, что ваши устройства могут общаться по протоколу HTTP. Этот протокол скрывает от нас детали реализации технологии Bluetooth сильно упрощая задачу. Кстати, этот же протокол вы уже использовали ранее тут - "Управление контроллером TXT через веб страницу". Только тогда вы передавали команды в контроллер через форму в браузере, а теперь мы будем передавать команды из вашего приложения, работающего в среде DroidScript, с помощью функции HttpRequest.

Общая структура предлагаемого решения показана на схеме ниже:
image.png
image.png (14.25 КБ) 10899 просмотров
Вам надо убрать из вашего кода все действия, связанные с настройкой соединения через Bluetooth т.к. соединение к моменту запуска приложения уже должно быть установлено с помощью средств операционной системы в соответствии с пунктами 1.1-2.4.

Затем надо заменить все вызовы bt.Write() на HttpRequest(). В параметрах функции надо указать адрес сервера http://192.168.9.2:8000 (где 8000 - номер порта, на котором сервер ожидает подключение) и перечень передаваемых в запросе полей.

Код приложения на языке Python для контроллера TXT можно взять с небольшими изменениями из топика "Управление контроллером TXT через веб страницу".

PS. Использование протокола HTTP для такой задачи избыточно и сильно снижает быстродействие. Можно было бы использовать протокол UDP, но такое решение потребует более глубокого изучения технологии и к нему можно вернуться после успешного решения на базе HTTP.

Буду рад ответить на вопросы.
С уважением, Григорий
GitHub FB ВК
Ответить