Pierre Bourdin vor 2 Wochen
Ursprung
Commit
bbaa2e4e22
4 geänderte Dateien mit 29 neuen und 76 gelöschten Zeilen
  1. 14 3
      acquisition_process/1_capture
  2. 0 70
      acquisition_process/1_capture~
  3. 1 1
      convert_process/2_convert
  4. 14 2
      read_nmea.py

+ 14 - 3
acquisition_process/1_capture

@@ -3,10 +3,21 @@
 CONVERTLL_PATH="/home/pi/BallonSonde/convert_ll_dec.py"
 READ_NMEA_PATH="/home/pi/BallonSonde/read_nmea.py"
 
+rm -rf /ramfs/*.jpg
+
 echo "=> Acquisition on !"
 DATE=$(date +%y%m%d_%H%M%S)
 $READ_NMEA_PATH > /ramfs/.out
 
+cat /ramfs/.out | grep "Pas de signal GPS"
+if [[ $? -eq 0 ]]; then
+  echo "Pas de signal GPS"
+  echo "Don't have GPS datas, continue without these datas"
+  GPS_SIGNAL="KO"
+else
+  echo "Signal GPS OK"
+fi
+
 acquire() {
 
 DATA=$(cat /ramfs/.out)
@@ -52,9 +63,9 @@ fi
 
 echo "Picz $DATE.jpg saved in RAM"
 cp /ramfs/$DATE.jpg ~/_Pictures
-mv /ramfs/$DATE.jpg /ramfs/$DATE.jp_
-rm -rf /ramfs/*.jpg
-mv /ramfs/$DATE.jp_ /ramfs/$DATE.jpg
+#mv /ramfs/$DATE.jpg /ramfs/$DATE.jp_
+#rm -rf /ramfs/*.jpg
+#mv /ramfs/$DATE.jp_ /ramfs/$DATE.jpg
 
 echo "Picz $DATE.jpg saved to SDCARD"
 

+ 0 - 70
acquisition_process/1_capture~

@@ -1,70 +0,0 @@
-#!/bin/bash
-
-CONVERTLL_PATH="/home/pi/BallonSonde/convert_ll_dec.py"
-READ_NMEA_PATH="/home/pi/BallonSonde/read_nmea.py"
-
-echo "=> Acquisition on !"
-DATE=$(date +%y%m%d_%H%M%S)
-$READ_NMEA_PATH > /ramfs/.out
-
-acquire() {
-
-DATA=$(cat /ramfs/.out)
-NS=$(echo $DATA| tr ' ' '\n' | grep NS | cut -d'=' -f2 | cut -d',' -f1)
-EW=$(echo $DATA| tr ' ' '\n' | grep EW | cut -d'=' -f2 | cut -d',' -f1)
-
-LAT=$(echo $DATA| tr ' ' '\n' | grep 'lat=' | cut -d'=' -f2 | cut -d',' -f1)
-echo "Latitude $LAT"
-LATD=$($CONVERTLL_PATH $LAT | grep "d:" | cut -d':' -f2)
-LATM=$($CONVERTLL_PATH $LAT | grep "m:" | cut -d':' -f2)
-LATS=$($CONVERTLL_PATH $LAT | grep "s:" | cut -d':' -f2 | sed 's/\.//' )
-echo "$LATD $LATM $LATS"
-
-LON=$(echo $DATA| tr ' ' '\n' | grep 'lon=' | cut -d'=' -f2 | cut -d',' -f1)
-echo "Longitude : $LON"
-LOND=$($CONVERTLL_PATH $LON| grep "d:" | cut -d':' -f2)
-LONM=$($CONVERTLL_PATH $LON | grep "m:" | cut -d':' -f2)
-LONS=$($CONVERTLL_PATH $LON | grep "s:" | cut -d':' -f2 | sed 's/\.//')
-echo "$LOND $LONM $LONS"
-
-ALTITUDE=$(echo $DATA| tr ' ' '\n' | grep 'alt=' | cut -d'=' -f2 | cut -d',' -f1)
-echo "$ALTITUDE meters ! Wooo so hiiigh !"
-
-# Creation du script pour ajout des données Exif dans le JPG
-cat <<EOF > /ramfs/.conf_exif
-    # Ajouter aux metadatas les informations de geolocalisation
-    # 'add' pour ajouter les informations
-    # 'set' pour remplacer celles déjà exisante
-    # 'del' pour les supprimer (sans préciser de valeur)
-    add Exif.GPSInfo.GPSLatitudeRef ${NS}
-    add Exif.GPSInfo.GPSLatitude ${LATD}/1 ${LATM}/1 ${LATS}/10000
-    add Exif.GPSInfo.GPSLongitudeRef ${EW}
-    add Exif.GPSInfo.GPSLongitude ${LOND}/1 ${LONM}/1 ${LONS}/10000
-EOF
-
-echo $LAT
-if [ "$LAT" == "NO_DATA" ]; then
-	echo "Don't have GPS datas, continue without these datas"
-else
-	exiv2 -m /ramfs/.conf_exif /ramfs/$DATE.jpg
-	exiftool -GPSAltitude=$ALTITUDE /ramfs/$DATE.jpg -overwrite_original
-fi
-
-echo "Picz $DATE.jpg saved in RAM"
-mv /ramfs/$DATE.jpg ~/_Pictures
-echo "Picz $DATE.jpg saved to SDCARD"
-
-echo "$DATE.jpg" > /ramfs/.canbeconvert
-echo "Sleeping... zzzZZZzzZZZzzz..."
-
-}
-
-
-
-raspistill -o /ramfs/$DATE.jpg
-#if [ $? -eq 0 ]; then
-  acquire
-#else
-#  echo "Command failed"
-#fi
-#

+ 1 - 1
convert_process/2_convert

@@ -20,7 +20,7 @@ done
 
 # On traite l'image...
 echo "=> Copying picz in RAMFS"
-cp /home/pi/_Pictures/$IMG /ramfs/$IMG
+cp /home/pi/_Pictures/$IMG /ramfs/
 echo "=> Converting to PD120 Format <long>x496"
 convert /ramfs/$IMG -resize 660x496^ /ramfs/lit-$IMG
 rm -rf /ramfs/$IMG

+ 14 - 2
read_nmea.py

@@ -1,11 +1,23 @@
 #!/usr/bin/python3
 
 import serial
+import os
 from pynmeagps import NMEAReader
 
+# On va tester qu'on a quelque chose de cohérant avant de tenter de décoder
 stream = serial.Serial('/dev/ttyAMA0', 38400, timeout=3)
+stream.flushInput()
+x=stream.readline()
+
+if not "GPGGA" in str(x):
+  stream.close()
+  os.system("./active_nmea.py &2> /dev/null")
+  print("Pas de signal GPS")
+  exit(1)
+
+# On continue au cas ou 
+stream.flushInput()
 nmr = NMEAReader(stream)
 (raw_data, parsed_data) = nmr.read()
 print(parsed_data)
-
-
+stream.close()