MikrofonSensor und TemperaturSenor die zwei Python programme funktionieren. mit den jeweiligen 2 json Datein. Beim TemperaturSensor wird im Terminal keine Wertre ausgegeben aber in der json Datei kann man die Temp und Hum sehen.
This commit is contained in:
parent
4c654ec969
commit
1751076592
2614 changed files with 349009 additions and 0 deletions
274
lib/python3.11/site-packages/pyftdi/doc/installation.rst
Normal file
274
lib/python3.11/site-packages/pyftdi/doc/installation.rst
Normal file
|
@ -0,0 +1,274 @@
|
|||
.. include:: defs.rst
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
Prerequisites
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
PyFTDI_ relies on PyUSB_, which requires a native dependency: libusb 1.x.
|
||||
|
||||
The actual command to install depends on your OS and/or your distribution,
|
||||
see below
|
||||
|
||||
.. _install_linux:
|
||||
|
||||
Debian/Ubuntu Linux
|
||||
```````````````````
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
apt-get install libusb-1.0
|
||||
|
||||
On Linux, you also need to create a `udev` configuration file to allow
|
||||
user-space processes to access to the FTDI devices. There are many ways to
|
||||
configure `udev`, here is a typical setup:
|
||||
|
||||
::
|
||||
|
||||
# /etc/udev/rules.d/11-ftdi.rules
|
||||
|
||||
# FT232AM/FT232BM/FT232R
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", GROUP="plugdev", MODE="0664"
|
||||
# FT2232C/FT2232D/FT2232H
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", GROUP="plugdev", MODE="0664"
|
||||
# FT4232/FT4232H
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6011", GROUP="plugdev", MODE="0664"
|
||||
# FT232H
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6014", GROUP="plugdev", MODE="0664"
|
||||
# FT230X/FT231X/FT234X
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6015", GROUP="plugdev", MODE="0664"
|
||||
# FT4232HA
|
||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6048", GROUP="plugdev", MODE="0664"
|
||||
|
||||
.. note:: **Accessing FTDI devices with custom VID/PID**
|
||||
|
||||
You need to add a line for each device with a custom VID / PID pair you
|
||||
declare, see :ref:`custom_vid_pid` for details.
|
||||
|
||||
You need to unplug / plug back the FTDI device once this file has been
|
||||
created so that `udev` loads the rules for the matching device, or
|
||||
alternatively, inform the ``udev`` daemon about the changes:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger
|
||||
|
||||
With this setup, be sure to add users that want to run PyFtdi_ to the
|
||||
`plugdev` group, *e.g.*
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
sudo adduser $USER plugdev
|
||||
|
||||
Remember that you need to log out / log in to get the above command
|
||||
effective, or start a subshell to try testing PyFtdi_:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
newgrp plugdev
|
||||
|
||||
|
||||
.. _install_macos:
|
||||
|
||||
Homebrew macOS
|
||||
``````````````
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
brew install libusb
|
||||
|
||||
|
||||
.. _install_windows:
|
||||
|
||||
Windows
|
||||
```````
|
||||
|
||||
Windows is not officially supported (*i.e.* not tested) but some users have
|
||||
reported successful installations. Windows requires a specific libusb backend
|
||||
installation.
|
||||
|
||||
Zadig
|
||||
.....
|
||||
|
||||
The probably easiest way to deal with libusb on Windows is to use Zadig_
|
||||
|
||||
1. Start up the Zadig utility
|
||||
|
||||
2. Select ``Options/List All Devices``, then select the FTDI devices you want
|
||||
to communicate with. Its names depends on your hardware, *i.e.* the name
|
||||
stored in the FTDI EEPROM.
|
||||
|
||||
* With FTDI devices with multiple channels, such as FT2232 (2 channels) and
|
||||
FT4232 (4 channels), you **must** install the driver for the composite
|
||||
parent, **not** for the individual interfaces. If you install the driver
|
||||
for each interface, each interface will be presented as a unique FTDI
|
||||
device and you may have difficulties to select a specific FTDI device port
|
||||
once the installation is completed. To make the composite parents to appear
|
||||
in the device list, uncheck the ``Options/Ignore Hubs or Composite Parents``
|
||||
menu item.
|
||||
|
||||
* Be sure to select the parent device, *i.e.* the device name should not end
|
||||
with *(Interface N)*, where *N* is the channel number.
|
||||
|
||||
* for example *Dual RS232-HS* represents the composite parent, while
|
||||
*Dual RS232-HS (Interface 0)* represents a single channel of the FTDI
|
||||
device. Always select the former.
|
||||
|
||||
3. Select ``libusb-win32`` (not ``WinUSB``) in the driver list.
|
||||
|
||||
4. Click on ``Replace Driver``
|
||||
|
||||
See also `Libusb on Windows`_
|
||||
|
||||
|
||||
.. _install_python:
|
||||
|
||||
Python
|
||||
~~~~~~
|
||||
|
||||
Python dependencies
|
||||
```````````````````
|
||||
|
||||
Dependencies should be automatically installed with PIP.
|
||||
|
||||
* pyusb >= 1.0.0, != 1.2.0
|
||||
* pyserial >= 3.0
|
||||
|
||||
Do *not* install PyUSB_ from GitHub development branch (``master``, ...).
|
||||
Always prefer a stable, tagged release.
|
||||
|
||||
PyUSB 1.2.0 also broke the backward compatibility of the Device API, so it will
|
||||
not work with PyFtdi.
|
||||
|
||||
Installing with PIP
|
||||
```````````````````
|
||||
|
||||
PIP should automatically install the missing dependencies.
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
pip3 install pyftdi
|
||||
|
||||
|
||||
.. _install_from_source:
|
||||
|
||||
Installing from source
|
||||
``````````````````````
|
||||
|
||||
If you prefer to install from source, check out a fresh copy from PyFtdi_
|
||||
github repository.
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
git clone https://github.com/eblot/pyftdi.git
|
||||
cd pyftdi
|
||||
# note: 'pip3' may simply be 'pip' on some hosts
|
||||
pip3 install -r requirements.txt
|
||||
python3 setup.py install
|
||||
|
||||
|
||||
.. _generate_doc:
|
||||
|
||||
Generating the documentation
|
||||
````````````````````````````
|
||||
|
||||
Follow :ref:`install_from_source` then:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
pip3 install setuptools wheel sphinx sphinx_autodoc_typehints
|
||||
# Shpinx Read the Doc theme seems to never get a release w/ fixed issues
|
||||
pip3 install -U -e git+https://github.com/readthedocs/sphinx_rtd_theme.git@2b8717a3647cc650625c566259e00305f7fb60aa#egg=sphinx_rtd_theme
|
||||
sphinx-build -b html pyftdi/doc .
|
||||
|
||||
The documentation may be accessed from the generated ``index.html`` entry file.
|
||||
|
||||
|
||||
Post-installation sanity check
|
||||
``````````````````````````````
|
||||
|
||||
Open a *shell*, or a *CMD* on Windows
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
python3 # or 'python' on Windows
|
||||
from pyftdi.ftdi import Ftdi
|
||||
Ftdi.show_devices()
|
||||
|
||||
should list all the FTDI devices available on your host.
|
||||
|
||||
Alternatively, you can invoke ``ftdi_urls.py`` script that lists all detected
|
||||
FTDI devices. See the :doc:`tools` chapter for details.
|
||||
|
||||
* Example with 1 FT232H device with a serial number and 1 FT2232 device
|
||||
with no serial number, connected to the host:
|
||||
|
||||
.. code-block::
|
||||
|
||||
Available interfaces:
|
||||
ftdi://ftdi:232h:FT1PWZ0Q/1 (C232HD-DDHSP-0)
|
||||
ftdi://ftdi:2232/1 (Dual RS232-HS)
|
||||
ftdi://ftdi:2232/2 (Dual RS232-HS)
|
||||
|
||||
|
||||
Note that FTDI devices with custom VID/PID are not listed with this simple
|
||||
command, please refer to the PyFtdi_ API to add custom identifiers, *i.e.* see
|
||||
:py:meth:`pyftdi.ftdi.Ftdi.add_custom_vendor` and
|
||||
:py:meth:`pyftdi.ftdi.Ftdi.add_custom_product` APIs.
|
||||
|
||||
|
||||
.. _custom_vid_pid:
|
||||
|
||||
Custom USB vendor and product IDs
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
PyFtdi only recognizes FTDI official vendor and product IDs.
|
||||
|
||||
If you have an FTDI device with an EEPROM with customized IDs, you need to tell
|
||||
PyFtdi to support those custom USB identifiers.
|
||||
|
||||
Custom PID
|
||||
``````````
|
||||
|
||||
To support a custom product ID (16-bit integer) with the official FTDI ID, add
|
||||
the following code **before** any call to an FTDI ``open()`` method.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from pyftdi.ftdi import Ftdi
|
||||
|
||||
Ftdi.add_custom_product(Ftdi.DEFAULT_VENDOR, product_id)
|
||||
|
||||
Custom VID
|
||||
``````````
|
||||
|
||||
To support a custom vendor ID and product ID (16-bit integers), add the
|
||||
following code **before** any call to an FTDI ``open()`` method.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from pyftdi.ftdi import Ftdi
|
||||
|
||||
Ftdi.add_custom_vendor(vendor_id)
|
||||
Ftdi.add_custom_product(vendor_id, product_id)
|
||||
|
||||
You may also specify an arbitrary string to each method if you want to specify
|
||||
a URL by custom vendor and product names instead of their numerical values:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from pyftdi.ftdi import Ftdi
|
||||
|
||||
Ftdi.add_custom_vendor(0x1234, 'myvendor')
|
||||
Ftdi.add_custom_product(0x1234, 0x5678, 'myproduct')
|
||||
|
||||
f1 = Ftdi.create_from_url('ftdi://0x1234:0x5678/1')
|
||||
f2 = Ftdi.create_from_url('ftdi://myvendor:myproduct/2')
|
||||
|
||||
.. note::
|
||||
|
||||
Remember that on OSes that require per-device access permissions such as
|
||||
Linux, you also need to add the custom VID/PID entry to the configuration
|
||||
file, see :ref:`Linux installation <install_linux>` ``udev`` rule file.
|
Loading…
Add table
Add a link
Reference in a new issue