コード例 #1
0
def boot():
    print('\n\nStarting system\n-----------------------')
    wifi.ap_on()
    nsv.start()
    credentials_state, cred_ssid, cred_psw = wifi.get_credentials()

    while credentials_state == False:
        print('Getting credentials...')
        credentials_state, cred_ssid, cred_psw = wifi.get_credentials()
        sleep(1)
        pass

    sleep(1)

    wifi_connected = wifi.connect(cred_ssid, cred_psw)

    while wifi_connected == False:
        print("WIFI not ready. Wait...")
        sleep(1)
        pass

    print('Connection successful\n')
    print('Check for updates')
    if update.check('sys_info')[0] == True:
        print('\nSystem OUTDATED')
        update.system()
        print('\nSystem UPDATED')
        print('\nRestarting system\n-----------------------\n\n')
        machine.reset()
    else:
        print('\nSystem up to date\nStart system')
        comv3.start(10)
コード例 #2
0
def st_server():
    print(blue + '\n\nStarting ST Server\n-----------------------')
    print('Check WiFi credentials\n')
    credentials_state, cred_ssid, cred_psw = wifi.get_credentials()

    while credentials_state == False:
        print('Getting credentials...')
        credentials_state, cred_ssid, cred_psw = wifi.get_credentials()
        sleep(1)
        pass

    print(green + 'Got WiFi credentials\n')
    wifi_connected = wifi.connect(cred_ssid, cred_psw)

    while wifi_connected == False:
        print("WIFI not ready. Wait...")
        sleep(2)
        pass

    print(green + 'Connection successful\n')

    while True:
        port = 80
        wlan_ip = network.WLAN(network.STA_IF).ifconfig()[0]

        st_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        st_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        st_socket.bind((wlan_ip, port))
        st_socket.listen(2)
        print('\nSocket now listening on', str(wlan_ip) + ':' + str(port))
        while True:
            gc.collect()
            client, address = st_socket.accept()

            ip, port = str(address[0]), str(address[1])
            print('\n{')
            print(green + 'Connection from ' + ip + ':' + port)
            try:
                th_new(handle_client, (client, ip, port))
            except:
                print('error creating handle_client thread')
        st_socket.close()
        print('st_socket closed')
コード例 #3
0
async def start(loop_delay):
    await asyncio.sleep(.1)
    print(color.yellow() + 'wifi state running' + color.normal())
    while True:
        cd_state, cd_ssid, cd_pw = wifi.get_credentials()

        st_wlan = network.WLAN(network.STA_IF)
        wifi_st = st_wlan.isconnected()

        server_list = sys_info.get('server_list')
        data_server = sys_info.get('data_server')
        cam_server = sys_info.get('cam_server')
        git_sys_info = sys_info.get('git_sys_info')

        sys_info.set('wifi', wifi_st)
        if wifi_st == False:
            if cd_state == True:
                print('Connecting to:', cd_ssid, cd_pw)
                st_wlan.active(True)
                st_wlan.connect(cd_ssid, cd_pw)
            else:
                print('Waiting for Wifi Credentials')
        else:
            if git_sys_info == '':
                sys_info.set('git_sys_info', sys_info.git_info())
                if update.check('sys_info')[0] == True:
                    print('\nSystem OUTDATED')
                    update.system()
                    print('\nSystem UPDATED')
                    print('\nRestarting system\n-----------------------\n\n')
                    machine.reset()
                else:
                    print('\nSystem updated\nStart system')

            if server_list == 'null':
                try:
                    server_request = update.read_remote(
                        'server_list',
                        sys_info.get('esp_sys_info')['git_url'])
                    server_list = json.loads(server_request.text)
                    data_host, data_port = server_list['data_host'][0].split(
                        ':')
                    cam_host, cam_port = server_list['cam_host'][0].split(':')

                    sys_info.set('server_list', server_list)
                    sys_info.setd('data_server', 'host', data_host)
                    sys_info.setd('data_server', 'port', data_port)
                    sys_info.setd('cam_server', 'host', cam_host)
                    sys_info.setd('cam_server', 'port', cam_port)
                except:
                    sys_info.reset()
            # if data_server['timeout'] != 0:
            # sys_info.set('server_list','null')
            # sys_info.setd('data_server','timeout',0)
        await asyncio.sleep(loop_delay)
コード例 #4
0
def boot():
  print('\n\nStarting system\n-----------------------')
  print('Check WiFi credentials')
  credentials_state, cred_ssid, cred_psw = wifi.check_credentials()
  if credentials_state == True:
    print('Credentials true, connect to WIFI')
    wifi_state = wifi.connect(cred_ssid,cred_psw)
    if wifi_state == True:
      print('Check for updates')
      if update.check('sys_info')[0] == True:
        print('\nSystem OUTDATED')
        update.system()
        print('\nSystem UPDATED')
        print('\nRestarting system\n-----------------------\n\n')
        machine.reset()
      else:
        print('\nSystem up to date\nStart system')
        system.start()
  else:
    wifi.get_credentials()
コード例 #5
0
def get_index():
    scan_list = wifi.get_networks()

    tr_swap = ""
    tr_format = """
    <tr>
        <td onclick="set_ssid(this)">$ssid</td>
        <td class=$signal_state style="width:120px">$signal_state</td>
    </tr>
    """
    if len(scan_list) != 0:
        for wifi_net in scan_list:
            net_signal = int(str(wifi_net[3]).replace('-', ''))
            net_ssid = str(wifi_net[0]).replace("b'", '')
            net_ssid = net_ssid.replace("'", '')
            signal_state = ''
            if net_signal <= 66:
                signal_state = "Excelente"

            if net_signal >= 67:
                signal_state = "Buena"

            if net_signal >= 80:
                signal_state = "Mala"

            tr_done = tr_format.replace('$ssid', net_ssid).replace(
                '$signal_state', signal_state)
            tr_swap = tr_swap + tr_done

    device_id = machine_data.get_key('id')
    user_id = machine_data.get_key('user')
    user_psw = machine_data.get_key('psw')
    credentials_state, cred_ssid, cred_psw = wifi.get_credentials()
    print(tr_swap)
    gc.collect()
    file = open('/www/index.html', 'r')
    chtml = file.read()
    chtml = chtml.replace('$tr_swap',
                          tr_swap).replace('$cred_ssid', cred_ssid).replace(
                              '$cred_psw', cred_psw)
    chtml = chtml.replace('$device_id', device_id).replace('$user_id', user_id)
    file.close()
    html = hdr['html'].replace('$html', chtml)
    return html
コード例 #6
0
def create_html():
    print('\n\nget_networks')
    scan_list = wifi.get_networks()

    tr_swap = ""
    tr_format = """
    <tr>
        <td onclick="set_ssid(this)">$ssid</td>
        <td class=$signal_state style="width:120px">$signal_state</td>
    </tr>
    """
    if len(scan_list) != 0:
        for wifi_net in scan_list:
            net_signal = int(str(wifi_net[3]).replace('-', ''))
            net_ssid = str(wifi_net[0]).replace("b'", '')
            net_ssid = net_ssid.replace("'", '')
            signal_state = ''
            if net_signal <= 66:
                signal_state = "Excelente"

            if net_signal >= 67:
                signal_state = "Buena"

            if net_signal >= 80:
                signal_state = "Mala"

            tr_done = tr_format.replace('$ssid', net_ssid).replace(
                '$signal_state', signal_state)
            tr_swap = tr_swap + tr_done

    credentials_state, cred_ssid, cred_psw = wifi.get_credentials()
    print(tr_swap)
    gc.collect()
    file = open('/structure/index.html', 'r')
    chtml = file.read()
    chtml = chtml.replace('$tr_swap',
                          tr_swap).replace('$cred_ssid', cred_ssid).replace(
                              '$cred_psw', cred_psw)
    file.close()
    return chtml
コード例 #7
0
    time.sleep(2)
    wc += 1
    if wc >= 5:
        break

if not cr:
    print("Camera not ready. Can't continue!")
else:
    file = open('/structure/logo.png', 'r')
    logo_img = file.read()
    file.close()

    wifi.start()
    sleep(1)
    wifi.set_credentials('1255,12551255')
    credentials_state, cred_ssid, cred_psw = wifi.get_credentials()

    while credentials_state == False:
        print('Getting credentials...')
        credentials_state, cred_ssid, cred_psw = wifi.get_credentials()
        sleep(1)
        pass

    sleep(1)

    wifi_connected = wifi.connect(cred_ssid, cred_psw)

    while wifi_connected == False:
        print("WIFI not ready. Wait...")
        sleep(2)
        pass