Webcam et Station Météo
à Fort-mahon plage

Partagez !

Fortmahon.webcam – Comment ça marche ?

Pour fonctionner, ce site utilise des équipements répartis en 3 lieux distincts :

1 – Le poste de secours

Au poste de secours situé sur l’esplanade se trouvent 3 équipements :

  1. La caméra (une axis Q6115-E)
  2. La station météo (Davis Vantage pro)
  3. Un micro ordinateur nano-pi utilisé pour le lien OpenVPN entre le poste de secours et le club informatique.

2 – Le club informatique de Fort-Mahon

Au club informatique de fort-mahon (connecté à Internet en fibre optique) se trouvent un tas de choses mais seules 2 d’entre-elles nous concernent :

  1. Un PC intel NUC
  2. Un NAS destiné au stockage des sauvegardes

3 – Un serveur hébergé chez OVH (Roubaix)

Ce serveur reçoit vos requêtes et vous sert les pages web que vous visionnez (dont celle ci!). Il traite également les données météo de la station du poste de secours ainsi que les mails d’encouragement que vous nous adressez 😉 Les principaux services utilisés pour ce sites sont :

  • Un serveur Web  (Apache)
  • Un serveur de bases de Données (MySQL)
  • Un serveur de Mail
  • Un service de traitement des données météo (Weewx)

Pour résumer, un petit dessin :

Concernant la page d’index (fortmahon.webcam/index.php)

Cette page vous présente une image fixe de la caméra qui est rafraichie automatiquement toute les minutes. C’est le serveur OVH qui exécute une requête HTTP directement à la caméra afin de récupérer l’image fixe. Cette image est  affichée sur la page d’index pendant 1 minute avant d’être écrasée et remplacée par la suivante.

Concernant la page « en live » (fortmahon.webcam/live.php)

Cette page, comme toutes les autres, est servie par le serveur OVH. Il s’agit d’une simple inclusion de la vidéo qui est diffusée par Youtube. Très bien mais comment ça marche ?

1 – Le NUC hébergé au club informatique se connecte directement à la caméra, récupère le flux vidéo, l’encode et l’envoie à Youtube qui se charge de le diffuser. Pour ce faire, nous utilisons le script suivant :

1
2
3
4
5
6
7
8
9
10
#/bin/sh

YOUTUBE_STREAM_KEY="xxxxxxxxx"
INPUT="rtsp://user:[email protected]_camera/axis-media/media.amp"
cmd='ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i $INPUT -tune zerolatency -vcodec mpeg4 -pix_fmt + -c:v copy -f flv rtmp://a.rtmp.youtube.com/live2/$YOUTUBE_STREAM_KEY'

until $cmd ; do
echo "restarting ffmpeg command..."
sleep 2
done

2- A intervalle régulier le serveur OVH exécute un script qui utilise les API de Youtube afin de récupérer l’url de diffusion. Cette URL est automatiquement mise à jour dans la page live.php qui vous présente toujours la bonne vidéo à savoir celle de notre belle webcam !

Concernant la page « hier » (fortmahon.webcam/hier.php)

On en parle ici : http://fortmahon.webcam/blog/2017/10/11/creation-de-timelaps-automatiques/

Concernant la page « météo » (fortmahon.webcam/meteo.php)

Pour cette page, c’est un poil plus compliqué… Pour résumer, le serveur OVH se connecte directement à la station météo et récupère toutes les 2 secondes un fichier contenant l’ensemble des mesures effectuées par la stations météo. Vous pouvez avoir un aperçu de ce fichier ici : http://fortmahon.webcam/realtime.txt . Il va notamment être utilisé pour générer les cadrans « en direct » de température, vitesse du vent, direction du vent et pression atmosphérique.

En parallèle, toujours sur le serveur OVH, nous utilisons l’excellent Weewx qui se charge de maintenir une connexion permanente avec la station météo afin de traiter les données reçues de manière très structurée avant de les stocker en base de données (MySQL). C’est à partir de ces données en base  que nos scripts génèrent le tableau résumant les conditions des 5 dernières minutes ainsi que les mini/max du jour et les historiques graphiques.

Concernant la page « Horaire des marées » (fortmahon.webcam/maree.php)

Cette page présente sous forme de tableau les horaires de marées qui sont stockés en base de données. La base est renseignée manuellement une fois par an à partir des informations fournies par le Shom (service hydrographique et océanographique de la Marine.)

Concernant la page « Horaires solaires » (fortmahon.webcam/almanac.php)

Cette page utilise les fonctions astronomiques de PHP, notamment la fonction date_sun_info()

Concernant Fort-Mahon ce jour :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$today=date('Y-m-d');
$sun_info = date_sun_info(strtotime($today), 50.35, 1.5667);
var_dump($sun_info);

array(9) {
["sunrise"]=
int(1507875236)
["sunset"]=
int(1507914342)
["transit"]=
int(1507894789)
["civil_twilight_begin"]=
int(1507873276)
["civil_twilight_end"]=
int(1507916302)
["nautical_twilight_begin"]=
int(1507871017)
["nautical_twilight_end"]=
int(1507918561)
["astronomical_twilight_begin"]=
int(1507868748)
["astronomical_twilight_end"]=
int(1507920830)
}

Les valeurs retournées par la fonction sont des timestamps Unix.

 

 


Il y a actuellement 5 visiteurs connectés