def main():
    pin = Pin(('GPIO_1', 5), Pin.OUT)
    led = Signal(pin, invert=True)
    led.off()
    led_status = 'OFF'

    while True:
        reported = {'state': {'reported': {}}}

        reported['state']['reported']['led'] = led_status

        degu.update_shadow(ujson.dumps(reported))

        received = degu.get_shadow()
        if received:
            try:
                desired = ujson.loads(received)
                try:
                    led_status = desired['state']['desired']['led']
                except:
                    pass
                if led_status == 'ON':
                    led.on()
                else:
                    led.off()
            except:
                pass

        time.sleep(1)
def main():
    reported = {'state': {'reported': {}}}

    gps = GPS(0, GPS_BAUDRATE)

    while True:
        reported['state']['reported'] = gps.read(("gprmc", "gpgsa"))
        json = ujson.dumps(reported)
        print(json)
        degu.update_shadow(json)
        time.sleep(1)
def main():
    reported = {'state': {'reported': {}}}

    vib = PIR(0)

    while True:
        reported['state']['reported']['motion'] = vib.detect()
        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(1)
Exemple #4
0
def main():
    reported = {'state': {'reported': {}}}

    collision = Collision(0)

    while True:
        reported['state']['reported']['collision'] = collision.detect()
        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(1)
Exemple #5
0
def main():
    reported = {'state': {'reported': {}}}

    lsm6ds3 = LSM6DS3(0x6A, True, True)  #device_addr, accel_mode, gyros_mode

    while True:
        reported['state']['reported']['accel'] = lsm6ds3.accel_start()
        reported['state']['reported']['gyro'] = lsm6ds3.gyros_start()

        print(ujson.dumps(reported))
        degu.update_shadow(ujson.dumps(reported))
        time.sleep(5)
def main():
    reported = {'state': {'reported': {}}}

    loudness = Loudness(0)

    while True:
        reported['state']['reported']['loudness'] = loudness.read()

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(30)
def main():
    reported = {'state': {'reported': {}}}

    air = AirQuality(0)

    while True:
        reported['state']['reported']['air_quality'] = air.read()

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(60)
Exemple #8
0
def main():
    reported = {'state': {'reported': {}}}

    mmc7660 = MMC7660(MMC7660_I2CADDR)

    while True:
        reported['state']['reported']['axis'] = mmc7660.getAxes()

        json = ujson.dumps(reported)
        print(json)
        degu.update_shadow(json)
        time.sleep(5)
def main():
    reported = {'state': {'reported': {}}}

    moisture = Moisture(0)

    while True:
        reported['state']['reported']['moisture'] = moisture.read()

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(30)
Exemple #10
0
def main():
    reported = {'state': {'reported': {}}}

    current = Current(0)

    while True:
        reported['state']['reported']['current'] = current.read()

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(1)
def main():
    reported = {'state': {'reported': {}}}

    temp = Temperature(0)

    while True:
        reported['state']['reported']['temp'] = temp.read()

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(60)
def main():
    reported = {'state': {'reported': {}}}

    bma400 = BMA400(BMA400_I2CADDR)

    while True:
        reported['state']['reported']['temp'] = bma400.temprature_read()
        reported['state']['reported']['axis'] = bma400.accel_axis_read()

        json = ujson.dumps(reported)
        print(json)
        degu.update_shadow(json)
        time.sleep(5)
Exemple #13
0
def main():
    reported = {'state': {'reported': {}}}

    bus = I2C(1)
    bmp = BMP280(i2c=bus)

    while True:
        reported['state']['reported']['temp'] = bmp.values[0]
        reported['state']['reported']['pres'] = bmp.values[1]

        print(ujson.dumps(reported))
        degu.update_shadow(ujson.dumps(reported))
        time.sleep(60)
Exemple #14
0
def main():
    reported = {'state': {'reported': {}}}

    vib = Vibration(0)

    while True:
        reported['state']['reported']['vibration'] = "not detected"
        for i in range(100):
            if vib.detect():
                reported['state']['reported']['detected'] = "detected"
            sleep(0.01)
        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
def main():
    reported = {'state': {'reported': {}}}

    bus = I2C(1)
    sht31 = SHT31(i2c=bus)

    while True:
        values = sht31.get_temp_humi()

        reported['state']['reported']['temp'] = values[0]
        reported['state']['reported']['humid'] = values[1]

        print(ujson.dumps(reported))
        degu.update_shadow(ujson.dumps(reported))
        time.sleep(60)
def main():
    reported = {'state': {'reported': {}}}

    pm25 = PM25()

    while True:
        concentration = pm25.get_concentration()
        reported['state']['reported']['pollution'] = {
            'pm1.0': concentration[0],
            'pm2.5': concentration[1],
            'pm10': concentration[2]
        }

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(60)
Exemple #17
0
def main():
    reported = {'state': {'reported': {}}}

    while True:
        co2 = CO2()

        concentration = co2.getConcentration()
        reported['state']['reported']['co2'] = {
            'co2concentration': concentration[0],
            'temperature': concentration[1],
            'humidity': concentration[2]
        }

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(60)
def main():
    reported = {'state': {'reported': {}}}

    colorSensor = ColorSensor()

    while True:
        color = colorSensor.readColor()
        reported['state']['reported']['color'] = {
            'red': color[0],
            'green': color[1],
            'blue': color[2]
        }

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(60)
def main():
    reported = {'state': {'reported': {}}}

    rtc = RTC()

    # RTC initialization
    rtc.setTime(2019, 5, 22, 17, 31, 30)

    days = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
    formatString = "{}-{:0>2}-{:0>2}({:0>2}) {:0>2}:{:0>2}:{:0>2}"

    while True:
        time = rtc.getTime()
        reported['state']['reported']['time'] = {
            "time":
            formatString.format(time[0], time[1], time[2], days[time[3]],
                                time[4], time[5], time[6])
        }

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)
        sleep(1)
from machine import Pin
import degu
import ujson

if __name__ == '__main__':
    reported = {'state': {'reported': {}}}

    sw4 = Pin(('GPIO_1', 14), Pin.IN, Pin.PULL_UP)
    led = Pin(('GPIO_1', 8), Pin.OUT)

    before = 0
    while True:
        value = sw4.value()
        if value != before:
            if value == 1:
                reported['state']['reported']['led'] = 'off'
                led.off()
            else:
                reported['state']['reported']['led'] = 'on'
                led.on()

            print(ujson.dumps(reported))
            degu.update_shadow(ujson.dumps(reported))
            before = value
import ujson

import degu

def battery_voltage():
    R6 = 68
    R8 = 100

    ADC_REF = 0.6
    ADC_RESOLUTION=4096 #12bit
    ain = ADC(1)
    ain.gain(ain.GAIN_1_6) #gain set to 1/6

    raw = ain.read()
    vin = (raw / ADC_RESOLUTION) * ADC_REF * 6

    v = vin * ((R6 + R8) / R8)
    return v

if __name__ == '__main__':
    reported = {'state':{'reported':{}}}

    while True:
        reported['state']['reported']['battery'] = battery_voltage()

        json = ujson.dumps(reported)
        degu.update_shadow(json)
        print(json)

        degu.suspend(30)