Bluetooth serial port android

COM порт на Android

Сейчас я расскажу, как, имея в наличии совершенно стандартное устройство на Android с поддержкой USB Host (в моем случае Nexus 7), совершенно стандартный USB Host переходник на полноразмерный разъем «мама», совершенно стандартный USB serial контроллер на чипе PL2303 (они почти все работают именно на этом чипе) и не менее стандартный цискин голубой шнурок, зайти на консоль сетевого оборудования и без всяких ограничений работать с ней. Хотя никто не мешает подключать к планшету/телефону и любое другое оборудование, работающее с командной строкой поверх RS-232.

Первым делом получаем на планшете рут-права. Иначе никак.
Вторым делом ставим Busybox. Кто не знает — это отличный комплект утилит, одна из которых нам потребуется. После установки надо запустить его и нажать в самой программе «Install», когда программа спросит про метод установки — сказать «Normal».
Затем понадобится любой приличный эмулятор терминала. Мне нравится Irssi ConnectBot.
Ну и напоследок — штатные клавиатуры плохо годятся для работы с консолью. Нам ведь нужны клавиши Tab, ctrl и прочие, верно? Да и цифры хочется иметь в верхнем ряду, над буквами, а не где-то еще. Потому — Hacker’s Keyboard. Лучше, конечно, подключить внешнюю клавиатуру, но мы пока не собираемся набивать вручную многоэкранные конфиги.

Всё готово для подключения.
Запускаем терминальный клиент, выбираем локальное подключение, и подключаем к планшету контроллер. Нужно убедиться, что он определился, хотя тут проблем не ожидается, драйвера для PL2303 уже много лет как включены в ядро Linux. Под рутом запускаем dmesg.

(если кому мелковато — кликните на картинку)
Нужно запомнить, куда смонтировало контроллер. В моем случае это всегда был /dev/ttyUSB0.

Осталось установить соединение. В комплект Busybox входит программа «microcom», она-то нам и пригодится.
Набираем в консоли «microcom -s [скорость порта] [точка монтирования устройства]».

Выход из microcom по ctrl+x. Break должен посылаться по ctrl+b (пока не проверял). Другие горячие клавиши передаются корректно.

Альтернативы?
Можно купить один из многих «Bluetooth Serial» адаптеров. Вот только такие адаптеры и стоят дороже (>$50), и требуют внешнего питания. Ни одного на аккумуляторах не видел. В лучшем случае батарейку надо самому прикрутить.
Для пользователей техники Apple есть проводное решение за те же >$50.

Источник

Programming VIP

Very Interesting Programming

android Bluetooth BLE serial port development

1. First apply for relevant authority. In manifest.xml

2. Declare Bluetooth adapter and apply for Bluetooth

3. Scan Bluetooth devices

It must be noted that above Android 5.0, using Bluetooth lescanner for scanning, the above functions are not recommended.

Читайте также:  Аудиокниги для андроид 4pda

4. connect Bluetooth

The above mobile phones scan to other Bluetooth devices (GAP protocol), and then establish the connection and communication (GATT protocol).

Bluetooth carries out data interaction through Characteristic, and Baidu related knowledge points are available in detail.

When you need to send data, note that there is a limit to the data that can be sent at one time.

Finally, a broadcast receiver is defined to receive and process Bluetooth services.

Use Bluetooth serial port module to connect with computer and open PC serial port assistant. test

The computer can receive normally.

The serial port software of this computer is also written by me in C.

I used to use XCOM as the serial port receiving software, but XCOM received according to GB2312 code.

Added by Ohio Guy on Sat, 01 Feb 2020 05:32:42 +0200

Источник

Работа с COM портом в Android приложениях

Все доброго времени суток!

Однажды я задумался над разработкой приложения, которое требовало бы общения с hardware устройством, через COM порт. Хотя Android заботливо предоставляет api для работы с usb устройствами, оно мне к сожалению не подходило, так как хотелось осуществлять поддержку моего старого планшета на базе андроид версии 2.2. Стандартное api ото Гугла, не подходило

по двум причинам:

  • во первых оно не сработало для меня.
  • девайс у меня все-таки старенький

Итак, после длительного поиска в интернете, я наткнулся на очень интересное решение android-serialport-api. Данное решение представляет собой Java обертку в которой через JNI в которой осуществляются вызовы к USB устройству.

Разработчики библиотеки предлагают 4 различных варианта подключения Android устройства к COM порту через USB.

Так как я имел в своем распоряжении планшет с USB host портом, и у меня под рукой имеется USB to RS232 преобразователь, то я пошел по варианту номер 2.

Преимущества и недостатки такого решения заключаются в

Преимущества

  • USB — RS232 преобразователь можно легко найти на ближайшем радио рынке
  • никаких извращений с моим дорогим моему сердцу планшетом
  • возможная высокая скорость передачи информации

Недостатки

  • потребуется USB хост коннектор
  • возможно, что девайс придется рутануть

Тут я опишу подход в использовании этой библиотеки.

Для корректной работы serialPortFinder необходимо чтобы переходник USB-RS232 был подключен, определен в /dev.

Вот таким нехитрым способом можно осуществлять общение с очень большим количеством железа через COM порт,

Источник

Bluetooth serial port android

⚠ WARNING: This project is no longer being maintained

Android-BluetoothSPPLibrary

Bluetooth Serial Port Profile which comfortable to developer application to communication with microcontroller or android device via bluetooth.

This libraly include all important methods for serial port profile on bluetooth communication. It has built-in bluetooth device list.

• It’s very easy to use

• Solve the lack of data like as «abcdefg» which divided to «abc» and «defg» when receive these data

• Auto add LF (0x0A) and CR (0x0D) when send data to connection device

Читайте также:  Как следить android смартфоном

• No need to create layout for bluetooth device list to select device for connection. You can use built-in layout in this library and you can customize layout if you want

• Auto connection supported

• Listener for receive data from connection device

• Import this library to your workspace and include in to your android project For Eclipse ADT : Download this library and import into your workspace and include this library to your project For Android Studio : Use Gradle to download this library from Maven

• Declare permission for library

• Declare BluetoothSPP like this

• Check if bluetooth is now available

• Check if bluetooth is not enable when activity is onStart

• if bluetooth is ready call this method to start service

For connection with android device

For connection with any microcontroller which communication with bluetooth serial port profile module

• Stop service with

• Intent to choose device activity

don’t forget declare library activty like this

• After intent to choose device activity and finish that activity. You need to check result data on onActivityResult

• If you want to send any data. boolean parameter is mean that data will send with ending by LF and CR or not. If yes your data will added by LF & CR

• Listener for data receiving

• Listener for bluetooth connection atatus

• Listener when bluetooth connection has changed

• Using auto connection

• Listener for auto connection

• Customize device list’s layout by create layout which include

list view with id name = «list_devices»

button with id name = «button_scan»

But if you don’t need to create layout file. You just want to change only text on device list layout. You can use bundle to change text on device list

  • Connection Dialog
  • Add Insecure Connection
  • Fix bug on this issue https://github.com/akexorcist/Android-BluetoothSPPLibrary/issues/21
  • Merge the code from https://github.com/akexorcist/Android-BluetoothSPPLibrary/pull/14 for a problem of auto connection
  • Human Readable Log https://github.com/akexorcist/Android-BluetoothSPPLibrary/issues/19

Copyright (c) 2014 Akexorcist

Licensed under the Apache License, Version 2.0 (the «License»); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an «AS IS» BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

[UNMAINTAINED][Android] Bluetooth Serial Port Profile which comfortable to developer application to communication with microcontroller via bluetooth

Источник

Соединение Arduino программы на Intel Edison c телефоном Android по Bluetooth профилю SPP (Serial Port Profile)

В среде Arduino удобно иметь доступ к Bluetooth с профилем серийного порта BT SPP (Bluetooth Serial port profile), чтобы реагировать на команды, посылаемые через последовательный Bluetooth порт. Во многих Arduino проектах используется эта возможность, чтобы удаленно управлять устройством. Раньше вам был нужен дополнительный Bluetooth шилд или Bluetooth набор, чтобы получить такую возможность на Intel Galileo. А так как сейчас на Intel Edison есть встроенная поддержка Bluetooth, то достаточно просто использовать Arduino-адаптер, чтобы создать такое Arduino устройство. Никаких дополнительных шилдов не потребуется.

Читайте также:  Как удалить все контакты скайп андроид

Нам потребуется:

Основы

Статья «Connecting the Intel Edison board to your Android Phone with Serial Port Profile (SPP)» описывает, как подсоединить плату Intel Edison к Android телефону с SPP. Тем не менее, вы не сможете получить данные от SPP в коде Arduino. В статье «Подключаемся к Intel Edison через Android с Bluetooth LE (BLE)» объясняется, как подключить Bluetooth через Arduino, но там требовался дополнительный Bluetooth шилд.

Но так как у нас есть встроенный Bluetooth, почему бы не использовать это преимущество? Здесь я предлагаю пример библиотеки, чтобы это сделать.

Один из эффективных способов общения между Arduino и Linux на Intel Edison, это использование mmap(). Об этом мы рассказывали в предыдущей статье Эффективное взаимодействие между нативными процессами Arduino и Linux. Тем не менее, совсем не просто использовать блокировку в разделяемой памяти между процессом питона и Arduino процессом.

Таким образом, я выбрал именованные каналы (named pipes) как простейший способ организовать IPC (межпроцессорное взаимодействие) между процессом скетчем Arduino и Python процессом c Bluetooth SPP.

Установка сервиса Edison Bluetooth

2. Скопируйте файл bluetooth-service.tar.gz в папку /home/root/Bluetooth и распакуйте:

3. Скопируйте файл bluetooth-spp-pin.service в папку /lib/systemd/system/:

4. Включите сервис systemd:

5. Перезапустите ваше устройство:

6. Ещё раз проверьте сервис:

Установка Arduino скетча на Edison

Настройте ваш телефон

  1. Скачайте и установите любое приложение для BT SPP из PlayStore. Например, BLE_SPP_PRO.
  2. Включите Bluetooth на телефоне и присоединитесь к вашему Edison модулю.
  3. Введите пин-код, по умолчанию это 8888. В дальнейшим его можно будет поменять в строке 70 в файле bluetooth-pin-service.py.
  4. В приложении подключитесь к вашей плате Edison (myedison).
  5. Пошлите что-нибудь на Edison, вы должны увидеть результат Serial Monitor в Arduino IDE.

Заключение:

Теперь у вас есть Bluetooth устройство с фиксированным пин-кодом, которое поддерживает SPP. Вы можете подключаться к нему так же просто, как и к Bluetooth колонкам. Bluetooth заработает автоматически сразу после включения, и даже не надо подсоединяться к устройству через терминал. Вы можете получить доступ к BT SPP в вашем Arduino коде, рассматривая его как последовательное устройство. И присоединится к Edison проекту через Android телефон с BT SPP приложением. Это означает, что вы можете управлять вашим проектом на Edison удаленно и делать, что вы хотите. Основываясь на этой работе, вы можете разрабатывать большое количество интересных приложений, используя встроенный Bluetooth на Intel Edison. Получайте удовольствие и делитесь с нами вашими проектами.

Источник

Оцените статью