Jelajahi Sumber

added setup.py & readme

Fabian Peter Hammerle 4 tahun lalu
induk
melakukan
883c81a2be
2 mengubah file dengan 101 tambahan dan 0 penghapusan
  1. 53 0
      README.md
  2. 48 0
      setup.py

+ 53 - 0
README.md

@@ -0,0 +1,53 @@
+# python-cc1101
+
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+[![Last Release](https://img.shields.io/pypi/v/cc1101.svg)](https://pypi.org/project/cc1101/#history)
+[![Compatible Python Versions](https://img.shields.io/pypi/pyversions/cc1101.svg)](https://pypi.org/project/cc1101/)
+
+Python Library for [CC1101 Transceivers](https://www.ti.com/product/CC1101)
+
+## Setup
+
+```sh
+$ pip3 install --user --upgrade cc1101
+```
+
+On Raspbian / Raspberry Pi OS, dependencies can optionally be installed via:
+```sh
+$ sudo apt-get install --no-install-recommends python3-spidev
+```
+
+### Wiring Raspberry Pi
+
+Directly connect the following pins:
+
+|C1101|Raspberry Pi        |
+|-----|--------------------|
+|VDD  | 3.3V (Pin 1 or 17) |
+|SI   | MOSI (Pin 19)      |
+|SO   | MISO (Pin 21)      |
+|CSn  | CE0 (Pin 24)       |
+|SCLK | SCLK (Pin 23)      | 
+|GND  | Ground             |
+
+No resistors required. GDO0 & GDO2 are currently unused.
+
+Raspberry Pi GPIO docs: https://www.raspberrypi.org/documentation/usage/gpio/
+
+## Usage
+
+See [examples](https://github.com/fphammerle/python-cc1101/blob/master/examples/).
+
+```python
+import cc1101
+
+with cc1101.CC1101() as transceiver:
+    transceiver.set_base_frequency_hertz(433.92e6)
+    print(transceiver)
+    transceiver.transmit(b"\x01\xff\x00 message")
+```
+
+In case a `PermissionError` gets raised,
+check the permissions of `/dev/spidev*`.
+You'll probably need `sudo usermod -a -G spi $USER`,
+followed by a re-login.

+ 48 - 0
setup.py

@@ -0,0 +1,48 @@
+import pathlib
+
+import setuptools
+
+_REPO_URL = "https://github.com/fphammerle/python-cc1101"
+
+setuptools.setup(
+    name="cc1101",
+    use_scm_version=True,
+    packages=setuptools.find_packages(),
+    description="Python Library for CC1101 Transceivers",
+    long_description=pathlib.Path(__file__).parent.joinpath("README.md").read_text(),
+    long_description_content_type="text/markdown",
+    author="Fabian Peter Hammerle",
+    author_email="fabian+python-cc1101@hammerle.me",
+    url=_REPO_URL,
+    project_urls={"Changelog": _REPO_URL + "/blob/master/CHANGELOG.md"},
+    license="GPLv3+",
+    keywords=[
+        "ISM",
+        "SPI",
+        "automation",
+        "radio-frequency",
+        "raspberry-pi",
+        "transceiver",
+        "transmission",
+        "wireless",
+    ],
+    classifiers=[
+        # https://pypi.org/classifiers/
+        "Development Status :: 2 - Pre-Alpha",
+        "Intended Audience :: Developers",
+        "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
+        "Operating System :: POSIX :: Linux",
+        # TODO .github/workflows/python.yml
+        # "Programming Language :: Python :: 3.5",
+        # "Programming Language :: Python :: 3.6",
+        # "Programming Language :: Python :: 3.7",
+        # "Programming Language :: Python :: 3.8",
+        "Topic :: Home Automation",
+        "Topic :: Communications",
+    ],
+    # apt install python3-spidev
+    # https://github.com/doceme/py-spidev
+    install_requires=["spidev"],
+    setup_requires=["setuptools_scm"],
+    tests_require=["pytest"],
+)