【EmonCMS】开源数据处理平台安装教程

news2025/4/27 3:46:13

EmonCMS 安装教程

    • 1.EmonCMS平台介绍:
    • 2. EmonCMS安装
      • 2.1在 Ubuntu中安装
      • 2.2.在树莓派中安装
    • 3.安装完毕

Emoncms是作为该项目的一部分开发的开源web应用程序,用于处理、记录和可视化能源、温度和其他环境数据。Emoncms从OpenEnergyMonitor监控硬件接收数据,并在emonPi/emonBase上本地安装。官网:通过网址访问(需要注册账户):https://emoncms.org

平台长这个样子:
在这里插入图片描述

1.EmonCMS平台介绍:

  1. Inputs:到达emoncms的数据首先注册为输入(这是自动的)。输入仅保存与传入数据关联的最新值和时间。每个输入都有一个关联的“节点”标识符和一个“键”子标识符。要记录历史数据,需要根据输入创建提要。Node,输入或提要的分组标识符;Key,每个节点内项目的子标识符

  2. Feeds:记录数据的地方,数据点的时间序列。emoncms使用的标准时间序列数据库是PHPFina和PHPTimeSeries,是作为emoncms项目的一部分创建的。

  3. 输入处理:在将结果记录到提要之前,能够对输入执行数学运算通常很有用。我们可以使用输入处理来校准输入,将输入相加、相减、相乘和相除,并将一种格式的输入处理为另一种格式,例如将输入功率值转换为累积kWh馈送。

  4. 设备:如果安装了emoncms设备模块(默认情况下包括在emonPi/emonBase上),则输入“节点”标识符将这些输入链接到设备。设备模块提供用于自动创建提要和应用输入处理的设备模板。

  5. feed:中记录的数据可以通过许多不同的工具可视化,以适应广泛的应用。

  6. Emoncms图形模块:Emoncms图形模块是标准的源数据查看器,可通过选择或单击源直接从Emoncms源页面访问。该界面提供了在一个图表上比较多个提要、计算平均值、每日值、每月值和年度值以及将数据导出为CSV的选项。使用此界面创建的图形可以保存并包含在Emoncms仪表板上。

  7. 可视化:Emoncms可视化早于图形模块,包括更广泛的不同可视化——其中一些可以使用图形模块进行复制,如“原始数据”、“条形图”和“多重图形”的许多方面。可视化也可以包含在仪表板中。

  8. 仪表板:Emoncms仪表板模块提供了一种使用各种小部件和图形的拖放界面构建自定义仪表板的方法。仪表盘可以公开。

  9. 应用程序:Emoncms应用程序模块提供预构建的特定于应用程序的仪表板,例如用于家庭能耗的MyElectric、用于家庭太阳能自耗可视化的MySolar和用于热泵性能分析的MyHeatchPump。

2. EmonCMS安装

此构建脚本可用于在基于debian的操作系统上构建成熟的emonCMS安装,包括:安装LAMP服务器和相关软件包、redis、MQTT、emonCMS核心、emonCMS模块,以及(如果适用)对串行端口和WiFi接入点的emonhub&RaspberryPi支持。

注意:安装过程需要从github上拉取大量文件,可能需要“科学上网”。否则可能会造成安装失败

2.1在 Ubuntu中安装

在Ubuntu中安装

wget https://raw.githubusercontent.com/openenergymonitor/EmonScripts/stable/install/init.sh
chmod +x init.sh && ./init.sh

执行完以上两句,中间会提示 "would like to review the build script before starting?",需要先修改设置,再继续安装,输入 y,根据提示继续操作:

cd /opt/openenergymonitor/EmonScripts/install/
nano config.ini

// 修改以下选项

user=[YOUR_UBUNTU_USERNAME]
emonSD_pi_env=0

install_emonhub=false

install_emoncms_emonpi_modules=false
install_firmware=false
install_emonpilcd=false
install_emonsd=false
install_wifiap=false

//然后执行
./main.sh

等待执行完毕即可,中间倘若提示 error,可能是git clone from github 失败,请使用 科学上网 的方式安装

2.2.在树莓派中安装

在树莓派中安装

  1. 准备SD卡,为树莓派安装一个系统

  2. 在本地电脑上打开SD卡的boot目录(可以使用USB读卡器)

  3. boot分区创建 ssh文件,使能ssh

  4. 将默认的 cmdline.txt 复制到 boot 分区中的 cmdline2.txt

  5. 编辑 cmdline.txt,并删除以下代码,作用是 这将阻止映像在首次启动时扩展以填充完整的 SD 卡大小。

    init=/usr/lib/raspi-config/init_resize.sh
    
  6. 添加wpa_supplicant.conf 文件,连接 WiFi

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=<Insert 2 letter ISO 3166-1 country code here>
    
    network={
     ssid="<Name of your wireless LAN>"
     psk="<Password for your wireless LAN>"
    }		
    
  7. 从您的 PC 中弹出 SD 卡。,将 SD 卡放入您的 RaspberryPi 并打开电源。 几分钟后,您将能够通过 SSH 连接到新的 Buster 映像,例如:ssh pi@192.168.1.100

  8. 安装修改后的init_resize.sh并恢复旧的 cmdline.txt。 这将在下次重新启动时设置 SD 卡分区。

    wget https://raw.githubusercontent.com/openenergymonitor/EmonScripts/stable/install/init_resize.sh
    chmod +x init_resize.sh
    sudo mv init_resize.sh /usr/lib/raspi-config/init_resize.sh
    sudo mv /boot/cmdline2.txt /boot/cmdline.txt
    sudo reboot			
    
  9. 完成文件系统调整大小并格式化数据分区:(耗时较长)

    sudo resize2fs /dev/mmcblk0p2
    sudo mkfs.ext2 -b 1024 /dev/mmcblk0p3
    
  10. 更新 fstab 以包含数据分区

    wget https://raw.githubusercontent.com/openenergymonitor/EmonScripts/stable/defaults/etc/fstab
    sudo mv fstab /etc/fstab
    sudo reboot
    
  11. 添加数据目录。您现在可以继续安装 EmonCMS 堆栈。

    sudo mkdir /var/opt/emoncms
    sudo chown www-data /var/opt/emoncms
    
  12. 关于创建数据分区,并未用到,再次不体现

3.安装完毕

在Ubuntu中搭建好环境后,在Ubuntu的浏览器中输入 127.0.0.1会显示EmonCMS的界面,表示你环境安装成功了。

初次登录,会在图中的红色框有 register注册账户的按键,注册账号后登录界面如图:

image-20221209102250119
然后利用Ubuntu的ip地址也可以访问 emoncms 的web界面。
在这里插入图片描述
用MQTTX客户端可以连接 Ubuntu中的emoncms,也就是mqtt broker ,实现数据的订阅预发布。
在这里插入图片描述
关于树莓派环境搭建,以及开发板通过MQTT连接 emoncms 平台,参考我的另一篇博客:
【ESP32】通过MQTT连接EmonCMS平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS Code 上已有200万+ Java 开发者!

大家好&#xff0c;我们很高兴与大家分享一个好消息&#xff0c;现在 Visual Studio Code 上已有超过200万 Java 开发者&#xff0c;这要来自于长期社区以及用户的支持&#xff0c;所以谢谢你们&#xff01; 对于11月的更新&#xff0c;我们为您带来了全新的代码编辑功能&…

运行 Jmeter 文件生成 HTML 测试报告,我选择 ANT 工具

概述 ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具&#xff0c;大多用于 Java 环境中的软件开发。 在与 Jmeter 生成的 jmx 文件配合使用中&#xff0c;ant 会完成jmx计划的执行和生成jtl文件&#xff0c;并将jtl文件转化为html页面进行查看。 还可…

类加载器和反射

1.通过全限定名&#xff1a;包名类名&#xff08;类名可能会重复&#xff0c;所以要加包名&#xff09;&#xff0c;然后用流拷贝到内存中&#xff0c;并在内存中创建一个class对象用来存储这个class文件的成员信息 类加载过程http://t.csdn.cn/FDnaa 在验证之前会把该类中引…

CRM的开发

开发步骤1.首页的开发2.由首页跳转到登陆页面3.用户登录4.记住密码实现5.安全退出6.登录验证7.创建市场活动8.分页查询市场活动9.删除市场活动10.修改市场活动11.批量导出市场活动12.导入市场活动13.查看市场活动明细14.添加市场活动备注15.删除市场活动备注16.修改市场活动备注…

分分钟搭建出nginx的https服务

nginx添加https协议一、https是什么&#xff1f;二、创建步骤1.安装nginx2.创建证书三、验证四、浏览器访问在windows安装证书总结nginx 192.168.122.50一、https是什么&#xff1f; HTTPS &#xff08;全称&#xff1a;Hypertext Transfer Protocol Secure &#xff09;&…

分布式文件存储系统Minio,tuling,fox,p3 5:27

MinIO | 高性能&#xff0c;对Kubernetes友好的对象存储 一 分布式文件系统应用场景 fastDFS 缺点&#xff1a; 部署麻烦。因为文件名是自动生成的&#xff0c;所以如果要处理文件的话&#xff0c;还要经过额外的编码。Minio介绍 应用场景 互联网海量非结构化数据的存储需求…

Spring常见注解

普通CURD框架结构 1、controller 控制器&#xff08;注入服务&#xff09;用于标注控制层&#xff0c;相当于struts中的action层 2、service 服务&#xff08;注入dao&#xff09;用于标注服务层&#xff0c;主要用来进行业务的逻辑处理 3、repository/Mapper&#xff08;实…

25.前端笔记-CSS-溢出的文字省略号展示

1、单行文本溢出显示省略号 满足条件&#xff1a; &#xff08;1&#xff09;先强制一行内显示文本 white-space:nowrap;/*默认不写&#xff0c;或值是normal自动换行*/) &#xff08;2&#xff09;超出的部分隐藏 overflow:hidden; &#xff08;3&#xff09;文字用省略号代…

ESPnet-SE 开源工具介绍

下面是我们整理的钱彦旻教授、张王优、李晨达在第二届SH语音技术研讨会和第七届Kaldi技术交流会的报告内容&#xff0c;如果有误&#xff0c;欢迎指正。 基本情况 今天我们主要是围绕ESPnet-SE这个工具做一个简单的介绍&#xff0c;我会大概讲一下ESPnet-SE的情况&#xff0c;…

一文了解宏内核和微内核

【推荐阅读】 纯干货&#xff0c;linux内存管理——内存管理架构&#xff08;建议收藏&#xff09; 轻松学会linux下查看内存频率,内核函数,cpu频率 一文了解Linux内核的Oops 一篇长文叙述Linux内核虚拟地址空间的基本概括 需要多久才能看完linux内核源码&#xff1f; 内核是操…

微信小程序第五篇:页面弹出效果及共享元素动画

系列文章传送门&#xff1a; 微信小程序第一篇&#xff1a;自定义组件详解 微信小程序第二篇&#xff1a;七种主流通信方法详解 微信小程序第三篇&#xff1a;获取页面节点信息 微信小程序第四篇&#xff1a;生成图片并保存到手机相册 目录 一、page-caontainer 实现假页弹出 …

LDP协议介绍

LDP介绍 1.LDP协议概述 LDP&#xff08;Label Distribution Protocol&#xff09;规定了标签分发过程中的各种消息以及相关的处理过程。LSR之间将依据本地转发表中对应于一个特定FEC的入标签、下一跳节点、出标签等信息联系在一起&#xff0c;从而形成标签交换路径LSP。 2.L…

【Python恶搞】Python实现祝福单身狗的恶搞项目,快发给你的怨种大兄弟 | 附源码

前言 halo&#xff0c;包子们上午好 咱就说&#xff0c;谁还没有一个单身的小伙伴呢 今天这个代码主要是为了祝福咱们单身的小伙伴 咱就说废话不多说&#xff0c;直接上才艺 相关文件 关注小编&#xff0c;私信小编领取哟&#xff01; 当然别忘了一件三连哟~~ 公众号&#x…

Kali Linux 又更新了!202.4新版本有哪些变化?

Kali Linux在今年最后一个月迎来了新版本&#xff0c;即2022.4&#xff0c;上次更新是在8月份&#xff0c;时隔4个月&#xff0c;Kali linux 又有哪些新变化呢&#xff1f; 更新内容&#xff1a; Microsoft Azure - Kali 已添加到 Microsoft Azure&#xff0c;但目前没有图形…

阿里云效 ssh公钥配置

准备工作 通过 SSH 协议在 Git 命令行访问 Codeup&#xff0c;需要具备以下几点&#xff1a; 本机已安装Git&#xff08;安装教程参见安装Git&#xff09;并保证版本大于1.9&#xff08;通过git --version可获取本地的版本&#xff09;&#xff1b; 本机需要安装OpenSSH客户端…

智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测

智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测 目录 智能学习 | MATLAB实现Bee-CNN蜜蜂算法优化卷积神经网络图像分类预测分类效果基本介绍模型参数程序设计参考资料分类效果 基本介绍 Bee-CNN蜜蜂算法优化卷积神经网络是一种模糊进化深度学习(优化权重和…

银行测试的优势在哪里?

为什么做金融类软件测试举个栗子&#xff0c;银行里的软件测试工程师。横向跟互联网公司里的测试来说&#xff0c;薪资相对稳定&#xff0c;加班少甚至基本没有&#xff0c;业务稳定。实在是测试类岗位中的香饽饽&#xff01;一、什么是金融行业金融业是指经营金融商品的特殊行…

液晶屏显示IC 可调式三通道TFT、LCD DC/DC升压转换器AAT1118 液晶面板双通道电荷泵电源IC AAT1118

液晶屏显示IC 可调式三通道TFT、LCD DC/DC升压转换器AAT1118 TFT LCD液晶面板双通道电荷泵电源IC AAT1118 概述 AAT1118集成了一个升压调节器&#xff0c;两个调节电荷泵&#xff0c;一个关闭功能&#xff0c;和一个开漏电源良好的输出&#xff0c;使其成为TFT液晶面板供电的…

逆行而上 光照前方 | 记“齐鲁之战”11月第一单签约者—郭群策

白玉兰品牌于2018年正式启航&#xff0c;白玉兰也与上海市花同名&#xff0c;作为国内四大名花之一&#xff0c;更具有品牌的标识性。品牌发展至今四年&#xff0c;三年是疫情期&#xff0c;但白玉兰酒店仍然成为目前锦江酒店&#xff08;中国区&#xff09;体系内发展最快的品…