davidjmorin

Working Python File for Temps and info

May 26th, 2020
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. from __future__ import print_function
  2. from urllib.request import urlopen
  3. import json
  4. import subprocess
  5. import requests
  6. import random
  7. import sys
  8. import os
  9. import time
  10. import datetime
  11. import MySQLdb as my
  12. import psutil
  13. import platform
  14.  
  15. uname = platform.uname()
  16. db = my.connect(host="localhost",
  17. user="david",
  18. passwd="password!",
  19. db="data"
  20. )
  21.  
  22. cursor = db.cursor()
  23.  
  24. def getCPUtemperature():
  25. res = os.popen('vcgencmd measure_temp').readline()
  26. return(res.replace("temp=","").replace("'C\n",""))
  27.  
  28. def getCPUusage():
  29. cpu = psutil.cpu_freq()
  30. return(res.replace("current=","").replace("C\n",""))
  31.  
  32. #Disk Space
  33. drive = os.popen('df -hm /dev/sda2').read()
  34. drive = drive.split()
  35. drive = drive[10]
  36. external = float(drive) / 1000
  37.  
  38. driveSpace = os.popen('df -hm /dev/sda2').read()
  39. driveSpace = driveSpace.split()
  40. driveSpace = driveSpace[8]
  41. externalSpace = float(driveSpace) / 1000
  42.  
  43. driveUsed = os.popen('df -hm /dev/sda2').read()
  44. driveUsed = driveUsed.split()
  45. driveUsed = driveUsed[9]
  46. externalUsed = float(driveUsed) / 1000
  47.  
  48.  
  49. memory = psutil.virtual_memory()
  50. memory = memory[1]
  51.  
  52. version = (f"{uname.release}")
  53.  
  54. cpu = psutil.cpu_freq()
  55. cpu = cpu.current
  56.  
  57.  
  58. r = requests.get('http://ipv4.icanhazip.com/')
  59. p = r.text
  60. name = "Home Server"
  61. now = datetime.datetime.now()
  62. currentTime = datetime.datetime.now()
  63. temp = float(getCPUtemperature())
  64. temp = (temp * 1.8) + 32
  65. boot = datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")
  66. ram = round(memory / 1024 / 1024)
  67.  
  68. sql = "insert into test VALUES(NULL, '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}')".format(name, temp , boot, currentTime, p,ram,version,cpu,external,externalSpace,externalUsed)
  69.  
  70. number_of_rows = cursor.execute(sql)
  71. db.commit()
  72.  
  73. db.close()
Add Comment
Please, Sign In to add comment