# CURIOUS-MOOREV

# MOOREV-Timer-Camera

Objectif : Définition, évaluation et test d'une interface programmable et de l'alimentation pour l'acquisition de séquences photos et vidéo en autonome avec GoProHero3+ et LED Cree sur de longues durées (plusieurs semaines à mois) avec ESP32et/ou Arduino Nano.

# Documentation

**Information:**

Groupe de projet: L1 - Science Formelles Maths-Info - (février - avril 2023)

\- CHU Amélie <amelie.chu@etu.sorbonne-universite.fr>

\- SAE LIM Thierry thierry.sae\_lim@etu.sorbonne-universite.fr

\- PERRIN DE BRICHAMBAUT Jules [jules.perrin\_de\_brichambaut@etu.sorbonne-universite.fr](mailto:jules.perrin_de_brichambaut@etu.sorbonne-universite.fr)

**Contexte:**

Dans le cadre de notre projet d'ARE, nous nous focalisons sur la récolte de données images et vidéos d'espèces marines à l'aide de caméras et de capteurs.

**Objectif:**

Notre objectif est de concevoir un système autonome qui permet d'enregistrer ces données en profondeur sur une longue durée (plusieurs semaines à plusieurs mois), à faible coût et à faible consommation d'énergie.

**Matériel:**

\- GoProHero3+

\- LED Cree

\- Arduino NANO/ ESP32

\- Multimètre (fils/branchements)

\- Breadboard

\- Caisson hermétique

**Machines utilisées:**

**Construction:**

**1-** Réflexion sur les aspects à prendre en compte du projet (contraintes et accessibilités)

**2-** Recherches sur différents moyens et façons de contrôler la GoPro

**3-** (Tests sur comparaison Arduino Nano ESP32)

# Journal de bord

##### **Journal de bord:**

**06/03:**

\- Pour notre système il faut que l'on choisisse entre l'Arduino NANO et l'ESP32 en se basant sur leur consommation en énergie. Il faut que l'on puisse mesurer la consommation en énergie sur différentes séquences et différentes durée.

**09/03: \[séance Fablab\]**

\- Durant la séance nous avons discuté du projet et en quoi le Fablab peut nous aider. Réflexion sur les tests et les protocoles à réaliser pour la consommation de la batterie avec les deux cartes, avec recherches sur la mise en veille des cartes. Recherches sur les aspects de la GoPro Hero3+ et comment la manipuler avec un programme implanté. Réflexion sur les durées et les séquences d'enregistrements pour la caméra.

\- Visite de l'atelier Fablab partie électronique, avec présentation du matériel mis à disposition. Préparation du matériel pour la prochaine séance au Fablab.

**10/03: \[séance Fablab\]**

\- Point et vu d'ensemble sur tout le matériel que nous possédons.

\- Point sur la façon de relier le micro processeur à la GoPro. Recherches sur le port Hero de la GoPro Hero 3+ qui nous permet de conclure sur l'utilisation du port Hero pour contrôler de manière filaire la caméra. Recherche de références afin de pouvoir trouver et se procurer un branchement compatible au port Hero.

**Liens:**

Autre possibilité pensée de connecter la GoPro qui nécessite la modification de la caméra (idée mise de côté):

[https://hackaday.io/project/12108-gopro-hero-4-wired-control](https://hackaday.io/project/12108-gopro-hero-4-wired-control)

[https://www.youtube.com/watch?v=mpPfk4sLb3I](https://www.youtube.com/watch?v=mpPfk4sLb3I)

Informations sur le port Hero Bus de la GoPro Hero:

[https://wiki.logre.eu/index.php/GObotPRO](https://wiki.logre.eu/index.php/GObotPRO "Port Hero de la GoPro")

**17/03: \[séance Fablab\]**

\- Réunion afin de préparer les tests de consommation d'énergie entre l'Arduino Nano et l'ESP32. Acquisition du matériel nécessaire, et codage des cartes.

\- Tests (code) du nombre de cycles par minutes possible sur l'Arduino qui va permettre d'allumer et d'éteindre la caméra.

\- Emprunt d'un ESP32 qu'on a du souder au labo électronique.

\- Création d'une page Github afin de déposer notre code et recherches sur le mode hibernation de l'esp32 ainsi que la façon de récupérer les données d'un multimètre sur l'ordinateur afin d'enregistrer les données.

# MOOREV-Microclimat-mesures

Objectif : Intégration et programmation de l'interface pour enregistrement de mesures en continu de paramètres environnementaux caractéristiques du microclimat.

Interfaçage de l'Arduino Nano avec plusieurs cartes interfaces (ex: DF Robot) pour mesure de la température, du pH et du potentiel Redox (par potentiométrie ou de l'oxygène par ampérométrie avec une fréquence programmable de 6 mes/min à 6mes/jour.

# MOOREV-Stéréovision-calibration

Objectif : Etablir un protocole d'acquisition d'image sous-marines en stéréovision.

Calibration de deux caméras GoProHero3+ pour stéréovision - réalisation du banc de calibration et tests pour imagerie sous-marine

# New Page



# Log

**Jour 1 - 23.02.2023** (SAMETOGLU Alper, BARON Ludovic, HAMDY Maryam, SAURE Carmen)

On s'est réunis à l'espace prototypage pour discuter sur l'implémentation de notre idée pour la stéréovision aux caméras.

On pense à construire une boîte étanche et un support en PVC (en forme triangulaire). Pour le codage des caméras pour le traitement d'image, on a trouvé Raspberry Pi comme la meilleure solution, car il faudra examiner les photos dedans le boîtier et extraire tout de suite les valeurs voulus.[![prototype.jpg.png](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/scaled-1680-/prototype-jpg.png)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-02/prototype-jpg.png)

**Jour 2 - 16.03.20233** (SAMETOGLU Alper, BARON Ludovic, HAMDY Maryam, SAURE Carmen)

<table id="bkmrk-liste-de-courses-pri" style="width: 100%; height: 209.6px;"><tbody><tr style="height: 29.6px;"><td style="width: 45.2419%; height: 29.6px;">**Liste de courses**  
</td><td style="width: 17.9068%; height: 29.6px;">**Prix**  
</td><td style="width: 36.8265%; height: 29.6px;">**Lien**  
</td></tr><tr style="height: 57.6px;"><td style="width: 45.2419%; height: 57.6px;"><span style="font-weight: 400;">StereoPi camera </span>

</td><td style="width: 17.9068%; height: 57.6px;"><span style="font-weight: 400;">66,54</span>

</td><td style="width: 36.8265%; height: 57.6px;"><span style="font-weight: 400;">https://www.antratek.com/imx219-83-stereo-camera</span>

</td></tr><tr style="height: 35.2px;"><td style="width: 45.2419%; height: 35.2px;"><span style="font-weight: 400;">Batterie externe 30000mAh</span>

</td><td style="width: 17.9068%; height: 35.2px;"><span style="font-weight: 400;">44,99</span>

</td><td style="width: 36.8265%; height: 35.2px;"><span style="font-weight: 400;">https://www.boulanger.com/ref/1171871</span>

</td></tr><tr style="height: 57.6px;"><td style="width: 45.2419%; height: 57.6px;"><span style="font-weight: 400;">WITTY PI 4 L3V7: REALTIME CLOCK AND POWER MANAGEMENT FOR RASPBERRY PI</span>

</td><td style="width: 17.9068%; height: 57.6px;"><span style="font-weight: 400;">23,00</span>

</td><td style="width: 36.8265%; height: 57.6px;"><span style="font-weight: 400;">https://www.uugear.com/product/witty-pi-4-l3v7/</span>

</td></tr><tr style="height: 29.6px;"><td style="width: 45.2419%; height: 29.6px;">  
</td><td style="width: 17.9068%; height: 29.6px;">  
</td><td style="width: 36.8265%; height: 29.6px;">  
</td></tr><tr><td style="width: 45.2419%;">  
</td><td style="width: 17.9068%;">  
</td><td style="width: 36.8265%;">  
</td></tr><tr><td style="width: 45.2419%;">  
</td><td style="width: 17.9068%;">  
</td><td style="width: 36.8265%;">  
</td></tr></tbody></table>

On a emprunté un Raspberry Pi 4 Computer modèle B, ecran pour Raspberry Pi, une carte micro SD et un câble HDMI vers mini-HDMI.

Explication des composants :

\- Stereo camera : Double camera permettant de faire de la stereo-vision

# Jour 1 (Groupe Yanis Saadi dit Saada, Victor YE, Jerome YU)

On s'est réuni au fablab pour schématiser et modéliser les supports nécessaires au calibrage des caméras.[![image-1679068619957.jpeg](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/scaled-1680-/image-1679068619957.jpeg)](https://wiki.fablab.sorbonne-universite.fr/BookStack/uploads/images/gallery/2023-03/image-1679068619957.jpeg)

# MOOREV-Espèces-annotation

Objectif : Réaliser un tutoriel pour la construction d'une banque d'images sous-marines pour la reconnaissance d'espèces communes des habitats littoraux de Atlantique.

Comparaison des images extraites des séries acquises par le projet MOOREV avec  les bases de données biodiversité. Tests des logiciels d'annotation d'images (Roboflow ou autres logiciels Open Source).

# Carnet de Bord

**HYDRO - Espèce**

Ashvin E. , Ayoub C. , Yacine C. , Alexander B.

**<span style="text-decoration: underline;">Jour 1 - 16/02:</span>**

<span style="text-decoration: underline;">Recherche d'algorithmes de reconnaissance d'espèces sous-marines dans le monde:</span> Nous cherchions des projets actuels qui pourraient nous inspirer et nous aider pour faciliter la constructin de notre algorithme d'Intelligence Artificielle. Voici les résultats de notre recherche:

- **AI aquarium:**
    - Un aquarium au Taiwan s'est appuyé sur l'Intelligence Artificielle pour créer un outil de reconnaissance d'espèces sous-marines. Cet outil affiche le nom et les caractéristiques des espèces que choisissent les viiteurs de l'aquarium en faisant des gestes de main.
    - <div>Lien du site internet:[ AI Aquarium recognises and displays aquatic species | blooloop](https://blooloop.com/animals/news/artificial-intelligence-ai-aquarium/)  
        </div><div>  
        </div>
- <div>**Mbaza AI:**</div>
    - Mbaza AI a attiré notre attention bine qu'en étant un outil de reconnaissance d'espèces terrsetres et non sous-marines car cet outil ne fait pas que de la reconnaissance. En effet, cet outil reconnaît et compte les animaux en temps réel, ce qui permet d'avoir des chiffres utiles pour étudier l'évolution d'une population au cours du temps et selon les conditions de l'environnement étudié.
    - <div>Liens pour informations supplémentaires:</div>
        - <div>[Five ways AI is saving wildlife – from counting chimps to locating whales | Artificial intelligence (AI) | The Guardian](https://www.theguardian.com/environment/2022/feb/21/five-ways-ai-is-saving-wildlife-from-counting-chimps-to-locating-whales-aoe)  
            </div>
        - <div>[Mbaza AI for Biodiversity Monitoring (appsilon.com)](https://appsilon.com/data-for-good/mbaza-ai/)</div>

<span style="text-decoration: underline;">**Jour 2 - 16/02:**</span>

<span style="text-decoration: underline;">Continuation de notre recherche:</span> Nous voulions maintenant trouver un projet ressemblant au notre, c'est-à-dire une étude d'espèces sous-marine à base de photos. Voici les résultats de notre recherche:

- **FathomNet**
    - FathomNet est un site public sur lequel des groupes de chercheurs (MBARI, NOAA Ocean Exploration, etc.) ont publiés leurs photos annotées avec des nom d'espèces présentes dans ces photos. Ce site ne semble pourtant pas d'être complétement fini ni très utilisé, car il y a certains bugs (carte qui ne marche pas, beaucoup de types d'espèces n'ont pas de photos) et beaucoup de photos ne sont pas "vérifiées".
    - Liens: 
        - Site web: [https://fathomnet.org/fathomnet/#/explorer](https://fathomnet.org/fathomnet/#/explorer)
        - Informations supplémentaires: [FathomNet: A global image database for enabling artificial intelligence in the ocean | Scientific Reports (nature.com)](https://www.nature.com/articles/s41598-022-19939-2)
- **WildMe / Wildbook's Image Analysis (WBIA)**
    - WBIA est une IA de reconnaissance d'espèces terrestres créée afin de suivre certains individus au sein d'un groupe d'espèce en utilisant la reconnaissance de marqueurs naturels, identificateurs génétiques et de vocalisations dans le but de développer des solutions face à l'extinction de certaines espèces.
    - [GitHub - WildMeOrg/wildbook-ia: Wildbook's Image Analysis (WBIA) backend service supporting machine learning for wildlife conservation](https://github.com/WildMeOrg/wildbook-ia)
    - [Codex and Wildbook - Wild Me](https://www.wildme.org/codex-and-wildbook.html)

# MOOREV-Morphométrie

Objectif : Etablir un protocole pour les mesures morphométriques sur différentes espèces indicatrices à partir d'images sous-marines (Gibbula, Littorina, Actinia)

# MOOREV-Microclimat-réponses

Objectif : Réaliser un tutoriel pour analyser à partir de vidéos ou de séquences temporelles de photos les déplacements d'espèces indicatrices.

# MOOREV-Caméra-Déclenchement

Objectif: Montage et programmation de l'alimentation de la caméra autonome pour le déclenchement d'acquisitions haute fréquence de photos et vidéo sur un seuil de température (ou autre signal de capteur).

Intégration des capteurs et de l'interface de contrôle Arduino Nano ou ESP32 pour pouvoir moduler la fréquence sur un seuil programmable.

# Journal de bord



# Documentation

<span style="text-decoration: underline; color: #000000; background-color: #ffffff;">**INTRODUCTION**</span>

<span style="color: #000000; background-color: #ffffff;">Le but de notre projet ARE est de déclencher une caméra Go Pro à l’aide d’une carte électronique Arduino dans le but de récolter des données. Les données qui seront les causes du déclenchement pourront <span style="background-position: 0% 0%; background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box;">être le pH de l’eau, la température etc. Cela appelle aussi à une adaptation de la caméra au milieu </span><span style="background-position: 0% 0%; background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box;">avec un processus d’éclairage</span><span style="background-position: 0% 0%; background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box;"> la nuit, </span><span style="background-position: 0% 0%; background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box;">un potentiel</span><span style="background-position: 0% 0%; background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box;"> processus de détection des espèces. Le cœur du sujet résidera donc dans le fait de déclencher la caméra sous l’action de certaines conditions nécessaires. </span><span style="background-position: 0% 0%; background-repeat: repeat; background-attachment: scroll; background-image: none; background-size: auto; background-origin: padding-box; background-clip: border-box;">Le dessein final serait de mettre le système dans des conditions réelles en milieu extérieur, ce pendant plusieurs jours, afin d’en observer les résultats.</span></span>

<span style="color: #000000; background-color: #ffffff;"><span style="text-decoration: underline;">Objectif :</span> Intégration d'une carte mesures de pH + température et d'une Arduino pour la programmation du déclenchement d'une caméra Go Pro autonome.</span>

<span style="color: #000000; background-color: #ffffff;">Il s'agit d'interfaçage de l'Arduino avec les cartes de mesures de pH SENSE0161 (ou ADCM355), avec enregistrement des mesures sur carte microSD, pour pouvoir réveiller la caméra sur un seuil de mesure de température ou de pH.</span>

<span style="color: #000000; background-color: #ffffff;">Matériel fourni :</span>

<span style="color: #000000; background-color: #ffffff;">1 Arduino Nano</span>  
<span style="color: #000000; background-color: #ffffff;">1 carte support microSD </span>  
<span style="color: #000000; background-color: #ffffff;">2 Cartes mesure SENSE0161 DFRobot avec electrodes pH</span>  
<span style="color: #000000; background-color: #ffffff;">2 cartes mesures ADUCM355 WATER QUALITY SENSOR (T°C + pH ou REDOX(ORP)</span>  
<span style="color: #000000; background-color: #ffffff;">2 sondes T°C long. 30 cm - thermistance (Thermocoax)</span>

**<span style="text-decoration: underline;"><span style="color: #000000; background-color: #ffffff; text-decoration: underline;">CODE</span></span>**

```C
#include <SPI.h>

#include <WiFi101.h>

#include <GoProController.h>




char ssid[] = "VotreSSID"; // Remplacez "VotreSSID" par le nom de votre réseau Wi-Fi

char pass[] = "VotreMotDePasse"; // Remplacez "VotreMotDePasse" par le mot de passe de votre réseau Wi-Fi




WiFiClient client;

GoProController gopro(client);




const int sensorPin = A0; // Définissez le numéro de broche de votre capteur

const int seuil = 500; // Définissez le seuil de déclenchement de votre capteur

bool shouldTrigger = false;




void setup() {

 // Initialisez votre connexion Wi-Fi

 WiFi.begin(ssid, pass);

 while (WiFi.status() != WL_CONNECTED) {

   delay(1000);

 }




 // Connectez-vous à votre GoPro Hero 3

 gopro.connect();

}




void loop() {

 // Lire la valeur de votre capteur et déterminer si la GoPro doit être déclenchée ou non

 if (analogRead(sensorPin) > seuil) {

   shouldTrigger = true;

 } else {

   shouldTrigger = false;

 }




 // Si la GoPro doit être déclenchée, envoyez la commande de déclenchement

 if (shouldTrigger) {

   gopro.command(BacPac::COMMAND_SHUTTER, BacPac::VALUE_SHUTTER_START);

   delay(5000); // Attendez 5 secondes

   gopro.command(BacPac::COMMAND_SHUTTER, BacPac::VALUE_SHUTTER_STOP);

 }

}
```

<span style="text-decoration: underline; color: #000000; background-color: #ffffff;">**BIBLIOGRAPHIE**</span>

1. <span style="color: #000000; background-color: #ffffff;">*Analog Input | Arduino Documentation*. https://docs.arduino.cc/built-in-examples/analog/AnalogInput. Consulté le 30 mars 2023.</span>
2. <span style="color: #000000; background-color: #ffffff;">*analogRead() - Arduino Reference*. *https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/. Consulté le 30 mars 2023.*</span>
3. <span style="color: #000000; background-color: #ffffff;">*Nano | Arduino Documentation*. https://docs.arduino.cc/hardware/nano. Consulté le 30 mars 2023.</span>
4. <span style="color: #000000; background-color: #ffffff;">*SPI - Arduino Reference*. https://www.arduino.cc/reference/en/language/functions/communication/spi/. Consulté le 30 mars 2023.</span>
5. <span style="color: #000000; background-color: #ffffff;">*WiFi101 - Arduino Reference*. https://www.arduino.cc/reference/en/libraries/wifi101/. Consulté le 30 mars 2023.</span>
6. <span style="color: #000000; background-color: #ffffff;">« Arduino - Temperature Sensor | Arduino Tutorial ». *Arduino Getting Started*, https://arduinogetstarted.com/tutorials/arduino-temperature-sensor. Consulté le 30 mars 2023.</span>
7. <span style="color: #000000; background-color: #ffffff;">*DS18B20 Temperature Sensor For Arduino - DFRobot Wiki*. https://wiki.dfrobot.com/Gravity\_\_DS18B20\_Temperature\_Sensor\_\_Arduino\_Compatible\_\_V2\_SKU\_\_DFR0024. Consulté le 30 mars 2023.</span>