Программирование ARM BeagleBone Black FAQ Thu, July 02 2020  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

BeagleBone Black FAQ Печать
Добавил(а) microsin   

Здесь приведены ответы на вопросы, которые приходилось решать при работе с платкой BBB.

[200611]

По умолчанию система настроена так, что доступ через SSH не предоставляют права суперпользователя, т. е. через сетевую консоль нельзя залогиниться с правами root, и команда sudo не работает (после ввода действующего пароля root выводится сообщение об ошибке). Эти функции доступны только через serial-консоль, или через консоль клавиатуры и монитора.

Однако можно повысить права в SSH-подключении можно командой su. Для этого надо сначала зайти под обычным пользователем (логин debian, пароль temppwd), ввести команду su, и в ответ на запрос пароля ввести root.

BBB get root permissions with su

Чтобы разрешить права root через SSH, выполните следующие команды. Они требуют прав root, поэтому для их запуска нужно соответствующее подключение к системе через переходничок USB - TTL UART (коннектор []) или традиционную консоль с монитором.

1. Откройте в редакторе файл /etc/ssh/sshd_config (можно использовать vi или nano []):

$ sudo vi /etc/ssh/sshd_config

2. Поменяйте строчку PermitRootLogin without-password на PermitRootLogin yes:

# PermitRootLogin without-password
PermitRootLogin yes

3. Перезапустите демон SSH:

$ sudo service ssh restart

Логины и пароли по умолчанию (также см. [2, 3]):

Имя пользователя Пароль Функция
root root Суперпользователь (полные права)
debian temppwd Обычный пользователь

Аналогичные действия с помощью утилиты sed [1] (имейте в виду, что эти команды понижают уровень безопасности системы):

sed -i -e 's:PermitEmptyPasswords no:PermitEmptyPasswords yes:g' /etc/ssh/sshd_config
sed -i -e 's:UsePAM yes:UsePAM no:g' /etc/ssh/sshd_config
sed -i -e 's:PermitRootLogin without-password:PermitRootLogin yes:g' /etc/ssh/sshd_config

См. [4]. Для быстрого изменения текста в файлах настройки удобно использовать утилиту sed.

Версия показывается в начальном приглашении консоли после загрузки системы, например:

Debian GNU/Linux 10 beaglebone tty1
BeagleBoard.org Debian Buster IoT TIDL Image 2020-04-06
Support: http://elinux.org/Begleboard:BeagleBoneBlack_Debian
default username:password is [debian:temppwd]
beaglebone login:

Также можно просмотреть файл /etc/dogtag:

root@beaglebone:~# cat /etc/dogtag
BeagleBoard.org BeagleBone Debian Image 2014-03-19

В общем случае ПО устанавливают командой:

apd-get install имяпакетаиликоманды

Например, для установки Midnight Commander нужно выполнить следующую последовательность команд:

apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get install mc

Первые три команды нужны для обновления менеджера пакетов и дистрибутива.

Информацию о дисках предоставляют следующие команды:

lsblk
df -h
fdisk -l

Сколько использовано места на дисках:

df -h

Как посмотреть, в какой папке текущей директории занято сколько места, позволяет команда du . --max-depth=1 -ah | sort -rh | head -10. Выводится список, отсортированный по размеру папок. Пример, показывающий, сколько занимает каждая папка в каталоге /usr:

root@beaglebone:/home/debian# cd /usr
root@beaglebone:/usr# ls
bin  games  include  lib  local  sbin  share  src
root@beaglebone:/usr# du . --max-depth=1 -ah | sort -rh | head -10
2.3G    .
938M    ./share
863M    ./lib
239M    ./bin
199M    ./include
23M     ./local
6.2M    ./sbin
4.0K    ./src
4.0K    ./games

Для этого используйте команду exit. Она удобна для выхода из режима суперпользователя, когда сделаны все необходимые изменения в системе.

[200617]

Курс коротких лекций от Paul McWhorter состоит из 12 видеоуроков на YouTybe. Эти лекции посвящены быстрому старту программирования платки BBB на языке Python в среде Linux. На мой взгляд, ничего по-настоящему серьезного таким способом запрограммировать нельзя. Однако эти уроки многим помогут освоиться с командной строкой Linux и начать программировать микроконтроллер BBB, не вникая во многие тонкости внутреннего устройства платформы.

• Beaglebone Black LESSON 1: Understanding Beaglebone Black Pinout
Краткий обзор платы BBB, описание возможностей ввода/вывода.

• Beaglebone Black LESSON 2: Getting Started
Обзор встроенного веб-сервера BBB, среды разработки Cloud9, консоли терминала, подключение через SSH с помощью Putty, запуск первого простейшего приложения на Python, установка удаленного подключения к графическому рабочему столу через TightVNC Viewer.

• Beaglebone Black LESSON 3: Running Python on your Beaglebone
Продолжение знакомства с Python. Запуск простой программы, демонстрирующей текстовый ввод пользователя.

• Beaglebone Black LESSON 4: Digital Write to the GPIO Pins from Python
Демонстрация управления ножками GPIO процессора с помощью библиотеки Adafruit_BBIO.

• Beaglebone Black LESSON 5: Blink LED from the GPIO Pins
Усовершенствованный пример управления ножками - мигание светодиодами с помощью цикла на языке Python.

• Beaglebone Black LESSON 6: Simulate Analog Output using PWM in Python
Демонстрация аналогового вывода с помощью ШИМ.

• Beaglebone Black LESSON 7: Dimable LED Circuit Controlled From Python
Усовершенствованный пример управления яркостью светодиодов.

• Beaglebone Black LESSON 8: Read Buttons Using GPIO Pins from Python
Демонстрация опроса состояния внешних кнопок.

• Beaglebone Black LESSON 9: Reading Analog Voltages from Python
Демонстрация аналогового ввода (работа с АЦП) с помощью библиотеки Adafruit_BBIO.

• Beaglebone Black LESSON 10: Dimable LED Circuit with Analog Reads and PWM
Демонстрация управления яркостью светодиода с помощью ШИМ, когда уровень яркости задается напряжением на входе канала АЦП.

• Beaglebone Black LESSON 11: Control LED Brightness from Digital Push Buttons
Демонстрация управления яркостью светодиода с помощью ШИМ, когда уровень яркости управляется двумя кнопками.

• Beaglebone Black LESSON 12: Controlling Servo from Python Using PWM
Демонстрация управления сервомашинкой.

См. также эти и другие лекции на сайте [6].

[200619]

Монтирование необходимо, чтобы можно было получить доступ к файлам на карте. Для монтирования нужно знать имя монтируемого устройства, имена устройств хранения в системе можно узнать командой fdisk -l.

[Монтирование]

mount -v /dev/mmcblk0p1 /tmp

В этом примере команды mount указывается монтировать устройство карты (/dev/mmcblk0p1) в папку /tmp. Опция -v необязательна, она просто задает подробный вывод информации о монтировании. Папка /tmp должна существовать в корневом каталоге системы. После успешного монтирования в папке /tmp будут дополнительно видны файлы, которые находятся на установленной карте microSD.

[Демонтирование]

umount /dev/mmcblk0p1

После успешного завершения команды umount карту можно безопасно извлечь из слота, т. е. все закешированные данные (если производилась запись на карту) будут сброшены на карту.

[Ссылки]

1. Beagleboard:BeagleBoneBlack Debian site:elinux.org.
2. BeagleBoard.org Default Usernames & Passwords site:router-reset.com.
3BeagleBoard: доступ к командной строке терминала.
4Beagleboard: редактирование текста в строке терминала.
5. Работа с дисками в Debian — информация, скорость, добавление и т.д. site:serveradmin.ru.
6. Beaglebone Black lessons Python site:toptechboy.com.

 

Добавить комментарий


Защитный код
Обновить

Top of Page