mirror of
https://github.com/EmbedDevIOT/obsidian-vault-.git
synced 2026-11-05 23:13:25 +03:00
vault backup: 2026-03-17 08:53:55
This commit is contained in:
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="81px" width="121px" viewBox="-10 -10 141 101" content="<mxGraphModel dx="1244" dy="859" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" vertex="1" parent="1"><mxGeometry x="140" y="160" width="120" height="80" as="geometry"/></mxCell><mxCell id="3" value="" style="shape=flexArrow;endArrow=classic;html=1;" edge="1" parent="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="180" y="230" as="sourcePoint"/><mxPoint x="230" y="180" as="targetPoint"/></mxGeometry></mxCell></root></mxGraphModel>"><style type="text/css"></style><path d="M 0.5 0.5 L 100.5 0.5 L 120.5 20.5 L 120.5 80.5 L 20.5 80.5 L 0.5 60.5 L 0.5 0.5 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 0.5 0.5 L 100.5 0.5 L 120.5 20.5 L 20.5 20.5 Z" fill-opacity="0.05" fill="#000000" stroke="none" pointer-events="none"/><path d="M 0.5 0.5 L 20.5 20.5 L 20.5 80.5 L 0.5 60.5 Z" fill-opacity="0.1" fill="#000000" stroke="none" pointer-events="none"/><path d="M 20.5 80.5 L 20.5 20.5 L 0.5 0.5 M 20.5 20.5 L 120.5 20.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 44.39 73.68 L 37.32 66.61 L 73.18 30.75 L 65.75 23.33 L 90.15 20.85 L 87.67 45.25 L 80.25 37.82 Z" fill="none" stroke="rgb(0, 0, 0)" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="none"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.2 KiB |
@@ -1,180 +0,0 @@
|
||||
#os #command #linux #DeviceTree #system
|
||||
|
||||
## Boot оr UBoot
|
||||
## Device tree
|
||||
Модель платы под которую создан **device tree**:
|
||||
``` bash
|
||||
cat /proc/device-tree/model
|
||||
```
|
||||
Дерево устройств, которое kernel получил от GPU
|
||||
``` bash
|
||||
ls /proc/device-tree/
|
||||
```
|
||||
Вывод устройств, которые kernel создал на основе DT
|
||||
```bash
|
||||
ls /sys/bus/platform/devices
|
||||
```
|
||||
Просмотр загруженных модулей
|
||||
```bash
|
||||
lsmod
|
||||
```
|
||||
---
|
||||
|
||||
## System
|
||||
Параметры которое передает GPU при загрузке системы
|
||||
``` bash
|
||||
vcgencmd get_config int
|
||||
```
|
||||
Просмотр версии системы
|
||||
``` bash
|
||||
cat /etc/os-release
|
||||
```
|
||||
Просмотр всех активных физических адресов устройств в системе
|
||||
``` bash
|
||||
cat /proc/iomem
|
||||
```
|
||||
Вывод информации о работе системы
|
||||
```bash
|
||||
htop
|
||||
```
|
||||
Системные логи ядра
|
||||
```bash
|
||||
dmesg
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Filesystem control
|
||||
Перемещение по директориям
|
||||
``` bash
|
||||
cd ..
|
||||
cd /
|
||||
cd ~
|
||||
```
|
||||
Вывод рабочей директории
|
||||
```bash
|
||||
pwd
|
||||
```
|
||||
Вывод списка файлов директории
|
||||
``` bash
|
||||
ls -la
|
||||
ls -la /home/user/diterctory
|
||||
```
|
||||
Создать файл
|
||||
``` bash
|
||||
# использованием touch
|
||||
touch <file_name.cpp>
|
||||
|
||||
# использование редактора nano
|
||||
nano <file_name.cpp>
|
||||
```
|
||||
Создание директорий
|
||||
``` bash
|
||||
mkdir dir_name
|
||||
```
|
||||
Копирование файлов и директорий
|
||||
```bash
|
||||
cp
|
||||
```
|
||||
Удаление файлов или директорий
|
||||
``` bash
|
||||
# удаление без подтверждения
|
||||
rm -f <file or directory>
|
||||
|
||||
# рекурсивное удаление
|
||||
rm -r <file or directory>
|
||||
```
|
||||
Перемещение файлов
|
||||
``` bash
|
||||
# перемещение файла в директорию
|
||||
mv file.cpp directory/
|
||||
|
||||
# перемещение директорий
|
||||
mv dir dir2/
|
||||
```
|
||||
Вывод содержимого файла
|
||||
```bash
|
||||
cat file_name
|
||||
```
|
||||
Поиск "патерна" в выводе
|
||||
``` bash
|
||||
cat file | grep error
|
||||
```
|
||||
Печать с выводом (отслеживанием) последних строк в файле
|
||||
```bash
|
||||
tail -f /dir/file | grep error
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## SSH - control
|
||||
Настройка доступа по ключу с использованием файла `./ssh/config`
|
||||
- Сгенерировать ключ (на локальном хосте)
|
||||
`ssh-keygen -t ed25519`
|
||||
- Приватный ключ: `~/.ssh/id_ed25519`
|
||||
- Публичный ключ: `~/.ssh/id_ed25519.pub`
|
||||
Добавить `pub` ключ на сервер (_`~/.ssh/authorized_keys`_)
|
||||
1. Если файл с директорией не существует - создать
|
||||
2. Можно использовать `ssh-copy-id`
|
||||
|
||||
Добавить конфигурацию в **./ssh/config**
|
||||
``` python
|
||||
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
|
||||
# Port Forward <локальный порт - целевой хост - целевой порт>
|
||||
|
||||
Host MyServer
|
||||
HostName 192.168.1.110
|
||||
User emb
|
||||
IdentityFile ~/.ssh/id_ed25519
|
||||
IdentitiesOnly yes
|
||||
Port 22
|
||||
LocalForward 5432 10.0.0.5:5432
|
||||
```
|
||||
|
||||
Порты для проброса:
|
||||
1. RDP - **3389**
|
||||
2. VNC - **5900**
|
||||
3. SSH - **22**
|
||||
4. Telnet - **23**
|
||||
5. HTTP/HTTPS - **80 / 443**
|
||||
|
||||
Используемые команды:
|
||||
Генерация ssh ключа:
|
||||
```bash
|
||||
ssh-keygen -t ed25519
|
||||
```
|
||||
Проброс портов в localhost:
|
||||
```bash
|
||||
ssh -L 5901:10.10.10.5:5900 user@192.168.10.1
|
||||
```
|
||||
Копирование файлов на удаленный сервер
|
||||
```bash
|
||||
scp file.txt root@192.168.1.1:/user/home/workspace
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Network
|
||||
Настройка сети и интерфейсов
|
||||
```bash
|
||||
ifconfig
|
||||
ifconfig eth0 down
|
||||
```
|
||||
Проверка маршрута следования трафика.
|
||||
``` bash
|
||||
traceroute
|
||||
```
|
||||
Cписок все IP адресов сетевых интерфейсов:
|
||||
``` bash
|
||||
ip a
|
||||
```
|
||||
|
||||
|
||||
## Hardware
|
||||
Получение информации о оборудовании.
|
||||
```bash
|
||||
lshw
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
#os #command #linux #DeviceTree #system
|
||||
|
||||
## Boot оr UBoot
|
||||
## Device tree
|
||||
Модель платы под которую создан **device tree**:
|
||||
``` bash
|
||||
cat /proc/device-tree/model
|
||||
```
|
||||
Дерево устройств, которое kernel получил от GPU
|
||||
``` bash
|
||||
ls /proc/device-tree/
|
||||
```
|
||||
Вывод устройств, которые kernel создал на основе DT
|
||||
```bash
|
||||
ls /sys/bus/platform/devices
|
||||
```
|
||||
Просмотр загруженных модулей
|
||||
```bash
|
||||
lsmod
|
||||
```
|
||||
---
|
||||
|
||||
## System
|
||||
Параметры которое передает GPU при загрузке системы
|
||||
``` bash
|
||||
vcgencmd get_config int
|
||||
```
|
||||
Просмотр версии системы
|
||||
``` bash
|
||||
cat /etc/os-release
|
||||
```
|
||||
Просмотр всех активных физических адресов устройств в системе
|
||||
``` bash
|
||||
cat /proc/iomem
|
||||
```
|
||||
Вывод информации о работе системы
|
||||
```bash
|
||||
htop
|
||||
```
|
||||
Системные логи ядра
|
||||
```bash
|
||||
dmesg
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
#command #linux #system #files #filesystem
|
||||
|
||||
|
||||
---
|
||||
<center>Описание команд взаимодействия с файловой системой </center>
|
||||
## Filesystem control
|
||||
Перемещение по директориям
|
||||
``` bash
|
||||
cd ..
|
||||
cd /
|
||||
cd ~
|
||||
```
|
||||
Вывод рабочей директории
|
||||
```bash
|
||||
pwd
|
||||
```
|
||||
Вывод списка файлов директории
|
||||
``` bash
|
||||
ls -la
|
||||
ls -la /home/user/diterctory
|
||||
```
|
||||
Создать файл
|
||||
``` bash
|
||||
# использованием touch
|
||||
touch <file_name.cpp>
|
||||
|
||||
# использование редактора nano
|
||||
nano <file_name.cpp>
|
||||
```
|
||||
Создание директорий
|
||||
``` bash
|
||||
mkdir dir_name
|
||||
```
|
||||
Копирование файлов и директорий
|
||||
```bash
|
||||
cp
|
||||
```
|
||||
Удаление файлов или директорий
|
||||
``` bash
|
||||
# удаление без подтверждения
|
||||
rm -f <file or directory>
|
||||
|
||||
# рекурсивное удаление
|
||||
rm -r <file or directory>
|
||||
```
|
||||
Перемещение файлов
|
||||
``` bash
|
||||
# перемещение файла в директорию
|
||||
mv file.cpp directory/
|
||||
|
||||
# перемещение директорий
|
||||
mv dir dir2/
|
||||
```
|
||||
Вывод содержимого файла
|
||||
```bash
|
||||
cat file_name
|
||||
```
|
||||
Поиск "патерна" в выводе
|
||||
``` bash
|
||||
cat file | grep error
|
||||
```
|
||||
Печать с выводом (отслеживанием) последних строк в файле
|
||||
```bash
|
||||
tail -f /dir/file | grep error
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#os #command #linux #hardware #system #gpio #i2c #uart #serial
|
||||
|
||||
---
|
||||
|
||||
## Hardware
|
||||
Получение информации о оборудовании.
|
||||
```bash
|
||||
lshw
|
||||
```
|
||||
|
||||
#### GPIO
|
||||
#### I2C
|
||||
Для работы с i2c в linux используются утилиты из пакета `i2c-tools`
|
||||
Вывод списка всех доступных адаптеров i2c
|
||||
```bash
|
||||
i2cdetect -l
|
||||
```
|
||||
Сканирование указанной шины i2c
|
||||
```bash
|
||||
i2cdetect -l <bus_num>
|
||||
```
|
||||
#### UART
|
||||
Вывод объектов устройств
|
||||
``` bash
|
||||
cat /dev/tty*
|
||||
```
|
||||
Поиск текущих устройств в логе ядра
|
||||
```bash
|
||||
dmesg | grep tty
|
||||
```
|
||||
Утилиты для работы с портом (or minicom)
|
||||
```bash
|
||||
picocom -b 115200 /dev/ttyUSB0
|
||||
```
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
#command #linux #system #daemons #kernel
|
||||
|
||||
|
||||
---
|
||||
<center>Описание команд взаимодействия с файловой системой </center>
|
||||
## System Control
|
||||
Изменение прав файла или директории
|
||||
``` bash
|
||||
chmod
|
||||
```
|
||||
Вывод системных логов ядра
|
||||
```bash
|
||||
dmesg
|
||||
```
|
||||
Вывод списка запущенных процессов
|
||||
``` bash
|
||||
ps -ef
|
||||
```
|
||||
Убить процесс
|
||||
``` bash
|
||||
kill -9 <PID>
|
||||
```
|
||||
|
||||
**Systemd** - система инициализации и управления сервисами.
|
||||
``` bash
|
||||
systemctl status <service>
|
||||
```
|
||||
Управление сервисами
|
||||
```bash
|
||||
systemctl start/stop/restart <service>
|
||||
```
|
||||
Удаление файлов или директорий
|
||||
``` bash
|
||||
# удаление без подтверждения
|
||||
rm -f <file or directory>
|
||||
|
||||
# рекурсивное удаление
|
||||
rm -r <file or directory>
|
||||
```
|
||||
Перемещение файлов
|
||||
``` bash
|
||||
# перемещение файла в директорию
|
||||
mv file.cpp directory/
|
||||
|
||||
# перемещение директорий
|
||||
mv dir dir2/
|
||||
```
|
||||
Вывод содержимого файла
|
||||
```bash
|
||||
cat file_name
|
||||
```
|
||||
Поиск "патерна" в выводе
|
||||
``` bash
|
||||
cat file | grep error
|
||||
```
|
||||
Печать с выводом (отслеживанием) последних строк в файле
|
||||
```bash
|
||||
tail -f /dir/file | grep error
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
#network #command #linux #ssh #system
|
||||
|
||||
---
|
||||
|
||||
## SSH - control
|
||||
Настройка доступа по ключу с использованием файла `./ssh/config`
|
||||
- Сгенерировать ключ (на локальном хосте)
|
||||
`ssh-keygen -t ed25519`
|
||||
- Приватный ключ: `~/.ssh/id_ed25519`
|
||||
- Публичный ключ: `~/.ssh/id_ed25519.pub`
|
||||
Добавить `pub` ключ на сервер (_`~/.ssh/authorized_keys`_)
|
||||
1. Если файл с директорией не существует - создать
|
||||
2. Можно использовать `ssh-copy-id`
|
||||
|
||||
Добавить конфигурацию в **./ssh/config**
|
||||
``` python
|
||||
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
|
||||
# Port Forward <локальный порт - целевой хост - целевой порт>
|
||||
|
||||
Host MyServer
|
||||
HostName 192.168.1.110
|
||||
User emb
|
||||
IdentityFile ~/.ssh/id_ed25519
|
||||
IdentitiesOnly yes
|
||||
Port 22
|
||||
LocalForward 5432 10.0.0.5:5432
|
||||
```
|
||||
|
||||
|
||||
Порты для проброса:
|
||||
1. RDP - **3389**
|
||||
2. VNC - **5900**
|
||||
3. SSH - **22**
|
||||
4. Telnet - **23**
|
||||
5. HTTP/HTTPS - **80 / 443**
|
||||
|
||||
Используемые команды:
|
||||
Генерация ssh ключа:
|
||||
```bash
|
||||
ssh-keygen -t ed25519
|
||||
```
|
||||
Проброс портов в localhost:
|
||||
```bash
|
||||
ssh -L 5901:10.10.10.5:5900 user@192.168.10.1
|
||||
```
|
||||
Копирование файлов на удаленный сервер
|
||||
```bash
|
||||
scp file.txt root@192.168.1.1:/user/home/workspace
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Network
|
||||
Настройка, управления сетевыми интерфейсами
|
||||
```bash
|
||||
# просмотр текеущего состояния интерфейсов
|
||||
ip -br a
|
||||
|
||||
# включение / выключение интерфейсов
|
||||
ip link set eth0 down
|
||||
ip link set eth0 up
|
||||
```
|
||||
Cписок все IP адресов сетевых интерфейсов:
|
||||
``` bash
|
||||
ip a
|
||||
```
|
||||
|
||||
```bash
|
||||
ifconfig
|
||||
ifconfig eth0 down
|
||||
```
|
||||
Проверка маршрута следования трафика.
|
||||
``` bash
|
||||
traceroute
|
||||
```
|
||||
Cписок все IP адресов сетевых интерфейсов:
|
||||
``` bash
|
||||
ip a
|
||||
```
|
||||
Вывод лизов логов dhcp сервера
|
||||
```bash
|
||||
dhcp-leases-list
|
||||
```
|
||||
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
#linux #GPIO #i2c #spi #hardware #userspase #libgpiod
|
||||
|
||||
Контроль и управление периферией в Linux
|
||||
Все устройства в Linux живут тут: `/dev`
|
||||
|
||||
https://habr.com/ru/articles/520488/
|
||||
---
|
||||
Устройства в Linux представлены в виде файлов и живут в системной директории: `/dev`
|
||||
Например :
|
||||
- Устройства i2c
|
||||
`/dev/i2c-0`
|
||||
`/dev/i2c-1`
|
||||
- Последовательные порты (Виртуальная консоль)
|
||||
`/dev/ttyUSB0`
|
||||
- SPI устройства
|
||||
`/dev/spidev*`
|
||||
|
||||
|
||||
## GPIO Driver
|
||||
@@ -128,7 +137,9 @@ g++ -o gpio_control gpio_control.cpp -lgpiod
|
||||
---
|
||||
|
||||
## I2C Bus. Integrates
|
||||
`/sys/bus/i2c/devices/`
|
||||
Представление:
|
||||
- `/sys/bus/i2c/devices/` - управление конфигурацией устройств через драйверы ядра
|
||||
- `/dev/i2c-0` - прямой доступ к шине через userspace
|
||||
По умолчанию шина отключена.
|
||||
Включить можно следующими способами:
|
||||
1 - Через raspi - config
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
2. Запись/чтение регистров
|
||||
3. Тест на шум/помехи
|
||||
5. Как проверить I²C в Linux?
|
||||
1. `/dev/i2c-*` устройства
|
||||
1. `/dev/i2c-*` - представление устройств в системе (файлы устройств)
|
||||
2. Утилиты: `i2cdetect`, `i2cget`, `i2cset`
|
||||
# **UART (Universal Asynchronous Receiver/Transmitter)**
|
||||
1. **Общие вопросы и логика работы.**
|
||||
|
||||
@@ -17,3 +17,4 @@
|
||||
4. Jira Issue
|
||||
5. Sheet Plus
|
||||
6. Editing Toolbar
|
||||
7. ExaliDraw
|
||||
|
||||
Reference in New Issue
Block a user