From 22365b2af3be7373f3811e916eb3b6a42f1677bb Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Sun, 28 Jan 2024 22:51:05 +0100 Subject: [PATCH] Update rpi-cpu2mqtt.py --- src/rpi-cpu2mqtt.py | 506 -------------------------------------------- 1 file changed, 506 deletions(-) diff --git a/src/rpi-cpu2mqtt.py b/src/rpi-cpu2mqtt.py index 4bcb7bb..5bc98ef 100644 --- a/src/rpi-cpu2mqtt.py +++ b/src/rpi-cpu2mqtt.py @@ -4,12 +4,6 @@ # RUN sudo apt-get install python-pip # RUN pip install paho-mqtt -from __future__ import division# -*- coding: utf-8 -*- -# Python script (runs on 2 and 3) to monitor cpu load, temperature, frequency, free space etc. -# on a Raspberry Pi or Ubuntu computer and publish the data to a MQTT server. -# RUN sudo apt-get install python-pip -# RUN pip install paho-mqtt - from __future__ import division import subprocess import time @@ -510,503 +504,3 @@ if __name__ == '__main__': break # if running as a service, sleep before the next iteration time.sleep(config.service_sleep_time) - -import subprocess -import time -import socket -import paho.mqtt.client as paho -import json -import config -import os -import argparse -import update - -# get device host name - used in mqtt topic -hostname = socket.gethostname() - -def check_wifi_signal(format): - try: - full_cmd = "ls /sys/class/ieee80211/*/device/net/" - interface = subprocess.Popen(full_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0].strip().decode("utf-8") - full_cmd = "/sbin/iwconfig {} | grep -i quality".format(interface) - wifi_signal = subprocess.Popen(full_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0] - - if format == 'dbm': - wifi_signal = wifi_signal.decode("utf-8").strip().split(' ')[4].split('=')[1] - else: - wifi_signal = wifi_signal.decode("utf-8").strip().split(' ')[1].split('=')[1].split('/')[0] - wifi_signal = round((int(wifi_signal) / 70)* 100) - - except Exception: - wifi_signal = 0 - - return wifi_signal - - -def check_used_space(path): - st = os.statvfs(path) - free_space = st.f_bavail * st.f_frsize - total_space = st.f_blocks * st.f_frsize - used_space = int(100 - ((free_space / total_space) * 100)) - - return used_space - - -def check_cpu_load(): - p = subprocess.Popen("uptime", shell=True, stdout=subprocess.PIPE).communicate()[0] - cores = subprocess.Popen("nproc", shell=True, stdout=subprocess.PIPE).communicate()[0] - cpu_load = str(p).split("average:")[1].split(", ")[0].replace(' ', '').replace(',', '.') - cpu_load = float(cpu_load) / int(cores) * 100 - cpu_load = round(float(cpu_load), 1) - - return cpu_load - - -def check_voltage(): - try: - full_cmd = "vcgencmd measure_volts | cut -f2 -d= | sed 's/000//'" - voltage = subprocess.Popen(full_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0] - voltage = voltage.strip()[:-1] - except Exception: - voltage = 0 - - return voltage.decode('utf8') - - -def check_swap(): - full_cmd = "free -t |grep -i swap | awk 'NR == 1 {print $3/$2*100}'" - swap = subprocess.Popen(full_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0] - swap = round(float(swap.decode("utf-8").replace(",", ".")), 1) - - return swap - - -def check_memory(): - full_cmd = "free -t | awk 'NR == 2 {print $3/$2*100}'" - memory = subprocess.Popen(full_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0] - memory = round(float(memory.decode("utf-8").replace(",", "."))) - - return memory - - -def check_cpu_temp(): - full_cmd = "cat /sys/class/thermal/thermal_zone*/temp 2> /dev/null | sed 's/\(.\)..$//' | tail -n 1" - try: - p = subprocess.Popen(full_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0] - cpu_temp = p.decode("utf-8").strip() - except Exception: - cpu_temp = 0 - - return cpu_temp - - -def check_sys_clock_speed(): - full_cmd = "awk '{printf (\"%0.0f\",$1/1000); }'