kopia lustrzana https://github.com/peterhinch/micropython-samples
PicoWeb guide now has no changes to Paul Sokolovsky's picoweb code.
rodzic
b0bd198c70
commit
0aabbda630
12
PICOWEB.md
12
PICOWEB.md
|
@ -5,8 +5,8 @@ This has regularly caused dificulty on the forum.
|
||||||
The target hardware is assumed to be running official MicroPython firmware.
|
The target hardware is assumed to be running official MicroPython firmware.
|
||||||
|
|
||||||
This repo aims to clarify the installation process. Paul Sokolovsky's Picoweb
|
This repo aims to clarify the installation process. Paul Sokolovsky's Picoweb
|
||||||
code is unchanged except for the name of the logging library. The demos are
|
code is unchanged. The demos are trivially changed to use IP '0.0.0.0' and port
|
||||||
trivially changed to use IP '0.0.0.0' and port 80.
|
80.
|
||||||
|
|
||||||
To install on a hardware platform such as ESP32 or Pyboard D it is necessary to
|
To install on a hardware platform such as ESP32 or Pyboard D it is necessary to
|
||||||
copy this directory and its contents (including subdirectories) to the target.
|
copy this directory and its contents (including subdirectories) to the target.
|
||||||
|
@ -16,7 +16,7 @@ issue
|
||||||
```
|
```
|
||||||
/my/tree/PicoWeb> rsync . /pyboard
|
/my/tree/PicoWeb> rsync . /pyboard
|
||||||
```
|
```
|
||||||
This may take some time.
|
This may take some time: 1 minute here on ESP32.
|
||||||
|
|
||||||
At the REPL connect to the network and determine your IP address
|
At the REPL connect to the network and determine your IP address
|
||||||
```
|
```
|
||||||
|
@ -88,7 +88,5 @@ path/to/repo> cp picoweb/templates/squares.tpl /pyboard/picoweb/templates/
|
||||||
|
|
||||||
See [the PicoWeb docs](https://github.com/pfalcon/picoweb)
|
See [the PicoWeb docs](https://github.com/pfalcon/picoweb)
|
||||||
|
|
||||||
Note that to run under official MicroPython, references to `ulogging` in these
|
Note that to run the demos on platforms other than the Unix build you may want
|
||||||
demos must be changed to `logging`. You may also want to change IP and port as
|
to change IP and port as above.
|
||||||
above.
|
|
||||||
|
|
||||||
|
|
|
@ -1,94 +0,0 @@
|
||||||
import sys
|
|
||||||
|
|
||||||
CRITICAL = 50
|
|
||||||
ERROR = 40
|
|
||||||
WARNING = 30
|
|
||||||
INFO = 20
|
|
||||||
DEBUG = 10
|
|
||||||
NOTSET = 0
|
|
||||||
|
|
||||||
_level_dict = {
|
|
||||||
CRITICAL: "CRIT",
|
|
||||||
ERROR: "ERROR",
|
|
||||||
WARNING: "WARN",
|
|
||||||
INFO: "INFO",
|
|
||||||
DEBUG: "DEBUG",
|
|
||||||
}
|
|
||||||
|
|
||||||
_stream = sys.stderr
|
|
||||||
|
|
||||||
class Logger:
|
|
||||||
|
|
||||||
level = NOTSET
|
|
||||||
|
|
||||||
def __init__(self, name):
|
|
||||||
self.name = name
|
|
||||||
|
|
||||||
def _level_str(self, level):
|
|
||||||
l = _level_dict.get(level)
|
|
||||||
if l is not None:
|
|
||||||
return l
|
|
||||||
return "LVL%s" % level
|
|
||||||
|
|
||||||
def setLevel(self, level):
|
|
||||||
self.level = level
|
|
||||||
|
|
||||||
def isEnabledFor(self, level):
|
|
||||||
return level >= (self.level or _level)
|
|
||||||
|
|
||||||
def log(self, level, msg, *args):
|
|
||||||
if level >= (self.level or _level):
|
|
||||||
_stream.write("%s:%s:" % (self._level_str(level), self.name))
|
|
||||||
if not args:
|
|
||||||
print(msg, file=_stream)
|
|
||||||
else:
|
|
||||||
print(msg % args, file=_stream)
|
|
||||||
|
|
||||||
def debug(self, msg, *args):
|
|
||||||
self.log(DEBUG, msg, *args)
|
|
||||||
|
|
||||||
def info(self, msg, *args):
|
|
||||||
self.log(INFO, msg, *args)
|
|
||||||
|
|
||||||
def warning(self, msg, *args):
|
|
||||||
self.log(WARNING, msg, *args)
|
|
||||||
|
|
||||||
def error(self, msg, *args):
|
|
||||||
self.log(ERROR, msg, *args)
|
|
||||||
|
|
||||||
def critical(self, msg, *args):
|
|
||||||
self.log(CRITICAL, msg, *args)
|
|
||||||
|
|
||||||
def exc(self, e, msg, *args):
|
|
||||||
self.log(ERROR, msg, *args)
|
|
||||||
sys.print_exception(e, _stream)
|
|
||||||
|
|
||||||
def exception(self, msg, *args):
|
|
||||||
self.exc(sys.exc_info()[1], msg, *args)
|
|
||||||
|
|
||||||
|
|
||||||
_level = INFO
|
|
||||||
_loggers = {}
|
|
||||||
|
|
||||||
def getLogger(name):
|
|
||||||
if name in _loggers:
|
|
||||||
return _loggers[name]
|
|
||||||
l = Logger(name)
|
|
||||||
_loggers[name] = l
|
|
||||||
return l
|
|
||||||
|
|
||||||
def info(msg, *args):
|
|
||||||
getLogger(None).info(msg, *args)
|
|
||||||
|
|
||||||
def debug(msg, *args):
|
|
||||||
getLogger(None).debug(msg, *args)
|
|
||||||
|
|
||||||
def basicConfig(level=INFO, filename=None, stream=None, format=None):
|
|
||||||
global _level, _stream
|
|
||||||
_level = level
|
|
||||||
if stream:
|
|
||||||
_stream = stream
|
|
||||||
if filename is not None:
|
|
||||||
print("logging.basicConfig: filename arg is not supported")
|
|
||||||
if format is not None:
|
|
||||||
print("logging.basicConfig: format arg is not supported")
|
|
|
@ -281,10 +281,10 @@ class WebApp:
|
||||||
|
|
||||||
def run(self, host="127.0.0.1", port=8081, debug=False, lazy_init=False, log=None):
|
def run(self, host="127.0.0.1", port=8081, debug=False, lazy_init=False, log=None):
|
||||||
if log is None and debug >= 0:
|
if log is None and debug >= 0:
|
||||||
import logging
|
import ulogging
|
||||||
log = logging.getLogger("picoweb")
|
log = ulogging.getLogger("picoweb")
|
||||||
if debug > 0:
|
if debug > 0:
|
||||||
log.setLevel(logging.DEBUG)
|
log.setLevel(ulogging.DEBUG)
|
||||||
self.log = log
|
self.log = log
|
||||||
gc.collect()
|
gc.collect()
|
||||||
self.debug = int(debug)
|
self.debug = int(debug)
|
||||||
|
|
|
@ -41,7 +41,7 @@ ROUTES = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
import logging
|
import ulogging as logging
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
#logging.basicConfig(level=logging.DEBUG)
|
#logging.basicConfig(level=logging.DEBUG)
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ def squares(req, resp):
|
||||||
yield from app.render_template(resp, "squares.tpl", (req,))
|
yield from app.render_template(resp, "squares.tpl", (req,))
|
||||||
|
|
||||||
|
|
||||||
import logging
|
import ulogging as logging
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
|
|
||||||
app.run(debug=True, host='0.0.0.0', port=80)
|
app.run(debug=True, host='0.0.0.0', port=80)
|
||||||
|
|
Ładowanie…
Reference in New Issue