玩转orangpi 之frpc远程管理+pcd8544(nokia5110 lcd) 显示运行状态。

物件:

orangepi一套(电源,网线,orangepiPC)110元

nokia 5110 lcd 接线8跟 15块

展示:

系统配置

  1. 使用python操作orangepi_PC 的gpio需要安装 https://github.com/duxingkei33/orangepi_PC_gpio_pyH3

  2. 想在orangepi_PC中驱动 nokia5110 需要 编译 cd8544_rpi https://github.com/nopnop2002/pcd8544_rpi

    1.  安装方法

      git clone https://github.com/nopnop2002/pcd8544_rpi
      cd pcd8544_rpi/
      cc -o nokia nokia.c fontx.c pcd8544.c -lwiringPi -lpthread
      bash ./test.sh
    2. 简单使用说明。

    ​ > 最大支持6行,4X8一行可以显示个字符20 6X8一行可以可显示12左右吧

    1. 上面编译一个nokia的可执行文件,之后我们使用这个可执行文件来操作nokia5110

      常用操作指令 --- 说明
      nokia r --- 清屏
      ./nokia +1 "ABCDEFG" --- 在第一行以4X8显示字符串"ABCDEFG"
      ./nokia +2 "ABCDEFG" --- 在第二行以6X8显示字符串"ABCDEFG"
      ./nokia +a "ABCDEFG" --- 在第一行以6X8显示字符串"ABCDEFG"
      ./nokia +f "ABCDEFG" --- 在第六行以6X8显示字符串"ABCDEFG"
      ./nokia c 60 --- 设置对比度为60
      ./nokia s --- 显示

GPIO接口(按示意图连接OrangePi gpio口和 nokia5110)

NOKIA5110 --- RPi/OPi 物理针脚编号
1 RST --- GPIO23 (Pin#16)
2 CE --- SPI CE0 (Pin#24)
3 DC --- GPIO24 (PIn#18)
4 DIN --- SPI MOSI (Pin#19)
5 CLK --- SPI SCLK (Pin#23)
6 VCC --- 3.3V
7 BL --- 3.3V/GND(*)
8 GND --- GND

nokia5110的第7pin(背光) 可以选择接地(灭背光)或3.3v(亮背光)。

连接导线时注意第一个针脚旁边有小白色三角标志

supervisord配置文件

使用supervisord 管理frpc 和 状态刷新程序。

supervisord的配置文件

directory = /tmp
command = /usr/bin/frpc -c /etc/frp/frpc.ini
autostart = true
startsecs = 10
autorestart = true
startretries = 3
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /tmp/frac.log [program:orangePiStatus]
directory = /root/pcd8544_rpinew/
command = /usr/bin/python /root/pcd8544_rpinew/status.py
autostart = true
startsecs = 10
autorestart = true
startretries = 3
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /tmp/orangepiStatus.log
frpc.ini

server_addr = serverip
server_port = 9000
token= 20192019 [orangepi_ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6223

https://github.com/fatedier/frp

操作屏幕的python脚本(status.py)

#!coding:utf-8
# by:lvusyy
# import commands
import os
import time SLEEPTIME=10 #every 10s times=0
WANIP=commands.getstatusoutput("curl -s http://members.3322.org/dyndns/getip")[1]
def getdatas():
line0='UpTime:{}'
line1='TP:{}.PC:{}'
line2='LD:{}'
line3='Frpc:{}'#running stop
line4='WANIP:'
line5='Net:{}'
uptime= commands.getstatusoutput("uptime|awk '{print $3$4}'")[1][0:-1]
temp= commands.getstatusoutput("cat /sys/class/thermal/thermal_zone0/temp")[1]
psCount= commands.getstatusoutput("ps aux|wc -l")[1].replace(' ','')
load = commands.getstatusoutput("uptime|awk -Faverage: '{print $2}'")[1].replace(' ','')
global times
if times>=60:
wanip=commands.getstatusoutput("curl -s http://members.3322.org/dyndns/getip")[1]
global WANIP
WANIP=wanip
times=0
else:
wanip=WANIP
times += 1
network= commands.getstatusoutput("ping baidu.com -c 1 2>/dev/null|grep -q time && echo Online ||echo *offline*")[1]
if network.find('offline')!=-1:
times=60
frpc= commands.getstatusoutput("ps aux|grep -q frpc && echo Running ||echo Stoped")[1] return [line0.format(uptime),line1.format(temp,psCount),line2.format(load),line3.format(frpc),line5.format(network),wanip if wanip else "**Offline**"]
def show():
''
os.system('./nokia r')
line=0
a=['a','b','3','d','e','6']
for i in getdatas(): # print("nokia {} {}".format(line,i))
os.system("./nokia +{} {}".format(a[line],i))
line += 1
os.system('./nokia c 60')
os.system('./nokia s') def loop():
''
while True:
time.sleep(SLEEPTIME)
show() def main():
loop() if __name__=="__main__":
main()

之后可以设置个开机脚本来启动supervisord即可。 也可以用systemctl 管理.

之后在外网也可轻松管理orangepi了。

【后续,有必要再补充!】

玩转orangpi 之frpc远程管理+pcd8544(nokia5110 屏幕) 显示运行状态的更多相关文章

  1. 远程管理 KVM 虚机 - 每天5分钟玩转 OpenStack(5)

    上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进来 填入宿主机的相关信息,确定即 ...

  2. linux-图形化远程管理协议

    远程管理控制方式: RDP(remote desktop protocol)协议: telnet: SSH(Secure Shell): RFB(Remote FrameBuffer)协议(图形化远程 ...

  3. 远程管理无管理员权限的PC客户端

    一.简介 为提高操作系统稳定性.流畅度,分公司同事PC用户没有administrator权限,导致同事不能对系统进行设置.不能自行安装软件.网管使用远程管理软件(如Teamviewer.QQ)为同事提 ...

  4. CentOS下开启mysql远程连接,远程管理数据库

    当服务器没有运行php.没装phpmyadmin的时候,远程管理mysql就显得有必要了.因为在CentOS下设置的,所以标题加上了CentOS,以下的命令在debian等系统下应该也OK. mysq ...

  5. Net作业调度(二) -CrystalQuartz远程管理

    Source Code-1.6M 介绍 上篇已经了解Quartz.NET的基本使用方法了.但如果想方便的知道某个作业执行情况,需要暂停,启动等操作行为,这时候就需要个Job管理的界面. 本文介绍Qua ...

  6. Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  7. Linux/CentOS下开启MySQL远程连接,远程管理数据库

    当服务器没有运行PHP.没装phpMyAdmin的时候,远程管理MySQL就显得有必要了. 第一步:开启MySQL用户的远程访问权限 mysql -u root -p mysql # 第1个mysql ...

  8. Linux学习笔记19-ssh远程管理

    远程管理 服务器一般运行在IDC机房中,一般都是通过远程管理方式对服务器进程控制. 常见的远程管理工具: RDP(remote desktop protocol)协议,window远程桌面管理 Tel ...

  9. php强制转换类型和CMS远程管理插件的危险

    远程管理插件是十分受WordPress站点管理员欢迎的工具,它们允许用户同时对多个站点执行相同的操作,如,更新到最新的发行版或安装插件.然而,为了实现这些操作,客户端插件需要赋予远程用户很大的权限.因 ...

随机推荐

  1. excelize

    // 参考:https://gitee.com/xurime/excelize // github.com/360EntSecGroup-Skylar/excelize

  2. (二)ActiveMQ之点对点消息实现

    一.点对点消息实现概念 在点对点或队列模型下,一个生产者向一个特定的队列发布消息,一个消费者从该队列中读取消息.这里,生产者知道消费者的队列,并直接将消息发送到消费者的队列.这种模式被概括为:只有一个 ...

  3. Abp SSO

    官方的文档有个坑. 首先建立的应该是 .net core  MPA版本. 把文档上的startup.cs配置写入 MVC 项目中. 这样测试才能通过.不然,测试项目     var disco = a ...

  4. php 环境搭建问题

    项目过程中需要用到 PHP环境 https://www.cnblogs.com/cyrfr/p/6483529.html APACHE无法启动:THE REQUEST OPERATION HAS FA ...

  5. Java 面向对象(七)多态

    一.多态概述(Polymorphism) 1.引入 多态是继封装.继承之后,面向对象的第三大特性. 通过不同的事物,体现出来的不同的形态.多态,描述的就是这样的状态.如跑的动作,每个动物的跑的动作就是 ...

  6. ajax格式,转入后台

    setInterval(function(),时间)定时重复发送请求

  7. springload热更新的优缺点

    java开发web应用没有.net的方便快捷, 原因是传统开发模式下新增修改代码后要查看效果, 一般要重启应用, 导致浪费了许多无谓的时间,没有.net的高效, 任意更新文件实时生效. 但是有个叫sp ...

  8. The openssl extension is missing, which means that secure HTTPS transfers are impossible

    执行命令:curl -sS https://getcomposer.org/installer | php报错如下Some settings on your machine make Composer ...

  9. X宝个人支付到账

    扫码登录,能看懂的我就不多说了,封了我多少篇文章了!!!!X宝个人到账通知.

  10. MySQL的MHA实现高可用性

    MySQL高可用 (1)MMM: Multi-Master Replication Manager for MySQL,Mysql主主复制管理器是一套灵活的脚本程序,基于perl实现,用来对mysql ...