Thermal camera imaging with Elixir, Nerves, Raspberry Pi, and a MLX90640 sensor
This project is an Elixir Nerves firmware that implements a thermal camera using the Melexis MLX90640 sensor. It is tested on a Raspberry Pi Zero W, but it should work on other WiFi-enabled Raspberri Pi models too.
Other platforms supported by Nerves should work too, but may need modifications.
The pre-requisite is that you have installed the Elixir language, Nerves, and Node.js. You can find installation guides on their respective websites.
Then:
Clone or download the repository and open your terminal
cd
into the project directory and set the following environment variables:
export MIX_TARGET=rpi0 # (or another Nerves target like `rpi3`)
export MIX_ENV=prod
# In the following two commands, replace `your_ssid` with your WiFi SSID
# and `your_psk` with your WiFi password
export THERMALCAM_SSID=your_ssid
export THERMALCAM_PSK=your_psk
Optionally, you can also set these environment variables:
THERMALCAM_NET_REG_DOMAIN
for the regulatory domain of the network
(default to DE
), and THERMALCAM_KEY_MGMT
for the key management
(default to wpa_psk
).
Run make firmware
to build the firmware
Insert the SD card in your computer and, from the same terminal window as
before, run make firmware.burn
to burn the firmware on the SD card.
The SD card should now be ready.