Skip to main content

cjn's library of Raspberry Pi functions, drivers, tools, ...

Project description

cjn_PiTools - A collection of modules for Raspberry Pi projects

cjn_PiTools is comprised of several modules (follow links to respective documentation)

NOTE: These links point to the github repo since relative links to other .md files do not work on PyPI.

Module Description/Purpose
PiBlinky A multiple threaded LED driver for Raspberry Pi
PiOLED Display multi-line messages on a shared Raspberry Pi connected OLED display
DS18B20 DS18B20 temperature sensor library using the w1_therm kernel driver
initW1buses Initialize the W1 buses and set write permission on found therm_bulk_read file(s)
ADC121C ADC121C* 12-bit ADC library for Raspberry Pi
SHT3x SHT3x Temperature/RH sensor library for Raspberry Pi
HTU21D HTU21D Temperature/RH sensor library for Raspberry Pi
MCP23008 MCP23008 8-Bit I/O Expander library for Raspberry Pi
PCA9548 PCA9548A/TCA9548A I2C port expander library for Raspberry Pi
shared Classes and functions used across cjn_PiTools

These drivers work with both RPi.GPIO / smbus2 (for local control) and pigpio for (local and remote control).

Developed and tested on Raspbian GNU/Linux 11 (bullseye) and Python 3.9.2, and supported on all higher versions.

In this documentation, "tool script" refers to a Python project that imports and uses cjn_PiTools. Some may be simple scripts, and others may themselves be installed packages.


Installation and usage

If using the RPi.GPIO and/or smbus2 drivers:

pip install cjn_PiTools

If using the pigpio driver:

pip install cjn_PiTools[pigpio]
  • And you will also need to install the pigpiod daemon (sudo apt install pigpiod) and start it manually or at boot. Here's a systemd service file for starting pigpiod at boot:

      [Unit]
      Description=Daemon required to control GPIO pins via pigpio
    
      [Service]
      ExecStart=/usr/local/bin/pigpiod -l
      Type=forking
      TimeoutStopSec=20
    
      [Install]
      WantedBy=multi-user.target
    

Key changes since the prior major public release (1.1)

V1.2 - Changes PiOLED uses shared memory, changed from display_file - cjnfuncs 3.2 dependency PiOLED add toolname to pioled_display_driver pioled_shm_lock and pioled_go_flag .get_lock() calls PiOLED taillog command Debug logging of MCP23008 set_register() and set_bits() values


Revision history

  • 1.2 - Changes PiOLED uses shared memory, changed from display_file - cjnfuncs 3.2 dependency PiOLED add toolname to pioled_display_driver pioled_shm_lock and pioled_go_flag .get_lock() calls PiOLED taillog command Debug logging of MCP23008 set_register() and set_bits() values
  • 1.1.1 260401 - pyproject.toml cleanup, keywords
  • 1.1 260401 - Added ADC121C, HTU21D, MCP23008, PCA9548, and SHT3x drivers
  • 1.0 260207 - New. Bundled PiBlinky, PiOLED, initW1buses, and DS18B20 modules

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cjn_pitools-1.2.tar.gz (4.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cjn_pitools-1.2-py3-none-any.whl (4.1 MB view details)

Uploaded Python 3

File details

Details for the file cjn_pitools-1.2.tar.gz.

File metadata

  • Download URL: cjn_pitools-1.2.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for cjn_pitools-1.2.tar.gz
Algorithm Hash digest
SHA256 672c47c85168943026e18469b765ccf03ddb1343cebeb7a4aed60afde9ac28ca
MD5 7c6e72a0a008a3d3ba670c0e495d3318
BLAKE2b-256 7bf0d0cd29174bf042fc0cb454252412409d40a5b8c76274409c585b9b08079a

See more details on using hashes here.

File details

Details for the file cjn_pitools-1.2-py3-none-any.whl.

File metadata

  • Download URL: cjn_pitools-1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for cjn_pitools-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e250ab954dd3736bd44888ac27e7a4dbd01dc6a88cce50bcdcfb76e2853c510f
MD5 74d3062245177410c85f0ee990e5c717
BLAKE2b-256 ce66d6da21265742ac10d768693af8729c1117f06d290b4b9328b7ec3b84370b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page