Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import serial
- import RPi.GPIO as GPIO
- import cayenne.client
- import time
- import datetime
- from Tkinter import *
- root = Tk()
- LEDontime = 22
- LEDofftime = 6
- pHCounter = 14
- GPIO.setmode(GPIO.BCM)
- GPIO.setwarnings(False)
- pins = [26, 19, 13, 06]
- GPIO.setup(pins, GPIO.OUT)
- pHDown = 26
- pHUp = 19
- TEC = 13
- LED = 06
- GPIO.output(pins, GPIO.LOW)
- time.sleep(0.5)
- GPIO.output(pins, GPIO.HIGH)
- time.sleep(0.5)
- GPIO.output(pins, GPIO.LOW)
- time.sleep(0.5)
- GPIO.output(pins, GPIO.HIGH)
- time.sleep(0.5)
- print "cleaning up relays"
- ser=serial.Serial("/dev/ttyUSB0",9600) #change USB as found from ls /dev/tty/USB*
- ser.baudrate=9600
- # Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
- MQTT_USERNAME = "61334000-fc63-11e7-848a-61efd1c01e7d"
- MQTT_PASSWORD = "ca292be60d160c1e96bf6074bdf77710949036a6"
- MQTT_CLIENT_ID = "33b92b50-125a-11e8-b42d-698bd45831f1"
- client = cayenne.client.CayenneMQTTClient()
- client.begin(MQTT_USERNAME, MQTT_PASSWORD, MQTT_CLIENT_ID)
- i=0
- timestamp = 0
- value=ser.readline()
- time.sleep(5)
- while True:
- hourTime = datetime.datetime.now().strftime("%H")
- minTime = datetime.datetime.now().strftime("%M")
- print hourTime
- if int(hourTime) >= 22:
- GPIO.output(LED, GPIO.LOW)
- print "shit"
- client.loop()
- value=ser.readline()
- #pH = float(value[1:5])
- pH = 8
- humidity = float(value[6:11])
- temp = float(value[12:17])
- wtemp = float(value[18:])
- #print(value)
- #print(value[1:5])
- #print(value[5:10])
- #print(value[10:15])
- #-------- allow 15 ph tests before adjusting ph
- if pHCounter >= 15:
- ph = 8
- if pH < 5:
- print pH
- GPIO.output(pHUp, GPIO.LOW)
- GPIO.output(pHDown, GPIO.HIGH)
- if pH > 6 and pH < 7:
- print pH
- GPIO.output(pHUp, GPIO.HIGH)
- GPIO.output(pHDown, GPIO.HIGH)
- if pH > 7:
- print pH
- GPIO.output(pHUp, GPIO.HIGH)
- GPIO.output(pHDown, GPIO.LOW)
- if (time.time() > timestamp + 10):
- client.celsiusWrite(1, temp)
- client.luxWrite(2, humidity)
- client.luxWrite(3, pH)
- pHCounter += 1
- print ("pH Tests done: " + str(pHCounter))
- client.celsiusWrite(4, wtemp)
- timestamp = time.time()
- i = i+1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement