Travailler à domicile n'est pas seulement une bénédiction, mais aussi un défi de taille pour les gestionnaires efficaces qui mesurent encore la productivité du service informatique dans leurs heures de travail. Le principal indicateur de la fiabilité de votre travail est souvent un statut vert joyeux dans un messager d'entreprise. Certains vont encore plus loin et déploient des outils de mesure de l'expérience numérique pour les employés afin de suivre le temps qu'ils ont passé dans Word, navigateur ou IDE.
Il existe plusieurs façons de résister à cette honte:
. , – . / “Away”
:
:
, - .
3. ,
USB HID ATmega32U4. USB. , Raspberry Pi Zero (W)? 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') #
Il y a deux fichiers python sur ma page GitHub . Le premier (pypimu.py) est pratique pour s'inscrire dans le planificateur pour s'exécuter toutes les minutes. Il déplace le curseur de la souris d'un pixel vers la droite et immédiatement d'un pixel vers la gauche. Je ne peux pas voir quand cela se produit, mais c'est suffisant pour garder l'ordinateur éveillé.
Le second (pypikey.py) imprime le texte que vous lui insérez. Quelque chose comme ça:
Il semble que tout. Merci de votre attention!