’intégrer des caméras thermiques pour analyser l’évolution des œufs
il est tout à fait possible d’intégrer des caméras thermiques pour analyser l’évolution des œufs dans une couveuse avec une précision de quelques dizaines de degrés. Cela permet de surveiller les variations thermiques sur chaque œuf et d’optimiser l’incubation.
1️⃣ Matériel recommandé pour la capture thermique
Il existe plusieurs options pour ajouter une caméra thermique à une couveuse et l’intégrer à Odoo :
Caméra Thermique | Technologie | Résolution thermique | Interface | Prix estimé |
---|---|---|---|---|
FLIR Lepton 3.5 | Microbolomètre IR | 160x120 px | SPI/UART | 150-250€ |
Seek Thermal Compact | Thermique IR | 206x156 px | USB-C | 250-400€ |
MLX90640 (Melexis) | Matrice IR (32x24) | 32x24 px | I2C | 60-100€ |
HIKMicro Pocket2 | Thermique avancée | 256x192 px | Wi-Fi, USB | 600-800€ |
🔹 Recommandation :
- FLIR Lepton 3.5 ou MLX90640 sont de bonnes options pour une intégration DIY sur Raspberry Pi.
- HIKMicro ou Seek Thermal Compact offrent une meilleure résolution mais nécessitent un traitement d’image avancé.
2️⃣ Installation d’une caméra thermique sur Raspberry Pi
Si vous utilisez un FLIR Lepton 3.5 ou MLX90640, voici comment les intégrer sur un Raspberry Pi connecté à Odoo :
📌 Matériel nécessaire
- Raspberry Pi 4 (ou Pi 3B+)
- Caméra thermique FLIR Lepton 3.5 avec module PureThermal ou MLX90640
- Module SPI/I2C (suivant le capteur)
📌 Installation des bibliothèques
Pour FLIR Lepton 3.5 :
sudo apt update
sudo apt install python3-pip
pip3 install pylepton
Pour MLX90640 :
git clone https://github.com/pimoroni/mlx90640-library
cd mlx90640-library/python
pip3 install -r requirements.txt
3️⃣ Acquisition des images thermiques
🔹 Capturer des images avec FLIR Lepton
🔹 Capturer des images avec FLIR Lepton
import pylepton
import numpy as np
import cv2
def capture_image():
with pylepton.Lepton() as lepton:
image, _ = lepton.capture()
image = np.uint8(image / 256)
cv2.imwrite("thermal_image.jpg", image)
capture_image()
Ce script capture une image thermique et l’enregistre en .jpg.
🔹 Acquisition de température avec MLX90640
import board
import busio
import adafruit_mlx90640
import numpy as np
i2c = busio.I2C(board.SCL, board.SDA)
mlx = adafruit_mlx90640.MLX90640(i2c)
mlx.refresh_rate = adafruit_mlx90640.RefreshRate.REFRESH_2_HZ
frame = np.zeros((24, 32)) # Matrice de température
mlx.getFrame(frame)
print(frame)
Cela retourne une matrice de 32x24 valeurs de température en degrés Celsius.
4️⃣ Intégration avec Odoo
📌 Créer un modèle Odoo pour stocker les données thermiques
from odoo import models, fields, api
class ThermalImage(models.Model):
_name = 'incubation.thermal'
_description = 'Image thermique des œufs'
name = fields.Char(string="Nom de la capture")
image = fields.Binary(string="Image Thermique")
timestamp = fields.Datetime(string="Date et heure", default=fields.Datetime.now)
✔ Ce script capture une image thermique et l’envoie à Odoo.
5️⃣ Visualisation et Analyse dans Odoo
🔹 Créer une interface graphique pour visualiser les images
Ajouter un affichage dans Odoo Studio ou un fichier XML :
<record id="view_thermal_image_form" model="ir.ui.view">
<field name="name">incubation.thermal.form</field>
<field name="model">incubation.thermal</field>
<field name="arch" type="xml">
<form string="Analyse thermique">
<sheet>
<group>
<field name="name"/>
<field name="timestamp"/>
<field name="image" widget="image"/>
</group>
</sheet>
</form>
</field>
</record>
Ce formulaire permet de visualiser directement les images thermiques dans Odoo.
🔹 Utiliser un algorithme de détection thermique
Si vous voulez détecter des anomalies thermiques (œufs non viables, température instable) :
import cv2
import numpy as np
def analyze_thermal_image(image_path):
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
_, thresholded = cv2.threshold(image, 150, 255, cv2.THRESH_BINARY)
# Détecter les variations thermiques
contours, _ = cv2.findContours(thresholded, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
x, y, w, h = cv2.boundingRect(cnt)
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imwrite("thermal_analysis.jpg", image)
analyze_thermal_image("thermal_image.jpg")
✔ Les zones trop chaudes ou trop froides seront mises en évidence pour une analyse avancée.
6️⃣ Conclusion
✅ Intégration de caméras thermiques possible avec Odoo via Raspberry Pi.
✅ Stockage et visualisation des images thermiques dans Odoo.
✅ Analyse des anomalies thermiques pour optimiser l’incubation.
✅ Utilisation d’algorithmes d’analyse d’image pour détecter les problèmes.