简介:由于疫情常态化,在国内居家隔离与远程办公成为上班族有可能会面临的问题。对于一般的软件公司,由于只需要软体,远程办公只要解决联网,在安装一个远程桌面,即可实现。
但是针对于硬件公司,特别是需要烧录bios进行调试的场景,需要操作硬件上下电,同时兼顾整个启动过程,排查硬件问题、软件代码问题。直接使用联网方案并不现实。基于该场景下,特提出一种解决远程上下电与串口监控的解决方案。
主要使用硬件环境有:飞腾调试主板一块,树莓派4B一套(也可以用飞腾主板替代),em100pro仿真器,usb转ttl串口。
硬件连接上,飞腾调试主板可以通过按键开关机,树莓派上通过gpio管脚连接到调试主板的开关机管脚上,我的接线管脚如图所示,em100pro连接到qspi排针上,另外一端usb接口连接到树莓派usb接口上,usb串口一端接上调试主板的debug口上,另一端接到树莓派usb接口上。
本次方案主要难点:
- 如何解决qspi仿真器在树莓派或飞腾平台上的使用
- 树莓派如何实现串口监控
- 树莓派如何实现gpio控制
- 如何解决在家远程公司外网环境下的树莓派
以上问题我们需要逐个解决:
- 如何解决qspi仿真器在树莓派或飞腾平台上的使用
可以参考我之前的博客,上面详细讲解了linux环境下使用EM100pro仿真器的安装方法,请点击链接
- 树莓派如何实现串口监控
可以使用minicon,解决linux平台下串口的监控问题。
-
输入minicon -s
会弹出如下界面
配置串口选项,选择Serial port setup,配置串口为插入的ttyUSB0,同时指定波特率,流控。保存之后退出。
弹出如下界面,表明配置界面完成。如果串口有信息,就会在后面弹出。
-
树莓派如何实现gpio控制
树莓派操作gpio的方式有很多,网上也有很多教程。本次我主要使用的是python来操作gpio控制gpio的上下电。
文件名:power_ftdemo.py,
Python源码如下:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
IN1 = 38
def init():
GPIO.setup(IN1,GPIO.OUT)
GPIO.output(IN1,GPIO.LOW)
time.sleep(0.1)
GPIO.cleanup()
time.sleep(2)
init()
运行命令:python power_ftdemo.py
执行即可拉低一下gpio.28管脚。也就相当于按一下主板上的powerbtn,做一次开机或者关机。
-
如何解决在家远程公司外网环境下的树莓派
解决内外网问题的方案有很多中,自建frp,或者使用商用公司免费版的内网穿透软件都行。经过评估,考虑自建frp难度太大,我直接搭建的花生壳的内网穿透软件。
花生壳账户需要注册,好在难度不大,而且他们已经基于arm64平台出了安装软件与教程,参考他们的教程很容易实现内网穿透。操作这个需要有比较基础的网络知识,理解端口号,内网穿透原理。
这是我安装成功后的截图,在系统下输入phddns stsus 可以看到状态属于online,表明成功实现内网穿透。
完成以上步骤,就可以实现内网穿透
远程登录可以使用Xshell ,SecuareCRT,等等串口登录软件,输入域名,申请的端口号,即可登录到远程树莓派上面。
登录完成即可实现远程操作。在家也可远程调试bios、系统等。
示例:在家调试的固件的截图,愉快的远程办公了。
发表评论