first commit

This commit is contained in:
pandacraft 2025-03-21 16:04:17 +01:00
commit a5a0434432
1126 changed files with 439481 additions and 0 deletions

View file

@ -0,0 +1,58 @@
#! /usr/local/bin/python
# This project by Dexter Industries will help you figure out who's stealing your lunch! In
# this project, we will use the GrovePi to take a picture of the culprit when the light in
# your fridge turns on. We will use the light detector for Grove to detect when the fridge
# door has been opened.
#
# Hardware Setup:
# - Use the Raspberry Pi and GrovePi. (http://www.dexterindustries.com/shop/grovepi-starter-kit-2/)
# - Use the Raspberry Pi camera. (http://www.dexterindustries.com/shop/raspberry-pi-camera/)
# - Connect the light sensor to A0. (http://www.dexterindustries.com/shop/grove-light-sensor/)
# You can adjust the threshold value if you have a bright environment.
# Change the email_destination to change the destination you send an e-mail to.
import time
import datetime
import grovepi
import picamera
import send_email_pic
email_destination = 'examples@dexterindustries.com' # Change this to the destination e-mail.
destination = [email_destination] # We put it into an array.
# Connect the Grove Light Sensor to analog port A0
# SIG,NC,VCC,GND
light_sensor = 0 # Connect the light sensor to A0 Port.
grovepi.pinMode(light_sensor,"INPUT") # Set the A0 port to input.
# Send a picture once sensor exceeds threshold resistance
threshold = 600 # Adjust this threshold higher or lower
# Depending on how bright your fridge is.
camera = picamera.PiCamera() # Setup the Pi Camera
# Simple function to get the date as a string.
def get_time_string():
dateString = '%Y-%m-%d_%H-%M-%S'
return_string = datetime.datetime.now().strftime(dateString)
return return_string
while True:
try:
# Get sensor value. Read the light sensor.
sensor_value = grovepi.analogRead(light_sensor)
# Sense the light coming on, within the target range
if sensor_value > threshold:
print ('The fridget light is on!') # Print a note to let us know how it goes.
file_name = "lunch_status-"+str(get_time_string())+".jpg"
camera.capture(file_name) # Take a picture and save it to file_name
# Now send an e-mail
send_email_pic.send_email("The fridge has been opened!", destination, "The fridge has been opened!", file_name)
else:
print ('.') # Do nothing! It's still dark.
time.sleep(.5) # If your hold time is less than this, you might not see as many detections
except IOError:
print ("Error")