示例#1
0
def webserver_start():
    global scanlist
    from microWebSrv import MicroWebSrv

    lcd.clear()
    lcd.setCursor(0, 0)
    ssid_name = "M5Stack-" + node_id[-4:]
    wlan_ap.active(True)
    wlan_ap.config(essid=ssid_name, authmode=network.AUTH_OPEN)
    addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
    print('WiFi AP WebServer Start!')
    print('Connect to Wifi SSID:' + ssid_name)
    print('And connect to esp via your web browser (like 192.168.4.1)')
    print('listening on', addr)
    lcd.image(0, 0, '/flash/img/1-1.jpg', type=lcd.JPG)
    lcd.font(lcd.FONT_DejaVu24)
    lcd.setTextColor(lcd.BLACK, lcd.WHITE)
    lcd.print('Wi-Fi SSID', 150, 145, lcd.BLACK)
    lcd.print(ssid_name, 125, 170, lcd.RED)
    webserver = MicroWebSrv(routeHandlers=routeHandlers)
    scanlist = wlan_sta.scan()
    if not wlan_sta.active():
        wlan_sta.active(True)
    while True:
        if len(wlan_ap.status('stations')) > 0:
            break
        time.sleep_ms(200)
    lcd.image(0, 0, '/flash/img/1-2.jpg', type=lcd.JPG)
    webserver.Start(threaded=False)
def _httpHandlerTestPost(httpClient, httpResponse):
    formData = httpClient.ReadRequestPostedFormData()
    firstname = formData["firstname"]
    lastname = formData["lastname"]
    content = """\
	<!DOCTYPE html>
	<html lang=en>
		<head>
			<meta charset="UTF-8" />
            <title>OHS Badge Configuration Post</title>
        </head>
        <body>
            <h1>Name sent to badge</h1>
            Firstname = %s<br />
            Lastname = %s<br />
        </body>
    </html>
	""" % (MicroWebSrv.HTMLEscape(firstname), MicroWebSrv.HTMLEscape(lastname))
    httpResponse.WriteResponseOk(headers=None,
                                 contentType="text/html",
                                 contentCharset="UTF-8",
                                 content=content)
    writeName(firstname, lastname)

    epd.set_rotate(gxgde0213b1.ROTATE_90)
    namestr = firstname + "\n" + lastname
    epd.clear_frame(fb)
    epd.G_display_string_at(fb, 0, 0, namestr, G_FreeSans24pt7b, 1,
                            gxgde0213b1.COLORED)
    epd.display_frame(fb)
    goto_deepsleep()
示例#3
0
    def run(self, app_config):
        self.led = machine.Pin(app_config['led'], machine.Pin.OUT)

        # Camera resilience - if we fail to init try to deinit and init again
        if app_config['camera'] == 'ESP32-CAM':
            camera.init(0, format=camera.JPEG)  #ESP32-CAM

        elif app_config['camera'] == 'M5CAMERA':
            camera.init(0,
                        d0=32,
                        d1=35,
                        d2=34,
                        d3=5,
                        d4=39,
                        d5=18,
                        d6=36,
                        d7=19,
                        href=26,
                        vsync=25,
                        reset=15,
                        sioc=23,
                        siod=22,
                        xclk=27,
                        pclk=21)  #M5CAMERA
        camera.framesize(self.framesize)

        mws = MicroWebSrv(routeHandlers=self.routeHandlers, webPath="www/")
        mws.Start(threaded=True)
        gc.collect()
示例#4
0
def _httpHandlerFinish(httpClient, httpResponse) :
  f = open( web_dir + 'config_1.html', 'r')
  content = str(f.read())
  f.close()
  
  content += str("Reset Wifi Settings to Default")
  
  f = open( web_dir + 'config_2.html', 'r')
  content += str(f.read())
  f.close()

  httpResponse.WriteResponseOk( headers         = None,
                                contentType     = "text/html",
                                contentCharset  = "UTF-8",
                                content         = content )
  print("User hit the RESET Page.")
  try:
    config = wifi_config.readConfig(wifi_config_file)
    custom_message = config["custom_message"]
  except OSError:
    custom_message = default_custom_message
  config_data = {'ssid': MicroWebSrv.HTMLEscape(default_ssid), 'password': MicroWebSrv.HTMLEscape(default_password), 'custom_message': MicroWebSrv.HTMLEscape(custom_message)}
  
  f = open(wifi_config_file, "w")
  json = ujson.dumps(config_data)
  f.write(json)
  f.close()
示例#5
0
def _httpHandlerConfigurePost(httpClient, httpResponse) :
  formData  = httpClient.ReadRequestPostedFormData()
  ssid  = formData["ssid"]
  password  = formData["password"]
  custom_message = formData["custom_message"]
  f = open( web_dir + 'config_1.html', 'r')
  content = str(f.read())
  f.close()
  
  config_data = {'ssid': MicroWebSrv.HTMLEscape(ssid), 'password': MicroWebSrv.HTMLEscape(password), 'custom_message': MicroWebSrv.HTMLEscape(custom_message)}

  content += str(config_data)
  
  f = open( web_dir + 'config_2.html', 'r')
  content += str(f.read())
  f.close()
  
  httpResponse.WriteResponseOk( headers         = None,
                                contentType     = "text/html",
                                contentCharset  = "UTF-8",
                                content         =  content)

  f = open(wifi_config_file, "w")
  json = ujson.dumps(config_data)
  f.write(json)
  f.close()
  print("User POSTED settings to /configure")
  print("Wrote the following to " + wifi_config_file + "\n" + json)
示例#6
0
def _httpHandlerTestPost(httpClient, httpResponse):
    formData = httpClient.ReadRequestPostedFormData()
    print(httpResponse)
    print("/test/post de data con: ", formData)
    flujo = formData["FLUJO"]
    corriente = formData["CORRIENTE"]
    content = """\
	<!DOCTYPE html>
	<html lang=en>
		<head>
			<meta charset="UTF-8" />
            <title>TEST POST</title>
        </head>
        <body>
            <h1>TEST POST</h1>
            Flujo = %s<br />
            Corriente = %s<br />
        </body>
    </html>
	""" % (MicroWebSrv.HTMLEscape(flujo), MicroWebSrv.HTMLEscape(corriente))

    httpResponse.WriteResponseOk(headers=None,
                                 contentType="text/html",
                                 contentCharset="UTF-8",
                                 content=content)
示例#7
0
def _httpHandlerTestPost(httpClient, httpResponse):
    formData = httpClient.ReadRequestPostedFormData()
    display0 = formData["display0"]
    display1 = formData["display1"]
    display2 = formData["display2"]
    display3 = formData["display3"]

    db[b"display0"] = str.encode(display0)
    db[b"display1"] = str.encode(display1)
    db[b"display2"] = str.encode(display2)
    db[b"display3"] = str.encode(display3)
    db.flush()

    content = """\
	<!DOCTYPE html>
	<html lang=fr>
		<head>
			<meta charset="UTF-8" />
            <title>Settings saved</title>
        </head>
        <body>
            <h1>Settings saved</h1>
            Display0 = %s<br />
            Display1 = %s<br />
            Display2 = %s<br />
            Display3 = %s<br />
        </body>
    </html>
	""" % (MicroWebSrv.HTMLEscape(display0), MicroWebSrv.HTMLEscape(display1),
        MicroWebSrv.HTMLEscape(display2), MicroWebSrv.HTMLEscape(display3))
    httpResponse.WriteResponseOk(headers=None,
                                 contentType="text/html",
                                 contentCharset="UTF-8",
                                 content=content)
def webserver_start():
	global scanlist
	#lcd.clear()
	#lcd.setCursor(0, 0)
	# wlan_ap.eventCB(wlan_ap_cb)
	wlan_ap.active(True)
	# node_id = ubinascii.hexlify(machine.unique_id())
	ssid_name = "M5Stack-" + node_id[-4:]
	# #lcd.font(#lcd.FONT_Comic, transparent=True)
	# #lcd.print(ssid_name, 0, 0, #lcd.RED)
	wlan_ap.config(essid=ssid_name, authmode=network.AUTH_OPEN)
	addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
	print('WiFi AP WebServer Start!')
	print('Connect to Wifi ssid:'+ssid_name)
	print('And connect to esp via your web browser (like 192.168.4.1)')
	print('listening on', addr)
	#lcd.println('Connect to Wifi ssid:'+ssid_name)
	#lcd.println('via your web browser: 192.168.4.1')
	#lcd.println('listening on'+str(addr))
	if not wlan_sta.active():
		wlan_sta.active(True)
	scanlist = wlan_sta.scan()
	from microWebSrv import MicroWebSrv
	webserver = MicroWebSrv(routeHandlers=routeHandlers)
	webserver.Start(threaded=False)
示例#9
0
def _httpHandlerTestPost(httpClient, httpResponse):
    formData = httpClient.ReadRequestPostedFormData()
    devadd = formData["devadd"]
    nwskey = formData["nwskey"]
    appkey = formData["appkey"]
    content = """\
    <!DOCTYPE html>
    <html lang=en>
	<head>
		<meta charset="UTF-8" />
		<title>AlphaX MHM Configuration Page</title>
		<link rel="stylesheet" href="style.css" />
	</head>
	<body style="min-width: 480px;text-align: center">
		<div style="text-align: center;padding-top: 10px">
			<img src="ax_logo.png" />
			<h1>MHM4 LoRaWAN ABP Configuration</h1>
		</div><br>
        <div style="max-width:480px;padding:10px;margin: auto;text-align: center">
	    <form action="" method="post" accept-charset="ISO-8859-1">
		<div style="padding:10px;text-align: center">
			<label style="font-size:11px">Device Address: </label>
			<input type="text" name="devadd" style="color:#fff" value="%s" disabled>
		</div>
           <div width="480px" style="padding:10px;text-align: center">
			<label style="font-size:11px">Network Session Key: </label>
			<input type="text" name="nwskey" style="color:#fff" value="%s" disabled>
		</div>
		<div  style="padding:10px;text-align: center">
			<label style="font-size:11px">App Session KEY: </label>
			<input type="text" name="appkey" style="color:#fff" value="%s" disabled>
		</div>
		<div  style="padding:10px;">
			<h5 style="color:green">Success. Device will reboot Now.</h5> 
		</div>	
	</form>
	<br>
		<p style="font-size:9px">If you wish to connect via ABP (which is the recommended method) the network will provide you with a Device ID, Network Key and Application Key. The former identifies what application your device is connecting to, the latter is a shared secret key unique to your device to generate the session keys that prove its identity on the network. </p>
		<br />
	</div>
	</body>
    </html>
    """ % (MicroWebSrv.HTMLEscape(devadd), MicroWebSrv.HTMLEscape(nwskey),
           MicroWebSrv.HTMLEscape(appkey))
    httpResponse.WriteResponseOk(headers=None,
                                 contentType="text/html",
                                 contentCharset="UTF-8",
                                 content=content)

    f = open('/flash/config.py', 'w')
    f.write('#############################################\n')
    f.write('####### sys generated file do not edit ######\n')
    f.write('#############################################\n')
    f.write('devadd = "' + str(devadd) + '"\n')
    f.write('nwskey = "' + str(nwskey) + '"\n')
    f.write('appkey = "' + str(appkey) + '"\n')
    f.close()

    machine.reset()
示例#10
0
def main():
    import uos
    import json
    import time
    import _thread

    import network
    from m5stack import lcd, buttonA
    from microWebSrv import MicroWebSrv
    from micropython import const

    def wifiCheck():
        sta_if = network.WLAN(network.STA_IF)
        if sta_if.active() == False:
            sta_if.active(True)
            wifi = json.load(open('/flash/etc/wlan.json', 'r'))
            ssid = wifi['wifi']['ssid']
            pwd = wifi['wifi']['password']
            sta_if.connect(ssid, pwd)
            while sta_if.ifconfig()[0] == '0.0.0.0':
                time.sleep(.5)

            lcd.println('Connect to WLAN.')

    def __acceptWebSocketCallback(webSocket, httpClient):
        print("WS ACCEPT")
        webSocket.SendText(json.dumps(['login', 'SyncSyncSync']))
        webSocket.RecvTextCallback = __recvTextCallback
        # webSocket.RecvBinaryCallback = self.__recvBinaryCallback
        # webSocket.ClosedCallback = self.__closedCallback

    def __recvTextCallback(webSocket, msg):
        msg = eval(msg)
        # ['command', 'parameter']
        cmd = msg[0]
        para = msg[1]
        print('Receive command: %s' % cmd)
        if cmd == 'ls':
            webSocket.SendText(json.dumps(['ls', uos.listdir()]))
        elif cmd == 'cd':
            uos.chdir(para)
            webSocket.SendText(json.dumps(['cd', uos.listdir()]))
        elif cmd == 'get':
            with open(para, 'r') as o:
                webSocket.SendText(json.dumps(['get', o.read()]))
        elif cmd == 'post':
            with open(para, 'w') as o:
                o.write(msg[2])
            webSocket.SendText(json.dumps(['post', 1]))

    wifiCheck()
    ws = MicroWebSrv(port=8000)
    ws.MaxWebSocketRecvLen = 256
    # ws.WebSocketThreaded = False
    ws.AcceptWebSocketCallback = __acceptWebSocketCallback
    ws.Start(threaded=False)
示例#11
0
    def start_app(self, write_func, get_func):
        """
    Функция запуска веб-приложения.
    На вход принимает 2 функции.
    1. Функция записи данных. Должна иметь 3 аргумента:
      1) Частота опроса датчиков
      2) Новый датчик добавляемый в список
      3) Датчик удаляемый из списка
    2. Функция чтения данных. Должна возвращать 2 значения:
      1) Частота опроса датчиков
      2) Список адресов датчиков в памяти

    У веб-приложения 2 маршрута:
    1. Форма
    2. Обработчик формы
    Их нельзя объединить из-за особенности библиотеки
    """
        from microWebSrv import MicroWebSrv

        # Форма
        @MicroWebSrv.route('/')
        def handlerFuncGet(httpClient, httpResponse):
            frequency, clients = get_func()
            clients_list = 'Clients:<br>'
            for client in clients:
                clients_list += client + '<br>'
            httpResponse.WriteResponseOk(headers=None,
                                         contentType="text/html",
                                         contentCharset="UTF-8",
                                         content=self.page1.format(
                                             frequency, clients_list))

        # Обработчик формы
        @MicroWebSrv.route('/post', 'POST')
        def post_data(httpClient, httpResponse):
            formData = httpClient.ReadRequestPostedFormData()
            if formData['frequency']:
                try:
                    frequency = int(formData['frequency'])
                    write_func(frequency, formData['add_client'],
                               formData['remove_client'])
                except:
                    pass

            httpResponse.WriteResponseOk(headers=None,
                                         contentType="text/html",
                                         contentCharset="UTF-8",
                                         content=self.page2)

        # MicroWebSrv.SetNotFoundPageUrl('/')
        mws = MicroWebSrv()
        # Приложение запускается как отдельный поток
        mws.Start(threaded=True)
示例#12
0
文件: http.py 项目: wfrules/car32
    def start(self):
        @MicroWebSrv.route('/cmd', 'POST')
        def httpHandlerCmd(httpClient, httpResponse):
            sCmd = self.getParams(httpClient, 'cmd')
            print(sCmd)

        @MicroWebSrv.route('/sync', 'POST')
        def httpHandlerSync(httpClient, httpResponse):
            print('sync')

        mws = MicroWebSrv()
        mws.Start()
def start(_sdb):
    global dns, web, sdb
    sdb = _sdb
    ## Starting Wifi Access Poijnt
    wlan.active(1)
    ## Setting Up Capitve portal
    ip = wlan.ifconfig()[0]
    dns = MicroDNSSrv()
    web = MicroWebSrv()
    web.SetNotFoundPageUrl("http://my-fajr-clock.wifi/status")
    dns.SetDomainsList({"*": ip})
    dns.Start()
    web.Start(True)
示例#14
0
def _httpHandlerTestPost(httpClient, httpResponse):

    formData = httpClient.ReadRequestPostedFormData()
    firstname = formData["firstname"]
    lastname = formData["lastname"]

    content = CONTENT_TEST_POST % (MicroWebSrv.HTMLEscape(firstname),
                                   MicroWebSrv.HTMLEscape(lastname))

    httpResponse.WriteResponseOk(headers=None,
                                 contentType="text/html",
                                 contentCharset="UTF-8",
                                 content=content)
def start_web_server():
    global ipaddress
    epd.display_string_at(fb, 0, 60, "Connect to badge AP to configure.",
                          font12, gxgde0213b1.COLORED)
    epd.display_string_at(fb, 0, 72, "Enter this URL in your browser:", font12,
                          gxgde0213b1.COLORED)
    epd.display_string_at(fb, 0, 84, "http://" + ipaddress + "/setup", font12,
                          gxgde0213b1.COLORED)
    epd.display_frame(fb)
    srv = MicroWebSrv(webPath='www/')
    srv.MaxWebSocketRecvLen = 256
    srv.WebSocketThreaded = False
    #srv.AcceptWebSocketCallback = _acceptWebSocketCallback
    srv.Start(threaded=False)
def network_connect():
    sta_if = network.WLAN(network.STA_IF)
    sta_if.active(True)

    ssid = ConfigFile.get('wifi', {}).get('ssid')
    if ssid:
        sta_if.connect(ssid, ConfigFile.get('wifi', {}).get('pwd'))

    if not wifi_connected(sta_if):
        ap = network.WLAN(network.AP_IF)  # create access-point interface
        ap.active(True)  # activate the interface
        ap.config(essid='micropython_ap')  # set the ESSID of the access point

        @MicroWebSrv.route('/aps', 'GET')
        def scan_ap(http_client, http_response):
            sta_if.active(True)
            ap_list = sta_if.scan()
            http_response.WriteResponseJSONOk([ap[0] for ap in ap_list])

        @MicroWebSrv.route('/connect', 'POST')
        def connect(http_client, http_response):
            params = json.loads(http_client.ReadRequestContent())
            ssid = params.get('ssid')
            if not ssid:
                http_response.WriteResponseJSONOk({
                    'Success': False,
                    'Message': 'ssid不能为空!'
                })
                return
            sta_if = network.WLAN(network.STA_IF)
            sta_if.active(True)
            sta_if.connect(ssid, params.get('pwd'))  # Connect to an AP
            if wifi_connected(sta_if):
                print('connect success!')
                wifi_config = ConfigFile.get('wifi', {})
                wifi_config['ssid'] = ssid
                wifi_config['pwd'] = params.get('pwd')
                ConfigFile.set('wifi', wifi_config)
                machine.reset()
            http_response.WriteResponseJSONOk({
                'Success': False,
                'Message': '连接失败!'
            })

        srv = MicroWebSrv(webPath='/templates/')
        srv.MaxWebSocketRecvLen = 256
        srv.WebSocketThreaded = False
        srv.Start()
示例#17
0
def _httpHandlerTestPost(httpClient, httpResponse):
    formData = httpClient.ReadRequestPostedFormData()
    status = formData["status"]
    content = """\
    <!DOCTYPE html>
    <html lang=en>
		<head>
			<meta charset="UTF-8" />
            <title>MODE SWITCH</title>
        </head>
        <body style="background-color: lightgrey; text-align: center;">
            <h1><b>===MODE SWITCH===</b></h1>
            Choice = %s<br />
        </body>
    </html>
	""" % (MicroWebSrv.HTMLEscape(status))
    httpResponse.WriteResponseOk(headers=None,
                                 contentType="text/html",
                                 contentCharset="UTF-8",
                                 content=content)

    if status == "mqtt":
        print(">>MQTT mode selected<<")
        mf = open("status.txt", "w")
        mf.write("yes")
        mf.close()
示例#18
0
def _httpHandlerTestPost(httpClient, httpResponse):
    formData = httpClient.ReadRequestPostedFormData()
    firstname = formData["firstname"]
    lastname = formData["lastname"]
    content = """\
	<!DOCTYPE html>
	<html lang=en><head><meta charset="UTF-8" /><title>TEST POST</title></head>
        <body><h1>TEST POST</h1>
	Firstname = %s<br />				# MicroWebSrv.HTMLEscape(firstname)
	Lastname = %s<br />				# MicroWebSrv.HTMLEscape(lastname)
	</body></html>
	""" % (MicroWebSrv.HTMLEscape(firstname), MicroWebSrv.HTMLEscape(lastname))
    # publie la page POST
    httpResponse.WriteResponseOk(headers=None,
                                 contentType="text/html",
                                 contentCharset="UTF-8",
                                 content=content)
示例#19
0
def httpserver_init():
    global server
    server = MicroWebSrv(webPath='www/')
    server.MaxWebSocketRecvLen = 256
    server.WebSocketThreaded = False
    server.AcceptWebSocketCallback = _acceptWebSocketCallback
    server.Start(threaded=False)
示例#20
0
def setup_web_server(accept_socket_cb):
    "Setup http webserver."

    mws = MicroWebSrv()
    mws.MaxWebSocketRecvLen = 256
    mws.WebSocketThreaded = False
    mws.AcceptWebSocketCallback = accept_socket_cb
    mws.Start()
示例#21
0
def main():
    ap = AccessPoint()
    srv = MicroWebSrv(webPath='www/')
    srv.MaxWebSocketRecvLen = 256
    srv.WebSocketThreaded = False
    srv.AcceptWebSocketCallback = _acceptWebSocketCallback
    srv.Start()

    del ap
示例#22
0
  def start(self):    
    self.wlan_sta.active(True)
    self.wlan_ap.active(True)

    self.wlan_ap.config(essid=self.ap_name, password=self.ap_password)

    routeHandlers = [
      ("/", "GET", self._httpHandlerIndexGet),
      ("/aplist", "GET", self._httpHandlerScanNetworks),
      ("/status", "GET", self._httpHandlerCheckStatus),
      ("/save", "POST",	self._httpHandlerSaveConfig)
    ]

    srv = MicroWebSrv(routeHandlers=routeHandlers)
    srv.Start(threaded=True)

    print('Now enter config mode')
    print('Connect to Wifi ssid :' + self.ap_name + ' , default pass: '******'And connect to Blocky via at 192.168.4.1')

    gc.collect()
    print(gc.mem_free())

    return True
    def init_webserver(self):
        def httpHandlerGETState(httpClient, httpResponse):
            httpResponse.WriteResponseJSONOk(   headers = None,
                                                obj = self.dev_state.get_state())

        def httpHandlerPOSTsearchOnewire(httpClient, httpResponse):
            if self.dev_state.onewire_interface is not None:
                try:
                    log('Request new search for one wire devices.')
                    one_wire_inf = self.dev_state.onewire_interface
                    one_wire_inf.interfacereset()
                    one_wire_inf.getallid()
                    one_wire_inf.checkdevices()

                    self.dev_state.clear_sensors()
                    one_wire_inf.update_state(self.dev_state)

                    log('Find {} devices.'.format(one_wire_inf.num_devices))
                    res = { "numDevices": one_wire_inf.num_devices }
                    httpResponse.WriteResponseJSONOk(   headers = None,
                                                        obj = res)
                except Exception as e:
                    sys.print_exception(e)
                    httpResponse.WriteResponseBadRequest()
            else:
                httpResponse.WriteResponseBadRequest()


        self.routeHandlers = [
            ( '/state', 'GET', httpHandlerGETState),
            ( '/search_onewire', 'POST', httpHandlerPOSTsearchOnewire)
        ]

        self.mws = MicroWebSrv(
            webPath='www/',
            routeHandlers=self.routeHandlers )
示例#24
0
    def start_app(self, write_func, get_func):
        """
    Функция запуска веб-приложения.
    На вход принимает 2 функции.
    1. Функция записи данных. Должна иметь 1 аргумент (адрес датчика)
    2. Функция чтения данных. Должна возвращать 1 значение (адрес датчика)

    У веб-приложения 2 маршрута:
    1. Форма
    2. Обработчик формы
    Их нельзя объединить из-за особенности библиотеки
    """
        from microWebSrv import MicroWebSrv

        # Форма
        @MicroWebSrv.route('/')
        def handlerFuncGet(httpClient, httpResponse):
            httpResponse.WriteResponseOk(headers=None,
                                         contentType="text/html",
                                         contentCharset="UTF-8",
                                         content=self.page1.format(get_func()))

        # Обработчик формы
        @MicroWebSrv.route('/post', 'POST')
        def post_data(httpClient, httpResponse):
            formData = httpClient.ReadRequestPostedFormData()
            write_func(formData['client'])
            httpResponse.WriteResponseOk(headers=None,
                                         contentType="text/html",
                                         contentCharset="UTF-8",
                                         content=self.page2)

        # MicroWebSrv.SetNotFoundPageUrl('/')
        mws = MicroWebSrv()
        # Приложение запускается как отдельный поток
        mws.Start(threaded=True)
示例#25
0
def start():    
    global gUart
    gUart = machine.UART(1, rx=14, tx=12)

    srv = MicroWebSrv(webPath='www/')

    #srv = MicroWebSrv(routeHandlers=routeHandlers, webPath='/www/')
    srv.MaxWebSocketRecvLen     = 256
    srv.WebSocketThreaded		= True #False
    srv.AcceptWebSocketCallback = _acceptWebSocketCallback
    srv.Start()
示例#26
0
文件: main.py 项目: mrjmd/PROTEST_BAR
def _httpHandlerTestPost(httpClient, httpResponse):
    formData = httpClient.ReadRequestPostedFormData()
    ssid = formData["ssid"]
    lines = ssid.split("\r")
    content = """\
	<!DOCTYPE html>
	<html lang=en>
		<head>
			<meta charset="UTF-8" />
            <title>TEST POST</title>
        </head>
        <body>
            <h1>WiFi Config</h1>
            SSID = %s<br />
        </body>
    </html>
	""" % (MicroWebSrv.HTMLEscape(ssid))
    httpResponse.WriteResponseOk(headers=None,
                                 contentType="text/html",
                                 contentCharset="UTF-8",
                                 content=content)
    def __init__(self, device=None, settings=None, storage=None):

        log.info('Setting up HTTP API')

        TerkinHttpApi.device = device
        TerkinHttpApi.settings = settings
        TerkinHttpApi.storage = storage
        TerkinHttpApi.headers = {
            # Work around troubles with CORS in development.
            'Access-Control-Allow-Origin': '*',

            # Put application name and version into HTTP headers.
            'Application-Name': TerkinHttpApi.device.application_info.name,
            'Application-Version':
            TerkinHttpApi.device.application_info.version,
        }

        # Conditionally initialize webserver.
        # TCP port 80 and files in /flash/www.
        # TODO: Make port and htdocs folder configurable.
        global webserver
        if webserver is None:
            webserver = MicroWebSrv()
        self.webserver = webserver
示例#28
0
def start_server(_relay=None, _dht11=None, _debugMode=False):
    """Run server at configured device"""
    print('Starting regular server...')

    global relay
    global dht11
    global srv
    global DEBUG_MODE

    if (_relay!=None and _dht11!=None):
        relay = _relay
        dht11 = _dht11
    DEBUG_MODE = _debugMode
    
    srv = MicroWebSrv(webPath='www/')
    srv.MaxWebSocketRecvLen = 256
    srv.WebSocketThreaded = True
    srv.AcceptWebSocketCallback = _acceptWebSocketCallback
    srv.Start(threaded=True)
示例#29
0
from microWebSrv import MicroWebSrv
import esp32

# ----------------------------------------------------------------------------


@MicroWebSrv.route('/temperature')
def _httpHandlerTempGet(httpClient, httpResponse):

    temp = (esp32.raw_temperature() - 32) * 5.0 / 9.0

    httpResponse.WriteResponseOk(headers=({
        'Cache-Control': 'no-cache'
    }),
                                 contentType='text/html',
                                 contentCharset='UTF-8',
                                 content="Temperatur ist: {}".format(temp))


srv = MicroWebSrv(webPath='www/')
srv.MaxWebSocketRecvLen = 256
srv.WebSocketThreaded = False
srv.Start()

# ----------------------------------------------------------------------------
示例#30
0
def _recvTextCallback(webSocket, msg):
    print("WS RECV TEXT : %s" % msg)
    webSocket.SendText("Reply for %s" % msg)


def _recvBinaryCallback(webSocket, data):
    print("WS RECV DATA : %s" % data)


def _closedCallback(webSocket):
    print("WS CLOSED")


# ----------------------------------------------------------------------------

# routeHandlers = [
#	( "/test",	"GET",	_httpHandlerTestGet ),
#	( "/test",	"POST",	_httpHandlerTestPost )
# ]

p = 80 if sys.platform == 'linux' else 8080
srv = MicroWebSrv(port=p, webPath='www/')
srv.MaxWebSocketRecvLen = 256
srv.WebSocketThreaded = True
srv.AcceptWebSocketCallback = _acceptWebSocketCallback
srv.Start(threaded=True)
while True:
    time.sleep(72000)

# ----------------------------------------------------------------------------