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 toDE
), andTHERMALCAM_KEY_MGMT
for the key management (default towpa_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.
- Follow the instructions above to burn a firmware image on the SD card
- Wire the MLX90640 to the Raspberry Pi
- Turn on the Raspberry Pi and wait for it to connect to the WiFi network
- From another device (computer or smartphone) connected to the same WiFi, visit http://thermalcam.local