Skip to main content

Intro

This python driver for MLX90640 and MLX90641 aims to facilitate the interfacing on a PC.

Currently this driver supports 3 type of interfaces:

Dependencies

Driver:

  • Python3
  • pySerial

Getting started

Installation

pip install mlx9064x-driver

Running the driver demo

  • Connect the EVB to your PC.
  • pen a terminal and run following command:
mlx9064x-dump-frame auto

This program takes 1 optional argument.

mlx9064x-dump-frame <communication-port>

<communication-port> can be:

  • auto (default) search for comport with EVB90640 hardware as interface to MLX90640 or MLX90641.
  • COMx comport on windows platform for EVB90640 HW, where x is the comport number.
  • /dev/ttyUSBx comport on linux platform for EVB90640 HW, where x is the comport number.
  • /dev/ttyACMx comport on raspberry pi linux platform for EVB90640 HW, where x is the comport number.
  • I2C-1 on raspberry pi use the I2C hardware; it requires raspi-config to enable i2c hardware.
  • I2CBB-<sda>-<scl> [I2CBB-03-05] on raspberry pi, with BitBanging software I2C on any GPIO pin.
    • <sda> is a 2-digit number of the physical pin (default: 03)
    • <scl> is a 2-digit number of the physical pin (default: 05)

Note: Physical pin numbers: see right side numbers in this picture: https://pinout.xyz/

Usage

Below you can find an example on how to read a frame of the MLX90640 senor with I2C address 0x33 and frame rate 8Hz. Please look into EVB90640.py for more advanced features.

import mlx.mlx90640 as mlx

dev = mlx.Mlx9064x('COM4', i2c_addr=0x33, frame_rate=8.0) # establish communication between EVB90640 and
                                                          # PC, the I2C address of the MLX90640 sensor is
                                                          # 0x33 and change the frame rate to 8Hz
dev.init()                      # read EEPROM and pre-compute calibration parameters.
frame = dev.read_frame()        # Read a frame from MLX90640
                                # In case EVB90640 hw is used, the EVB will buffer up to 4 frames, so possibly you get a cached frame.
f = dev.do_compensation(frame)  # calculates the temperatures for each pixel

Issues and new Features

In case you have any problems with usage of the plugin, please open an issue on GitHub.
Provide as many valid information as possible, as this will help us to resolve Issues faster.
We would also like to hear your suggestions about new features which would help your Continuous Integration run better.

Raspberry pi 3B+

This driver is validated to work on a Rapberry Pi 3B+ configuration with raspbian buster february 2020 release.

Installation

  • sudo raspi-config
    • 'enable i2c' in interface; in case you want to connect MLX9064x on the I2C bus of RPi.
    • optional: 'enable ssh' in interface; now you can login remotely over the network.
  • sudo pip3 install virtualenv
  • optional: sudo apt-get update
  • optional: sudo apt-get install python3-opencv
  • optional: sudo apt-get install qt5-default
  • optional: sudo apt-get install libatlas-base-dev
  • optional: sudo apt-get install python3-scipy
  • cd <mlx90640-py>
  • virtualenv --system-site-packages pyvenv
  • . pyvenv/bin/activate
  • pip install .

Note:

  • output of sudo apt-get update must look like:
Get:1 http://archive.raspberrypi.org/debian buster InRelease [25.2 kB]
Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Get:3 http://archive.raspberrypi.org/debian buster/main armhf Packages [259 kB]
Get:4 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
Fetched 13.3 MB in 17s (767 kB/s)
Reading package lists... Done

Release files for mlx9064x-driver 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mlx9064x-driver 1.3.0
File Size Uploaded
mlx9064x-driver-1.3.0.tar.gz 23.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mlx9064x-driver 1.3.0
File Interpreter ABI Platform
mlx9064x_driver-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 48.7 kB

Release files / mlx9064x-driver-1.3.0.tar.gz

Download URL mlx9064x-driver-1.3.0.tar.gz
Size 23.2 kB
Tags Source
SHA-256 checksum
How to use checksums
12e7e1c77e65d183c5abca8c31a265d41d97a72e20a5f96a57e94a875ce14d5d
BLAKE2b-256 checksum
How to use checksums
b011ece882c4e822a5805bfd825ad7005815e466ff313b106300e83ba13ec79e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

Release files / mlx9064x_driver-1.3.0-py3-none-any.whl

Download URL mlx9064x_driver-1.3.0-py3-none-any.whl
Size 25.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76f2ac9cbcff4a6842c4d9cab4b0021fca2ad9707fe124282068e8cd1a49598e
BLAKE2b-256 checksum
How to use checksums
2dc09b20dc418b9d7f19a8904a593572ef0ca196a5653c8498dcf56791520ac6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.1

2 release files

1.1.3

2 release files

1.1.2

1 release file

1.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page