Compare commits
3 Commits
20a1e06a46
...
133f772094
Author | SHA1 | Date | |
---|---|---|---|
133f772094 | |||
20a128c78c | |||
c6faf05e4b |
@ -2,7 +2,7 @@
|
||||
title: "🔐 Шифрование с помощью GPG"
|
||||
date: 2022-06-11T12:56:34+03:00
|
||||
draft: false
|
||||
tags: [gpg, privacy]
|
||||
tags: [gpg, privacy, tips]
|
||||
---
|
||||
|
||||
## Шифрование файла
|
||||
|
108
content/posts/2023/arduino/change-devices-vid-pid-name.md
Normal file
108
content/posts/2023/arduino/change-devices-vid-pid-name.md
Normal file
@ -0,0 +1,108 @@
|
||||
---
|
||||
title: "💀 Изменение VID/PID и имени устройста Arduino"
|
||||
date: 2023-04-29T13:26:50+03:00
|
||||
draft: false
|
||||
tags: [arduino, hardware, hack, usb, tutorial]
|
||||
---
|
||||
|
||||
ℹ️ Это руководство представляет из себя вольный
|
||||
[перевод статьи](https://www.shellhacks.com/arduino-change-devices-vid-pid-name/)
|
||||
с сайта shellhacks.com.
|
||||
|
||||
## Введение
|
||||
|
||||
Идентификаторы производителей устройств (_VID_)
|
||||
и идентификаторы продуктов устройств (_PID_) — это 16-разрядные числа,
|
||||
используемые для идентификации USB-устройств.
|
||||
|
||||
По этим номерам компьютер определяет какое USB-устройству подключено к нему
|
||||
и какие драйверы использовать для работы с ним.
|
||||
|
||||
Если планируется разрабатывать какую-нибудь USB-клавиатуру HID на базе Arduino,
|
||||
то возможно захочеться изменить VID, PID коды и название устройста
|
||||
на свои, чтобы компьютер или любой другой хост распознавал её как стандартную клавиатуру.
|
||||
|
||||
В этой заметке я покажу, как изменить VID/PID и название устройства на базе Arduino
|
||||
на примере Arduino Pro Micro.
|
||||
|
||||
## Изменение VID, PID и имени устройства Arduino
|
||||
|
||||
Для просмотра информации о подключенных USB-устройствах
|
||||
в Linux можно использовать утилиту `lsusb`:
|
||||
|
||||
```sh
|
||||
lsusb
|
||||
- sample output -
|
||||
Bus 003 Device 008: ID 1b4f:9207 SparkFun SparkFun Pro Micro
|
||||
```
|
||||
|
||||
* `1b4f` — ID производителя (VID)
|
||||
* `9207` — ID продукта (PID)
|
||||
* `SparkFun` — Имя производителя
|
||||
* `SparkFun Pro Micro` — Имя продукта
|
||||
|
||||
Чтобы просмотреть USB-устройства в Windows, необходимо нажать клавишу **⊞ Win**
|
||||
и найти «Диспетчер устройств» в меню «Пуск».
|
||||
|
||||
Каждый раз, когда на Arduino загружается скетч, VID, PID и идентификаторы
|
||||
также загружаются на устройство.
|
||||
|
||||
Эти значения определены в файле `boards.txt`.
|
||||
|
||||
Файл `boards.txt` может находиться в нескольких местах, например:
|
||||
|
||||
```text
|
||||
# Windows
|
||||
C:\Program Files (x85)\Arduino\hardware\arduino\avr\
|
||||
C:\Users\<user>\AppData\Local\Arduino15\packages\SparkFun\hardware\avr\<version>\
|
||||
|
||||
# Linux
|
||||
/opt/arduino-<version>/hardware/arduino/avr/
|
||||
/home/<user>/.arduino15/packages/SparkFun/hardware/avr/<version>/
|
||||
```
|
||||
|
||||
В моем случае файл `boards.txt` находился в следующей директории:
|
||||
|
||||
```sh
|
||||
cd ~/.arduino15/packages/SparkFun/hardware/avr/1.1.13/
|
||||
cp boards.txt boards.txt.orig
|
||||
vi boards.txt
|
||||
```
|
||||
|
||||
Чтобы подменить VID, PID и имя МК Arduino Pro, я внёс следующие изменения:
|
||||
|
||||
```sh
|
||||
diff -Nur boards.txt.orig boards.txt
|
||||
--- boards.txt.orig 2022-01-17 14:04:41.248786790 +0100
|
||||
+++ boards.txt 2022-01-17 15:28:07.863530923 +0100
|
||||
@@ -94,8 +94,9 @@
|
||||
promicro.build.core=arduino:arduino
|
||||
promicro.build.variant=promicro
|
||||
promicro.build.mcu=atmega32u4
|
||||
-promicro.build.usb_product="SparkFun Pro Micro"
|
||||
-promicro.build.vid=0x1b4f
|
||||
+promicro.build.usb_manufacturer="Logitech, Inc."
|
||||
+promicro.build.usb_product="Unifying Receiver"
|
||||
+promicro.build.vid=0x046d
|
||||
promicro.build.extra_flags={build.usb_flags}
|
||||
|
||||
######################### Pro Micro 3.3V / 8MHz ################################
|
||||
@@ -115,7 +116,7 @@
|
||||
|
||||
promicro.menu.cpu.16MHzatmega32U4.build.pid.0=0x9206
|
||||
promicro.menu.cpu.16MHzatmega32U4.build.pid.1=0x9207
|
||||
-promicro.menu.cpu.16MHzatmega32U4.build.pid=0x9207
|
||||
+promicro.menu.cpu.16MHzatmega32U4.build.pid=0xc535
|
||||
promicro.menu.cpu.16MHzatmega32U4.build.f_cpu=16000000L
|
||||
|
||||
promicro.menu.cpu.16MHzatmega32U4.bootloader.extended_fuses=0xCB
|
||||
```
|
||||
|
||||
Затем, после того как я перезапустил Arduino IDE и загрузил скетч на устройство,
|
||||
МК Arduino Pro была распознана компьютером как стандартная USB-клавиатура Logitech:
|
||||
|
||||
```sh
|
||||
lsusb
|
||||
- sample output -
|
||||
Bus 003 Device 016: ID 046d:c535 Logitech, Inc. Unifying Receiver
|
||||
```
|
12
content/posts/2023/flipper-zero/get-name.md
Normal file
12
content/posts/2023/flipper-zero/get-name.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: "🐬 Получение имени Flipper Zero"
|
||||
date: 2023-04-17T23:00:50+03:00
|
||||
draft: false
|
||||
tags: [flipper zero, c, tips]
|
||||
---
|
||||
|
||||
```c
|
||||
#include <furi_hal_version.h>
|
||||
|
||||
const char* flipper_name = furi_hal_version_get_name_ptr();
|
||||
```
|
Loading…
Reference in New Issue
Block a user