Блютуз модуль arduino: Урок 15. Bluetooth модуль HC-06 подключение к Arduino. Управление устройствами с телефона.
|Содержание
Arduino и Bluetooth
2022-04-15
Все статьи →
В настоящее время в зарубежных и отечественных магазинах можно найти большое количество различных Bluetooth Serial модулей для DIY-устройств. Цена на них не сильно высока: ±5$ за модуль. Их легко можно найти, например: Bluetooth Serial HC-05, HC-06.
В большинстве модулей используется чип BC417, плюс Flash-память. Чип поддерживает спецификацию Bluetooth v2.0 + EDR, AT-команды, может работать в режиме Master или Slave (модули HC-03/HC-5, может устанавливаться AT-командой), поддерживает скорость обмена от 2400 до 1382400. Напряжение питание модуля составляет 3.3В, ток потребления ~50мА. Модули HC-03/HC-05 более функциональные, чем HC-04/HC-06.
Основные выводы модулей HC-04/HC-06:
- UART_TX (pin 1), UART_RX (pin 2), UART_CTS (pin 3), UART_RTS (pin 4) — пины UART.
- 3,3V (pin 12) — питание 3.3В.
- GND (pin 13) — общий.
- PIO1 (pin 24) — индикатор рабочего режима. Если соединение не установлено — то светодиод мигает, если установлено, то постоянно горит.
Для модулей HC-03/HC-05 есть некоторые отличия. Линии UART и питания те же самые, но:
- PIO8 (pin 31) — индикатор рабочего режима.
- PIO9 (pin 32) — статус соединения, если соединение установлено, то на выходе будет высокий уровень.
- PIO11 (pin 34) — вход включения режима AT-команд (необходимо подать лог. 1).
За более подробной документацией обращайтесь к PDF.
Итак, соберем простую схему для подключения Bluetooth модуля HC-06 к плате Arduino Nano V3.
Обратите внимание, что выводы TX и RX в плате Arduino Nano поменяны местами в отличии от Ardunio UNO и др. Поэтому внимательно смотрите распиновку своей Arduino платы.
Шаг между выводами в модуле составляет всего 1.5мм, поэтому придется взяться за паяльник и припаять провода к модулю. Всего необходимо припаять 5 проводов, однако светодиод подключать необязательно, он служит для индикации состояния.
Итак припаиваем провода и подключаем Bluetooth модуль следующим образом:
- вывод Arduino 3.3В — к 12 пину модуля
- вывод Arduino GND — к 13 пину модуля
- вывод Arduino TX — к 2 пину модуля RX
- вывод Arduino RX — к 1 пину модуля TX
Передача данных из Arduino по Bluetooth
Далее напишем простенький скетч для отправки сообщений из Bluetooth модуля в компьютер.
Как видите скетч довольно простой и хорошо прокомментирован. В цикле, раз в секунду происходит увеличение переменной cnt, которая затем с текстовой надписью выводится в последовательный порт на Bluetooth модуль. Обратите внимание, что скорость порта установлена в значение 9600. При покупке модуля, спрашивайте на какое значение установлена скорость обмена по последовательному интерфейсу. Но в большинстве случаев это 9600. При необходимости, скорость обмена можно изменить АТ-командами.
Откройте данный скетч в Arduino IDE, скомпилируйте и прошейте ваш Arduino. Если вы подключали светодиод в Bluetooth модулю, то он должен мигать, показывая тем самым, что модуль ожидает соединение.
Внимание! Если при прошивке платы Arduino ругается прошивальщик, то отключите питание 3.3В с Bluetooth модуля.
На компьютере, в качестве Bluetooth модуля использовался самый дешевый китайский Bluetooth USB адаптер, стоимостью около 3$. После того, как адаптер подключается к компьютеру, установите необходимые драйвера (в Windows 7 x64 у меня все драйвера установились автоматом).
Затем щелкаем в трее по иконке Bluetooth модуля и выбираем «Добавить устройство»:
Имя моего модуля BOLUTEK, у вас оно скорее всего будет другим. Нажимаем «Далее» и переходим к окну, где необходимо ввести пароль для устройства:
Выбираем второй пункт: «Введите код образования пары устройства». С завода, код установлен 1234. Его и вводим. Программа настроит и пропишет в системе виртуальные COM-порты (у меня прописало 2 шт, но может быть и один):
В дальнейшем, можно посмотреть на какой COM-порт назначилось и его параметры. Для этого щелкаем правой кнопкой мыши по устройству и выбираем «Свойства» и вкладку «Оборудование». Там можно посмотреть и изменить параметры виртуального COM-порта:
Теперь, для приема и передачи данных на виртуальный COM порт можно использовать любую терминал программу. Я использовал бесплатную Tera Term. При каждом запуске программы предлагается выбор соединения, переключаем флажок на Serial и выбираем COM порт вашего Bluetooth модуля. У меня это COM4.
В терминале мы видим данные счетчика с платы Arduino:
Как видим, данные успешно передаются по Bluetooth соединению.
Двунаправленный обмен данными по Bluetooth
Следующим шагом будет написание простенькой программы двунаправленного обмена данными между Arduino и компьютером. В схему я добавил светодиод, подключив его к 12 пину Arduino, через токо-ограничительный резистор. Но можно использовать и встроенный LED (обычно 13 пин).
Программа работает очень просто. После запуска или сброса устройства, в последовательный порт выводится сообщение с предложением нажать 1 или 0. В зависимости от нажатой цифры светодиод будет загораться или гаснуть. А также, от Arduino будет выводиться сообщение загорелся светодиод, или погас.
Подключаем к Android
Для платформы Android также существуют программы-терминалы. Но необходима специальная программа для работы в терминальном режиме по Bluetooth. Я установил вот эту: Bluetooth Terminal. Достаточно простая программа, ничего лишнего. В моем Android устройстве нет Bluetooth модуля, но он прекрасно работает и с внешним USB-адаптером, который мы использовали для подсоединения к ПК. Подключаем адаптер по USB, включаем на андроиде bluetooth, находим и вводим пароль для нашего Bluetooth устройства на Arduino и наконец запускаем программу терминал. Нажимаем «Connect a device — Secure» и выбираем наше устройство BOLUTEK. Теперь вы можете отправлять и принимать данные с Bluetooth устройства при помощи терминала.
Ссылки:
- программный код
Arduino UNO + модуль Bluetooth HC-05
Эта пошаговая инструкция поможет вам запустить графический интерфейс RemoteXY на контроллере Arduino UNO используя модуль связи Bluetooth HC-05 или HC-06. Инструкция так же может быть использована для контроллеров Arduino Nano, Arduino Mini и совместимых.
Примечание. Устройства iOS не поддерживают модули с классическим Bluetooth HC-05(06). Вместо них вы можете использовать модуль BLE HM-10.
Шаг 1. Создайте графический интерфейс
Войдите в редактор RemoteXY. Найдите на левой панели инструментов элемент Кнопка, и переместите его в поле телефона. Выделите кнопку в поле телефона, что бы вокруг нее отобразилась рамка. Когда кнопка выделена, в правой панели свойств разверните вкладку Элемент. В свойстве элемента Привязать к выводу установите значение 13(LED).
Примечание. Редактор позволяет указать вывод контроллера для некоторых элементов, которые могут однозначно определить состояние вывода, например «Включен «или «Отключен». Однако лучшим решением будет написание собственного кода управления выводами контроллера.
Шаг 2. Настройте конфигурацию
Разверните вкладку Конфигурация на правой панели свойств. Кликните в любой элемент списка, откроется окно выбора конфигурации. Настройка конфигурации позволяет указать параметры вашей схемы. Выберите следующие параметры и нажмите кнопку Применить:
- Соединение: Bluetooth
- Контроллер: Arduino UNO
- Модуль: HC-05 Bluetooth module
- Среда: Arduino IDE
Вкладка Конфигурация должна выглядеть как на рисунке:
Разверните вкладку Подключение модуля и установите следующие значения настроек:
- Интерфейс подключения: Software Serial
- Контакт RX: 2
- Контакт TX: 3
- Скорость обмена: 9600
Настройки определяют, что модуль HC-05(06) подключается к Arduino через программный последовательный порт SoftwareSerial на скорости 9600 и используются контакты микроконтроллера 2 и 3 .
Примечание. Скорость 9600 является скоростью обмена по умолчанию для модулей Bluetooth HC-05 и HC-06. Не выбирайте другую скорость.
Шаг 3. Сформируйте скетч для Arduino
Нажмите кнопку Получить исходный код.
На открывшейся странице кликните ссылку Загрузить код и загрузите архив скетча. Распакуйте архив. В архиве размещен файл project.ino
, откройте его в Arduino IDE.
Для компиляции скетча в среду Arduino IDE необходимо добавить библиотеку RemoteXY. Пройдите по ссылке загрузки библиотеки и следуйте инструкциям по ее установке.
В среде разработки выберите плату Arduino UNO и попробуйте скомпилировать скетч. Если вы все сделали правильно, скетч должен компилироваться без ошибок.
Шаг 4. Подключите HC-05 к Arduino Uno
Подключите модуль Bluetooth HC-05 или HC-06 к Arduino Uno по схеме приведенной на рисунке. Обратите внимание, что контакт 2 платы Arduino выбранный как RX соединяется с контактом TX модуля Bluetooth, а контакт 3 платы Arduino выбранный как TX с контактом RX модуля Bluetooth.
Шаг 5.
Загрузите скетч в Arduino.
Загрузите скетч в контроллер стандартным способом. Подсоедините контроллер Arduino UNO к компьютеру, выберите COM порт к которому подключилась плата и нажмите кнопку загрузки.
Шаг 6. Подключитесь с мобильного приложения.
Установите мобильное приложение RemoteXY на ваш телефон.
Запустите приложение и нажмите кнопку + (Плюс) на верхней панели справа. В открывшемся окне выберите подключение Bluetooth.
Если на вашем телефоне отключен Bluetooth, то включите его. Нажмите кнопку обновления списка доступных устройств в правом верхнем углу. Модуль Bluetooth HC-05 (HC-06) может иметь одно из следующих имен: «HC-05», «HC-06», «INVOR». Выберите его. Откроется окно для ввода пароля спаривания Bluetooth устройств. Пароль по умолчанию для HC-05 (HC-06) может быть 1234 или 0000. Введите пароль.
После ввода пароля начнется подключение. Если вы все сделали правильно ту у вас должен отобразиться графический интерфейс с кнопкой, точно такой же как вы его разработали. Попробуйте нажимать кнопку. При удерживании кнопки нажатой должен загораться светодиод LED на плате Arduino UNO.
Примечание: В приложении для iOS необходимо включить Bluetooth используя системные настройки.
Если не подключается…
Если подключение не удалось, проверьте себя по списку ниже. Это поможет вам найти ошибку.
Модуль не отображается в списке устройств приложения
Если вы не видите вашего модуля в списке доступных устройств, попробуйте повторно нажать на кнопку обновления списка устройств спустя несколько секунд. Если модуль так и не появился, возможны следующие причины:
- Вы не включили Bluetooth на вашем телефоне.
- На модуль Bluetooth не подается питание. Возможно питание подключено не верно.
- Модуль Bluetooth неисправен.
Bluetooth устройство не найдено
Если вы видите ошибку Bluetooth device not found
или Bluetooth device connection error
это означает что телефон не смог обнаружить модуль Bluetooth или не смог с ним соединиться. Возможны следующие причины:
- При подключении в приложении выбрано не то Bluetooth устройство. Например вы выбрали наушники или телефон вашего друга у которого включен Bluetooth.
- При подключении в приложении был введен не верный пароль для спаривания устройств.
Попробуйте разорвать пару используя системные настройки если Bluetooth устройство уже было спарено до этого.
Устройство не отвечает
Если вы видите ошибку Board not reply
это означает что приложение подключилось к модулю Bluetooth но не может производить обмен данными с контроллером. Возможны следующие причины:
- Контакты RX и TX модуля Bluetooth подключены не верно, возможно они перепутаны местами. Проверьте по схеме на шаге 4.
- Контакты RX и TX модуля Bluetooth или один из них не подключены к контроллеру, плохой контакт;
- Не верно указаны настройки конфигурации или настройки подключения перед формированием исходного кода. Проверьте на шаге 2.
- Скорость передачи данных Bluetooth модуля не соответствует выбранной в настройке конфигурации. Проверьте на шаге 2.
- Вы внесли недопустимые изменения в скетч, например откорректировали структуру
RemoteXY
или массивRemoteXY_CONF
, удалили вызовы функцийRemoteXY_Init()
илиRemoteXY_Handler()
. Сформируйте исходный код заново и загрузите его в контроллер без каких либо изменений. - Использована старая версия библиотеки RemoteXY. Обновите версию библиотеки до последней.
- В Arduino не был загружен скетч, или был загружен другой скетч. Проверьте что вы загрузили именно нужный скетч.
- Контроллер Arduino не включен или неисправен.
3 лучших модуля Bluetooth для Arduino (обзор 2022 года)
ДСД ТЕХ HC-05 | DSD TECH HM-10 | HiLetgo HC-06 RS232 |
|
|
|
Узнать цену | Контрольная цена | Контрольная цена |
Когда обычный человек слышит термин «Bluetooth», он может подумать об аудиогарнитуре или динамиках. Оба этих устройства используют технологию Bluetooth. Однако энтузиасты электроники знают, что этот метод связи ближнего действия можно использовать не только для прослушивания любимого подкаста.
Bluetooth может передавать информацию десятками интересных инновационных способов. Одно из наших любимых применений Bluetooth для подключения робота на базе Arduino или другого управляющего устройства к смартфону.
Начните работу с технологией Bluetooth для вашего следующего проекта Arduino.
Руководство покупателя
Как работает связь Bluetooth между Arduino и Arduino?
Используя последовательные сигналы Bluetooth, ваш смартфон управляет Arduino так же, как если бы они имели аппаратное соединение. Такие приложения, как Bluetooth Terminal и ArduinoRC, отлично справляются с задачей превращения вашего смартфона в интерфейсное устройство.
И даже лучше. При правильных настройках вы можете позволить двум платам Arduino взаимодействовать друг с другом полностью без компьютера или смартфона. Связь между Arduino и Arduino немного сложнее для правильного использования, но она открывает значительные возможности управления.
Схемы построения
Для этого вам нужно построить две одинаковые макетные платы, как показано на диаграмме Fritzing выше. Каждый использует Arduino Nano для передачи данных через модуль Bluetooth HC-05, в результате чего другая сменная плата получает эти данные и отвечает миганием своего светодиода. Вы можете отправить сигнал с одного Arduino на другой через последовательный порт компьютера, но кнопка ввода обеспечивает быструю клавишу для беспроводной передачи символа.
Для сборки схем вам потребуется следующее:
- 2x Arduino Nano
- 2 съемные платы
- 2 модуля Bluetooth HC-05
- 2 кнопки
- 2 резистора по 1 кОм
- 2 резистора по 2 кОм
- 2 резистора по 20 кОм
- 1 соединительный кабель
- 2 кабеля мини-USB
Примечание: Вы можете заменить любую из этих частей в зависимости от ваших предпочтений. Например, Arduino Uno будет работать так же хорошо, как и Nano. На схеме видно, что мы использовали делитель напряжения на выводе Rx HC-05. Модули HC-05 работают при напряжении 3,3 В., поэтому мы решили не допустить попадания слишком большого напряжения на пин.
Подключить модули
Открыв второй экземпляр Arduino IDE, вы можете работать с двумя отдельными платами одновременно.
После того, как вы закончите настройку схемы, вам нужно настроить два модуля Bluetooth для связи друг с другом. Вот следующие шаги:
Передайте код HC-05_AT_MODE_01, который вы можете найти здесь, на одну из ваших плат Arduino. Затем переведите модуль Bluetooth HC-05 в режим AT, включив модуль, одновременно нажимая кнопку на плате.
Во время запуска светодиоды будут медленно мигать. Откройте последовательный монитор в Arduino IDE и введите «AT». Если все работает правильно, вы получите ответ «ОК» от терминала.
Введите «AT+ROLE=», чтобы установить HC-05 в качестве главного устройства. С помощью AT+CMODE=1 вы разрешаете соединение с любым другим шилдом.
Перезагрузите устройство, и ваш HC-05 — ставший ведущим — подключится к другому HC-05, который обычно настроен как подчиненный модуль.
Если вам нужно сменить ведущее устройство на ведомое, установите последовательное соединение, как описано выше, и введите AT+ROLE=0. Также можно использовать модуль HC-06, который работает только в ведомом режиме. Используйте код из шага 1 для получения более подробной информации. Вы также можете соединить два модуля вместе, используя эту расширенную инструкцию.
Если вы работаете с двумя такими платами Arduino, может быть особенно полезно загрузить два экземпляра Arduino IDE (с помощью ярлыка, а не через файл/новый или файл/открыть в среде IDE). Это позволяет одновременно загружать программы и контролировать последовательные порты, что упрощает как программирование, так и устранение неполадок.
Программа загрузки и тестирования
Нажатие кнопки включает свет на другом Arduino Nano. На стикерах указан последовательный порт, используемый для их разделения при программировании.
После подключения HC-05/Arduino загрузите найденное здесь программное обеспечение на каждый Arduino и выполните следующие действия:
- Откройте последовательный монитор для каждого экземпляра IDE, затем поэкспериментируйте, набрав «O» и «F». (верхний регистр).
- Другая плата должна реагировать включением и выключением светодиода. Нажмите клавишу. Это отправит символ «B» на другую доску; светодиод будет кратковременно мигать.
- Вы также можете ввести «B» в последовательный монитор, чтобы проверить эту функцию.
- Как только все заработает правильно, вы можете снова отключить каждую плату и подключить их к противоположным сторонам комнаты; они будут мигать туда-сюда.
Теперь, когда ваши две платы Arduino подключены, пришло время проявить творческий подход. Может быть, вы управляете своим роботом со смартфона через Bluetooth, но вам нужна настоящая клавиатура. Возможно, вы хотели бы разработать персонализированный компьютерный интерфейс, которым можно управлять удаленно. Технология Bluetooth может добавить новое портативное измерение в ваш проект робототехники.
Полезное видео: Учебник по Bluetooth датчику HC-05 с Arduino
Заключительные слова
Использование беспроводной связи шире, чем когда-либо, поскольку мир движется к более связанному обществу. Компьютеры, Arduino и другие устройства теперь могут отправлять информацию без кабелей или физического соединения. Модуль Bluetooth — это лишь один из многих беспроводных модулей, подключенных к платам Arduino, что позволяет им отправлять и получать данные. Спасибо за прочтение!
Модуль Bluetooth HC-05 — Учебное пособие, интерфейс Arduino — Учебное пособие, интерфейс Arduino
В этом проекте мы узнаем о модуле Bluetooth HC-05, о том, как подключить этот модуль Bluetooth к Arduino и как можно использовать модуль Bluetooth HC-05 для управления платой Arduino по беспроводной связи (Bluetooth).
Краткое описание
Введение
Bluetooth-связь представляет собой радиочастотную связь на частоте 2,4 ГГц с радиусом действия около 10 метров. Это один из самых популярных и часто используемых низкочастотных способов связи для передачи данных, аудиосистем, громкой связи, компьютерной периферии и т. д.
Что касается использования связи Bluetooth в проектах «сделай сам», Bluetooth-модуль HC-05 — это идеальное устройство. Я реализовал несколько проектов с использованием Bluetooth-модуля HC-05, таких как Robotic Arm , Home Automation , LED Matrix и т. д.
. Но во всех этих проектах я мало обсуждал модуль Bluetooth, за исключением того, что требуется для реализации проекта. Итак, в этом проекте/учебнике я немного расскажу о модуле HC-05.
Краткое примечание о модуле Bluetooth HC-05
Если вы посмотрите на сообщество любителей электроники и любителей электроники, модуль Bluetooth HC-05 является предпочтительным устройством для реализации проектов, основанных на Bluetooth-коммуникациях. Модуль Bluetooth HC-05 представляет собой простое устройство беспроводной связи, основанное на протоколе Bluetooth.
Этот модуль основан на однокристальной микросхеме Bluetooth BC417, совместимой со стандартом Bluetooth v2.0 и поддерживающей интерфейсы UART и USB.
Как правило, Bluetooth-модуль HC-05 или, если быть точным, субмодуль HC-05 поставляется с микросхемой BC417 вместе с флэш-памятью. Такие модули поставляются в виде платы для поверхностного монтажа, и несколько сторонних производителей используют эти платы для создания более полной системы с необходимыми выводами и компонентами.
На следующем изображении показан один такой вспомогательный модуль Bluetooth HC-05 (зеленая плата на синей плате), используемый как часть полного модуля Bluetooth.
Контакты модуля Bluetooth HC-05
Модуль HC-05 поддерживает UART, USB, а также связь SPI, и в зависимости от приложения могут использоваться необходимые контакты. В моем случае плата использует связь UART.
Что касается контактов модуля Bluetooth, как правило, четырех контактов достаточно для успешного включения канала беспроводной связи, но современные модули имеют шесть контактов, а именно: VCC, GND, TX, RX, EN и STATE. .
На изображении ниже показаны контакты и другие компоненты типичного модуля Bluetooth HC-05.
Важно помнить, что модуль Bluetooth HC-05 работает на логическом уровне 3,3 В. Следовательно, на плате используется регулятор 3,3 В.
ПРИМЕЧАНИЕ: Кнопка на плате используется для настройки модуля Bluetooth в командном режиме AT. Эта часть модуля не обсуждается в данном проекте.
Контакт Описание
- RU: Это контакт включения. Когда этот контакт плавающий или подключен к 3,3 В, модуль включен. Если этот контакт подключен к GND, модуль отключен.
- +5В: Это контакт питания для подключения +5В. Поскольку модуль имеет встроенный стабилизатор 3,3 В, вы можете обеспечить питание + 5 В.
- GND: Это контакт заземления.
- TX: Это контакт передатчика связи UART.
- RX: Это приемный контакт UART.
- СОСТОЯНИЕ: Это контакт индикатора состояния. Этот контакт становится НИЗКИМ, когда модуль не подключен к какому-либо устройству. Когда модуль сопряжен с каким-либо устройством, этот контакт становится ВЫСОКИМ.
ПРИМЕЧАНИЕ: Встроенный светодиод используется для индикации состояния соединения. Когда модуль не сопряжен, светодиод мигает или мигает несколько раз. После сопряжения модуля светодиод мигает с постоянной задержкой в 2 секунды.
Режимы работы
Bluetooth-модуль HC-05 может работать в двух режимах: командный режим и режим данных.
В командном режиме вы можете связываться с модулем Bluetooth с помощью AT-команд для настройки различных параметров и параметров модуля, таких как получение информации о прошивке, изменение скорости передачи UART, изменение имени модуля, установка его в качестве ведущего или подчиненного и т. д.
Важным моментом в отношении модуля HC-05 является то, что его можно настроить как ведущий или подчиненный в коммуникационной паре. Чтобы выбрать любой из режимов, вам необходимо активировать командный режим и отправить соответствующие AT-команды.
Переходим в режим данных, в этом режиме модуль используется для связи с другим устройством Bluetooth, т.е. в этом режиме происходит передача данных.
Настройки по умолчанию модуля Bluetooth HC-05
Ниже приведен список некоторых настроек по умолчанию модуля Bluetooth HC-05.
- Имя: HC-05
- Пароль: 1234 (или 0000)
- Тип: Ведомый
- Режим: Данные
- Скорость передачи: 9600 с 8 битами данных, без четности и 1 стоповым битом
Схема подключения Bluetooth-модуля HC-05 к Arduino
Чтобы продемонстрировать связь между модулем HC-05 и Arduino, я разработал простую схему.
Целью этой схемы является подключение модуля Bluetooth к Arduino, сопряжение модуля Bluetooth с телефоном Android, отправка данных с телефона Android на модуль Bluetooth с помощью простого приложения, чтение данных из модуля Bluetooth через Arduino и, наконец, отображать данные и управлять устройством на основе данных.
На следующем рисунке показана принципиальная схема соединения между Arduino Mega и HC-05.
ПРИМЕЧАНИЕ: Я выбрал Arduino Mega только потому, что он имеет несколько аппаратных портов UART. В этом проекте я использую серийный порт Arduino Mega по умолчанию для связи с компьютером (последовательный монитор) и последовательный порт 1 (RX1 и TX1 — контакты 19 и 18) для связи с Bluetooth.
Код
Приложение для Bluetooth-связи
Я использую простое приложение Android под названием «Контроллер Bluetooth» для сопряжения HC-05 с моим телефоном Android и передачи данных. На момент разработки этого проекта это конкретное приложение Bluetooth Controller больше недоступно в Play Store.
Но мне нравится его простота и удобство использования. Если вы хотите использовать то же приложение, вы можете загрузить его по следующей ссылке КОНТРОЛЛЕР BLUETOOTH .
Подключение телефона к модулю Bluetooth HC-05
Выполните подключения и включите модуль Bluetooth.