1_capture 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #!/bin/bash
  2. CONVERTLL_PATH="/home/pi/BallonSonde/convert_ll_dec.py"
  3. READ_NMEA_PATH="/home/pi/BallonSonde/read_nmea.py"
  4. rm -rf /ramfs/*.jpg
  5. echo "=> Acquisition on !"
  6. DATE=$(date +%y%m%d_%H%M%S)
  7. $READ_NMEA_PATH > /ramfs/.out
  8. cat /ramfs/.out | grep "Pas de signal GPS"
  9. if [[ $? -eq 0 ]]; then
  10. echo "Pas de signal GPS"
  11. echo "Don't have GPS datas, continue without these datas"
  12. GPS_SIGNAL="KO"
  13. else
  14. echo "Signal GPS OK"
  15. fi
  16. acquire() {
  17. DATA=$(cat /ramfs/.out)
  18. NS=$(echo $DATA| tr ' ' '\n' | grep NS | cut -d'=' -f2 | cut -d',' -f1)
  19. EW=$(echo $DATA| tr ' ' '\n' | grep EW | cut -d'=' -f2 | cut -d',' -f1)
  20. LAT=$(echo $DATA| tr ' ' '\n' | grep 'lat=' | cut -d'=' -f2 | cut -d',' -f1)
  21. echo "Latitude $LAT"
  22. LATD=$($CONVERTLL_PATH $LAT | grep "d:" | cut -d':' -f2)
  23. LATM=$($CONVERTLL_PATH $LAT | grep "m:" | cut -d':' -f2)
  24. LATS=$($CONVERTLL_PATH $LAT | grep "s:" | cut -d':' -f2 | sed 's/\.//' )
  25. echo "$LATD $LATM $LATS"
  26. LON=$(echo $DATA| tr ' ' '\n' | grep 'lon=' | cut -d'=' -f2 | cut -d',' -f1)
  27. echo "Longitude : $LON"
  28. LOND=$($CONVERTLL_PATH $LON| grep "d:" | cut -d':' -f2)
  29. LONM=$($CONVERTLL_PATH $LON | grep "m:" | cut -d':' -f2)
  30. LONS=$($CONVERTLL_PATH $LON | grep "s:" | cut -d':' -f2 | sed 's/\.//')
  31. echo "$LOND $LONM $LONS"
  32. ALTITUDE=$(echo $DATA| tr ' ' '\n' | grep 'alt=' | cut -d'=' -f2 | cut -d',' -f1)
  33. echo "$ALTITUDE meters ! Wooo so hiiigh !"
  34. # Creation du script pour ajout des données Exif dans le JPG
  35. cat <<EOF > /ramfs/.conf_exif
  36. # Ajouter aux metadatas les informations de geolocalisation
  37. # 'add' pour ajouter les informations
  38. # 'set' pour remplacer celles déjà exisante
  39. # 'del' pour les supprimer (sans préciser de valeur)
  40. add Exif.GPSInfo.GPSLatitudeRef ${NS}
  41. add Exif.GPSInfo.GPSLatitude ${LATD}/1 ${LATM}/1 ${LATS}/10000
  42. add Exif.GPSInfo.GPSLongitudeRef ${EW}
  43. add Exif.GPSInfo.GPSLongitude ${LOND}/1 ${LONM}/1 ${LONS}/10000
  44. EOF
  45. echo $LAT
  46. if [ "$LAT" == "NO_DATA" ]; then
  47. echo "Don't have GPS datas, continue without these datas"
  48. else
  49. exiv2 -m /ramfs/.conf_exif /ramfs/$DATE.jpg
  50. exiftool -GPSAltitude=$ALTITUDE /ramfs/$DATE.jpg -overwrite_original
  51. fi
  52. echo "Picz $DATE.jpg saved in RAM"
  53. cp /ramfs/$DATE.jpg ~/_Pictures
  54. #mv /ramfs/$DATE.jpg /ramfs/$DATE.jp_
  55. #rm -rf /ramfs/*.jpg
  56. #mv /ramfs/$DATE.jp_ /ramfs/$DATE.jpg
  57. echo "Picz $DATE.jpg saved to SDCARD"
  58. echo "$DATE.jpg" > /ramfs/.canbeconvert
  59. echo "Sleeping... zzzZZZzzZZZzzz..."
  60. sleep 5
  61. }
  62. raspistill -o /ramfs/$DATE.jpg
  63. if [ $? -eq 0 ]; then
  64. acquire
  65. else
  66. echo "Command failed"
  67. /home/pi/BallonSonde/tx_process/4_tx_file /home/pi/BallonSonde/sound/error_camera.wav
  68. fi