Package: mlx9064x-driver
IntroThis python driver for MLX90640 and MLX90641 aims to facilitate the interfacing on a PC.Currently this driver supports 3 type of interfaces:EVB90640-41 ==>https://www.melexis.com/en/product/EVB90640-41/Evaluation-Board-MLX90640Raspberry Pi with I2C on any GPIO pin.Raspberry Pi on built-in hardware I2C bus.DependenciesDriver:Python3pySerialGetting startedInstallationpipinstallmlx9064x-driverRunning the driver demoConnect the EVB to your PC.pen a terminal and run following command:mlx9064x-dump-frameautoThis 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.COMxcomport on windows platform for EVB90640 HW, where x is the comport number./dev/ttyUSBxcomport on linux platform for EVB90640 HW, where x is the comport number./dev/ttyACMxcomport on raspberry pi linux platform for EVB90640 HW, where x is the comport number.I2C-1on raspberry pi use the I2C hardware; it requires raspi-config to enable i2c hardware.I2CBB-<sda>-<scl>[I2CBB-03-05] on raspberry pi, withBitBanging 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/UsageBelow 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.importmlx.mlx90640asmlxdev=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 8Hzdev.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 pixelIssues and new FeaturesIn 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.Installationsudo 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 virtualenvoptional:sudo apt-get updateoptional:sudo apt-get install python3-opencvoptional:sudo apt-get install qt5-defaultoptional:sudo apt-get install libatlas-base-devoptional:sudo apt-get install python3-scipycd <mlx90640-py>virtualenv --system-site-packages pyvenv. pyvenv/bin/activatepip install .Note:output ofsudo apt-get updatemust 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