跳转到主要内容

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 (9.4 kB 查看哈希值)

上传时间 源代码

构建分布

moat-0.3.6-py3-none-any.whl (6.8 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面