예제 #1
0
def publish_thingsboard(red, clave, token, UNIQUE_ID, data):
    # from umqtt.simple import MQTTClient
    # import gc
    # import json
    # import machine
    # import utime

    contador = 0
    condicion = True
    while condicion:
        try:
            client = MQTTClient(UNIQUE_ID,
                                "iot.ier.unam.mx",
                                port=1883,
                                user=token,
                                password='')
            client.settimeout = settimeout
            client.connect()
            print(json.dumps(data))
            client.publish('v1/devices/me/telemetry', json.dumps(data))
            client.disconnect()
            condicion = False
        except Exception as inst:
            do_connect(red, clave)
            time.sleep(10)
            contador += 1
            print("Falla ", contador)
            if contador >= 10:
                machine.reset()
예제 #2
0
def main():
    wifi.do_connect(True)
    netTim = Timer(1)
    netTim.init(period=60000, mode=Timer.PERIODIC, callback=checkWifi)
    apikey = "=your apikey="
    #替换成你自己的key和id
    apiUrl = 'http://api.heclouds.com/devices/=youerdeviceid='
    hr = http(url=apiUrl, apikey=apikey)
    hr.timerdata()
예제 #3
0
def main():
    bt.demo()

    wifi.do_connect()

    setup_buttons()

    health = api.get_health()
    show_health(health)

    if health.is_healthy():
        load_and_show_trackables_menu()
예제 #4
0
파일: PST_time.py 프로젝트: wrecks/epaper
def time_pull():
    wifi.do_connect()  #connect to wifi
    ntptime.settime()  #pull time from NTP server
    (year, month, mday, week_of_year, hour, minute, second,
     milisecond) = RTC().datetime()
    RTC().init((year, month, mday, week_of_year, hour - 7, minute, second,
                milisecond))
    print('{:02d}/{:02d}/{:02d} {:02d}:{:02d}.{:02d}'.format(
        RTC().datetime()[1],
        RTC().datetime()[2],
        RTC().datetime()[0],
        RTC().datetime()[4],
        RTC().datetime()[5],
        RTC().datetime()[6]))
예제 #5
0
def main():
    wifi.do_connect(True)
    netTim = Timer(1)
    netTim.init(period=60000, mode=Timer.PERIODIC, callback=checkWifi)

    sn = 'ESP' + chipid()
    title = 'Device' + sn
    product_id = 'YourProductID'
    regKey = 'YourEvnRegistKey'
    url = 'http://api.heclouds.com/register_de?register_code=' + regKey
    reg = register.Register(url=url, title=title, sn=sn)
    if reg.regist()==0:
        mq = mqtt.mqtt(client_id=reg.device_id, username=product_id, password=reg.key)
        mq.connect()
    else:
        print('Error: No Client ID!')
예제 #6
0
def Scan_callback(
    timer
):  # calback para el escaneo de los sensores (agregar posibilidad de realizar promedio de mediciones)
    global d, c, values, Pin_STS, tags, x, muestras
    try:  #medicion de temperatura y humedad
        d.measure()
        values[1] = d.temperature()
        values[2] = d.humidity()
    except:
        values[1] = "error"
        values[2] = "error"

    values[5] = int.from_bytes(i2c.readfrom(35, 2),
                               "big") / 1.2  #medicion de luminosidad
    values[6] = Pin_STS.value()  #acuse de estado de lampara (bit interno)
    #    #medicion de tension y corriente
    values[3] = ina.bus_voltage
    values[4] = ina.current
    #    #a=utime.localtime()
    #    #values[0]=str(a[0])+'/'+str(a[1])+'/'+str(a[2])+' '+str(a[3])+':'+str(a[4])+':'+str(a[5])
    values[0] = utime.time()

    muestras.append([values[1], values[2], values[3], values[4], values[5]])
    if len(muestras) > AVG:
        muestras = muestras[1:]
    print(muestras)
    #parseo json
    for i in range(0, len(tags)):
        dict[tags[i]] = values[i]
        OUT = ujson.dumps(dict)
    #publica en topic

    try:
        #print(OUT)
        c.publish(topic, OUT)
    except:
        #print ('fallo de publish')
        do_connect()
        c.connect()
예제 #7
0
import machine
from umqttsimple import MQTTClient
import ubinascii
import time
import struct

#use porta controller LED: ON/OFF
led = Pin(4, Pin.OUT, value=0)  #Publiced: pin1
Ok = Pin(2, Pin.OUT, value=0)
#use ports RGB PWM
red = PWM(Pin(5), duty=1023)  #Publiced: red
gre = PWM(Pin(18), duty=1023)  #Publiced: green
blu = PWM(Pin(19), duty=1023)  #Publiced: blue

#connect to wifi
wifi.do_connect(config.wifi_ssid, config.wifi_pass)

#Id unique machine
client_id = ubinascii.hexlify(machine.unique_id())


#controller LED
def setLed(valor):
    led.value(valor)
    if led.value() == 1:
        print("Led On")
    else:
        print("Led Off")


def setValor(porta, valor):
import oled
import wifi
import network
import time
import machine

ssid = "WUSI-601"
password = "******"

oled.text("connecting WIFI", 0, 0)
oled.show()
if (wifi.do_connect(ssid, password)):
    wlan = network.WLAN(network.STA_IF)
    status = wlan.ifconfig()
    oled.fill(0)
    oled.text("conneted", 0, 0)
    oled.text(status[0], 0, 8)
    oled.show()
else:
    oled.fill(0)
    oled.text("error", 0, 0)
    oled.text("not connected", 0, 8)
    oled.text("check ssid or pa", 0, 16)
    oled.text("ssword", 0, 24)
    oled.show()

time.sleep_ms(1000)
import dht
DHT = dht.DHT11(machine.Pin(12))
while (1):
    DHT.measure()
예제 #9
0
def _handle_post_wifi(httpClient, httpResponse):
    datas = httpClient.ReadRequestPostedFormData()
    if 'passwd' in datas and 'login' in datas:
        do_connect(datas['login'], datas['passwd'])
    _handle_get_wifi(httpClient, httpResponse)
예제 #10
0
# This file is executed on every boot (including wake-boot from deepsleep)

# import esp

# esp.osdebug(None)

import uos, machine

# uos.dupterm(None, 1) # disable REPL on UART(0)

import gc

from wifi import do_connect

# import webrepl

# webrepl.start()
do_connect()

gc.collect()







예제 #11
0
# boot.py - - runs on boot-up

import wifi

wifi.do_connect("fr3nchwifires", "....")
wifi.start_ap("mp_ap", "test1234")

print("+++++++  boot finished  +++++++++")

# nastaveni stanice (station - STA)  a pripojeni k routeru
import wifi
wifi.do_connect(config_file="config.py")
print("IP adresa je: %s" % wifi.get_ip())
wifi.do_disconnect()

예제 #13
0
ap_if = network.WLAN(network.AP_IF)
sta_if.connect(red, clave)
cnt_boot = 0
cont = 0
print("antes")

while True:
    T = ((contador * 1.0) / 320)
    t = ((tot * 60) / 6.6166666667)
    try:
        data[label] = T
        data1[label1] = t
        print("Publishing data")
        publish_thingsboard(token, unique_id, data)
        #    publish_thingsboard(token, unique_id,data1)
        cnt_boot = 0
        contador = 0
        cont = 1
    except Exception as inst:
        print(inst)
        do_connect(red, clave)
        cnt_boot += 1
        cont += 1
        print("Fail {}".format(cnt_boot))
        if cont > 1:
            contador = contador
        if cnt_boot > 10:
            machine.reset()
        time.sleep(1)
    time.sleep(30)
예제 #14
0
def checkWifi(t):
    wifi.do_connect(False)
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import wifi
# pripojeni k wifi
# predpoklada konfiguracni soubor "config.py", ve kterem je na prvnim radku essid a na druhem heslo
wifi.do_connect(config_file="config.py")
import gc
import webrepl
webrepl.start()
gc.collect()
예제 #16
0
파일: main.py 프로젝트: wangminjia/NTPClock
tm = TM1639(DIO, CLK, STB)
buf1 = bytearray(16)
buf2 = bytearray(16)


def secondCallback(t):
    (year, month, day, hour, min, sec, wday, ss) = utime.localtime()
    tmp = '%02d%02d' % (hour, min)
    buf1[0] = tm.FONT[tmp[3]]
    buf1[1] = tm.FONT[tmp[2]]
    buf1[3] = tm.FONT[tmp[1]]
    buf1[8] = tm.FONT[tmp[0]]
    buf1[2] ^= 0x60
    tm.convert(buf1, buf2, 16)
    for i in range(16):
        tm.send_data(i, buf2[i])


def hourCallback(t):
    sntp.settime()


if __name__ == '__main__':
    wifi.do_connect()
    sntp.settime()
    tm.enable()
    t_sec = Timer(1)
    t_sec.init(period=1000, mode=Timer.PERIODIC, callback=secondCallback)
    t_hour = Timer(2)
    t_hour.init(period=3600000, mode=Timer.PERIODIC, callback=hourCallback)
        #data是传入的数据,len是平滑的长度
        self.data_sum = self.data_sum - self.data_list[0] + data
        self.data_list.pop(0)
        self.data_list.append(data)
        data = self.data_sum / len
        return data


data_list = [0, 0, 0, 0, 0]
'''
for i in range(5):
  acc_data = accelerometer.get_values()
  data_list.append(acc_data['AcX']/16384)
 '''
avgfiter = avg_fiter(data_list)
ip_addr = do_connect(host='42', password='******')


def conncb(task):
    print("[{}] Connected".format(task))


def disconncb(task):
    print("[{}] Disconnected".format(task))


def subscb(task):
    #print("[{}] Subscribed".format(task))
    pass

예제 #18
0
#carga de parametros desde archivo
f = open('Config.txt')
ATTR = ujson.loads(f.read())
ATTR_txt = ujson.dumps(ATTR)
PWM = int(ATTR.get('PWM'))
AVG = int(ATTR.get('Muestras Promedio'))
scan_rate = int(ATTR.get('Scan Rate'))
scan_state = ATTR.get('Scan status')
user = ATTR.get('mqtt_user')
pword = ATTR.get('mqtt_pword')
url = ATTR.get('mqtt_url')
wifi_ssid = ATTR.get('wifi_ssid')
wifi_pword = ATTR.get('wifi_pword')

f.close()
auxi = do_connect(wifi_ssid, wifi_pword)
print(auxi)
if auxi:

    #seteo de hora
    for i in range(0, 5):
        try:
            t = ntptime.time()
            i = 5
            FAIL_settime = 0
        except:
            print("error al configurar hora")  #volver a intentar cada tanto
            FAIL_settime = 1
    try:
        print(t)
    except: