Bluetooth по IP?
Есть ли что-то подобное для Bluetooth через IP? (НЕ: IP через Bluetooth).
Это позволило бы физически отделить, скажем, смартфон с поддержкой BT от гарнитуры с поддержкой BT через Интернет.
Linux bnep может сделать это, но я не смог найти инструкции, как это сделать.
Это действительно USB? Спецификации USB требуют вещей, которые просто не могут быть предоставлены IP, таких как спецификации физического разъема, питания и т. Д.
@RonMaupin Конечно, речь идет о том, что происходит между контроллером USB и процессором. Тем не менее, при условии достаточно низкой задержки (LAN), программное обеспечение, использующее эти устройства, не сможет увидеть разницу.
У меня на самом деле была идея с usbip. Можно ли использовать usbip с USB-ключом Bluetooth? (это безумная идея, я знаю)
Хотя в нашем технологическом мире сегодня все кажется возможным, насколько я знаю, настоящий Bluetooth-to-Bluetooth-over-IP никогда не был реализован. Я попытаюсь объяснить трудности, которые, хотя и не являются непреодолимыми, являются причиной этой ситуации.
Bluetooth сам по себе является стандартом беспроводной технологии для обмена данными на короткие расстояния. Обычно он используется для соединений между устройствами и включает в себя понятие сопряжения в целях безопасности. Протокол Bluetooth чрезвычайно универсален и может использоваться для многих целей. Его популярность проистекает из того факта, что он работает на частотах, которые нелицензированы на глобальном уровне (но не являются нерегулируемыми).
Для настоящего Bluetooth-to-Bluetooth-over-IP потребуется два устройства Bluetooth для сопряжения по IP. Это не то же самое, что, например, два человека, использующие Skype для общения через Интернет через гарнитуру Bluetooth, потому что гарнитуры связаны с их компьютерами, а не друг с другом.
Вот некоторые выдержки из модели OSI статьи Wikipedia :
Уровень 1: Физический уровень
На этом уровне работает физический уровень Parallel SCSI, а также физические уровни Ethernet и других локальных сетей, таких как Token Ring, FDDI, ITU-T G.hn и IEEE 802.11 (Wi-Fi). в качестве персональных сетей, таких как Bluetooth и IEEE 802.15.4.
Уровень 4: Транспортный уровень
Примером протокола транспортного уровня в стандартном интернет-стеке является протокол управления передачей (TCP), обычно построенный поверх интернет-протокола (IP).
TCP и UDP являются протоколами транспортного уровня 4, тогда как Bluetooth является протоколом более низкого физического уровня 1. Таким образом, вы можете использовать TCP или UDP поверх Bluetooth, точно так же, как вы используете TCP и UDP поверх Ethernet, но наоборот гораздо сложнее.
Стек протоколов Bluetooth включает в себя свои собственные транспортные протоколы: L2CAP и RFCOMM, где каналы RFCOMM используют уровень L2CAP. Вы можете работать с IP-туннелированием через Bluetooth, инкапсулируя UDP-пакеты по каналам RFCOMM.
Использование терминологии чистой OSI невозможно, даже является противоречием терминов, использовать протокол уровня 1 поверх уровня 4.
С практической точки зрения, мы могли бы представить программный виртуальный адаптер, который объявил бы себя в Linux на клиентской стороне как физическое устройство Bluetooth и обменивался данными по IP с другим таким виртуальным устройством Bluetooth в серверной Linux. Но сложность, связанная с эмуляцией уровней OSI, и усилия по программированию, которые требуются для реализации очень универсального протокола Bluetooth и его архитектуры главный-подчиненный, делают создание такой общей реализации очень трудоемким упражнением, которое вряд ли произойдет, поскольку в настоящее время нет спроса на такое программное обеспечение.
Подобно самому стеку OSI, строгая иерархия существует только в фантазиях. Широко используемое программное обеспечение VPN делать передающую L3 IP — пакеты и даже L2 Ethernet кадры через L4 UDP .
@ Grawity: Я согласен до такой степени, что пакет является пакетом, независимо от того, насколько глубоко завернутый. Однако, в конце концов, VPN делает только IP поверх IP, даже если он упакован в нижний / верхний уровни, а Bluetooth — это совершенно другой физический протокол. Мой ответ говорит, что это возможно, но, вероятно, слишком сложно, чтобы беспокоиться из-за различий в протоколах. Вы не согласны с этим?
Я не пробовал ничего подобного на практике, но я обнаружил, что это говорит о «Bluetooth через IP».
Книга Linux Kernel Networking очень техническая, но она описывает, как сделать «Bluetooth через IP»:
pand --connect btAddressOfTheServer
Это создает виртуальный интерфейс bnep0 .
По-видимому, это просто дает вам L2CAP, который может отправлять пакеты только через «пикосеть». Но для L2CAP есть мысли о том, как отправить их по IP в черновике IETF: Передача IP-пакетов по сетям Bluetooth .
IETF может рассмотреть возможность запуска L2CAP через IP через хост-контроллер с новым протоколом:
+------------+ | L2CAP | +------------+ | IP | +------------+ | Foo2 Proto.| +------------+ | Host Cont. | +------------+
Рисунок 4.3.3 — 3-й. Возможный стек протоколов Bluetooth для IP-сетей
А потом я также обнаружил UbiPAN: расширенную персональную сеть Bluetooth, в которой упоминается «Bluetooth через IP», но, к сожалению, похоже, что UbiPAN не был выпущен как бесплатное программное обеспечение.
BNEP используется для отправки сетевых пакетов напрямую через L2CAP в существующей пикосети, он не позволяет пользователю соединять Bluetooth через IP. Кроме того, спецификация, на которую вы ссылаетесь, устарела, а не из исходного источника (BT SIG), здесь принятая спецификация: bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=6552
Извините, мой ответ находится в стадии разработки, и вы, возможно, не будете им довольны, но в настоящее время он содержит больше полезной информации о возможном решении, чем любой другой ответ.
Wired ethernet to bluetooth
I need to interface from a PC to some Bluetooth devices that are too far away from the PC to get a good Bluetooth connection. I have WiFi and wired Ethernet throughout the house, so I suppose I need a small device that will create a Bluetooth zone near the devices, and connect to the PC either via WiFi or via wired Ethernet. What would be involved in creating such a thing from an RPi? What hardware would I need? What would the software look like? Has anyone already done this? Is there a better or cheaper way of doing it?
PhatFil Posts: 1707 Joined: Thu Apr 13, 2017 3:55 pm Location: Oxford UK
Re: Create LAN-to-Bluetooth Bridge
what do you mean by ‘interface with’ ?
Sitting a Bluetooth enabled Pi within range, adding it to your network either by lan or wifi and then using putty or vnc to remotely connect to the pi from your pc. letting you pair or connect to with a virtual serial connection depending on what services are offered is pretty much out of the box functionality.
more details of what you want to do would help .
Re: Create LAN-to-Bluetooth Bridge
The particular devices that I am currently trying to use are a Bluetooth radiator valve. I need to be able to send the valve commands to open or close the valve, and maybe to part open it (i.e. open it to e.g. 75%). The device also incorporates a temperature sensor, so I need to be able to read values from it. It also stores a temperature profile (a sequence of temperatures and start and stop times) which i need to be able to read from it and send to it. It also can report on its battery charge level, which I need to be able to read.
The headless Pi approach may work, but if there was a cheaper way that might be preferable. This seems such a simple problem that I feel sure that a simple solution exists somewhere.
Douglas6 Posts: 5200 Joined: Sat Mar 16, 2013 5:34 am Location: Chicago, USA
Re: Create LAN-to-Bluetooth Bridge
Do you know the Bluetooth commands to operate the devices? Do you have the the PC source code? It sounds like a proprietary device, so those may not be public. At any rate, I doubt you would find a simple off-the-shelf solution.
Re: Create LAN-to-Bluetooth Bridge
I am trying to get the commands from the manufacturer. I know that this may well be a proprietary protocol, and that they may not want to tell me the commands. However I may be able to deduce them by sniffing the comms between my smartphone app and the device (assuming of course that they are not encrypted). Obviously understanding the commands is a prerequisite for what I am trying to do.
Douglas6 Posts: 5200 Joined: Sat Mar 16, 2013 5:34 am Location: Chicago, USA
Re: Create LAN-to-Bluetooth Bridge
If you have the command set, (I suspect it’s BLE) it shouldn’t be too hard with some BLE and network programming knowledge. The only hardware you’d need would be a Pi 0w and power supply.
PhatFil Posts: 1707 Joined: Thu Apr 13, 2017 3:55 pm Location: Oxford UK
Re: Create LAN-to-Bluetooth Bridge
good luck getting the commands from the manufacturer..
this may help you attempt to decode the devices data and attempt a hack http://www.raspberry-pi-geek.com/Archiv . (offset)/4
If it employs ble or a more traditional virtual serial connection then its doable With the command codes
a £10 Pi-Zero-W + 5v psu is all the hardware needed
- Community
- General discussion
- Announcements
- Other languages
- Deutsch
- Español
- Français
- Italiano
- Nederlands
- 日本語
- Polski
- Português
- Русский
- Türkçe
- User groups and events
- The MagPi
- Using the Raspberry Pi
- Beginners
- Troubleshooting
- Advanced users
- Assistive technology and accessibility
- Education
- Picademy
- Teaching and learning resources
- Staffroom, classroom and projects
- Astro Pi
- Mathematica
- High Altitude Balloon
- Weather station
- Programming
- C/C++
- Java
- Python
- Scratch
- Other programming languages
- Windows 10 for IoT
- Wolfram Language
- Bare metal, Assembly language
- Graphics programming
- OpenGLES
- OpenVG
- OpenMAX
- General programming discussion
- Projects
- Networking and servers
- Automation, sensing and robotics
- Graphics, sound and multimedia
- Other projects
- Gaming
- Media centres
- AIY Projects
- Hardware and peripherals
- Camera board
- Compute Module
- Official Display
- HATs and other add-ons
- Device Tree
- Interfacing (DSI, CSI, I2C, etc.)
- Raspberry Pi 400
- Raspberry Pi Pico
- General
- SDK
- MicroPython
- Other RP2040 boards
- Operating system distributions
- Raspberry Pi OS
- Raspberry Pi Desktop for PC and Mac
- Other
- Android
- Debian
- FreeBSD
- Gentoo
- Linux Kernel
- NetBSD
- openSUSE
- Plan 9
- Puppy
- Arch
- Pidora / Fedora
- RISCOS
- Ubuntu
- Ye Olde Pi Shoppe
- For sale
- Wanted
- Off topic
- Off topic discussion
- News
- Contact us
- Trademark
- About us
- Our Approved Resellers
- Jobs
- Accessibility
- Site use terms and conditions
- Acceptable use
- Cookies
- Licensing
- Terms and conditions of sale
- Privacy
- Security
- Verify our bank details