树莓派易语言linux,树莓派通过C语言和python操作LCD液晶屏

#!/user/bin/env python

import os

import smbus

import time

import sys

import socket

import subprocess

import lcd1602 as LCD

def getLocalIP():

ip = None

try:

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.connect(('114.114.114.114', 0))

ip = s.getsockname()[0]

except:

name = socket.gethostname()

ip = socket.gethostbyname(name)

if ip.startswith("127."):

cmd = '''/sbin/ifconfig | grep "inet " | cut -d: -f2 | awk '{print $1}' | grep -v "^127."'''

a = subprocess.Popen(

cmd,

shell=True,

stdout=subprocess.PIPE,

stderr=subprocess.PIPE)

a.wait()

out = a.communicate()

ip = out[0].strip().split("\n")

if len(ip) == 1 and ip[0] == "" or len(ip) == 0:

return False

ip = "over".join(ip)

return ip

# Return CPU temperature as a character string

def getCPUtemperature():

res = os.popen('vcgencmd measure_temp').readline()

return(res.replace("temp=","").replace("'C\n",""))

# 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])

# Return % of CPU used by user as a character string

def getCPUuse():

return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip()))

# Return information about disk space as a list (unit included)

# Index 0: total disk space

# Index 1: used disk space

# Index 2: remaining disk space

# Index 3: percentage of disk used

def getDiskSpace():

p = os.popen("df -h /")

i = 0

while 1:

i = i +1

line = p.readline()

if i==2:

return(line.split()[1:5])

if __name__ == '__main__':

LCD.init_lcd()

time.sleep(1)

LCD.print_lcd(2, 0, 'Raspberry Pi')

for x in xrange(1, 4):

LCD.turn_light(0)

LCD.print_lcd(4, 1, 'LIGHT OFF')

time.sleep(0.5)

LCD.turn_light(1)

LCD.print_lcd(4, 1, 'LIGHT ON ')

time.sleep(0.5)

LCD.turn_light(1)

while True:

now = time.strftime('%m/%d %H:%M:%S', time.localtime(time.time()))

ip=getLocalIP()

# CPU informatiom

CPU_temp = getCPUtemperature()

CPU_usage = getCPUuse()

# RAM information

# Output is in kb, here I convert it in Mb for readability

RAM_stats = getRAMinfo()

RAM_total = round(int(RAM_stats[0]) / 1000,1)

RAM_used = round(int(RAM_stats[1]) / 1000,1)

RAM_free = round(int(RAM_stats[2]) / 1000,1)

# Disk information

DISK_stats = getDiskSpace()

DISK_total = DISK_stats[0]

DISK_used = DISK_stats[1]

DISK_perc = DISK_stats[3]

LCD.clear_lcd()

LCD.print_lcd(0, 0, now)

LCD.print_lcd(0, 1, ip)

time.sleep(2)

LCD.clear_lcd()

LCD.print_lcd(0, 0, 'CPU Temperature='+CPU_temp)

LCD.print_lcd(0, 1, 'CPU Use='+CPU_usage)

time.sleep(2)

LCD.clear_lcd()

LCD.print_lcd(0, 0, 'RAM Total='+str(RAM_total)+'MB')

LCD.print_lcd(0, 1, 'RAM Used='+str(RAM_used)+'MB')

time.sleep(2)

LCD.clear_lcd()

LCD.print_lcd(0, 0, 'RAM Free='+str(RAM_free)+'MB')

LCD.print_lcd(0, 1, 'DISK Total Space='+str(DISK_total)+'B')

time.sleep(2)

LCD.clear_lcd()

LCD.print_lcd(0, 0, 'DISK Used Space='+str(DISK_used)+'B')

LCD.print_lcd(0, 1, 'DISK Used Percentage='+str(DISK_perc))

time.sleep(2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值