pico web-web-pico框架的一个示例web应用程序。(从原始烧瓶上移植)
notes-pico的Python项目详细描述
notes pico是一个简单的笔记web应用程序。原来是 查尔斯·莱弗写的一个演示如何写一个简单,但圆滑 使用flask web微框架的web应用程序。应用程序是 在博客中描述 http://charlesleifer.com/blog/saturday-morning-hack-a-little-note-taking-app-with-flask/ 是的。notes pico是此应用程序到 [pico web](https://github.com/pfalcon/picoweb/)web pico框架 对于pycopy(https://github.com/pfalcon/pycopy),一个极简的python 实施。这是保罗·索科洛夫斯基的报告。
在pycopy“unix”版本上部署
要安装并运行应用程序,您应该安装pycopy “unix”端口,如https://github.com/pfalcon/pycopy所述。 一旦路径中有pycopy可执行文件(建议,但是 不完全必要),请将目录更改为要安装的位置 应用程序(~/tmp/应该适合快速测试)并安装 notes-pico包:
pycopy -m upip install -p app notes-pico
app(选项-p的参数)是要 安装应用程序。要运行应用程序,请执行:
MICROPYPATH=app pycopy -m notes_pico
这将初始化便笺存储并输出要在浏览器中打开的URL:
* Running on http://127.0.0.1:8081/
打开链接并开始添加注释(键入文本后按“添加注释” 按钮或按ctrl+enter)。请注意,picoweb端口的目的是 简单和低资源,因此只支持纯文本注释,不像 原始烧瓶应用。
在嵌入式pycopy目标上部署
notes pico也可以在“嵌入式”(微控制器)pycopy上运行 具有网络功能和适当堆大小(TBC)的目标。 因为notes pico是全堆栈应用程序,并且包含 很多代码,在这样的系统上部署它的唯一实际方法是 使用“冻结字节码”方法,其中预编译的python模块 使二进制固件映像的一部分在目标上闪烁。 下面的说明以pycopy esp8266端口为例。
- cd pycopy/ports/esp8266
- pycopy -m upip install -p modules notes-pico
- make
- make deploy(有关更多参数,请参阅目录中的自述文件)
- 启动ESP8266模块,在设备提示下运行以下命令。
- import notes_pico.__main__
- notes_pico.__main__.main(host="0.0.0.0")
- 使用网络浏览器连接到http://设备IP:8081,其中 设备IP是ESP8266设备的IP地址。(参考pycopy 用于网络连接设置的ESP8266端口文档。)
存储后端
notes pico支持3个存储后端:
- b树
- 文件系统
- sqlite3
作为pycopy微控制器可移植性的第一步 版本,从pypi安装的包的默认后端 通过上一节中的命令是btree数据库。这个 注释存储在当前的notes.db数据库文件中 目录,berkeleydb 1.x格式。
如果您想尝试filesystem/sqlite3后端,则需要 签出https://github.com/pfalcon/notes-pico并编辑文件 notes_pico/config.py。存储库很方便 生成文件以安装依赖项并运行应用程序,类似于 达到上述命令的效果。
已知问题和限制
如上所述,应用程序的picoweb端口仅支持 纯文本注释,无格式、图像或视频。
嵌入式目标支持是实验性的,添加在0.8版中。