mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-15 00:34:05 +09:00
README updates
This commit is contained in:
56
README.html
56
README.html
@@ -1546,17 +1546,17 @@ this to see even more of the GStreamer inner workings.</p>
|
|||||||
<h1 id="bluetooth-le-beacon-setup">Bluetooth LE beacon setup</h1>
|
<h1 id="bluetooth-le-beacon-setup">Bluetooth LE beacon setup</h1>
|
||||||
<p>The python>=3.6 script for running a Bluetooth LE Service
|
<p>The python>=3.6 script for running a Bluetooth LE Service
|
||||||
Discovery beacon is uxplay-beacon.py. It provides three possible
|
Discovery beacon is uxplay-beacon.py. It provides three possible
|
||||||
Bluetooth LE implementations: one for Linux systems with D-Bus, one for
|
Bluetooth LE implementations (loaded as modules): one for Linux systems
|
||||||
Windows, and one for the <a href="https://www.bleuio.com">BleuIO (or
|
with D-Bus, one for Windows, and one for the <a
|
||||||
BleuIO Pro) USB dongle</a> with its own on-board Bluetooth-LE Stack that
|
href="https://www.bleuio.com">BleuIO (or BleuIO Pro) USB dongle</a> with
|
||||||
does not use the host operating system Bluetooth (the Host sees the
|
its own on-board Bluetooth-LE Stack that does not use the host operating
|
||||||
device as a USB serial modem). This is needed for macOS where the
|
system Bluetooth (the Host sees the device as a USB serial modem). This
|
||||||
operating system does not allow users to send Bluetooth-LE
|
is needed for macOS where the operating system does not allow users to
|
||||||
advertisements of the type we require. If a BleuIO dongle is available,
|
send Bluetooth-LE advertisements of the type we require. If a BleuIO
|
||||||
the bleuio version of the python script can be used on many operating
|
dongle is available, the bleuio version of the python script can be used
|
||||||
systems including macOS, Windows and Linux, and perhaps *BSD (not
|
on many operating systems including macOS, Windows and Linux, and
|
||||||
tested): it requires python library <code>python3-pyserial</code> to be
|
perhaps *BSD (not tested): it requires python library
|
||||||
installed.</p>
|
<code>python3-pyserial</code> to be installed.</p>
|
||||||
<p>On Linux, Bluetooth support (using the offical Linux Bluetooth stack
|
<p>On Linux, Bluetooth support (using the offical Linux Bluetooth stack
|
||||||
BlueZ) must be installed (on Debian-based systems:
|
BlueZ) must be installed (on Debian-based systems:
|
||||||
<code>sudo apt install bluez bluez-tools</code>; recent Ubuntu releases
|
<code>sudo apt install bluez bluez-tools</code>; recent Ubuntu releases
|
||||||
@@ -1598,7 +1598,8 @@ Configuration file entries are like the command line forms, one per line
|
|||||||
(e.g., <code>--ipv4 192.168.1.100</code>). Lines commented out with an
|
(e.g., <code>--ipv4 192.168.1.100</code>). Lines commented out with an
|
||||||
initial <code>#</code> are ignored. Command line options override the
|
initial <code>#</code> are ignored. Command line options override the
|
||||||
configuration file options. Get help with <code>man uxplay-beacon</code>
|
configuration file options. Get help with <code>man uxplay-beacon</code>
|
||||||
or <code>uxplay-beacon.py --help</code>. Options are</p>
|
or <code>uxplay-beacon.py --help</code>.</p>
|
||||||
|
<p>Options are</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><code>--file <config file></code> read beacon options from
|
<li><p><code>--file <config file></code> read beacon options from
|
||||||
<code><config file></code> instead of
|
<code><config file></code> instead of
|
||||||
@@ -1616,13 +1617,13 @@ with option “<code>uxplay -ble <BLE data file></code>”.</p></li>
|
|||||||
<p>The BlueZ/Dbus version has three more options not offered by the
|
<p>The BlueZ/Dbus version has three more options not offered by the
|
||||||
Windows version (the Windows operating system chooses their values):</p>
|
Windows version (the Windows operating system chooses their values):</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><code>--AdvMin x</code>, <code>--AdvMax y</code>. These controls
|
<li><p><code>--advmin x</code>, <code>--advmax y</code>. These controls
|
||||||
the interval between BLE advertisement broadcasts. This interval is in
|
the interval between BLE advertisement broadcasts. This interval is in
|
||||||
the range [x, y], given in units of msecs. Allowed ranges are 100 <=
|
the range [x, y], given in units of msecs. Allowed ranges are 100 <=
|
||||||
x <= y <= 10240. If AdvMin=AdvMax, the interval is fixed: if
|
x <= y <= 10240. If advmin=advmax, the interval is fixed: if
|
||||||
AdvMin < AdvMax it is chosen flexibly in this range to avoid
|
advmin < advmax it is chosen flexibly in this range to avoid
|
||||||
interfering with other tasks the Bluetooth device is carrying out. The
|
interfering with other tasks the Bluetooth device is carrying out. The
|
||||||
default values are AdvMin = AdvMax = 100. The advertisement is broadcast
|
default values are advmin = advmax = 100. The advertisement is broadcast
|
||||||
on all three Bluetooth LE advertising channels: 37,38,39.</p></li>
|
on all three Bluetooth LE advertising channels: 37,38,39.</p></li>
|
||||||
<li><p><code>--index x</code> (default x = 0, x >= 0). This can be
|
<li><p><code>--index x</code> (default x = 0, x >= 0). This can be
|
||||||
used by the DBus to distinguish between multiple simultaneous instances
|
used by the DBus to distinguish between multiple simultaneous instances
|
||||||
@@ -1633,13 +1634,13 @@ instance of UxPlay must also have its own MAC address and ports).
|
|||||||
not been tested, and this option might not be useful or
|
not been tested, and this option might not be useful or
|
||||||
needed.</em></p></li>
|
needed.</em></p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>While the native macOS BlueTooth-LE does not allow users to send
|
<p>While the native macOS and *BSD Bluetooth stacks do not allow
|
||||||
“manufacturer-specific” advertisements like the uxplay service discovery
|
unpriviledged users to send “manufacturer-specific” advertisements like
|
||||||
announcement, this can be achieved using the BleuIO dongle, which is a
|
the uxplay service discovery announcement, this can be achieved using
|
||||||
usb-serial device with its own full Bluetooth LE implementation (the
|
the BleuIO USB device: the BleuIO module for uxplay-beacon.py is
|
||||||
BleuIO module for uxplay-beacon.py is installed with UxPlay in all
|
installed with UxPlay in all operating systems, including macos and
|
||||||
operating systems, including macos and *BSD, while the BlueZ and winrt
|
*BSD, while the BlueZ and winrt modules are only installed on Linux and
|
||||||
modules are only installed on Linux and Windows, respectively).</p>
|
Windows, respectively.</p>
|
||||||
<p>If you wish to test Bluetooth LE Service Discovery on Linux/*BSD, you
|
<p>If you wish to test Bluetooth LE Service Discovery on Linux/*BSD, you
|
||||||
can disable DNS_SD Service discovery by the avahi-daemon with</p>
|
can disable DNS_SD Service discovery by the avahi-daemon with</p>
|
||||||
<pre><code>$ sudo systemctl mask avahi-daemon.socket
|
<pre><code>$ sudo systemctl mask avahi-daemon.socket
|
||||||
@@ -1653,7 +1654,14 @@ in the alphabetic list. This will show links for it to be stopped and
|
|||||||
restarted.</p>
|
restarted.</p>
|
||||||
<p>For more information, see the <a
|
<p>For more information, see the <a
|
||||||
href="https://github.com/FDH2/UxPlay/wiki/Bluetooth_LE_beacon">wiki
|
href="https://github.com/FDH2/UxPlay/wiki/Bluetooth_LE_beacon">wiki
|
||||||
page</a></p>
|
page</a>. This page also explains how to setup a BLE beacon for UxPlay
|
||||||
|
on Linux by direct accesss to the Bluetooth stack using
|
||||||
|
<code>hcitool</code> to send low-level HCI commands, with root
|
||||||
|
privileges. This can also be done on FreeBSD using
|
||||||
|
<code>hccontrol</code>, and on macOS using <code>bluetool</code>.
|
||||||
|
<strong>The recommended way to set up Bluetooth LE Service Discovery on
|
||||||
|
macOS or *BSD is to acquire a BleuIO USB device, which is supported by
|
||||||
|
uxplay-beacon.py without root privileges</strong>.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Note that Bluetooth LE AirPlay Service Discovery only
|
<li><strong>Note that Bluetooth LE AirPlay Service Discovery only
|
||||||
supports broadcast of IPv4 addresses</strong>.</li>
|
supports broadcast of IPv4 addresses</strong>.</li>
|
||||||
|
|||||||
28
README.md
28
README.md
@@ -1559,7 +1559,7 @@ GStreamer inner workings.
|
|||||||
# Bluetooth LE beacon setup
|
# Bluetooth LE beacon setup
|
||||||
|
|
||||||
The python>=3.6 script for running a Bluetooth LE Service Discovery beacon is uxplay-beacon.py.
|
The python>=3.6 script for running a Bluetooth LE Service Discovery beacon is uxplay-beacon.py.
|
||||||
It provides three possible Bluetooth LE implementations: one for Linux systems with D-Bus,
|
It provides three possible Bluetooth LE implementations (loaded as modules): one for Linux systems with D-Bus,
|
||||||
one for Windows, and one for
|
one for Windows, and one for
|
||||||
the [BleuIO (or BleuIO Pro) USB
|
the [BleuIO (or BleuIO Pro) USB
|
||||||
dongle](https://www.bleuio.com) with its own on-board Bluetooth-LE Stack that
|
dongle](https://www.bleuio.com) with its own on-board Bluetooth-LE Stack that
|
||||||
@@ -1609,7 +1609,10 @@ terminal window (or its terminal window is closed).
|
|||||||
The beacon script can be more finely controlled using certain options: these can be given on the command line, or read from
|
The beacon script can be more finely controlled using certain options: these can be given on the command line, or read from
|
||||||
a configuration file `~/.uxplay.beacon`, if it exists. Configuration file entries are like the command line forms, one per line (e.g.,
|
a configuration file `~/.uxplay.beacon`, if it exists. Configuration file entries are like the command line forms, one per line (e.g.,
|
||||||
`--ipv4 192.168.1.100`). Lines commented out with an initial ``#`` are ignored. Command line options override the configuration file
|
`--ipv4 192.168.1.100`). Lines commented out with an initial ``#`` are ignored. Command line options override the configuration file
|
||||||
options. Get help with `man uxplay-beacon` or ``uxplay-beacon.py --help``. Options are
|
options. Get help with `man uxplay-beacon` or ``uxplay-beacon.py --help``.
|
||||||
|
|
||||||
|
|
||||||
|
Options are
|
||||||
|
|
||||||
* `--file <config file>` read beacon options from ``<config file>`` instead of
|
* `--file <config file>` read beacon options from ``<config file>`` instead of
|
||||||
`~/.uxplay.beacon`.
|
`~/.uxplay.beacon`.
|
||||||
@@ -1622,20 +1625,20 @@ that uxplay is run with option "`uxplay -ble <BLE data file>`".
|
|||||||
|
|
||||||
The BlueZ/Dbus version has three more options not offered by the Windows version (the Windows operating system chooses their values):
|
The BlueZ/Dbus version has three more options not offered by the Windows version (the Windows operating system chooses their values):
|
||||||
|
|
||||||
* `--AdvMin x`, ``--AdvMax y``. These controls the interval between BLE advertisement broadcasts. This interval is in the range
|
* `--advmin x`, ``--advmax y``. These controls the interval between BLE advertisement broadcasts. This interval is in the range
|
||||||
[x, y], given in units of msecs. Allowed ranges are 100 <= x <= y <= 10240. If AdvMin=AdvMax, the interval is fixed: if AdvMin < AdvMax
|
[x, y], given in units of msecs. Allowed ranges are 100 <= x <= y <= 10240. If advmin=advmax, the interval is fixed: if advmin < advmax
|
||||||
it is chosen flexibly in this range to avoid interfering with other tasks the Bluetooth device is carrying out. The default values are
|
it is chosen flexibly in this range to avoid interfering with other tasks the Bluetooth device is carrying out. The default values are
|
||||||
AdvMin = AdvMax = 100. The advertisement is broadcast on all three Bluetooth LE advertising channels: 37,38,39.
|
advmin = advmax = 100. The advertisement is broadcast on all three Bluetooth LE advertising channels: 37,38,39.
|
||||||
|
|
||||||
* `--index x` (default x = 0, x >= 0). This can be used by the DBus to distinguish between multiple simultaneous instances of uxplay-beacon.py that
|
* `--index x` (default x = 0, x >= 0). This can be used by the DBus to distinguish between multiple simultaneous instances of uxplay-beacon.py that
|
||||||
are running to support multiple instances of UxPlay. Each instance must have its own BLE Data
|
are running to support multiple instances of UxPlay. Each instance must have its own BLE Data
|
||||||
file (just as each instance of UxPlay must also have its own MAC address and ports). _Note: running multiple beacons simultaneously
|
file (just as each instance of UxPlay must also have its own MAC address and ports). _Note: running multiple beacons simultaneously
|
||||||
on the same host has not been tested, and this option might not be useful or needed._
|
on the same host has not been tested, and this option might not be useful or needed._
|
||||||
|
|
||||||
While the native macOS BlueTooth-LE does not allow users to send "manufacturer-specific" advertisements like the uxplay service discovery
|
While the native macOS and \*BSD Bluetooth stacks
|
||||||
announcement, this can be achieved using the BleuIO dongle, which
|
do not allow unpriviledged users to send "manufacturer-specific" advertisements like the uxplay service discovery
|
||||||
is a usb-serial device with its own full Bluetooth LE implementation (the BleuIO module for uxplay-beacon.py is installed with UxPlay
|
announcement, this can be achieved using the BleuIO USB device: the BleuIO module for uxplay-beacon.py is installed with UxPlay
|
||||||
in all operating systems, including macos and *BSD, while the BlueZ and winrt modules are only installed on Linux and Windows, respectively).
|
in all operating systems, including macos and *BSD, while the BlueZ and winrt modules are only installed on Linux and Windows, respectively.
|
||||||
|
|
||||||
If you wish to test Bluetooth LE Service Discovery on Linux/*BSD, you can disable DNS_SD Service discovery by the avahi-daemon with
|
If you wish to test Bluetooth LE Service Discovery on Linux/*BSD, you can disable DNS_SD Service discovery by the avahi-daemon with
|
||||||
|
|
||||||
@@ -1650,7 +1653,12 @@ On Windows, the Bonjour Service is controlled using **Services Management**: pr
|
|||||||
run `services.msc`, and click on **Bonjour Service** in the alphabetic list. This
|
run `services.msc`, and click on **Bonjour Service** in the alphabetic list. This
|
||||||
will show links for it to be stopped and restarted.
|
will show links for it to be stopped and restarted.
|
||||||
|
|
||||||
For more information, see the [wiki page](https://github.com/FDH2/UxPlay/wiki/Bluetooth_LE_beacon)
|
For more information, see the [wiki page](https://github.com/FDH2/UxPlay/wiki/Bluetooth_LE_beacon). This page also explains how to setup a BLE
|
||||||
|
beacon for UxPlay on Linux by direct accesss to the Bluetooth stack using `hcitool` to send low-level HCI commands, with root privileges.
|
||||||
|
This can also be done on FreeBSD using `hccontrol`, and on macOS using ``bluetool``. **The recommended way to set up Bluetooth LE
|
||||||
|
Service Discovery on macOS or \*BSD is to acquire a BleuIO USB device, which is supported by uxplay-beacon.py without
|
||||||
|
root privileges**.
|
||||||
|
|
||||||
|
|
||||||
* **Note that Bluetooth LE AirPlay Service Discovery only supports
|
* **Note that Bluetooth LE AirPlay Service Discovery only supports
|
||||||
broadcast of IPv4 addresses**.
|
broadcast of IPv4 addresses**.
|
||||||
|
|||||||
56
README.txt
56
README.txt
@@ -1593,16 +1593,16 @@ this to see even more of the GStreamer inner workings.
|
|||||||
|
|
||||||
The python\>=3.6 script for running a Bluetooth LE Service Discovery
|
The python\>=3.6 script for running a Bluetooth LE Service Discovery
|
||||||
beacon is uxplay-beacon.py. It provides three possible Bluetooth LE
|
beacon is uxplay-beacon.py. It provides three possible Bluetooth LE
|
||||||
implementations: one for Linux systems with D-Bus, one for Windows, and
|
implementations (loaded as modules): one for Linux systems with D-Bus,
|
||||||
one for the [BleuIO (or BleuIO Pro) USB dongle](https://www.bleuio.com)
|
one for Windows, and one for the [BleuIO (or BleuIO Pro) USB
|
||||||
with its own on-board Bluetooth-LE Stack that does not use the host
|
dongle](https://www.bleuio.com) with its own on-board Bluetooth-LE Stack
|
||||||
operating system Bluetooth (the Host sees the device as a USB serial
|
that does not use the host operating system Bluetooth (the Host sees the
|
||||||
modem). This is needed for macOS where the operating system does not
|
device as a USB serial modem). This is needed for macOS where the
|
||||||
allow users to send Bluetooth-LE advertisements of the type we require.
|
operating system does not allow users to send Bluetooth-LE
|
||||||
If a BleuIO dongle is available, the bleuio version of the python script
|
advertisements of the type we require. If a BleuIO dongle is available,
|
||||||
can be used on many operating systems including macOS, Windows and
|
the bleuio version of the python script can be used on many operating
|
||||||
Linux, and perhaps \*BSD (not tested): it requires python library
|
systems including macOS, Windows and Linux, and perhaps \*BSD (not
|
||||||
`python3-pyserial` to be installed.
|
tested): it requires python library `python3-pyserial` to be installed.
|
||||||
|
|
||||||
On Linux, Bluetooth support (using the offical Linux Bluetooth stack
|
On Linux, Bluetooth support (using the offical Linux Bluetooth stack
|
||||||
BlueZ) must be installed (on Debian-based systems:
|
BlueZ) must be installed (on Debian-based systems:
|
||||||
@@ -1652,8 +1652,9 @@ file `~/.uxplay.beacon`, if it exists. Configuration file entries are
|
|||||||
like the command line forms, one per line (e.g.,
|
like the command line forms, one per line (e.g.,
|
||||||
`--ipv4 192.168.1.100`). Lines commented out with an initial `#` are
|
`--ipv4 192.168.1.100`). Lines commented out with an initial `#` are
|
||||||
ignored. Command line options override the configuration file options.
|
ignored. Command line options override the configuration file options.
|
||||||
Get help with `man uxplay-beacon` or `uxplay-beacon.py --help`. Options
|
Get help with `man uxplay-beacon` or `uxplay-beacon.py --help`.
|
||||||
are
|
|
||||||
|
Options are
|
||||||
|
|
||||||
- `--file <config file>` read beacon options from `<config file>`
|
- `--file <config file>` read beacon options from `<config file>`
|
||||||
instead of `~/.uxplay.beacon`.
|
instead of `~/.uxplay.beacon`.
|
||||||
@@ -1672,13 +1673,13 @@ are
|
|||||||
The BlueZ/Dbus version has three more options not offered by the Windows
|
The BlueZ/Dbus version has three more options not offered by the Windows
|
||||||
version (the Windows operating system chooses their values):
|
version (the Windows operating system chooses their values):
|
||||||
|
|
||||||
- `--AdvMin x`, `--AdvMax y`. These controls the interval between BLE
|
- `--advmin x`, `--advmax y`. These controls the interval between BLE
|
||||||
advertisement broadcasts. This interval is in the range \[x, y\],
|
advertisement broadcasts. This interval is in the range \[x, y\],
|
||||||
given in units of msecs. Allowed ranges are 100 \<= x \<= y
|
given in units of msecs. Allowed ranges are 100 \<= x \<= y
|
||||||
\<= 10240. If AdvMin=AdvMax, the interval is fixed: if AdvMin \<
|
\<= 10240. If advmin=advmax, the interval is fixed: if advmin \<
|
||||||
AdvMax it is chosen flexibly in this range to avoid interfering with
|
advmax it is chosen flexibly in this range to avoid interfering with
|
||||||
other tasks the Bluetooth device is carrying out. The default values
|
other tasks the Bluetooth device is carrying out. The default values
|
||||||
are AdvMin = AdvMax = 100. The advertisement is broadcast on all
|
are advmin = advmax = 100. The advertisement is broadcast on all
|
||||||
three Bluetooth LE advertising channels: 37,38,39.
|
three Bluetooth LE advertising channels: 37,38,39.
|
||||||
|
|
||||||
- `--index x` (default x = 0, x \>= 0). This can be used by the DBus
|
- `--index x` (default x = 0, x \>= 0). This can be used by the DBus
|
||||||
@@ -1689,13 +1690,13 @@ version (the Windows operating system chooses their values):
|
|||||||
*Note: running multiple beacons simultaneously on the same host has
|
*Note: running multiple beacons simultaneously on the same host has
|
||||||
not been tested, and this option might not be useful or needed.*
|
not been tested, and this option might not be useful or needed.*
|
||||||
|
|
||||||
While the native macOS BlueTooth-LE does not allow users to send
|
While the native macOS and \*BSD Bluetooth stacks do not allow
|
||||||
"manufacturer-specific" advertisements like the uxplay service discovery
|
unpriviledged users to send "manufacturer-specific" advertisements like
|
||||||
announcement, this can be achieved using the BleuIO dongle, which is a
|
the uxplay service discovery announcement, this can be achieved using
|
||||||
usb-serial device with its own full Bluetooth LE implementation (the
|
the BleuIO USB device: the BleuIO module for uxplay-beacon.py is
|
||||||
BleuIO module for uxplay-beacon.py is installed with UxPlay in all
|
installed with UxPlay in all operating systems, including macos and
|
||||||
operating systems, including macos and \*BSD, while the BlueZ and winrt
|
\*BSD, while the BlueZ and winrt modules are only installed on Linux and
|
||||||
modules are only installed on Linux and Windows, respectively).
|
Windows, respectively.
|
||||||
|
|
||||||
If you wish to test Bluetooth LE Service Discovery on Linux/\*BSD, you
|
If you wish to test Bluetooth LE Service Discovery on Linux/\*BSD, you
|
||||||
can disable DNS_SD Service discovery by the avahi-daemon with
|
can disable DNS_SD Service discovery by the avahi-daemon with
|
||||||
@@ -1712,7 +1713,14 @@ Management**: press "Windows + R" to open the Run dialog, run
|
|||||||
This will show links for it to be stopped and restarted.
|
This will show links for it to be stopped and restarted.
|
||||||
|
|
||||||
For more information, see the [wiki
|
For more information, see the [wiki
|
||||||
page](https://github.com/FDH2/UxPlay/wiki/Bluetooth_LE_beacon)
|
page](https://github.com/FDH2/UxPlay/wiki/Bluetooth_LE_beacon). This
|
||||||
|
page also explains how to setup a BLE beacon for UxPlay on Linux by
|
||||||
|
direct accesss to the Bluetooth stack using `hcitool` to send low-level
|
||||||
|
HCI commands, with root privileges. This can also be done on FreeBSD
|
||||||
|
using `hccontrol`, and on macOS using `bluetool`. **The recommended way
|
||||||
|
to set up Bluetooth LE Service Discovery on macOS or \*BSD is to acquire
|
||||||
|
a BleuIO USB device, which is supported by uxplay-beacon.py without root
|
||||||
|
privileges**.
|
||||||
|
|
||||||
- **Note that Bluetooth LE AirPlay Service Discovery only supports
|
- **Note that Bluetooth LE AirPlay Service Discovery only supports
|
||||||
broadcast of IPv4 addresses**.
|
broadcast of IPv4 addresses**.
|
||||||
|
|||||||
Reference in New Issue
Block a user