Skip to main content

Aceinna Open Source Python

Project description

python-openimu

Python driver for Aceinna OpenIMU Series Inertial Products. Includes local and cloud file logging, and WebSocket server

pip install:

pyserial
tornado
azure-storage-blob psutil pathlib requests

openimu.py

This is core driver for OpenIMU. It can do the following functions:

  • automatically discover an OpenIMU connected to serial port
  • log data to local file or azure cloud
  • parse various ouput packets
  • read/write and get/set EEPROM fields
  • upgrade firmware of device
  • run as a thread in websocket server see below

server.py

Create a web socket server on wss://localhost:8000 that bridges ANS to a locally running openimu serial port driver. Places openimu driver in a thread

  • automatically sends data out on wss://localhost:8000 every 33mS encoding packet as JSON.
  • receives messages via on_message handler from ANS currently messages are - status, start_log, stop_log and cmd.

file_storage.py

These file store parsed packet data to CSV either locally or on Azure cloud. Uses Azure Python SDK to write to Azure.

commands.py

Command Line Interface to access OpenIMU device

data/ directory

Log files .csv are saved under the directory

Project details


Supported by

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