提高在家工作的效率,或如何在Pi Zero上移动鼠标

对于有效的经理来说,在家工作不仅是福气,而且是严峻的挑战,他们仍然在工作时间内衡量IT部门的生产力。您的工作可靠性的主要指标通常是企业信使中的绿色状态。有些甚至走得更远,并为员工部署数字体验测量工具,以跟踪他们在Word,浏览器或IDE中花费的时间。

有几种方法可以抵抗这种耻辱:

  1. 程序。我尝试了各种脚本和工具来模拟用户操作-没有任何效果。计算机仍会进入睡眠状态/ Messenger会将状态设置为“ Away”

  2. 硬件

    这样:

或像这样:

可以,但是打印任何合理的东西都行不通。

3.混合,我们将更详细地介绍它

您可以使用ATmega32U4在任何Arduin上制作USB HID设备仿真器。有USB支持。但是,如果花相同的钱购买Raspberry Pi Zero(W),为什么还要使用Arduin?Pi0可以同时转换为USB键盘,鼠标和网卡,同时通过SSH管理所有内容,而不会否认自己。

让我们看看如何做到这一点。

首先,您需要获得Pi Zero(W),在那里安装操作系统并配置SSH <-让我们自己做。

然后,您需要在Pi0上进行配置,以便将其检测为USB HID设备:

pi@raspberrypi:~ $ echo "dtoverlay=dwc2" | sudo tee -a /boot/config.txt
pi@raspberrypi:~ $ echo "dwc2" | sudo tee -a /etc/modules
pi@raspberrypi:~ $ sudo echo "libcomposite" | sudo tee -a /etc/modules
pi@raspberrypi:~ $ sudo touch /usr/bin/pypikey_usb
pi@raspberrypi:~ $ sudo chmod +x /usr/bin/pypikey_usb

pi@raspberrypi:~ $ sudo nano /etc/rc.local

exit 0

/usr/bin/pypikey_usb # libcomposite configuration

c USB

sudo nano /usr/bin/pypikey_usb
#!/bin/bash
cd /sys/kernel/config/usb_gadget/
mkdir -p pypikey
cd pypikey
echo 0x1d6b > idVendor # Linux Foundation
echo 0x0104 > idProduct # Multifunction Composite Gadget
echo 0x0100 > bcdDevice # v1.0.0
echo 0x0200 > bcdUSB # USB2
mkdir -p strings/0x409
echo "0123456789" > strings/0x409/serialnumber
echo "Artyom" > strings/0x409/manufacturer
echo "PyPiKey USB Device" > strings/0x409/product
mkdir -p configs/c.1/strings/0x409
echo "Config 1: ECM network" > configs/c.1/strings/0x409/configuration
echo 250 > configs/c.1/MaxPower

# keyboard
REPORT_DESC="\
\\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\
\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\
\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\
\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0"

mkdir -p functions/hid.usb0
echo 1 > functions/hid.usb0/protocol
echo 1 > functions/hid.usb0/subclass
echo 8 > functions/hid.usb0/report_length
echo -ne ${REPORT_DESC} > functions/hid.usb0/report_desc
ln -s functions/hid.usb0 configs/c.1/
# End keyboard

# mouse
MOUSE_COMBINED_DESC="\
\\x05\\x01\\x09\\x02\\xa1\\x01\\x09\\x01\\xa1\\x00\\x85\\x01\\x05\\x09\\x19\\x01\
\\x29\\x03\\x15\\x00\\x25\\x01\\x95\\x03\\x75\\x01\\x81\\x02\\x95\\x01\\x75\\x05\
\\x81\\x03\\x05\\x01\\x09\\x30\\x09\\x31\\x15\\x81\\x25\\x7f\\x75\\x08\\x95\\x02\
\\x81\\x06\\x95\\x02\\x75\\x08\\x81\\x01\\xc0\\xc0\\x05\\x01\\x09\\x02\\xa1\\x01\
\\x09\\x01\\xa1\\x00\\x85\\x02\\x05\\x09\\x19\\x01\\x29\\x03\\x15\\x00\\x25\\x01\
\\x95\\x03\\x75\\x01\\x81\\x02\\x95\\x01\\x75\\x05\\x81\\x01\\x05\\x01\\x09\\x30\
\\x09\\x31\\x15\\x00\\x26\\xff\\x7f\\x95\\x02\\x75\\x10\\x81\\x02\\xc0\\xc0"

mkdir -p functions/hid.usb1
echo 2 > functions/hid.usb1/protocol
echo 1 > functions/hid.usb1/subclass
echo 6 > functions/hid.usb1/report_length
echo -ne ${MOUSE_COMBINED_DESC} > functions/hid.usb1/report_desc
ln -s functions/hid.usb1 configs/c.1/
# End mouse

ls /sys/class/udc > UDC

Pi0 USB ( Pi0 USB - , ).

USB HID . Pi0 - /dev/hidg0 - . /dev/hidg1 - .

(Python):

with open('/dev/hidg1', 'rb+') as hidg1:
     hidg1.write(b'\x01\x00\xff\x00\x00\x00') #move 1 pixel right
     hidg1.write(b'\x01\x00\x01\x00\x00\x00') #move 1 pixel left

:

with open('/dev/hidg0', 'rb+') as hidg0:
     hidg0.write(b'\x00\x00\x04\x00\x00\x00\x00\x00') # 
     hidg0.write(b'\x00\x00\x00\x00\x00\x00\x00\x00') # 

我的GitHub页面有两个python文件。第一个(pypimu.py)可以方便地在调度程序中注册以每分钟运行一次。它将鼠标光标向右移动一个像素,然后立即向左移动一个像素。我看不到何时发生,但这足以使计算机保持唤醒状态。

第二个(pypikey.py)打印您输入的文本。像这样:

您可以看看其他人长期以来的工作情况...
您可以看看其他人长期以来的工作情况...

似乎一切。感谢您的关注!




All Articles