-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreciever_finalproject.py
More file actions
59 lines (47 loc) · 1.85 KB
/
reciever_finalproject.py
File metadata and controls
59 lines (47 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env python
# Student: Boris Figeczky x15048179
# Date: 10/05/2020
# Resource1: https://www.udemy.com/course/introduction-to-aws-iot
# Resource2: https://docs.aws.amazon.com/iot/latest/developerguide/iot-moisture-tutorial.html
import boto3
import os
import time
from grovepi import *
# Connect the Grove LED to digital port D4
led = 4
pinMode(led,"OUTPUT")
time.sleep(1)
# provide credetials
access_key = "provide credetials"
access_secret = "provide credetials"
region ="eu-west-1"
queue_url = "https://sqs.eu-west-1.amazonaws.com/xxxxxxxxxxxxxxx/MyRPi2_vision_Queue1"
# max number of messages from the aws queue
def pop_message(client, url):
response = client.receive_message(QueueUrl = url, MaxNumberOfMessages = 10)
#last message posted becomes messages
message = response['Messages'][0]['Body'] # create body of the message
receipt = response['Messages'][0]['ReceiptHandle'] # create the receipt
# delete the message from the queue
client.delete_message(QueueUrl = url, ReceiptHandle = receipt)
return message
# secure access using the certs
client = boto3.client('sqs', aws_access_key_id = access_key, aws_secret_access_key = access_secret, region_name = region)
waittime = 20
client.set_queue_attributes(QueueUrl = queue_url, Attributes = {'ReceiveMessageWaitTimeSeconds': str(waittime)})
# declearing start time of exectution
time_start = time.time()
while (time.time() - time_start <60):
print("Checking...")
try:
message = pop_message(client, queue_url)
print(message)
if message:
#Blink the LED
digitalWrite(led,1) # Send HIGH to switch on LED
print ("LED ON!")
time.sleep(5)
digitalWrite(led,0) # Send LOW to switch off LED
print ("LED OFF!")
except:
pass