MoaT的命令行
项目描述
莫阿特
"MoaT"是“万物大师”的缩写,这要么是雄心勃勃的,要么就是纯粹的自负。随便选一个。
如果您认为这个存储库包含与常规护城河相同的内容,即大量的质量可疑的水(加上城堡居民想要摆脱的任何东西),那么您可能离正确答案不远。
嗯,除了水。
说真的…
MoaT代码包含大量有偏见的代码,用于控制各种物联网设备。其中包括太阳能、灌溉、门对讲机等。
MoaT的核心是用任何IO兼容的异步Python3编写的,考虑到结构化并发原则。
卫星微控制器通常运行MicroPython,再次大量使用结构化异步代码:MicroPython支持taskgroups,如果您轻量级地修补它。
结构化什么?
结构化并发。
有关此内容的维基百科文章。
一个很好的Python介绍在这里。
存储库结构
MoaT代码使用git子模块构建,对应于独立的moat-XXX
包。
顶层模块包含MoaT的命令行前端。任何可以通过命令行合理控制的MoaT代码,都可以通过一个具有cli
对象的_main
模块与之连接,其中cli
对象应该是一个asyncclick
组(或命令)。
唯一的必选子模块是"util"。它包含大量半结构化辅助代码,其余的MoaT基础设施都依赖于这些代码。"moat-util"也有命令行;它作为构建你自己的扩展的便利示例,并导出一个时间到绝对日期计算器和msgpack编解码器。
模块
库
-
dbus:一个异步DBus客户端。
-
gpio:一个用于读写GPIO线的库。
-
modbus:一个具有自己观点的Modbus客户端和服务器库。
-
mqtt:一个MQTT代理,客户端库和客户端命令行前端。
-
wire:一个双向链路,用于交换结构化消息,具有串行和TCP后端。
-
micro:支持运行MicroPython的MoaT卫星
MoaT组件
-
main, util:见上文。
-
kv:分布式无主最终一致性键值存储。
-
ems:电池管理,光伏,……
-
src:MoaT源代码管理
MoaT-KV组件
Moat-KV是一个无主分布式键值存储系统。它具有抗分区能力,旨在始终在线。它不会在分区网络中阻塞或丢失更新;不一致的条目在重新连接后将重新同步。
"moat.kv"目前命名为"distkv"。计划转换为MoaT。
-
kv-akumuli:将数据存储到Akumuli,一个高效轻量级的时间序列数据库
-
kv-gpio:连接MoaT-KV和MoaT-GPIO
-
kv-hass:将MoaT-KV用作MQTT后端连接到Home Assistant
-
kv-inv:网络资产管理(主机、网络、VLAN、主机间的链路)
-
kv-knx:与KNX楼宇自动化网络的连接
-
kv-owfs:连接1wire传感器
-
kv-wago:WAGO 330控制器的初步接口
MoaT-EMS组件
EMS是“能源管理系统”的缩写。
-
ems-battery:电池管理
-
ems-inv:逆变器管理
-
ems-sched:储能调度
更多内容将陆续推出。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
moat-0.3.6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9468a79947c084cdef3f77d00b46b7750b6a1b397ee790ef9987b72f80139a93 |
|
MD5 | 01b639d0a0928322277b6157f971daa4 |
|
BLAKE2b-256 | c4a327b179645b7ef8a38dd3ecddac5b4f29a3615af9a331d53f56de5ea4d130 |
moat-0.3.6-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c054edb1c79fb03cbe469432b9a4a319876d74ffde9b88bdaee98086d830beff |
|
MD5 | 9de9845c2fe235b4961f2e6aa0bf7ba9 |
|
BLAKE2b-256 | 4c5d8fed0b46ea08b2ae05a639887734f412e5e00d2858a8953a6288416544c2 |