Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free...

24
Raspberry Pi #raspberry- pi

Transcript of Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free...

Page 1: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

Raspberry Pi

#raspberry-

pi

Page 2: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

1

1: Pi 2

2

Examples 2

SD- 2

Pi - Windows 2

Pi - Hello World in C 5

5

Hello World - 5

IPv6 7

8

Raspberry Pi v2 v3 Arch Linux Installation --- Mac Linux 8

2: SSH Raspbian 9

9

9

Examples 9

SSH Windows 9

Pi 10

3: 13

13

Examples 13

Raspbian 13

Yocto 13

Windows 10 IoT Core 13

13

LibreELEC 13

14

4: scanbd (Raspbian) 15

Examples 15

15

16

Page 3: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

scanbd 16

17

, scanbd 17

, « » ? 18

xinetd, scanbm 18

19

21

Page 4: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

ОколоYou can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: raspberry-pi

It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official Raspberry Pi.

The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]

https://riptutorial.com/ru/home 1

Page 5: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

глава 1: Начало работы с малиной Pi

замечания

В этом разделе представлен обзор того, что такое малина-пи (он также может быть описан на Stack Exchange с сокращенным термином «RPi»} и почему разработчик может захотеть его использовать.

У этого есть собственный выделенный веб-сайт Stack Exchange здесь: http://raspberrypi.stackexchange.com/ .

В этом разделе приведен обзор того, почему разработчик может захотеть его использовать.

Следует также упомянуть о любых крупных предметах в малине-пи и связать их с соответствующими темами. Поскольку документация для малины-pi является новой, вам может потребоваться создать начальные версии этих связанных тем.

Examples

Настройка SD-карты

Начните с установки ОС на карту MicroSD, либо NOOBS, либо Raspbian, оба предоставленные основой Raspberry Pi, доступной на их сайте . NOOBS, который выступает за New Out Of Box Software, предназначен для новичков, и его проще всего установить на SD-карту. Вы можете либо следовать их официальным инструкциям , либо см. Ниже.

Отформатируйте SD-карту одним разделом FAT32, используя инструмент управления системным приводом или сторонний инструмент, например SD Formatter 4.0 SD или GParted

. Загрузите ZIP-файл NOOBS и разархивируйте его. затем скопируйте файлы в только что созданный раздел. Перед отсоединением убедитесь, что вы извлекли его.

Установка малины Pi - Windows

предлог: Это подробные инструкции по настройке малины Pi с операционной системой Raspbian .

Эти инструкции несколько специфичны для Windows.

Некоторые этапы установки могут применяться и к другим операционным системам, но помните об этом.

содержание

https://riptutorial.com/ru/home 2

Page 6: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

Требования•Выбор ОС•Установка ОС•Основная конфигурация•

Требования

Малина Pi (версия 1, 2 или 3 - любая модель)1.

Питание (рекомендуется адаптер питания 5 В, 2000 мАч)2. Карта MicroSD (класс 10 рекомендуется не менее 8 ГБ - см. Список совместимых карт здесь: eLinux )

3.

Компьютер с SD-кард-ридером (или USB-кард-ридером)4.

Монитор / телевизор с портом HDMI5.

Кабель HDMI6.

USB-клавиатура7. Win32 Disk Imager8.

Выбор операционной системы

NOOBSКоллекция различных операционных систем для малины Pi, она содержит Raspbian.

Помимо Raspbian, NOOBS также включает в себя Pidora, LibreELEC, OSMC, RISK OS,

Arch Linux, Windows 10 IOT Core и несколько других вариантов. Важно отметить, что не все эти варианты доступны для каждой модели малины Pi (например, ядро IOT для Windows доступно только для малины Pi 2 и новее). Установка любой другой ОС, чем Raspbian, потребует подключения к локальной сети на вашем малиновом Pi.

RaspbianОфициально поддерживаемая ОС для Raspberry Pi, это порт ОС, известный как Debian. Предварительно установлена с образовательным программным обеспечением и с большим сообществом - это рекомендуемая ОС для малины Pi

Windows 10 IOT Core Упрощенная версия окон, специально разработанная для устройств IOT (Internet Of Things). Важно отметить, что это не полная версия Windows,

и не может ожидать чего-то, чего может ожидать пользователь, например, меню «Пуск» и возможности запуска большинства приложений Windows.

Установка операционной системы

SD Card

Подключите SD-карту к компьютеру1.

Загрузите операционную систему, выбранную в формате .img(Он может быть сжат в .zip- файле, который следует извлечь после загрузки)

2.

Открыть Win32DiskImager3.

https://riptutorial.com/ru/home 3

Page 7: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

Выберите SD-карту4.

Выберите файл ОС .img.5.

Нажмите « Write6.

Raspberry Pi

Вставьте SD-карту в малину Pi1.

Подключите USB-клавиатуру2.

Подключите монитор / телевизор3. Подключите кабель Ethernet (опционально: но рекомендуется!)4.

Подключите кабель питания USB в малиновом Pi5.

Операционная система

Если ОС была правильно записана на SD-карту, а ОС - действительная операционная система ARM, она должна быть установлена автоматически на малину Pi - практически без взаимодействия. (Однако это сильно зависит от того, какая ОС была выбрана) Если вы выбрали NOOBS, появится интерфейс, и вы сможете выбрать, что устанавливать.

Основная конфигурация

Командная строка:

Команда sudo raspi-config дает вам доступ к конфигурации Raspberry Pi.

Параметры настройки:

1 Expand Filesystem Ensures that all of the SD card storage is available to the OS 2 Change User Password Change password for the default user (pi) 3 Enable Boot to Desktop/Scratch Choose whether to boot into a desktop environment, Scratch, or the command line 4 Internationalisation Options Set up language and regional settings to match your location 5 Enable Camera Enable this Pi to work with the Raspberry Pi camera 6 Add to Rastrack Add this Pi to the online Raspberry Pi Map (Rastrack) 7 Overclock Configure overclocking for your Pi 8 Advanced Options Configure advanced settings 9 About `raspi-config` Information about this configuration tool

После новой и чистой установки вам рекомендуется выбрать первый вариант: Expand Filesystem

Если вы европейцы и не знакомы с английской раскладкой клавиатуры, вы можете перейти к Internationalisation Options и изменить язык клавиатуры и многое другое.

Рекомендуется избегать меню Overclock в качестве новичка. Особенно, если у вас есть малина Pi 3. Известно, что RPI 3 очень горячий, даже если он не разогнан.Если вы думаете о разгоне RPI 3, пожалуйста, получите радиаторы или вентилятор для вашего доски, чтобы он не перегревался.

https://riptutorial.com/ru/home 4

Page 8: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

Включение доступа к SSH можно выполнить в меню « Advanced Options , учетными данными будут имя пользователя и пароль по умолчанию.

GUI:

Установка Raspbian Jessie автоматически загружается в графический интерфейс пользователя, вышеупомянутые параметры представлены в меню «Параметры» в верхнем левом углу. Рекомендуется, чтобы новички продолжали использовать графический интерфейс, но если вы купили малину Pi, чтобы изучить командную строку. Возможность загрузки в командную строку можно найти в меню «Настройки».

Заметка

Изменение настроек в малине Pi обычно вызывает перезапуск, который происходит, когда вы принимаете сделанные вами изменения.

Дополнительная информация

Имя пользователя: pi

Пароль по умолчанию: малина

Выключение вашей малины Pi выполняется, потянув за вилку USB.

(Выбор остановки в графическом интерфейсе Raspbian просто поместит малину Pi в уменьшенное состояние, все еще используя силу - но меньше) Перезапуск малины Pi выполняется простым подключением кабеля после отсоединения. (Если параметр перезагрузки не выбран в GUI или sudo reboot в командной строке.

Введение малины Pi - Hello World in C

отговорка

Это введение в пример программы Hello World на малине Pi, написанной на C.

В следующем примере используется интерфейс командной строки и настраивается как пошаговое руководство. Наряду с созданием программы Hello World, читатель будет представлен простым командам командной строки linux.

Примечание: Это введение было написано для новичков.

Hello World - Моя первая программа

Первый шаг: Создание каталога, который будет содержать исходный код.

https://riptutorial.com/ru/home 5

Page 9: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

Найдите свой домашний каталог, написав следующую команду cd•Создайте новую папку для вашего исходного кода mkdir programs(Совет: Linux чувствителен к регистру при управлении именами файлов и каталогов)

Переход на новые каталоги cd programs•

Второй шаг: Написание первой программы.

Linux-системы предлагают большое количество текстовых редакторов, изначально вы найдете Vim или Nano.

В этом примере будет использоваться текстовый редактор Nano.

Создайте файл исходного кода nano helloworld.c•Это откроет редактор - выход и сохранение создадут файл в вашей папке.•

Следующий код является исходным кодом для программы Hello World:

/* My first program */ #include<stdio.h> int main() { printf("Hello World\n"); }

После написания кода нажмите ctrl + x чтобы выйти из редактора, нажмите y а затем enter чтобы сохранить изменения.

Напишите команду ls чтобы проверить, присутствует ли файл в вашем каталоге.•

Третий шаг: Компиляция вашей первой программы.

Чтобы скомпилировать наш исходный код helloworld.c нам нужно использовать компилятор, мы будем использоватьСборник компиляторов GNU - также известный как GCC.

Следующая команда компилирует исходный код в исполняемую двоичную программуgcc helloworld.c -o myfirstprogram.bin

Файл исходного кода предлагается как аргумент компилятору GCC, а -o определяет другой аргумент, выражающий, что мы хотели бы, чтобы компилятор выдавал что-то. В этом случае мы хотим, чтобы он .bin файл, который мы назвали сами.

Существует несколько других аргументов, которые можно использовать при компиляции с GCC, примером может служить -wall который позволяет все предупреждения. Это дает вам информацию о любой ошибке,

https://riptutorial.com/ru/home 6

Page 10: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

с которой может столкнуться GCC.

Четвертый шаг: Запуск вашей первой программы.

Запуск программы на Raspberry Pi осуществляется путем добавления ./ перед именем программы, которую вы хотите запустить.

Мы можем запустить нашу программу, написав ./myfirstprogram.bin•

Команда должна выполнить программу и создать Hello World в окне консоли.

Войти через IPv6

Обычно мы боремся за процесс входа в малину Pi с помощью ssh или других подобных инструментов. Но мы можем сделать процесс более приятным.

Как только ваш малиновый Pi подключен к сети, он получает IPv4-адрес и IPv6- адрес, основанный на MAC-адресе NIC. Хорошо, что адрес IPv6 не меняется, даже если сеть имеет службу DHCP.

Сказав это, давайте откроем наш адрес IPv6. Вам нужно только один раз войти в систему с помощью IPv4 или с помощью монитора (HDMI или VGA). Откройте терминал и введите:

ifconfig

Вы увидите что-то вроде:

eth0 Link encap:Ethernet HWaddr 00:1C:C0:AE:B5:E6 inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::21c:c0ff:feae:b5e6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:41620 errors:0 dropped:0 overruns:0 frame:0 TX packets:40231 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:21601203 (20.6 MiB) TX bytes:6145876 (5.8 MiB) Interrupt:21 Base address:0xe000

Как вы можете видеть, ваш IPv4 будет выглядеть как 192.168.0.1 а ваш IPv6 будет fe80::21c:c0ff:feae:b5e6 (обратите внимание на строку, начинающуюся с inet6 addr ).

Таким образом, с помощью этой информации вы можете войти в систему с помощью команды ssh со следующим синтаксисом:

ssh -6 pi@fe80::21c:c0ff:feae:b5e6%eth0

Этот подход кажется более сложным, но адрес IPv6 определяется как link local , и, поскольку он основан на MAC-адресе, если вы не измените его самостоятельно, это всегда

https://riptutorial.com/ru/home 7

Page 11: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

будет работать независимо от вашего IPv4-адреса.

Конфигурация прокси

Если вы находитесь за прокси-сервером и вам необходимо подключиться к Интернету, вы можете использовать:

export http_proxy="http://username:password@host:port/"

Для настройки прокси внутри apt-get :

cd /etc/apt/apt.conf.d

Создайте файл с именем 10proxy:

sudo nano 10proxy

Без аутентификации добавьте следующую строку:

Acquire::http::Proxy "http://yourproxyaddress:proxyport/"; Acquire::https::Proxy "http://yourproxyaddress:proxyport/";

С проверкой подлинности:

Acquire::http::Proxy "http://username:password@yourproxyaddress:proxyport/";

/ В самом конце было важно. Без него это не сработает.

Raspberry Pi v2 и v3 Arch Linux Installation --- от Mac или Linux

Одним из лучших дистрибутивов Linux в настоящее время для Raspberry Pi (отныне, «RPi»)

является Arch Linux . Эта веб-страница показывает установку для:

RPi2 . Архитектура ARMv7 (32 бита).•

RPi3 . Существует два варианта:

Архитектура ARMv7 (32 бит) или○

Архитектура AArch (64 бит).○

В этом учебном пособии вам не следует устанавливать опцию AArch --- «Некоторые аппаратные средства на плате могут не работать или могут работать плохо».

Прочитайте Начало работы с малиной Pi онлайн: https://riptutorial.com/ru/raspberry-

pi/topic/5701/начало-работы-с-малиной-pi

https://riptutorial.com/ru/home 8

Page 12: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

глава 2: Включить SSH на Raspbian

Вступление

Предыдущие версии Raspbian (до ноября 2016 года) по умолчанию включали SSH. У них также было имя пользователя по умолчанию (pi) и пароль (малина), это было сделано, чтобы упростить настройку в первый раз для новых пользователей. Но это, очевидно, представляет собой большую дыру в безопасности. Новая версия (ноябрь 2016) отключает SSH по умолчанию, а также отображает предупреждение, если SSH включен без изменения пароля по умолчанию.

замечания

Содержимое файла ssh не имеет значения - вы можете создать пустой файл, как мы делали выше.

Во время загрузки Pi будет искать этот файл. Если он существует, SSH будет включен, и файл будет удален.

Examples

Включить SSH с помощью компьютера под управлением Windows

Чтобы включить SSH, создайте файл ssh в каталоге / boot вашей SD-карты.

Определите букву диска, связанную с вашей SD-картой.1.

Откройте командную строку (нажмите Win + R на клавиатуре, чтобы открыть окно «Выполнить», затем введите cmd )

2.

Введите в командной строке следующую команду (заменив DriveLetter буквой, указанной на шаге 1):

эхо> DriveLetter:. / SSH

3.

Нажмите Enter4.

Убедитесь, что ваша SD-карта содержит файл ssh.

Введите в командной строке следующее (снова заменив DriveLetter буквой, указанной на шаге 1)

dir DriveLetter:

1.

https://riptutorial.com/ru/home 9

Page 13: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

Нажмите Enter2.

Вы должны увидеть файл ssh в списке каталогов.

Чтобы избежать предупреждения о безопасности, упомянутого выше (re: SSH с паролем по умолчанию), измените пароль по умолчанию для пользователя Pi. Это можно сделать либо из командной строки с помощью passwd , сценария raspi-config или меню настроек на рабочем столе Pixel.

Используйте малину Pi в качестве безголовой системы

Вышеприведенный пример помогает нам, как включить SSH на Pi. Этот пример является предварительным условием вышеприведенного примера.

Для ОС Linux : откройте терминал и запишите этот ssh pi@your local IP address . Затем вам нужно будет указать пароль.

Примечание : Здесь pi : ваше имя пользователя малины pi и ваш локальный IP-адрес :

IP-адрес вашего устройства. Вы получите этот IP-адрес от своего маршрутизатора, списка клиентов DHCP. Однако эта тема выходит за рамки.

Для ОС Windows : мы можем использовать Putty для входа через ssh. На имя хоста напишите свой IP-адрес малины pi.

https://riptutorial.com/ru/home 10

Page 14: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

После нажатия кнопки « Открыть» . Вы должны указать свое имя пользователя и пароль

. После успешной попытки вы получите этот экран.

https://riptutorial.com/ru/home 11

Page 16: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

глава 3: Операционные системы

Вступление

В этом разделе содержится информация о различных операционных системах, доступных для малины Pi.

Examples

Raspbian

Самая популярная операционная система для Raspberry Pi - это Raspbian на основе Debian.

Он официально поддерживается Фондом Малины Пи.

Raspbian можно загрузить с официального сайта Raspberry Pi в одном из двух вариантов:

С настольной средой•Lite - минимальное изображение•

Начиная с сентября 2016 года Raspbian поставляется с настольной средой PIXEL («Pi Improved Xwindows Environment, Lightweight»)

Операционные системы на основе Yocto

Можно создать собственный дистрибутив Linux с помощью Yocto Project.

Для малины Pi- существует определенный слой meta-raspberrypi, который необходимо использовать для создания изображения.

Windows 10 IoT Core

Windows 10 IoT Core доступен только для Raspberry Pi 2 и 3. Важно отметить, что это не полная версия окон, как можно было бы ожидать, она специально разработана для приложений IoT (Internet of Things). Он не будет запускать большинство стандартных оконных приложений и не имеет начального меню. Он загружается на страницу с некоторым примером кода и видео и имеет интерфейс командной строки.

ЦМСН

OSMC - это бесплатный медиа-плеер с открытым исходным кодом на базе Linux.

LibreELEC

https://riptutorial.com/ru/home 13

Page 17: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

Распределение Linux с функциями, необходимыми для запуска Kodi .

поташ

Полнофункциональная ОС, разработанная для тестирования проникновения.

Ссылка для скачивания:

https://www.offensive-security.com/kali-linux-arm-images/

Требования:

8GB Class 10 SD Card Minimum1. 16 ГБ класс 10 SD-карта рекомендуется2.

По умолчанию

Username: root Password: toor

Заметки

Установите gparted и разверните раздел до полного размера.1.

Запустите apt-get install kali-linux-full, чтобы получить все доступные стандартные инструменты

2.

Запускает среду рабочего стола XFCE3.

Прочитайте Операционные системы онлайн: https://riptutorial.com/ru/raspberry-pi/topic/8656/

операционные-системы

https://riptutorial.com/ru/home 14

Page 18: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

глава 4: Создайте сканирующую станцию с scanbd (Raspbian)

Examples

Введение и установка

Цель этой документации - использовать сканер без какого-либо пользовательского интерфейса. Общепринятым является загрузка файла, сканированного в PDF, прямо на Google Диск или Dropbox, просто нажав кнопки сканера.

scanbd позволяет запускать действия с помощью кнопок сканера, он использует здравый смысл.

Что делает вещи немного сложнее, так это то, что, опросив сканер, scanbd блокирует устройство. Поскольку нам также нужно сканировать локальные инструменты (например, scanimage), нам нужно установить прокси-сервер, который будет прерывать скандал с опроса, когда это необходимо. Это задача scanbm, которая контролирует сеть и дает приоритет над scanbd для любого локального доступа к сканеру.

Таким образом, нам необходимо:

Настройте локальную конфигурацию для проверки только из сети (через scanbm)•

Настройте scanbd для доступа и опроса локального сканера•

Как root :

apt-get update apt-get install libconfuse-dev libsane-dev libudev-dev libusb-dev xinetd

Последнюю версию scanbd можно найти здесь: https://sourceforge.net/projects/scanbd/files/releases/

# Download the latest version of **scanbd**. wget https://sourceforge.net/projects/scanbd/files/releases/scanbd-1.4.4.tgz/download # Uncompress tar xvzf scanbd-1.4.4.tgz && cd 1.4.4 # Configure with the installation path in /etc/ ./configure --disable-Werror # install it make make install

https://riptutorial.com/ru/home 15

Page 19: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

# Add a dbus policy to authorize "saned" user to manage scanbd : cp integration/scanbd_dbus.conf /etc/dbus-1/system.d/ # Add the init script to manage the daemon : cp integration/scanbd.debian /etc/init.d/scanbd

scanbd теперь установлен, но еще не настроен.

Настроить нормальную работу для сканирования из сети

Локальная конфигурация sane находится внутри /etc/saned.d

/etc/sane.d/dll.conf

# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader # # Backends can also be enabled by configuration snippets under # /etc/sane.d/dll.d directory -- packages providing backends should drop # a config file similar to dll.conf in this directory, named after the package. # # The next line enables the network backend; comment it out if you don't need # to use a remote SANE scanner over the network - see sane-net(5) and saned(8) net

dll.conf содержит только net бэкэнд.

/etc/sane.d/net.conf:

# This is the net backend config file. ## net backend options # Timeout for the initial connection to saned. This will prevent the backend # from blocking for several minutes trying to connect to an unresponsive # saned host (network outage, host down, ...). Value in seconds. connect_timeout = 3 ## saned hosts # Each line names a host to attach to. # If you list "localhost" then your backends can be accessed either # directly or through the net backend. Going through the net backend # may be necessary to access devices that need special privileges. localhost

На данный момент scanbm еще не настроен, сканер не может быть достигнут из сети. Нам нужно настроить scanbm вместе с scanbd, чтобы проверить настройку.

Настроить scanbd для опроса локального сканера

https://riptutorial.com/ru/home 16

Page 20: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

Определить локальный сканер

Используя lsusb, определите productId (1909 здесь):

pi:# lsusb pi:# Bus 001 Device 005: ID 04a9:1909 Canon, Inc. CanoScan LiDE 110

С этим productId , grep правильный файл конфигурации (это зависит от вашей модели сканера, для меня это genesys.conf ):

pi:# grep 1909 /etc/sane.d/*conf pi:# /etc/sane.d/genesys.conf:usb 0x04a9 0x1909

Скопируйте файл в папку конфигурации scanbd:

cp /etc/sane.d/genesys.conf /usr/local/etc/scanbd/ cp /etc/sane.d/dll.conf /usr/local/etc/scanbd/

Измените /usr/local/etc/scanbd/dll.conf и замените net правильной базой данных сканера:

# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader # # Backends can also be enabled by configuration snippets under # /etc/sane.d/dll.d directory -- packages providing backends should drop # a config file similar to dll.conf in this directory, named after the package. # # The next line enables the network backend; comment it out if you don't need # to use a remote SANE scanner over the network - see sane-net(5) and saned(8) genesys

Убедитесь, что локальный сканер найден с помощью scanbd

Теперь мы готовы проверить:

scanbd -d7 -f

Избегайте столько, сколько вы можете, чтобы манипулировать env var

SANE_CONFIG_DIR. Он может сломать вещи, значение по умолчанию уже настроено в /usr/local/etc/scanbd/scanbd.conf и в сценарии инициализации.

Результат должен быть аналогичен:

scanbd: foreground

https://riptutorial.com/ru/home 17

Page 21: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

scanbd: reading config file /usr/local/etc/scanbd/scanbd.conf scanbd: debug on: level: 7 scanbd: dropping privs to uid saned scanbd: dropping privs to gid scanner scanbd: group scanner has member: scanbd: saned scanbd: pi scanbd: drop privileges to gid: 110 scanbd: Running as effective gid 110 scanbd: drop privileges to uid: 110 scanbd: Running as effective uid 110 scanbd: dbus_init scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager' scanbd: SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d scanbd: sane version 1.0 scanbd: Scanning for local-only devices scanbd: found device: genesys:libusb:001:005 Canon LiDE 110 flatbed scanner

Самое важное здесь - это found device .

Что делать, если «найденное устройство» не появляется?

Вы должны снова проверить свою конфигурацию, особенно идентификационную часть этой документации, и очистить любой возможный SANE_CONFIG_DIR env var, неправильно установленный, набрав: unset SANE_CONFIG_DIR

Настройте xinetd, чтобы прослушивать scanbm в сети

Создайте /etc/xinetd.d/sane-port который содержит:

service sane-port { port = 6566 socket_type = stream wait = no user = saned group = scanner server = /usr/local/sbin/scanbm server_args = scanbm -c /usr/local/etc/scanbd/scanbd.conf disable = no }

/! \ Дважды проверьте путь scanbm, с помощью which scanbm

Затем перезапустите xinetd и запустите scanbd :

service xinetd restart /etc/init.d/scanbd start

https://riptutorial.com/ru/home 18

Page 22: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

scanimage -L теперь должен отображать сканер.

Большинство вопросов на данном этапе относятся к разрешениям. Убедитесь, что scanimage -L работает, когда вы вошли в систему как санкционированный, выполнив sudo -u saned -s .

Если нет, проверьте разрешения USB: ls -al /dev/bus/usb/***

Триггерные действия с помощью кнопок сканера

Действия находятся в /usr/local/etc/scanbd/scanbd.conf . У меня есть 4 кнопки сканирования , копирования , электронной почты и файла .

Файл конфигурации по умолчанию не включает все действия по умолчанию, вам, вероятно, придется добавить блок вручную. У вас может быть меньше или больше кнопок в зависимости от модели вашего сканера.

Для каждого действия мы установим собственный путь для опции сценария .

action scan { filter = "^scan.*" numerical-trigger { from-value = 1 to-value = 0 } desc = "Scan to file" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "/home/pi/scan.sh" }

Не забудьте прокомментировать любое другое действие по умолчанию в конце scanbd.conf:

# devices # each device can have actions and functions, you can disable not relevant devices #include(scanner.d/avision.conf) #include(scanner.d/fujitsu.conf) #include(scanner.d/hp.conf) #include(scanner.d/pixma.conf) #include(scanner.d/snapscan.conf) #include(scanner.d/canon.conf)

Теперь вы можете создать свой собственный скрипт для обработки каждого действия:

Каждая строка, /sys/class/leds/led0/trigger к /sys/class/leds/led0/trigger предназначена для управления светодиодом, чтобы контролировать, что происходит. Вы можете делать все, что хотите, cat /sys/class/leds/led0/trigger дает вам всевозможные cat /sys/class/leds/led0/trigger фонарей.

https://riptutorial.com/ru/home 19

Page 23: Raspberry Pi - RIP Tutorial · 2019-01-18 · from: raspberry-pi It is an unofficial and free Raspberry Pi ebook created for educational purposes. All the content is extracted from

/home/pi/scan.sh

#!/bin/bash # don't forget to create the folder scan_dir=/home/pi/scanned-files datetime=`date +%F_%H%M%S` echo none >/sys/class/leds/led0/trigger case $SCANBD_ACTION in scan) filename=file-$datetime logger -t "scanbd: $0" "$SCANBD_DEVICE $SCANBD_ACTION - scanning --resolution 150 --mode Color --depth 8 --format=tiff to $scan_dir/$filename.jpg" echo timer >/sys/class/leds/led0/trigger scanimage -d $SCANBD_DEVICE --resolution 150 --mode Color --depth 8 --format=tiff --brightness 5 --contrast 20 | convert tiff:- -compress jpeg $scan_dir/$filename.pdf echo none >/sys/class/leds/led0/trigger logger -t "scanbd: $0" "Finished scanning" ;; email) logger -t "scanbd: $0" "Emailing $scan_dir/file-*pdf" echo heartbeat >/sys/class/leds/led0/trigger # here are the lines to send the file echo none >/sys/class/leds/led0/trigger esac

Прочитайте Создайте сканирующую станцию с scanbd (Raspbian) онлайн: https://riptutorial.com/ru/raspberry-pi/topic/6701/создайте-сканирующую-станцию---с-scanbd--raspbian-

https://riptutorial.com/ru/home 20