TIME, DATE, CPU TEMPERATURE AND PUBLIC IP

https://github.com/RodDevs/raspberrypi-temp.git

ENVIRONMENT

  • Raspberry Pi 4 4GB
  • UBUNTU SERVER 20.04
  • Python 3
  • SunFounder I2C LCD Module Display 20×4

Setup I2C

$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

Code

import lcddriver
import urllib.request
from time import sleep, strftime
from gpiozero import CPUTemperature
from subprocess import *
cpu = CPUTemperature()
lcd = lcddriver.lcd()
external_ip = urllib.request.urlopen('https://ident.me').read().decode('utf8')
def run_cmd(cmd):
        p = Popen(cmd, shell = True, stdout = PIPE)
        output = p.communicate()[0]
        return output
lcd.lcd_clear()
while True:
        lcd.lcd_display_string(strftime('TIME: ' '%I:%M:%S %p'), 1)
        lcd.lcd_display_string(strftime('%a, %b %d %Y'), 2)
        lcd.lcd_display_string("CPU Temp: %.2f" % cpu.temperature + chr(223) + "C", 3)
        lcd.lcd_display_string("IP:" + external_ip, 4)
        sleep(1)

Leave a Reply

Your email address will not be published. Required fields are marked *