Jadual Kandungan
Appsmith
2、使用 psutil 读取统计信息
3、从 Flask-RESTful API 获取数据
4、将 API 提供给互联网
5、重复步骤
在 Appsmith 上构建仪表盘
将 API 作为 Appsmith 数据源连接
构建用户界面
将数据绑定到小部件上
Membina Antara Muka Pengguna
Ikat data pada widget
CPU 利用率趋势图
祝你使用愉快!
Rumah Operasi dan penyelenggaraan Nginx Bina papan pemuka pemantauan Raspberry Pi dalam masa kurang daripada 30 minit

Bina papan pemuka pemantauan Raspberry Pi dalam masa kurang daripada 30 minit

Jul 16, 2023 pm 08:50 PM
Raspberry Pi Papan pemuka

在不到 30 分钟内构建一个树莓派监控仪表盘

Anda mungkin memerlukan papan pemuka Raspberry Pi untuk memahami prestasinya. Dalam artikel ini, saya akan menunjukkan cara membina papan pemuka pemantauan atas permintaan dengan cepat untuk melihat prestasi CPU, memori dan penggunaan cakera Raspberry Pi anda dalam masa nyata serta menambah lebih banyak paparan dan tindakan pada bila-bila masa mengikut keperluan.

Jika anda sudah menggunakan Appsmith, anda juga boleh terus mengimport Sample App dan mulakan.

Appsmith

Appsmith ialah alat bina aplikasi kod rendah sumber terbuka yang membantu pembangun membina aplikasi dalaman seperti papan pemuka dan panel pentadbir dengan mudah dan cepat. Ia adalah pilihan yang bagus untuk papan pemuka dan mengurangkan masa dan kerumitan yang diperlukan oleh kaedah pengekodan tradisional.

Dalam papan pemuka untuk contoh ini, saya memaparkan statistik berikut:

  • CPU
  • % diduduki
  • Kekerapan atau kelajuan jam
  • Kiraan
  • Tempera
Memori
    % diduduki
  • Peratusan ingatan percuma
  • Jumlah ingatan
  • Memori percuma
    Disk
    Peratusan penggunaan cakera
  • Penggunaan ruang cakera mutlak
  • Kosongkan ruang cakera

anda Perlukan a cara untuk mendapatkan data ini daripada Raspberry Pi dan menyampaikannya kepada Appsmith. psutil ialah perpustakaan Python untuk pemantauan dan analisis, manakala Flask-RESTful

ialah sambungan Flask yang mencipta

REST API

.

Appsmith memanggil API REST setiap beberapa saat untuk menyegarkan semula data secara automatik dan membalas dengan objek JSON yang mengandungi semua statistik yang diperlukan, seperti yang ditunjukkan di bawah:

{ "cpu_count": 4,"cpu_freq": [600.0,600.0,1200.0 ],"cpu_mem_avail": 463953920,"cpu_mem_free": 115789824,"cpu_mem_total": 971063296,"cpu_mem_used": 436252672,"cpu_percent": 1.8,"disk_usage_free": 24678121472,"disk_usage_percent": 17.7,"disk_usage_total": 31307206656,"disk_usage_used": 5292728320,"sensor_temperatures": 52.616 }
Salin selepas log masuk
1 Sediakan API REST

Jika Python pokok anda tidak dipasang pada Raspberry Pi lagi. Sila buka terminal pada Raspberry Pi dan jalankan arahan pemasangan ini:

$ sudo apt install python3
Salin selepas log masuk
Sekarang sediakan

Python persekitaran maya

untuk pembangunan anda:

$ python -m venv PiData
Salin selepas log masuk
requirements.txt 的文件,并将以下内容添加到其中:
$ source PiData/bin/activate$ cd PiData
Salin selepas log masuk

保存文件,然后使用 pip 一次性安装它们。你必须在重新启动树莓派后执行此操作。

flaskflask-restfulgunicorn
Salin selepas log masuk

接下来,创建一个名为 pi_stats.py 的文件来存放使用 psutil 检索树莓派系统统计信息的逻辑。将以下代码粘贴到 pi_stats.pySeterusnya, aktifkan persekitaran. Anda mesti melakukan ini selepas memulakan semula Raspberry Pi.

(PyData)$ python -m pip install -r requirements.txt
Salin selepas log masuk

Untuk memasang Flask, Flask-RESTful dan kebergantungan masa hadapan, sila buat fail bernama pip memasang kesemuanya sekali gus. Anda mesti melakukan ini selepas memulakan semula Raspberry Pi.

from flask import Flaskfrom flask_restful import Resource, Apiimport psutilapp = Flask(__name__)api = Api(app)class PiData(Resource):def get(self):return "RPI Stat dashboard"api.add_resource(PiData, '/get-stats')if __name__ == '__main__':app.run(debug=True)
Salin selepas log masuk
🎜Seterusnya, buat teks yang dipanggil pi_stats.py fail untuk menyimpan dan menggunakan pi_stats.py fail: 🎜
system_info_data = {'cpu_percent': psutil.cpu_percent(1),'cpu_count': psutil.cpu_count(),'cpu_freq': psutil.cpu_freq(),'cpu_mem_total': memory.total,'cpu_mem_avail': memory.available,'cpu_mem_used': memory.used,'cpu_mem_free': memory.free,'disk_usage_total': disk.total,'disk_usage_used': disk.used,'disk_usage_free': disk.free,'disk_usage_percent': disk.percent,'sensor_temperatures': psutil.sensors_temperatures()['cpu-thermal'][0].current,}
Salin selepas log masuk
Salin selepas log masuk
🎜Fungsi kod ini adalah seperti berikut: 🎜
  • 使用 app = Flask(name) 来定义嵌套 API 对象的应用程序。
  • 使用 Flask-RESTful 的 API 方法 来定义 API 对象。
  • 在 Flask-RESTful 中将 PiData 定义为具体的 Resource 类 ,以公开每个支持的 HTTP 方法。
  • 使用 api.add_resource(PiData, '/get-stats') 将资源 PiData 附加到 API 对象 api
  • 每当你访问 URL /get-stats 时,将返回 PiData 作为响应。

2、使用 psutil 读取统计信息

要从你的树莓派获取统计信息,你可以使用 psutil 提供的这些内置函数:

  • cpu_percentagecpu_countcpu_freq 和 sensors_temperatures 函数分别用于获取 CPU 的占用百分比、计数、时钟速度和温度。sensors_temperatures 报告了与树莓派连接的所有设备的温度。要仅获取 CPU 的温度,请使用键 cpu-thermal
  • virtual_memory 函数可返回总内存、可用内存、已使用内存和空闲内存的统计信息(以字节为单位)。
  • disk_usage 函数可返回总磁盘空间、已使用空间和可用空间的统计信息(以字节为单位)。

将所有函数组合到一个 Python 字典中的示例如下:

system_info_data = {'cpu_percent': psutil.cpu_percent(1),'cpu_count': psutil.cpu_count(),'cpu_freq': psutil.cpu_freq(),'cpu_mem_total': memory.total,'cpu_mem_avail': memory.available,'cpu_mem_used': memory.used,'cpu_mem_free': memory.free,'disk_usage_total': disk.total,'disk_usage_used': disk.used,'disk_usage_free': disk.free,'disk_usage_percent': disk.percent,'sensor_temperatures': psutil.sensors_temperatures()['cpu-thermal'][0].current,}
Salin selepas log masuk
Salin selepas log masuk

下一节将使用该字典。

3、从 Flask-RESTful API 获取数据

为了在 API 响应中看到来自树莓派的数据,请更新 pi_stats.py 文件,将字典 system_info_data 包含在 PiData 类中:

from flask import Flaskfrom flask_restful import Resource, Apiimport psutilapp = Flask(__name__)api = Api(app)class PiData(Resource):def get(self):memory = psutil.virtual_memory()disk = psutil.disk_usage('/')system_info_data = {'cpu_percent': psutil.cpu_percent(1),'cpu_count': psutil.cpu_count(),'cpu_freq': psutil.cpu_freq(),'cpu_mem_total': memory.total,'cpu_mem_avail': memory.available,'cpu_mem_used': memory.used,'cpu_mem_free': memory.free,'disk_usage_total': disk.total,'disk_usage_used': disk.used,'disk_usage_free': disk.free,'disk_usage_percent': disk.percent,'sensor_temperatures': psutil.sensors_temperatures()['cpu-thermal'][0].current, }return system_info_dataapi.add_resource(PiData, '/get-stats')if __name__ == '__main__':app.run(debug=True)
Salin selepas log masuk

你的脚本已经就绪,下面运行 PiData.py

$ python PyData.py * Serving Flask app "PiData" (lazy loading) * Environment: production WARNING: This is a development server. Do not run this in a production environment. * Debug mode: on * Running on http://127.0.0.1:5000 (Press CTRL+C to quit) * Restarting with stat * Debugger is active!
Salin selepas log masuk

你有了一个可以工作的 API。

4、将 API 提供给互联网

你可以在本地网络中与 API 进行交互。然而,要在互联网上访问它,你必须在防火墙中打开一个端口,并将传入的流量转发到由 Flask 提供的端口。然而,正如你的测试输出建议的那样,在 Flask 中运行 Flask 应用程序仅适用于开发,而不适用于生产。为了安全地将 API 提供给互联网,你可以使用安装过程中安装的 gunicorn 生产服务器。

现在,你可以启动 Flask API。每次重新启动树莓派时都需要执行此操作。

$ gunicorn -w 4 'PyData:app'Serving on http://0.0.0.0:8000
Salin selepas log masuk

要从外部世界访问你的树莓派,请在网络防火墙中打开一个端口,并将流量定向到你树莓派的 IP 地址,端口为 8000。

首先,获取树莓派的内部 IP 地址:

$ ip addr show | grep inet
Salin selepas log masuk

内部 IP 地址通常以 10 或 192 或 172 开头。

接下来,你必须配置防火墙。通常,你从互联网服务提供商(ISP)获取的路由器中嵌入了防火墙。通常,你可以通过网络浏览器访问家用路由器。路由器的地址有时会打印在路由器的底部,它以 192.168 或 10 开头。不过,每个设备都不同,因此我无法告诉你需要点击哪些选项来调整设置。关于如何配置防火墙的完整描述,请阅读 Seth Kenlon 的文章 《打开端口并通过你的防火墙路由流量》。

或者,你可以使用 localtunnel 来使用动态端口转发服务。

一旦你的流量到达树莓派,你就可以查询你的 API:

$ curl https://example.com/get-stats{ "cpu_count": 4, "cpu_freq": [600.0,600.0,1200.0 ], "cpu_mem_avail": 386273280, ...
Salin selepas log masuk

如果你已经执行到这一步,那么最困难的部分已经过去了。

5、重复步骤

如果你重新启动了树莓派,你必须按照以下步骤进行操作:

  • 使用 source 重新激活 Python 环境
  • 使用 pip 刷新应用程序的依赖项
  • 使用 gunicorn 启动 Flask 应用程序

你的防火墙设置是持久的,但如果你使用了 localtunnel,则必须在重新启动后启动新的隧道。

如果你愿意,可以自动化这些任务,但那是另一个教程的内容。本教程的最后一部分是在 Appsmith 上构建一个用户界面,使用拖放式小部件和一些 JavaScript,将你的树莓派数据绑定到用户界面。相信我,从现在开始很容易!

在 Appsmith 上构建仪表盘

在不到 30 分钟内构建一个树莓派监控仪表盘硬件监控仪表盘

要制作一个像这样的仪表盘,你需要将公开的 API 端点连接到 Appsmith,使用 Appsmith 的小部件库构建用户界面,并将 API 的响应绑定到小部件上。如果你已经使用 Appsmith,你可以直接导入 示例应用程序 并开始使用。

如果你还没有,请 注册 一个免费的 Appsmith 帐户。或者,你可以选择 自托管 Appsmith

将 API 作为 Appsmith 数据源连接

登录到你的 Appsmith 帐户。

  • Cari dan klik butang "+" di sebelah "Pertanyaan atau JSQUERIES/JS" dalam bar navigasi kiri.
  • Klik "Buat API kosong".
  • Di bahagian atas halaman, namakan projek anda "PiData".
  • Dapatkan URL API anda. Jika anda menggunakan localtunnel, ia ialah localtunnel.me alamat, sentiasa tambahkan /get-stats untuk mendapatkan statistik. Tampalkannya ke dalam medan kosong pertama halaman dan klik butang "RUN". localtunnel.me 地址,总是在末尾添加 /get-stats 以获取统计数据。将其粘贴到页面的第一个空白字段中,然后点击 “RUN” 按钮。

确保在 “响应Response” 面板中看到成功的响应。

在不到 30 分钟内构建一个树莓派监控仪表盘Appsmith 界面

构建用户界面

Appsmith 的界面非常直观,但如果你感到迷失,我建议你查看 在 Appsmith 上构建你的第一个应用程序 教程。

在画布上拖动"文本Text"、"图像Image"和"分隔线Divider"小部件作为标题。将它们排列如下:

在不到 30 分钟内构建一个树莓派监控仪表盘设置项目标题

“文本Text” 小部件包含你页面的实际标题。键入比“Raspberry Pi Stats”更酷的内容。

“图像Image” 小部件用于展示仪表盘的独特标志。你可以使用你喜欢的任何标志。

使用 “开关Switch” 小部件来切换实时数据模式。从你构建的 API 获取数据,需要在 "属性Property" 面板进行配置。

对于主体部分,使用来自左侧的小部件库的以下小部件创建一个 CPU 统计信息区域,使用以下小部件:

  • 进度条Progress Bar
  • 统计框Stat Box
  • 图表Chart

对于内存和磁盘统计信息部分,重复相同的步骤。磁盘统计信息部分不需要图表,但如果你能找到用途,那也可以使用它。

你的最终小部件布局应该类似于以下:

在不到 30 分钟内构建一个树莓派监控仪表盘Appsmith 中的属性设置

最后一步是将 API 的数据绑定到你的小部件上。

将数据绑定到小部件上

返回到画布,并在三个类别的部分中找到你的小部件。首先设置 CPU 统计信息。

要将数据绑定到 “进度条Progress Bar” 小部件:

  • 单击 “进度条Progress Bar” 小部件,以打开右侧的 “属性Property” 面板。
  • 查找 “进度Progress” 属性。
  • 单击 “JS” 按钮以激活 JavaScript。
  • 在 “进度Progress” 字段中粘贴 {{PiData.data.cpu_percent ?? 0}}。此代码引用了你的 API 的数据流,名为 PiData。Appsmith 将响应数据缓存在 PiData 的 .data 运算符内。键 cpu_percent
  • Pastikan anda melihat respons yang berjaya dalam panel Respons.

  • Bina papan pemuka pemantauan Raspberry Pi dalam masa kurang daripada 30 minit
Appsmith Antaramuka

在不到 30 分钟内构建一个树莓派监控仪表盘

Membina Antara Muka Pengguna

Antaramuka Appsmith sangat intuitif, tetapi jika anda rasa tersesat, saya syorkan anda menyemak Bina apl pertama anda pada Appsmith Tutorial.

Seret widget "Teks", "Imej" dan "Pembahagi" pada kanvas sebagai tajuk. Susunkannya seperti berikut:

Bina Raspberry Pi dalam masa kurang daripada 30 minit Papan Pemuka Pemantauan 🎜Tetapkan Tajuk Projek🎜🎜

Widget "Teks" mengandungi tajuk sebenar halaman anda. Taip sesuatu yang lebih sejuk daripada "Statistik Raspberry Pi". 🎜

Widget "Imej" digunakan untuk memaparkan logo unik papan pemuka. Anda boleh menggunakan mana-mana logo yang anda suka. 🎜

Gunakan widget "Tukar" untuk menukar mod data langsung. Mendapatkan data daripada API yang anda bina perlu dikonfigurasikan dalam panel "Hartanah". 🎜

Untuk bahagian utama, buat kawasan statistik CPU menggunakan widget berikut daripada perpustakaan widget di sebelah kiri: 🎜🎜🎜Progress Bar🎜🎜Stat Box🎜🎜Carta🎜 🎜

Ulang langkah yang sama untuk Memori dan bahagian Statistik Cakera. Bahagian statistik cakera tidak memerlukan carta, tetapi jika anda boleh mencari kegunaannya, gunakannya. 🎜

Reka letak widget terakhir anda sepatutnya kelihatan seperti ini: 🎜🎜at Build papan pemuka pemantauan Raspberry Pi dalam masa kurang daripada 30 minit🎜Tetapan Harta dalam Appsmith🎜🎜

Langkah terakhir ialah mengikat data API pada widget anda. 🎜

Ikat data pada widget

Kembali ke kanvas dan cari widget anda dalam bahagian tiga kategori. Mulakan dengan menyediakan statistik CPU. 🎜

Untuk mengikat data pada widget "Progress Bar": 🎜🎜🎜Klik widget "Progress Bar" untuk membuka panel "Property" di sebelah kanan. 🎜🎜Cari atribut "Kemajuan". 🎜🎜Klik butang “JS” untuk mengaktifkan JavaScript. 🎜🎜Tampal dalam medan "Progress" {{PiData.data.cpu_percent ?? 0}}. Kod ini merujuk aliran data API anda, bernama PiData. Appsmith menyimpan cache data tindak balas dalam PiData's .data dalam operator. Kekunci cpu_percent Mengandungi data yang digunakan oleh Appsmith untuk memaparkan peratusan penggunaan CPU. 🎜🎜Tambah widget "Teks" sebagai label di bawah widget "Bar Kemajuan". 🎜🎜🎜🎜🎜Ikat data dalam skrin konfigurasi🎜🎜

在 CPU 部分有三个 “统计框Stat Box” 小部件。将数据绑定到每个小部件的步骤与绑定 “进度条Progress Bar” 小部件的步骤完全相同,只是你需要从 .data 运算符中绑定不同的数据属性。按照相同的步骤进行操作,但有以下例外:

  • 使用 {{${PiData.data.cpu_freq[0]} ?? 0 }} 来显示时钟速度。
  • 使用 {{${PiData.data.cpu_count} ?? 0 }} 来显示 CPU 计数。
  • 使用 {{${(PiData.data.sensor_temperatures).toPrecision(3)} ?? 0 }} 来显示 CPU 温度数据。

如果一切顺利,你将得到一个漂亮的仪表盘,如下所示:

在不到 30 分钟内构建一个树莓派监控仪表盘树莓派的仪表盘

CPU 利用率趋势图

你可以使用 “图表Chart” 小部件将 CPU 利用率显示为趋势线,并使其随时间自动更新。

首先,单击小部件,在右侧找到 “图表类型Chart Type” 属性,并将其更改为 “折线图LINE CHART”。为了显示趋势线,需要将 cpu_percent 存储在数据点数组中。你的 API 目前将其作为单个时间数据点返回,因此可以使用 Appsmith 的 storeValue 函数(Appsmith 内置的 setItem 方法的一个原生实现)来获取一个数组。

在 “查询或 JSQUERIES/JS” 旁边单击 “+” 按钮,并将其命名为 “utils”。

将以下 JavaScript 代码粘贴到 “代码Code” 字段中:

export default {getLiveData: () => {//When switch is on:if (Switch1.isSwitchedOn) {setInterval(() => {let utilData = appsmith.store.cpu_util_data;PiData.run()storeValue("cpu_util_data", [...utilData, {x: PiData.data.cpu_percent,y: PiData.data.cpu_percent}]); }, 1500, 'timerId')} else {clearInterval('timerId');}},initialOnPageLoad: () => {storeValue("cpu_util_data", []);}}
Salin selepas log masuk

为了初始化 Store,你在 initialOnPageLoad 对象中创建了一个 JavaScript 函数,并将 storeValue 函数放在其中。

你使用 storeValue("cpu_util_data", []); 将 cpu_util_data 中的值存储到 storeValue 函数中。此函数在页面加载时运行。

Setakat ini, setiap kali saya memuat semula halaman, kodnya ialah Cpu_util_data Titik data disimpan dalam x dan y's subscript variable, kedua-duanya menyimpan nilai daripada cpu_util_data 中的一个数据点存储到 Store 中。为了存储一个数组,你使用了 x 和 y 的下标变量,两者都存储了来自 cpu_percent 数据属性的值。

你还希望通过设定存储值之间的固定时间间隔来自动存储这些数据。当执行 setInterval 函数时:

  • 获取存储在 cpu_util_data 中的值。
  • 调用 API PiData
  • 使用返回的最新 cpu_percent 数据将 cpu_util_data 更新为 x 和 y 变量。
  • 将 cpu_util_data 的值存储在键 utilData 中。
  • 仅当设置为自动执行函数时,才重复执行步骤 1 到 4。你使用 Switch 小部件将其设置为自动执行,这就解释了为什么有一个 getLiveData 父函数。

在 “设置Settings” 选项卡中,找到对象中的所有父函数,并在 “页面加载时运行RUN ON PAGE LOAD” 选项中将 initialOnPageLoad 设置为 “Yes(是)”。

在不到 30 分钟内构建一个树莓派监控仪表盘设置页面加载时要执行的函数

现在刷新页面进行确认。

返回到画布。单击 “图表Chart” 小部件,并找到 “图表数据Chart Data” 属性。将绑定 {{ appsmith.store.disk_util_data }} 粘贴到其中。这样,如果你自己多次运行对象 utils

Anda juga mahu menyimpan data ini secara automatik dengan menetapkan selang masa tetap antara menyimpan nilai. Apabila melaksanakan fungsi setInterval: 🎜
  • Dapatkan disimpan dalam cpu_percent data akan menjadi cpu_util_data dikemas kini kepada utilData.
  • Ulang langkah 1 hingga 4 hanya jika ditetapkan untuk melaksanakan fungsi secara automatik. Anda menetapkannya untuk mengautomasikan menggunakan widget Tukar, yang menerangkan sebab terdapat getLiveData fungsi induk.
🎜Dalam tab "Tetapan", cari semua fungsi induk dalam objek dan dalam pilihan "RUN ON PAGE LOAD", tukar <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/168951183713296.jpg" class="lazy" alt="Dalam masa kurang daripada 30 Bina papan pemuka pemantauan Raspberry Pi dalam beberapa minit"><span>Tetapkan fungsi untuk dilaksanakan apabila halaman dimuatkan</span>🎜🎜Sekarang muat semula halaman untuk mengesahkan. 🎜🎜Kembali ke kanvas. Klik widget Carta dan cari sifat Data Carta. Mengikat <code style="max-width:90%">{{ appsmith.store.disk_util_data }} Tampalkannya ke dalamnya. Dengan cara ini, jika anda menjalankan objek beberapa kali sendiri 0px display: inline-block;">utils, anda boleh mendapatkan data carta. Untuk menjalankan ini secara automatik: 🎜
  • Cari dan klik widget "Tukar Data Langsung" dalam pengepala papan pemuka.
  • Cari onChange acara. onChange 事件。
  • 将其绑定到 {{ utils.getLiveData() }}。JavaScript 对象是 utils,而 getLiveData 是在你切换开关时激活的函数,它会从你的树莓派获取实时数据。但是还有其他实时数据,因此同一开关也适用于它们。继续阅读以了解详情。

将数据绑定到内存和磁盘部分的小部件与你在 CPU 统计信息部分所做的方式类似。

对于内存部分,绑定如下所示:

  • 进度条中的绑定为:{{( PiData.data.cpu_mem_avail/1000000000).toPrecision(2) * 100 ?? 0 }}
  • 三个统计框小部件的绑定分别为:{{ ${(PiData.data.cpu_mem_used/1000000000).toPrecision(2)} ?? 0 }} GB{{ ${(PiData.data.cpu_mem_free/1000000000).toPrecision(2)} ?? 0}} GB 和 {{ ${(PiData.data.cpu_mem_total/1000000000).toPrecision(2)} ?? 0 }} GB

对于磁盘部分,进度条和统计框小部件的绑定分别变为:

  • 进度条的绑定为:{{ PiData.data.disk_usage_percent ?? 0 }}
  • 三个统计框小部件的绑定分别为:{{ ${(PiData.data.disk_usage_used/1000000000).toPrecision(2)} ?? 0 }} GB{{ ${(PiData.data.disk_usage_free/1000000000).toPrecision(2)} ?? 0 }} GB 和 {{ ${(PiData.data.disk_usage_total/1000000000).toPrecision(2)} ?? 0 }} GB

这里的图表需要更新你为 CPU 统计信息创建的 utils 对象,使用 storeValue 键名为 disk_util_data,嵌套在 getLiveData 下面,其逻辑与 cpu_util_data 类似。对于磁盘利用率图表,我们存储的 disk_util_data

Ikat pada {{ utils.getLiveData() }}. Objek JavaScript ialah utils, dan getLiveData ialah fungsi yang diaktifkan apabila anda menogol suis dan mendapatkan data masa nyata daripada Raspberry Pi anda. Tetapi terdapat data masa nyata lain, jadi suis yang sama juga berfungsi untuk mereka. Baca terus untuk mengetahui lebih lanjut. 🎜

Ikat data pada widget dalam bahagian Memori dan Cakera dengan cara yang sama seperti yang anda lakukan dalam bahagian Statistik CPU. 🎜

Untuk bahagian memori, pengikatan adalah seperti berikut: 🎜🎜🎜Ikatan dalam bar kemajuan ialah: dan <code style=" background-color: rgb padding: border : overflow-wrap: break-word text-indent:>. 🎜<p>Untuk bahagian cakera, pengikatan bar kemajuan dan widget kotak statistik menjadi: 🎜🎜🎜Pengikatan bar kemajuan ialah: <code style="background-color: rgb(231, 243) , 237); pelapik: 1px 3px; jejari sempadan: 4px; /kod>. 🎜🎜Pengikatan tiga widget kotak statistik ialah: <code style=" background-color: rgb padding: border-radius: overflow-wrap: break-word text paparan: inline-block>{{ ${(PiData.data.disk_usage_used/1000000000).toPrecision(2)} ?? 0 }} GBcpu_util_data adalah serupa. Untuk carta penggunaan cakera, kami menyimpan disk_util_data Logiknya adalah sama dengan carta arah aliran penggunaan CPU. 🎜

export default {getLiveData: () => {//When switch is on:if (Switch1.isSwitchedOn) {setInterval(() => { const cpuUtilData = appsmith.store.cpu_util_data; const diskUtilData = appsmith.store.disk_util_data;  PiData.run();  storeValue("cpu_util_data", [...cpuUtilData, { x: PiData.data.cpu_percent,y: PiData.data.cpu_percent }]); storeValue("disk_util_data", [...diskUtilData, { x: PiData.data.disk_usage_percent,y: PiData.data.disk_usage_percent }]);}, 1500, 'timerId')} else {clearInterval('timerId');}},initialOnPageLoad: () => {storeValue("cpu_util_data", []);storeValue("disk_util_data", []);}}
Salin selepas log masuk

通过使用 utils JavaScript 对象在打开和关闭真实数据开关时触发的数据流可视化如下所示:

在不到 30 分钟内构建一个树莓派监控仪表盘切换

在打开实时数据开关时,图表会变成这样:

在不到 30 分钟内构建一个树莓派监控仪表盘显示实时数据

整体上,它既漂亮,又简约,而且非常有用。

祝你使用愉快!

当你对 psutils、JavaScript 和 Appsmith 更加熟悉时,我相信你会发现可以轻松无限地调整你的仪表板,实现非常酷的功能,例如:

  • 查看先前一周、一个月、一个季度、一年或根据你的树莓派数据允许的任何自定义范围的趋势
  • 为任何统计数据的阈值违规构建报警机制
  • 监控连接到你的树莓派的其他设备
  • 将 psutils 扩展到另一台安装有 Python 的计算机上
  • 使用其他库监控你家庭或办公室的网络
  • 监控你的花园
  • 跟踪你自己的生活习惯

在下一个令人兴奋的项目中,祝你玩得愉快!

Atas ialah kandungan terperinci Bina papan pemuka pemantauan Raspberry Pi dalam masa kurang daripada 30 minit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Langkah-langkah untuk melukis papan pemuka menggunakan antara muka ECharts dan Python Langkah-langkah untuk melukis papan pemuka menggunakan antara muka ECharts dan Python Dec 18, 2023 am 08:40 AM

Langkah-langkah untuk melukis papan pemuka menggunakan antara muka ECharts dan Python memerlukan contoh kod khusus: ECharts ialah alat visualisasi data yang sangat baik yang boleh melakukan pemprosesan data dan lukisan grafik melalui antara muka Python. Artikel ini akan memperkenalkan langkah khusus untuk melukis papan pemuka menggunakan antara muka ECharts dan Python serta menyediakan kod sampel. Kata kunci: ECharts, antara muka Python, papan pemuka, visualisasi data Pengenalan Papan pemuka ialah bentuk visualisasi data yang biasa digunakan, yang menggunakan

Lima kegunaan unik untuk Raspberry Pi Lima kegunaan unik untuk Raspberry Pi Jul 09, 2023 pm 02:10 PM

Baru-baru ini, saya mendengar seseorang dalam panggilan persidangan mengatakan bahawa komuniti sumber terbuka ialah gabungan rasa ingin tahu dan budaya penyelesaian masalah. Rasa ingin tahu adalah asas penyelesaian masalah kita. Apabila menyelesaikan masalah dalam semua saiz, kami menggunakan pelbagai alat sumber terbuka, termasuk Linux yang berjalan pada Raspberry Pi yang sangat mudah. Kita semua mempunyai pelbagai pengalaman hidup yang berbeza, jadi saya bertanya kepada komuniti pengarang kami untuk kegunaan Raspberry Pi paling aneh yang pernah mereka temui. Saya rasa binaan hebat ini akan memberi inspirasi kepada orang lain. Bereksperimen dengan Raspberry Pi Bagi saya, Raspberry Pi ialah alat yang hebat untuk menambah sumber pembangunan tambahan pada rangkaian rumah saya. Jika saya ingin membuat tapak web baharu atau mencuba alat perisian baharu, saya tidak perlu membiarkan desktop saya Lin

Bina papan pemuka pemantauan Raspberry Pi dalam masa kurang daripada 30 minit Bina papan pemuka pemantauan Raspberry Pi dalam masa kurang daripada 30 minit Jul 16, 2023 pm 08:50 PM

Jika anda ingin mengetahui prestasi Raspberry Pi anda, maka anda mungkin memerlukan papan pemuka Raspberry Pi. Dalam artikel ini, saya akan menunjukkan cara membina papan pemuka pemantauan atas permintaan dengan cepat untuk melihat prestasi CPU, memori dan penggunaan cakera Raspberry Pi anda dalam masa nyata serta menambah lebih banyak paparan dan tindakan pada bila-bila masa mengikut keperluan. Jika anda sudah menggunakan Appsmith, anda juga boleh mengimport aplikasi sampel secara terus dan mulakan. AppsmithAppsmith ialah alat bina aplikasi kod rendah sumber terbuka yang membantu pembangun dengan mudah dan cepat membina aplikasi dalaman seperti papan pemuka dan panel pentadbir. Ia adalah pilihan yang bagus untuk papan pemuka dan mengurangkan masa dan kerumitan yang diperlukan oleh kaedah pengekodan tradisional. Dalam contoh papan pemuka ini, saya memaparkan statistik berikut

Kawal Raspberry Pi anda dengan Lua Kawal Raspberry Pi anda dengan Lua Jun 10, 2023 am 09:07 AM

Lua adalah bahasa yang kadangkala disalahertikan. Ia berbeza daripada bahasa lain seperti Python, tetapi ia adalah bahasa sambungan umum yang digunakan secara meluas dalam enjin permainan, rangka kerja, dll. Secara keseluruhannya, saya mendapati Lua sebagai alat yang berharga untuk pembangun, membolehkan mereka mempertingkat dan melanjutkan projek mereka dalam beberapa cara yang berkuasa. Anda boleh mengikuti artikel Seth Kenlon "Adakah Lua berbaloi untuk dipelajari?" 》Memperkenalkan memuat turun dan menjalankan Lua yang biasa digunakan, artikel itu juga termasuk contoh kod Lua yang mudah. Walau bagaimanapun, untuk memanfaatkan Lua sepenuhnya, sebaiknya gunakannya dengan rangka kerja yang menggunakan bahasa tersebut. Dalam tutorial ini, saya menunjukkan cara menggunakan rangka kerja yang dipanggil MakoServer, yang direka untuk membolehkan pengaturcara Lua dengan mudah

Papan pemuka ECharts: cara memaparkan penunjuk data Papan pemuka ECharts: cara memaparkan penunjuk data Dec 17, 2023 pm 09:56 PM

Papan Pemuka ECharts: Cara memaparkan penunjuk data, contoh kod khusus diperlukan Pengenalan: Dalam era maklumat moden, kita terdedah kepada semua jenis data di mana-mana sahaja. Memahami dan menganalisis data adalah penting untuk membuat keputusan dan pembangunan perniagaan. Sebagai alat visualisasi data, papan pemuka boleh memaparkan pelbagai penunjuk data secara visual dan membantu kami memahami data dengan lebih baik. ECharts ialah perpustakaan visualisasi data yang berkuasa, dan komponen papan pemukanya boleh merealisasikan paparan visual data dengan mudah. Artikel ini akan memperkenalkan cara menggunakan paparan papan pemuka ECharts

Papan pemuka GitLab dan fungsi statistik serta analisis data Papan pemuka GitLab dan fungsi statistik serta analisis data Oct 27, 2023 pm 03:15 PM

Papan pemuka, fungsi statistik dan analisis data GitLab Sebagai sistem kawalan versi dan platform pengehosan kod sumber, GitLab bukan sahaja menyediakan fungsi pengurusan kod yang berkuasa, tetapi juga menyediakan papan pemuka yang kaya, fungsi statistik dan alatan analisis data untuk membantu pasukan lebih memahami kemajuan projek dan membuat keputusan berasaskan data. Artikel ini akan memperkenalkan papan pemuka dan fungsi statistik GitLab serta memberikan contoh kod khusus. 1. Fungsi papan pemuka Fungsi papan pemuka GitLab menyediakan pandangan terpusat yang meringkaskan pelbagai maklumat untuk membantu

Pelaksanaan fungsi corong dan papan pemuka untuk carta statistik Vue Pelaksanaan fungsi corong dan papan pemuka untuk carta statistik Vue Aug 26, 2023 pm 04:28 PM

Pengenalan kepada pelaksanaan fungsi corong dan papan pemuka carta statistik Vue: Vue.js ialah rangka kerja JavaScript progresif untuk mencipta komponen boleh guna semula. Ia menyediakan cara ringkas dan fleksibel untuk membina antara muka pengguna interaktif. Dari segi visualisasi data, Vue.js juga menyediakan banyak pemalam dan komponen, membolehkan pembangun melaksanakan pelbagai fungsi carta statistik dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Vue.js dan beberapa pustaka komponen yang biasa digunakan untuk melaksanakan fungsi carta corong dan papan pemuka serta menyediakan contoh kod yang sepadan.

Cara membuat carta papan pemuka menggunakan Highcharts Cara membuat carta papan pemuka menggunakan Highcharts Dec 17, 2023 pm 04:41 PM

Cara menggunakan Highcharts untuk mencipta carta papan pemuka memerlukan contoh kod khusus Prakata: Carta papan pemuka ialah alat visualisasi data biasa yang memaparkan data dalam bentuk papan pemuka untuk menjadikan data lebih intuitif dan mudah difahami. Highcharts ialah perpustakaan carta JavaScript yang berkuasa yang menyokong pelbagai jenis carta, termasuk carta papan pemuka. Artikel ini akan memperkenalkan cara menggunakan Highcharts untuk membuat carta papan pemuka dan memberikan contoh kod khusus. Langkah 1: Perkenalkan Highcharts

See all articles