Ministre de l’enseignement supérieur et de la recherche scientifique
Ecole Nationale d’Ingénieurs de Carthage
Projet de fin d’année
Développement d’un système de
vidéosurveillance à distance
Présenté par:
2
Plan
01
Mise en situation
02
Conception matérielle
Configuration des
03
périphériques
04
Programmation et tests
05
Conclusion
Conclusion
3 Contexte Mise en situation
Sentiment d’insécurité Besoin de surveillance
Développement du marché :
• Les systèmes d’alarme
• Les systèmes de vidéosurveillance
Problématique Mise en situation
4
Pour les systèmes d’alarmes, en cas
d’intrusion
Penser à la vidéo
• Envoi d’un message d’alerte surveillance à distance
• Déclenchement d’un signal
sonore
On n’a aucune information sur
l’identité du cambrioleur
Intervention retardée
Solution proposée Mise en situation
5
Lieu surveillé Internet
Visualisation à distance
Synoptique de la Mise en situation
solution proposée
6
Stockage sur SDCard
Module Caméra
Caméra de surveillance à distance :
Affichage sur
Ecran LCD Caméra qui capte les images et les transmet
au second élément qui est le MCU
Suite à l’appui sur le bouton,
l’enregistrement sur la carte SD en mode
Affichage continu commence avec visualisation directe
Module Ethernet Internet
sur un pc
local sur l’écran
Le module Ethernet connecté au MCU
envoie les images captées par la caméra sur
Appareils connectés
à internet le réseau IP, ce qui permet de les afficher sur
n’importe quel appareil connecté au réseau
7
Plan
01
Mise en situation
02
Conception matérielle
Configuration des
03
périphériques
04
Test et réalisation
05
Conclusion
Conclusion
Choix de la carte de développement et Développement
Transport de la
écologique
Conception et base de
nouvelles
matérielle
8
de l’écran données
technologies
Nbre de
Caractéristiques Caractéristiques Nbre des interfaces
Solutions possibles Pins Prix
de l’écran du MCU de communications
accessibles
{STM32F746G-DISCO + écran intégré} - Afficheur couleur LCD-TFT
intégré
*4.3inch - Connecteur pour carte - De l’ordre de
Prix supérieur
micro SD
480x272 *** 25 interfaces
- Connecteur Caméra ≈ 100€
color LCD-TFT disponibles
- Module Ethernet
Ecran LCD STM32F4 Discovery
-Longueur=240
*3.2inch 320x240 Touch -Largeur=320 Moins cher
*** ***
LCD
Interface Ecran-MCU :
≈40€+20€
16 broches
écran tactile = 60€
STM32F429I Discovery - 14 pins
*2,4 inch QVGA TFT LCD - 2 Mo de mémoire flash, numériques - De l’ordre de
Prix moyen
256 Ko de RAM - 6 pins
4 interfaces
analogiques = 63,24 €
disponibles
Développement
Transport de la
écologique et base de
nouvelles
9
Choix de la caméra Conception matérielle
données
technologies
Coût Caractéristiques
-1,3 mégapixel
STM32F4DIS-CAM
- Résolution: jusqu'à 1280 * 1024
- Prise en charge des photos fixes
Moyen (= 39.20 €) - Fréquence d'images: 15 images par seconde pour
SXGA, 30 images par seconde pour VGA et CIF
- Résolution de 300KPixels en VGA
OV7670 Camera
(640x480)
Faible (=3.49 €) - Fréquence d'images: 30 images/sec et d'un
microcontrôleur DSP.
- Fréquence d'images: 90 images/sec pour VGA
CMT-5MP-RP-OV5647-X010
Vidéo: 1080P à 30 images/sec avec codec H.264
(AVC)
Elevé (=200 €)
Meilleure qualité d’image
Conception matérielle
10 Choix final de la solution
Liste finale:
Carte STM32F746G-Discovery
{ + Ecran intégré + module Carte SD +
STM32F746G_DISCOVERY
Module Ethernet }
STM32F4DIS-CAM
Micro carte SD
STM32F4DIS-CAM
Câble réseau
Conception matérielle
11 Choix de l’environnement de
développement
Problème rencontré
Keil µVision version 5 :
• Version libre ne supporte que des programmes de taille < 32ko
Solution proposée
GNU ARM Embedded Supporte des programmes volumineux
sans License
Développement des Configuration de projet facile ainsi que la
logiciels embarqués en
Stm32cubeIDE1.0.0 génération du code C d’initialisation étape
C/C++ pour les produits
par étape.
STM32
La programmation de l’appareil STM32
via des interfaces de débogage (JTAG et
SWD).
STM32CubeMX MC Finder
12
Plan
01
Mise en situation
02
Conception matérielle
Configuration des
03
périphériques
04
Test et réalisation
05
Conclusion
Conclusion
Développement
Transport desde
écologique
Configuration la base
et de
nouvelles
périphériques
13
Principe de fonctionnement données
technologies
STM32F746
Cortex-M7 ChromART
DMA2 (FIFO) LTDC
L1-cache1 DMA2D
Bus Matrix
Ethernet SDIO DCMI FMC Mode interruption de DCMI
Câble réseau SDcard Caméra
Tampon d’image dans le SDRAM Les signaux de données de pixels reçus par le module de caméra
Développement
Transport desde
écologique
Configuration la base
et de
nouvelles
périphériques
14
Configuration de la caméra données
technologies
Configuration des périphériques
15
Connection DCMI-DMA
• Le DMA doit assurer le transfert des images successives du DCMI vers la mémoire RAM.
• Chaque fois que le DMA termine le transfert d'une image, il commence le transfert de l'image suivante
16
Plan
01
Mise en situation
02
Conception matérielle
Configuration des
03
périphériques
04
Programmation et tests
05
conclusion
Conclusion
17
Configuration sur CubeMX Programmation et tests
Ajouter les fichiers suivantes dans
« Drivers/STM32F7xx_HAL_Driver »
– stm32f7xx_hal_dma2d.c
– stm32f7xx_hal_ltdc.c
– stm32f7xx_hal_ltdc_ex.c
Générer – stm32f7xx_hal_sdram.c
le code – stm32f7xx_ll_fmc.c
Ajouter les fichiers dans
« Imported_Drivers/ Src »
• stm32746g_discovery.c
• stm32746g_discovery_sdram.c
• ov9655.c
Appeler les bibliothèques suivantes dans le
main
#include "stm32746g_discovery.h"
#include "stm32746g_discovery_sdram.h"
#include "ov9655.h"
#include "rk043fn48h.h"
#include "fonts.h"
#include "font24.c"
Programme principal Programmation et tests
18
Début
Configuration des Commencer par la configuration
périphériques des périphériques mis en jeu
Ecrire la fonction qui définit la
Camera_Capture boucle infine du programme
principal
Fin
Initialisation des périphériques Programmation et tests
19
Début
Config
MX_GPIO_Init();
Initialisation
MX_DMA_Init();
MX_DCMI_Init();
Configuration MX_SDMMC1_SD_Init();
de l’écran
MX_FATFS_Init();
BSP_PB_Init(BUTTON_TAMPER, BUTTON_MODE_GPIO);
Configuration
SD BSP_LED_Init(LED1);
BSP_LCD_Init();
Configuration
BSP_SD_Init();
de la caméra
Fin
Configuration des périphériques Programmation et tests
20
Début
Config
Initialisation
BSP_LCD_LayerDefaultInit(1, FRAME_BUFFER);
Configuration BSP_LCD_SelectLayer(1);
de l’écran
BSP_LCD_Clear(LCD_COLOR_WHITE);
MX_SDMMC1_SD_Init();
Configuration
SD BSP_LCD_SetLayerVisible(1, DISABLE);
BSP_LCD_LayerDefaultInit(0, FRAME_BUFFER);
Configuration
BSP_LCD_DisplayOn();
de la caméra
Fin
Configuration des périphériques Programmation et tests
21
Début
Config
Initialisation SD
connecté
Configuration
de l’écran
Lier le pilote d’E / S du Envoyer « SD not
disque hôte SD connected »
Configuration
SD
Envoyer « SD Init »
Configuration
de la caméra
Fin
Fin
Configuration des périphériques Programmation et tests
22
SD
connecté
Lier le pilote d’E / S du Envoyer « SD not
disque hôte SD connected »
Envoyer « SD Init »
Fin
Configuration des périphériques Programmation et tests
23
SD
connecté
Lier le pilote d’E / S du Envoyer « SD not
disque hôte SD connected »
Envoyer « SD Init »
Fin
Configuration des périphériques Programmation et tests
24
Début
Config
Initialisation Caméra
connectée
Configuration
de l’écran
Initialisation de « LTDC Envoyer « camera
et de Caméra » not plugged»
Configuration
SD Activer le transfert
DCMI_DMA en mode
Configuration continue
de la caméra
Fin
Fin
Configuration des périphériques Programmation et tests
25
Caméra
connectée
Initialisation de « LTDC Envoyer « camera
et de Caméra » not plugged»
Activer le transfert
DCMI_DMA en mode
continue
Fin
Configuration des périphériques Programmation et tests
26
Caméra
connectée
Initialisation de «LTDC Envoyer « camera
et de Caméra » not plugged»
Activer le transfert
DCMI_DMA en mode
continue
Fin
Fonction Camera_Capture Programmation et tests
27
Début
Début
Configuration des
périphériques
bouton appuyé
Camera_Capture SavePicture
Fin
Fin
Fonction SavePicture Programmation
Début PicturePrepare
et tests
28
Configurer le DMA2D
Début SavePicture
Configurer première couche de LTCD
BSP_Camera_Suspend
PicturePrepare address1=CONVERTED_FRAME_BUFFER
address2 = LCD_FRAME_BUFFER
Définir un calque LCD visible
SD prête pour le stockage Index<=BSP_LCD_G
etYSize
Ecrire des données dans le fichier BMP
Initialisation de DMA2D
Allumer la LED 1
Envoyer Saved Effectuer le transfert vers le DMA
Delay 2000ms
address1 += ((BSP_LCD_GetXSize())*3)
Etteindre le LED 1
address2 -= BSP_LCD_GetXSize()*4
BSP_Camera_Resume
Fin
Fin
Problèmes rencontrés pendant les Programmation et tests
29
test
Image n’est pas affichée sur la totalité de l’écran LTDC
Test et réalisation
30
Résolution du problème
Différents essais montrent que le problème de la taille de l’image est lié à la résolution de l’image
Effectuer des modifications dans la fonction « Camera_Init » afin de régler la taille et la résolution à la fois
Test et réalisation
31
Résultat final
32
Plan
01
Mise en situation
02
Conception matérielle
Configuration des
03
périphériques
04
Programmation et tests
05
Conclusion
Conclusion
Simulations et résultats
Conclusion
Conclusion
33
Etudier le principe de fonctionnement de la camera et la configurer pour
communiquer avec STM32F7 => périphérique DCMI
Configurer la carte SD => périphérique SDIO
Afficher l’image captée par la caméra sur l’écran
Enregistrer des vidéos sur le périphérique de stockage « micro carte SD »
Envoyer les vidéos à un appareil connecté via le protocole de communication LWIP
TCP / IP
Simulations et résultats
Conclusion
Conclusion
34