def main(): #Grove button connected to D2 on grove connector shield button = grove.GroveButton(2) # Grove light sensor connected to A2 lightSensor = grove.GroveLight(2) #Instantiate a strip of 30 LEDs on SPI bus 0 connect data-D12 and Clk - D11 ledStrip = mylib.APA102(60, 0, False) ledStrip.setAllLeds(61, 0, 0, 0) time.sleep(1) text = 'Hello from the Intel Edison' while True: print(button.name(), ' value is ', button.value()) print("Light Value: " + str(lightSensor.raw_value())) if button.value() == 1: #get the time to work from home in mins timeInTraffic = get_time_intraffic() print(timeInTraffic) if timeInTraffic < 30: print("Setting all LEDs to Green- time to leave now") text = 'Leave now, there is no traffic, time to work ' + str( timeInTraffic) + ' minutes' try: subprocess.check_output(['espeak', text]) except subprocess.CalledProcessError: print("Something is not working..") ledStrip.setAllLeds(61, 0, 255, 0) time.sleep(2) elif timeInTraffic >= 30 and timeInTraffic < 40: print("Setting all LEDs to orange - hmm flip a coin") text = 'Hmm, there is seems to be some traffic, time to work ' + str( timeInTraffic) + ' minutes' try: subprocess.check_output(['espeak', text]) except subprocess.CalledProcessError: print("Something is not working..") ledStrip.setAllLeds(61, 200, 100, 100) time.sleep(2) elif timeInTraffic >= 40: print("Setting all LEDs to Red - to much traffic") text = 'It a bad idea to leave now, there is a lot of traffic and the time to work is ' + str( timeInTraffic) + ' minutes' try: subprocess.check_output(['espeak', text]) except subprocess.CalledProcessError: print("Something is not working..") ledStrip.setAllLeds(61, 255, 0, 0) time.sleep(2) else: print("Do nothing") if lightSensor.raw_value() < 150: print("Light value below threshold, setting all LEDS off") ledStrip.setAllLeds(61, 0, 0, 0) time.sleep(2) time.sleep(1) # Delete the button object del button
def main(): # Create the light sensor object using AIO pin 0 light = grove.GroveLight(0) # Read the input and print both the raw value and a rough lux value, # waiting one second between readings while 1: print(light.name() + " raw value is %d" % light.raw_value() + \ ", which is roughly %d" % light.value() + " lux") time.sleep(1) # Delete the light sensor object del light
def main(): # Create the light sensor object using AIO pin 0 light_sensor = grove.GroveLight(0) green_led = grove.GroveLed(2) while 1: print(light_sensor.value()) if (light_sensor.value() < 10): green_led.on() else: green_led.off() del light_sensor del green_led
#!/usr/bin/python import paho.mqtt.client as paho import signal import sys import time from threading import Thread from upm import pyupm_grove as grove from upm import pyupm_biss0001 as grovemotion luxes = grove.GroveLight(0) motion = grovemotion.BISS0001(6) opening = grove.GroveButton(4) dswitch = grove.GroveRelay(2) mqttserver = "iot.eclipse.org" mqttport = 1883 # Sensor Luxes def functionSensorLuxesData(): value = luxes.value() print "Publish Sensor Luxes Data: We got %s!" % value return value def functionSensorLuxes(): mqttclient = paho.Client() mqttclient.connect(mqttserver, mqttport, 60)
#!/usr/bin/python import paho.mqtt.client as paho import signal import sys import time from threading import Thread from upm import pyupm_grove as grove light = grove.GroveLight(0) relay = grove.GroveRelay(2) mqttserver = "iot.eclipse.org" mqttport = 1883 def functionSubscribeLightLampData(status): print "Light Lamp Data %s" % status def functionSubscribeLightLampOn(mosq, obj, msg): print "Subscribe Light Lamp Data!" if msg.payload == "ON": relay.on() elif msg.payload == "OFF": relay.off() functionSubscribeLightLampData(msg.payload) def functionSubscribeLightLamp():
# Grove Temp https://github.com/intel-iot-devkit/upm/blob/master/examples/python/grovetemp.py # Grove Pot https://github.com/intel-iot-devkit/upm/blob/master/examples/python/groverotary.py import requests from time import sleep from upm import pyupm_grove as grove #get the api key from Maker Webhooks channel https://ifttt.com/services/maker_webhooks/settings #example URL https://maker.ifttt.com/use/xxxxxxxxxxxxxxxxxxxxx api_key = 'xxxxxxxxxxxxxxxxxxxxx' event = 'from_edison' #Grove Pot connected to connected A0 on the Grove shield potSensor = grove.GroveRotary(0) #Grove Temperature sensor connected A1 tempSensor = grove.GroveTemp(1) #Grove Light sensor connected A2 lightSensor = grove.GroveLight(2) def send_IFTTT_event(api_key, event, temp=None, lightValue=None, potValue=None): #posting data to IFTTT url = "https://maker.ifttt.com/trigger/{e}/with/key/{k}/".format(e=event, k=api_key) payload = {'value1': temp, 'value2': lightValue, 'value3': potValue} try: requests.post(url, data=payload) except requests.exceptions.RequestException as resp: print("Error from IFTTT: {e}".format(e=resp))
import mraa, requests, time from upm import pyupm_th02 from upm import pyupm_grove from upm import pyupm_jhd1313m1 display = pyupm_jhd1313m1.Jhd1313m1(0,0x3E, 0x62) photo = pyupm_grove.GroveLight(0) th02 = pyupm_th02.TH02(6,0x40) pir = mraa.Gpio(7) ledtest = mraa.Gpio(13) buzzer = mraa.Gpio(2) pir.dir(mraa.DIR_IN) ledtest.dir(mraa.DIR_OUT) buzzer.dir(mraa.DIR_OUT) temperature = 0 humidity = 0 light = 0 event = 0 error = 0 display.setColor(255,255,255) display.setCursor(0,0) display.write('Connecting...') time.sleep(3) while True: temperature = round(th02.getTemperature(),2) humidity = round(th02.getHumidity(),2)
import datetime import time import jwt import paho.mqtt.client as mqtt import mraa from upm import pyupm_grove as grove from upm import pyupm_temperature as upm from upm import pyupm_mic as upmMicrophone mraa.addSubplatform(mraa.GENERIC_FIRMATA, "/dev/ttyACM0") temp = upm.Temperature(1 + 512) light = grove.GroveLight(0 + 512) sound = mraa.Aio(2 + 512) cur_time = datetime.datetime.utcnow() def create_jwt(): token = { 'iat': cur_time, 'exp': cur_time + datetime.timedelta(minutes=60), 'aud': 'intel-webinar' } with open('/home/nuc-user/intel_webinar_private.pem', 'r') as f: private_key = f.read() return jwt.encode(token, private_key, algorithm='RS256')
def io_setup(): """ io_setup: I/O setup for GPIO and Grove sensors Red, Green, Blue LEDs are initialized with PWM pins, period = PWM_PER us Rotary encoder, sound, temperature, and light sensors JHD1313M1 I2C display driver @return device_list: (list) list of all created mraa/upm objects Example usage: io_setup() """ global red_led, green_led, blue_led global rotary_enc, sound_sensor, temp_sensor, light_sensor global lcd, buzzer devices = {} red_led = mraa.Pwm(RED_PIN) green_led = mraa.Pwm(GREEN_PIN) blue_led = mraa.Pwm(BLUE_PIN) # PWM_PER = 500 us == 2 kHz freq. red_led.period_us(PWM_PER) green_led.period_us(PWM_PER) blue_led.period_us(PWM_PER) # enable PWM and turn off LEDs red_led.enable(True) red_led.write(0) green_led.enable(True) green_led.write(0) blue_led.enable(True) blue_led.write(0) devices["redLED"] = red_led devices["greenLED"] = green_led devices["blueLED"] = blue_led # I2C addresses: 0x3E (LCD_ADDRESS), 0x62 (RGB_ADDRESS) lcd = groveLCD.Jhd1313m1(0, 0x3E, 0x62) lcd.clear() lcd.backlightOn() lcd.setColor(255, 255, 255) devices["lcd"] = lcd rotary_enc = grove.GroveRotary(ROT_PIN) sound_sensor = mraa.Aio(SOUND_PIN) temp_sensor = grove.GroveTemp(TEMP_PIN) light_sensor = grove.GroveLight(LIGHT_PIN) devices["rot"] = rotary_enc devices["sound"] = sound_sensor devices["temp"] = temp_sensor devices["light"] = light_sensor buzzer = groveBuzzer.Buzzer(BUZZ_PIN) buzzer.stopSound() buzzer.setVolume(0.125) devices["buzz"] = buzzer return devices