Meerkat - Data Acquisition for Raspberry Pi or MicroPython

December 26, 2021 ยท View on GitHub

Features

  • Support for Raspberry Pi and MicroPython

  • Pure Python API to I2C devices

  • Data output to JSON or CSV with JSON header

  • Standardized timestamps string formats

  • Data timestamping and GPS tagging of data

  • Metadata description of devices in JSON

  • Parser to convert CSV output to Pandas DataFrame

  • Object oriented class structure for REPL use

  • Base methods separated from device drivers for reusability and extension

Getting Started with Examples

The examples directory contains usage in Jupyter Notebooks and the tests folder contains scripts that will run on MicroPython or Linux.

Supported Sensors and Devices

Device TypeExample NotebookDriver FileI2C Address
1 Channel RelaySparkfun Qwiic Single Relayrelay.py0x18
8 Channel RelayPeter Jakab 8 Channel Relaymcp23008.py0x20
DC & Stepper MotorGrove Motor Driver v1.3motor.py0x0F
Ambient TemperatureMCP9808mcp9808.py0x18
DC Current & PowerINA219ina219.py0x40
Acceleration & GyroMPU6050mpu6050.py0x68
Analog to DigitalADS1115ads.py0x48
Digital to AnalogMCP4728mcp4728.py0x60
pHAtlas Sensorsatlas.py0x63
ConductivityAtlas Sensorsatlas.py0x64
Temperature, Humidity, Pressure, VOC GasBosch BME680bme680.py0x77
GPSPA1010Dpa1010d.py0x10
RTCDS3221ds3231.py0x68

Supported Python Platforms

Python 3, Jupyter and Pandas

  • Raspberry Pi Model 3
  • Raspberry Pi Model 4

MicroPython

  • FiPy (should work on all PyCom boards)
  • OpenMV Cam M7 (tested with OV7725)

Contributing

Contributions are welcome! Please read our Code of Conduct.