Skip to content

Instantly share code, notes, and snippets.

/LCD_beta2.py Secret

Created April 4, 2017 21:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/d9f5762555f9de662aade7e4b0af308b to your computer and use it in GitHub Desktop.
Save anonymous/d9f5762555f9de662aade7e4b0af308b to your computer and use it in GitHub Desktop.
import LCD_I2C_driver
import socket
import fcntl
import struct
import time
import os
import psutil
import commands
import Adafruit_DHT
import sys
import subprocess
from time import *
from datetime import datetime, timedelta
lcd = LCD_I2C_driver.lcd()
def get_ip_address(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15]))[20:24])
def get_cpu_tempC():
tempFile = open("/sys/class/thermal/thermal_zone0/temp")
cpu_temp = tempFile.read()
tempFile.close()
return float(cpu_temp)/1000
def get_uptime():
boot_time = datetime.fromtimestamp( psutil.boot_time() )
elapsed = (datetime.now() - boot_time).seconds
return str( timedelta( 0, elapsed ) )
def get_ram_info():
av_ram = psutil.virtual_memory().available
av_mb = int(av_ram/1024/1024)
used_ram = psutil.virtual_memory().active
used_mb = int(used_ram/1024/1024)
buffer = psutil.virtual_memory().buffers
buffer_mb = int(buffer/1024/1024)
cache = psutil.virtual_memory().cached
cache_mb = int(cache/1024/1024)
buffer_cache = int(buffer_mb+cache_mb)
av_mb = str(av_mb)
used_mb = str(used_mb)
buffer_cache = str(buffer_cache)
RAM_overall = str(used_mb+"M/"+av_mb+"M/"+buffer_cache+"M")
return str(RAM_overall)
def get_sd_storage():
used_space = psutil.disk_usage('/').used
used_space_mb = int(used_space/1024/1024)
used_space_mb = str(used_space_mb)
free_space = psutil.disk_usage('/').free
free_space_mb = int(free_space/1024/1024)
free_space_mb = str(free_space_mb)
overall_space = str(used_space_mb+"MB/"+free_space_mb+"MB")
return str(overall_space)
def get_hdd_storage():
used_space = psutil.disk_usage('/mnt/HDD').used
used_space_mb = int(used_space/1024/1024/1024)
used_space_mb = str(used_space_mb)
free_space = psutil.disk_usage('/mnt/HDD').free
free_space_mb = int(free_space/1024/1024/1024)
free_space_mb = str(free_space_mb)
overall_space = str(used_space_mb+"GB/"+free_space_mb+"GB")
return str(overall_space)
def room_temp():
humidity, temperature = Adafruit_DHT.read_retry(11, 4)
temp = str(temperature)
hum = str(humidity)
room_data = str("T:"+temp+chr(223)+"C "+"H:"+hum+"%")
return str(room_data)
def public_ip():
pub_ip = open("/home/tom/ext_ip.txt").read()
return str(pub_ip.replace("\n",""))
#def net_speed():
# netw_speed = subprocess.call(['/home/tom/netspeed.sh wlan0'], stdout=subprocess.PIPE) call/run n/a in python2.7
# return str(netw_speed)
def main():
while 1:
t_end_1 = time() + 10
while time() < t_end_1:
lcd.lcd_display_string_pos("BlackBox", 1, 6)
lcd.lcd_display_string(datetime.now().strftime(' %d %b %H:%M:%S'), 2)
total_uptime = get_uptime()
lcd.lcd_display_string(' Uptime: %s' % (total_uptime), 3)
temp_hum = room_temp()
lcd.lcd_display_string(' %s' % (temp_hum), 4)
else:
lcd.lcd_clear()
t_end_2 = time() + 10
while time() < t_end_2:
CPU_usage = psutil.cpu_percent(interval = 1)
cpu_tempC = get_cpu_tempC()
lcd.lcd_display_string('CPU: %s%% ' % (CPU_usage) + "%.2f" % (cpu_tempC) + chr(223) + "C", 1)
ram_overall = get_ram_info()
lcd.lcd_display_string('RAM: %s' % (ram_overall), 2)
sd_space = get_sd_storage()
lcd.lcd_display_string('SD: %s' % (sd_space), 3)
hdd_space = get_hdd_storage()
lcd.lcd_display_string('HDD: %s' % (hdd_space), 4)
else:
lcd.lcd_clear()
t_end_3 = time() + 10
while time() < t_end_3:
lcd.lcd_display_string("IP:"+get_ip_address('eth0'), 1)
ext_ip = public_ip()
lcd.lcd_display_string('ExtIP:%s' % (ext_ip), 2)
# network_speed = net_speed()
# lcd.lcd_display_string('%s' % (network_speed), 3)
else:
lcd.lcd_clear()
if __name__=="__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment