import os
import picamera
import sense_hat
import time
import yagmail
camera = picamera.PiCamera()
camera.resolution = (1280, 720)
framerate = 5
camera.framerate = framerate
camera.annotate_text_size = 18
senseHat = sense_hat.SenseHat()
gps = "GPS Data"
def annotate():
timeNow = "Time: " + str(time.strftime("%a %d %b %Y %H:%M:%S", time.localtime()))
temperatureNow = "Temperature: " + str(round(senseHat.get_temperature())) + " C"
humidityNow = "Humidity: " + str(round(senseHat.get_humidity())) + "%"
locationNow = "Location: " +gps
annotation = timeNow + "\n" + temperatureNow + "\n" + humidityNow + "\n" + locationNow
return annotation
def getPicture(annotation):
filename = "/home/pi/Pictures/" + str(time.strftime("%Y-%m-%d@%H:%M:%S", time.localtime())) + ".jpg"
try:
camera.start_preview()
time.sleep(5)
camera.annotate_text = annotation
camera.capture(filename)
camera.stop_preview()
except Exception as error:
print(error)
return filename
def getVideo(length):
filename = "/home/pi/Videos/" + str(time.strftime("%Y-%m-%d@%H:%M:%S", time.localtime())) + ".mp4"
try:
camera.start_recording("/home/pi/testVideo.h264")
for index in range(length):
camera.annotate_text = (annotate())
time.sleep(1)
camera.stop_recording()
except Exception as error:
print(error)
os.system("ffmpeg -r " + str(framerate) + " -i /home/pi/testVideo.h264 -vcodec copy " + filename)
return filename
def sendMail(filename):
receiver = ["yoimgeorge25@gmail.com", "otheremail@gmail.com"]
body = "Sent at " + str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) + "."
try:
gmail = yagmail.SMTP("email@gmail.com", "password")
gmail.send(
to = receiver,
subject = "Paul's Balloon",
contents = body,
attachments = filename
)
except Exception as error:
print(error)
print("Message sent.")
sendMail(getPicture(annotate()))