72 lines
1.9 KiB
Python
72 lines
1.9 KiB
Python
|
|
import socket
|
||
|
|
import fcntl
|
||
|
|
import struct
|
||
|
|
import psutil
|
||
|
|
import os
|
||
|
|
import sys
|
||
|
|
import time
|
||
|
|
home_dir = os.path.expanduser("~")
|
||
|
|
sys.path.append(home_dir)
|
||
|
|
import I2C_LCD_Driver
|
||
|
|
import SDL_DS1307
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
mylcd = I2C_LCD_Driver.lcd()
|
||
|
|
ds1307 = SDL_DS1307.SDL_DS1307(0, 0x68)
|
||
|
|
|
||
|
|
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])
|
||
|
|
|
||
|
|
#mylcd.lcd_display_string("hello",1)
|
||
|
|
#mylcd.lcd_display_string("IP Address:", 1)
|
||
|
|
|
||
|
|
#mylcd.lcd_display_string(get_ip_address('eth0'), 2)
|
||
|
|
# Return RAM information (unit=kb) in a list
|
||
|
|
# Index 0: total RAM
|
||
|
|
# Index 1: used RAM
|
||
|
|
# Index 2: free RAM
|
||
|
|
|
||
|
|
|
||
|
|
def getRAMinfo():
|
||
|
|
p = os.popen('free')
|
||
|
|
i = 0
|
||
|
|
while 1:
|
||
|
|
i = i + 1
|
||
|
|
line = p.readline()
|
||
|
|
if i==2:
|
||
|
|
return(line.split()[1:4])
|
||
|
|
|
||
|
|
mylcd.lcd_clear()
|
||
|
|
while True:
|
||
|
|
#CPU usage and time
|
||
|
|
|
||
|
|
CPU_usage = psutil.cpu_percent(interval = .5)
|
||
|
|
mylcd.lcd_display_string("CPU Load %s%% " % (CPU_usage), 1)
|
||
|
|
mylcd.lcd_display_string("%s" % ds1307.read_datetime(), 2)
|
||
|
|
time.sleep(3)
|
||
|
|
mylcd.lcd_clear()
|
||
|
|
#IP ADDRESS
|
||
|
|
mylcd.lcd_display_string("IP Address : ", 1)
|
||
|
|
mylcd.lcd_display_string(get_ip_address('eth0'), 2)
|
||
|
|
time.sleep(3)
|
||
|
|
mylcd.lcd_clear()
|
||
|
|
#RAM USAGE
|
||
|
|
RAM_stats = getRAMinfo()
|
||
|
|
RAM_used = round(int(RAM_stats[1]) / 1000,1)
|
||
|
|
RAM_free = round(int(RAM_stats[2]) / 1000,1)
|
||
|
|
mylcd.lcd_display_string("RAM Used %sMB" % (RAM_used),1)
|
||
|
|
mylcd.lcd_display_string("RAM Free %sMB" % (RAM_free),2)
|
||
|
|
time.sleep(3)
|
||
|
|
mylcd.lcd_clear()
|
||
|
|
mylcd.lcd_display_string("All your base",1)
|
||
|
|
mylcd.lcd_display_string("are belong to us",2)
|
||
|
|
time.sleep(3)
|
||
|
|
mylcd.lcd_clear()
|