以下是对应流程的命令和相关脚本,仅供参考。
安装ADB
创建UDEV规则:
加载规则
查看手机设备
安装安卓程序
APK下载地址:
下载1.11.40版本的XSDL
创建KlipperScreen服务脚本
在klipperScreen同目录下创建 launch_klipperscreen.sh
#!/bin/bash
# forward local display :100 to remote display :0
adb forward tcp:6100 tcp:6000
adb shell dumpsys nfc | grep 'mScreenState=' | grep OFF_LOCKED > /dev/null 2>&1
if [ $? -lt 1 ]
then
echo "Screen is OFF and Locked. Turning screen on..."
adb shell input keyevent 26
fi
adb shell dumpsys nfc | grep 'mScreenState=' | grep ON_LOCKED> /dev/null 2>&1
if [ $? -lt 1 ]
then
echo "Screen is Locked. Unlocking..."
adb shell input keyevent 82
fi
# start xsdl
adb shell am start x.org.server/.MainActivity
ret=1
timeout=0
echo -n "Waiting for x-server to be ready "
while [ $ret -gt 0 ] && [ $timeout -lt 60 ]
do
xset -display :100 -dpms s off -q > /dev/null 2>&1
ret=$?
timeout=$( expr $timeout + 1 )
echo -n "."
sleep 1
done
echo ""
if [ $timeout -lt 60 ]
then
DISPLAY=:100 /home/pi/.KlipperScreen-env/bin/python screen.py
exit 0
else
exit 1
fi
修改启动脚本
[Unit]
Description=KlipperScreen
After=moonraker.service
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=pi
WorkingDirectory=/home/pi/KlipperScreen
ExecStart=/home/pi/KlipperScreen/launch_klipperscreen.sh
[Install]
WantedBy=multi-user.target
重新加载守护进程
启动服务