Python Library to Transmit RF Signals via C1101 Transceivers
Project description
python-cc1101
Python Library to Transmit RF Signals via CC1101 Transceivers
Setup
$ 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
Wiring Raspberry Pi
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/
Usage
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cc1101-2.3.0rc0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3b88311a25361bcf6ab5dff13d56f950162250ebe1e06bdbb1224597a59c263 |
|
MD5 | 3779ddfa5e44043e853ddc207f4f474c |
|
BLAKE2b-256 | d26ca1d5457412b39218edf8ad047aa53a39e83ca03fba0bf0f237e78b2ec07c |