diff --git a/PicaPiKAP.py b/PicaPiKAP.py new file mode 100644 index 0000000..2eaaf92 --- /dev/null +++ b/PicaPiKAP.py @@ -0,0 +1,49 @@ +import time +import gpsd +import board +import digitalio +from time import sleep +from picamera import PiCamera +from datetime import datetime, timedelta +from adafruit_bme280 import basic as adafruit_bme280 + +spi = board.SPI() +bme_cs = digitalio.DigitalInOut(board.D5) +bme280 = adafruit_bme280.Adafruit_BME280_SPI(spi, bme_cs) + +bme280.sea_level_pressure = 1013.25 + +gpsd.connect() + +camera = PiCamera() +camera.resolution = (3280, 2464) +#camera.led = False + +with open("/home/pi/picavetPI/media/datalog.csv", "a") as log: + + while True: + tiempo = (time.strftime("%y%b%d_%H:%M:%S_")) + packet = gpsd.get_current() + tiempogps = str(packet.time) + longitud = str("%0.5f_" % packet.lon) + latitud = str("%0.5f_" % packet.lat) + altitudgps = str("%0.1fm_" % packet.alt) + temperatura = str("%0.1fC_" % bme280.temperature) + humedad = str("%0.1f%%_" % bme280.relative_humidity) + presion = str("%0.1fhPa" % bme280.pressure) + altitud = str("%0.1fm_" % bme280.altitude) + log.write("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}\n".format(time.strftime("%y%b%d_%H:%M:%S"),str(packet.time),str(packet.sats),str("%0.5f" % packet.lat),str("%0.5f" % packet.lon),str("%0.1" % packet.alt),str("%0.1f" % bme280.altitude),str(packet.climb),str("%0.1f" % bme280.temperature),str("%0.1f" % bme280.relative_humidity),str("%0.1f" % bme280.pressure),str(packet.map_url()))) + camera.capture("/home/pi/picavetPI/media/" + tiempogps + latitud + longitud + altitudgps + temperatura + humedad + presion + ".jpg") + print("Datos del GPS") + print("Satelites: " + str(packet.sats)) + print("Latitud:" + str("%0.5f" % packet.lat)) + print("Longitud:" + str("%0.5f" % packet.lon)) + print("Altitud GPS:" + str("%0.1f" % packet.alt)) + print("\nDatos del BME280") + print("Temperatura: %0.1f C" % bme280.temperature) + print("Humedad relativa: %0.1f %%" % bme280.relative_humidity) + print("Presion: %0.1f hPa" % bme280.pressure) + print("Altitud = %0.1f metros" % bme280.altitude) + print("-----") + time.sleep(5) + \ No newline at end of file