This library provides best-guess platform detection for a range of single-board computers and (potentially) other platforms. It was written primarily for use in Adafruit_Blinka, but may be useful in other contexts.
Platform detection is divided into “chip” and “board” detection, with the latter generally dependent on the former. Platform info is gathered from:
- Various files on Linux systems:
- /proc/cpuinfo (for processor info, Raspberry Pi hardware revisions, etc.)
- /proc/device-tree/compatible (for 96Boards info)
- Beaglebone EEPROM board IDs
- Distribution-specific files such as /etc/armbian-release.
This driver depends on:
- Python 3.5 or higher
Installing from PyPI¶
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:
pip3 install Adafruit-PlatformDetect
To install system-wide (this may be required in some cases):
sudo pip3 install Adafruit-PlatformDetect
To install in a virtual environment in your current project:
mkdir project-name && cd project-name python3 -m venv .env source .env/bin/activate pip3 install Adafruit-PlatformDetect
from adafruit_platformdetect import Detector detector = Detector() print("Chip id: ", detector.chip.id) print("Board id: ", detector.board.id) # Check for specific board models: print("Pi 3B+? ", detector.board.RASPBERRY_PI_3B_PLUS) print("BBB? ", detector.board.BEAGLEBONE_BLACK) print("Orange Pi PC? ", detector.board.ORANGE_PI_PC) print("generic Linux PC? ", detector.board.GENERIC_LINUX_PC)
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.