使用 Neo4j 作为 Raspberry Pi 上的物联网数据存储

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

上周末,一场大风和暴雨席卷了我居住的俄勒冈州西北部。

通常我不太注意气压计,但我在写这篇博文时注意到我的一个互联网东西在 2015 年 8 月 29 日星期六清晨捕获了暴风雨的开始。

这是它的样子:



下面是风暴过后第二天的另一个数据快照。在夏天,当空调启动时,我看到像这样的锯齿状图案,因为空调会降低温度,然后慢慢上升。

捕获这些数据的是远离控制空调的恒温器的几个房间,我认为这在某种程度上解释了下午晚些时候峰谷的下降模式。




用于生成这些图表的所有数据都被捕获并存储在运行在树莓派 2 和我家类似 (arm7) 硬件上的 neo4j 中。


我的新物联网项目:折叠

一年多以前,我在 oscon 2014 上遇到了 michael hunger,并聊了聊我对 neo4j 的 物联网 实验 。他鼓励我在 neo4j 博客上写一篇客座文章。现在,在完全重写了我的物联网中心软件之后,我终于要写这篇文章了。

我的新项目 fold 旨在探索物联网的反趋势,我称之为“以局域网为中心的物联网”。

主要趋势(据我估计)是以云为中心的物联网,其中设备由云服务管理。以局域网为中心的物联网假设局域网上的少量树莓派可以充当一种家庭规模的云,将大部分网络和数据保持在本地。

上面的图表和下面的图形可视化是在树莓派类机器上生成的(通过折叠调用 gnuplot 和 graphviz 子进程),而不是将数据传递给类似 google charts 的东西(一个很棒的服务,但以云为中心)。

fold 如何使用时间树来组织物联网数据

我最近加入了几个 neo4j 松弛组 并注意到 有关时间树的讨论 。 fold 使用时间树的变体来组织物联网传感器数据以及与运行 fold 的事物相关的其他事件。

下图显示了 fold 如何将时间从几年缩小到几分钟。代表传感器数据事件的节点链接到它们发生的时间。传感器数据节点以毫秒为单位存储事件时间,这允许显示在同一分钟内发生的事件的顺序。



fold 在这一点上是非常好的阿尔法质量,因为它是一个业余项目,我在时间允许的情况下,随着我家里 东西的 积累而工作。

我认为如果您正在探索物联网(获得 rpi2?),特别是如果您了解 java 和 eclipse,其他 neo4j 用户可能会对 fold 感兴趣。通过创建带有 折叠通道扩展点的 插件可以很容易地 扩展折叠

我会观看 #share-your-project slack 频道 并尝试回答任何人关于弃牌的问题。

注意:这篇文章是由客座撰稿人克里斯戴利撰写的。作为社区内容,本文仅代表作者个人观点,不代表neo4j官方立场。