Giter Site home page Giter Site logo

cyberneid / skin-temperature-scanner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gilbertfrancois/skin-temperature-scanner

0.0 0.0 0.0 10.7 MB

Thermal camera device to measure human skin temperature.

License: Apache License 2.0

CMake 4.10% C++ 92.04% C 3.36% Shell 0.50%

skin-temperature-scanner's Introduction

Skin Temperature Scanner

Abstract

This project aims to estimate the human body temperature with a thermal camera connected to a Raspberry Pi computer. Packaged with a battery and small screen, you can create a portable, handheld device to have a quick measure if someone has fever or not.

animation device
preview box

Part list

For this prototype, the following hardware has been used:

  • Raspberry Pi 2, 3 or 4
  • MLX90640 Thermal Sensor, 32x24 px
  • Waveshare 4.3inch HDMI LCD (B), 800x480, IPS
  • 5V 2.4A power adapter (2x)
  • microSD card 8Gb or larger

MLX90640 Far infrared Thermal Sensor

The MLX90640 is a thermal camera made by Melexis N.V. It has a I2C interface, which is perfect for the Raspberry Pi and other embedded devices. You can find the C++ API, driver and documentation on their Github page. The company Pimoroni has made a breakout board around this sensor, for easy integration with a Raspberry Pi.

Research

Setting Value Reference
Emisitivity of human skin 0.99 [1]
Average human skin temperature 32-34 degrees Celsius [2]

Deploy on Raspbian

Setup the Raspberry Pi

The software is made and tested on Raspbian (Buster). Open /boot/config.txt and make the following changes:

## Display settings
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0 
# Rotate the screen to portrait mode
display_rotate=3

## Settings for the thermal sensor
dtparam=i2c_arm=on
dtparam=spi=on
# Add support for FPS > 16
dtparam=i2c1_baudrate=1000000

If you don't want to make these settings by hand, you can also copy the resources/boot/config.txt from this project:

cp ./resources/boot/config.txt /boot/config.txt

Reboot the computer after changing the config.txt file.

Dependencies

In the bin directory is a script, called install_dependencies.sh.

Download the precompiled binary and run the app

Download the latest release and unpack the application in your preferred location:

tar zxvf ThermalCamera_1.0.1_raspbian_buster_armv7l.tar.gz
cd ThermalCamera/bin
./install_dependencies.sh

Check the settings in /boot/config.txt like described above. There is an example file in resources/boot/config.txt in this bundle. After changing the config.txt file, reboot the Raspberry Pi.

To run the application:

cd ThermalCamera/bin
./ThermalCamera

Build from source

Instead of downloading the precompiled binary, you can download the source files and compile it yourself by following the steps below:

git clone https://github.com/gilbertfrancois/skin-temperature-scanner.git
cd skin-temperature-scanner
./bin/install_dependencies.sh
mkdir build
cd build
cmake ..
make
./ThermalCamera

Deploy on balenaOS

What is balenaOS?

balenaOS is a simple, stable Linux operating system tailored for reliably running Docker containers.

Installation and setup

Deploying an app to a balena powered device is easy. Take a look at this guide for a detailed step by step on how to deploy this project.

If you are having trouble drop by our forums and let us know!

Device configuration

After deploying your application, you'll need to add the following:

  • Device variable: RESIN_HOST_CONFIG_display_rotate = 3
  • DT parameter: "i2c1_baudrate=1000000"

References

[1] Table of emissivity values in the Infrared

[2] Temperature of a Healthy Human (Skin Temperature)

[3] Infrared thermography in the evaluation of skin temperature, Roope Lasanen

[4] Raspberry Pi display

[5] Waveshare 4.3" display wiki

[6] Hackaday.io project page

skin-temperature-scanner's People

Contributors

gilbertfrancois avatar tmigone avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.