инфа по HamLib https://github.com/Hamlib/Hamlib/wiki
Предназначение контактов.
Управление контактами GPIO выполняется с помощью специально созданной для этого библиотеки WiringPi. Скачать ее актуальную версию можно здесь. В данной библиотеке нумерация контактов может не совпадать с нумерацией, указанной в таблице выше.
1. +3.3 V DC Power.
2. +5 V DC Power.
3. GPIO 2 (SDA). Контакт ввода-вывода с возможностью подключения устройств, поддерживающих передачу данных по двухсторонней, двунаправленной шине i2c. Выполняет функцию линии данных SDA.
4. +5 V DC Power.
5. GPIO 3 (SCL). Контакт ввода-вывода с возможностью подключения устройств, поддерживающих передачу данных по двухсторонней, двунаправленной шине i2c. Выполняет функцию тактовой линии синхронизации SCL
6. Ground.
7. GPIO 4 (GPCLK0). Контакт ввода-вывода, который может использоваться в том числе и как General Purpose Clock - вывод для формирования варьируемой тактовой частоты для внешних устройств в целях достижения больших скоростей передачи данных при использовании последовательных интерфейсов.
8. GPIO 14 (TXD). Контакт, который по умолчанию используется как Передающая линия TXD (Transmitted Data) интерфейса UART. После включения на нем присутствует высокий уровень 3,3 В. Программно его можно переконфигурировать в обычные выводы. Все остальные GPIO после включения Raspberry выполняют основную функцию и работают как обычные цифровые выводы.
9. Ground.
10. GPIO 15 (RXD). Контакт, который по умолчанию используется как принимающая линия RXD (Received Data) интерфейса UART. После включения на нем присутствует высокий уровень 3,3 В. Программно его можно переконфигурировать в обычные выводы.
11. GPIO 17. Контакт ввода-вывода общего назначения.
12. GPIO 18 (PCM_C). Контакт ввода-вывода, который может применяться в качестве линии тактирования при использовании аудио-интерфейса I2S в процессе импульсно-кодовой модуляцией при оцифровке звука (Pulse Code Modulation — PCM).
13. GPIO 27 (PCM_D). Контакт ввода-вывода, который может применяться в качестве линии передачи данных при использовании аудио-интерфейса I2S в процессе импульсно-кодовой модуляцией при оцифровке звука (Pulse Code Modulation — PCM).
14. Ground.
15. GPIO 22. Контакт ввода-вывода общего назначения.
16. GPIO 23. Контакт ввода-вывода общего назначения.
17. +3.3 V DC Power. Питание напряжением 3.3 Вольта.
18. GPIO 24. Контакт ввода-вывода общего назначения.
19. GPIO 10 (MOSI). Контакт ввода-вывода, который может использоваться как выход последовательной передачи данных шины SPI (Serial Peripheral Interface).
20. Ground.
21. GPIO 9 (MISO). Контакт ввода-вывода, который может использоваться как вход последовательного приема данных шины SPI (Serial Peripheral Interface).
22. GPIO 25. Контакт ввода-вывода общего назначения.
23. GPIO 11 (SCLК). Контакт ввода-вывода, который может использоваться как выход синхронизации передачи данных в шине SPI (Serial Peripheral Interface).
24. GPIO 8 (CE0). Контакт ввода-вывода, который может использоваться как линия для задания режима работы шины SPI.
25. Ground.
26. GPIO 7 (CE1). Контакт ввода-вывода, который может использоваться как линия для задания режима работы шины SPI.
27. ID_SD. Контакт ввода-вывода с возможностью подключения устройств, поддерживающих передачу данных по двухсторонней, двунаправленной шине i2c. Представляет собой линию данных и зарезервирован для будущих плат расширения.
28. ID_SC. Контакт ввода-вывода с возможностью подключения устройств, поддерживающих передачу данных по двухсторонней, двунаправленной шине i2c. Представляет собой линию синхронизации передачи данных и зарезервирован для будущих плат расширения.
29. GPIO 5. Контакт ввода-вывода общего назначения.
30. Ground.
31. GPIO 6. Контакт ввода-вывода общего назначения.
32. GPIO 12. Контакт ввода-вывода общего назначения.
33. GPIO 13. Контакт ввода-вывода общего назначения.
34. Ground.
35. GPIO19 (MISO). Контакт ввода-вывода, который может использоваться как дополнительный вход последовательного приема данных шины SPI
36. GPIO 16. Контакт ввода-вывода общего назначения.
37. GPIO 26. Контакт ввода-вывода общего назначения.
38. GPIO 20 (MOSI). Контакт ввода-вывода, который может использоваться как дополнительный выход последовательной передачи данных шины SPI
39. Ground.
40. GPIO 21 (SCLK). Контакт ввода-вывода, который может использоваться как дополнительный выход синхронизации передачи данных в шине SPI
Таким образом, этот на первый взгляд несерьезный по размерам компьютер охватывает станет замечательной платформой для изучения Linux и постройки собственного высокоинтеллектуального робота.
При работе с Raspberry Pi также стоит помнить несколько важных моментов:
Максимальный суммарный ток обоих выводов 3.3 В равен 50 мА!
Поэтому эти выводы могут использоваться для питания внешних устройств, только если их потребляемый ток меньше 50 мА.
Максимальный суммарный ток обоих выводов 5 В равен 300 мА!
Эти выводы также могут использоваться для питания внешних устройств только в том случае, если их потребляемый ток меньше 300 мА.
Нельзя на GPIO подавать напряжение больше 3,3 В!
Цифровые выводы GPIO имеют уровни напряжения 0 - 3,3 В и не совместимы с традиционными уровнями напряжения 0 – 5В! Поэтому нельзя напрямую соединять Raspberry Pi и цифровые устройства, работающие с TTL-уровнями 5 В, а также цифровые датчики с внешним питанием более 3,3 В. Если подать на GPIO вывод одноплатного компьютера логическую единицу, представляющую собой 5 В, а не 3,3 В - вывод может выйти из строя.
Все настраиваемые пины GPIO по-умолчанию являются входами.
И поэтому имеют высокое входное сопротивление. При этом подтяжка логического уровня у них не включена, выводы "висят в воздухе", поэтому после включения Raspberry напряжение на них может меняться в реальном времени. Это вполне штатная ситуация. Исключением является только 2 следующих вывода:
Выводы GPIO 2 (SDA) и GPIO 3 (SCL) по-умолчанию "подтянуты" к питанию.
Поэтому после включения Raspberry на них присутствует напряжение логической единицы (3,3 В).
Сигнал на любом из цифровых выводов может служить источником внешнего прерывания.
Дополнение: Еще один пример использования GPIO в одноплатном компьютере описывает заметка Реверс-инжиниринг роутера на примере GL.iNet GL-AR750.
Безопасное завершение работы Raspbian кнопкой, подключенной к Raspberry Pi
Расскажу о создании несложного скрипта и службы для systemd, которые будут отслеживать нажатие подключенной к GPIO кнопки и запускать процесс завершения работы операционной системы Raspbian, что потом позволит безопасно отключить питание Raspberry Pi.
https://raspberrypi-ru.com/%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%BC%D0%B0%D0%BB%D0%B8%D0%BD%D0%B0-%D0%BF%D0%B8-usb/ Raspberry Pi, как загрузиться с USB-накопителя или внешнего жесткого диска. Вариант позволяет обойтись вообще без карточки при загрузке.
http://helpexe.ru/tehnologija-objasnila/diy/kak-podkljuchit-zhestkij-disk-k-raspberry-pi-i
Как смонтировать и прочитать жесткий диск на Raspbian и Как загрузить Raspberry Pi с жесткого диска
https://habr.com/ru/company/ruvds/blog/528428/ Raspberry Pi в роли сервера для хостинга сайтов