|
|
4 years ago | |
|---|---|---|
| .github | 4 years ago | |
| cc1101 | 4 years ago | |
| examples | 4 years ago | |
| tests | 4 years ago | |
| .gitignore | 4 years ago | |
| .pylintrc | 5 years ago | |
| CHANGELOG.md | 4 years ago | |
| COPYING | 5 years ago | |
| Pipfile | 4 years ago | |
| Pipfile.lock | 4 years ago | |
| README.md | 4 years ago | |
| mypy.ini | 5 years ago | |
| setup.py | 5 years ago |
Python Library to Transmit RF Signals via CC1101 Transceivers
$ pip3 install --user --upgrade cc1101
On Raspbian / Raspberry Pi OS, dependencies can optionally be installed via:
$ sudo apt-get install --no-install-recommends python3-spidev
Connect the following pins directly:
| 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 |
If these pins are already in use, select a different SPI bus or chip select: https://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md (permalink)
No resistors required. GDO0 & GDO2 are currently unused.
Raspberry Pi GPIO docs: https://www.raspberrypi.org/documentation/usage/gpio/
See examples.
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 CC1101 is connected to a different SPI bus or chip select line
than /dev/spidev0.0,
use CC1101(spi_bus=?, spi_chip_select=?).
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.
CC1101's docs: https://www.ti.com/lit/ds/symlink/cc1101.pdf