增加服务器以运行任务
grown的Python项目详细描述
增长
基于传感器的平台,创建各种任务,除了收集数据。 基本的想法是获得一个固件,用于种植植物,将光照和水注入 微控制器的手。
要求
任何可用的micropython板或任何可以运行micropython的东西。
安装
更新和软件包安装都将通过UPIP提供。
import upip upip.install('grown')
启用软件和配置是用户的选择。 就像python中的webrepl在boot或main.py nesserry中添加一个激活调用一样 例如:
from grown import setup, run_grown router = setup() # add more tasks or add site to the router run_grown()
grown的设置将启动时间同步任务和WLAN配置。 运行后,将打开一个带有rest接口的web服务器,以更改每个任务的设置。
大摇大摆
你添加到路由器的每个操作和信息都是由grown提供的open api自动提供的。 我们使用swagger.ui作为描述,可以单独使用。 使用时只需在ui中浏览给定的链接 示例:
http:\\myiotdevice\swagger.json
这样在添加了所有控件之后,您就有了开发进一步视图或测试的良好基础 给定的参数。
数据控制
此模块用于记录来自传感器的超时数据。启用日志记录非常简单 函数返回一个dict,key作为名称和值。 这些函数称为超时,并将被记录。
示例:
from grown.data_control import add_data_control async def mydata(): return { "water": 0, "light": 0, } add_data_control(router, mydata)
灯光控制
每个工厂都需要照明,所以我们需要按时间表来控制。 我们至少需要两个功能,一个激活,一个关闭灯光。
示例:
from grown.light_control import add_light_control async def activate(): print("activate") async def deactivate(): print("deactivate") add_light_control(router, activate, deactivate)
日志记录
如果您想在日志中添加一些内容,因为您编写了自己的任务等等。 示例:
from grown.logging import grown_log grown_log.info('new entry')
它是来自logger的一个ulogging实例,添加了一个add,它不仅将数据记录到控制台 也可以到文件run_information.log。 这在调试日志术语错误时可能很方便。
存储
另一个内部因素是商店。它是一个最小的redux,也存储 文件系统的每次更新。
示例:
from grown.store import storage def _update_reducer(store_dict, data): return store_dict.update(data) storage.register_leaf( 'mydata', { }, _update_reducer ) leaf = storeage.get_leaf('mydata') leaf.update({'new_data': 3.0}) print(leaf.get())