Первый прототип робота на ардуино1
Дальше хочу доработать на 3Д принтере и добавить управление по блютуз.
Дальше хочу доработать на 3Д принтере и добавить управление по блютуз.
1. Подготовка системы
1.1. Ставим образ
Ставим образ Armbian Minimal/IOT Debian 12 (Bookworm)
1.2 Подключаемся по Lan.
1.3 Пропускаем добавление пользователя
Пропускаем добавление пользователя Crtl+с
1.4. Настройка WiFi
Устанавливаем и включаем WiFi, коннектимся к сети:
apt-get install network-manager-gnome
sudo nmtui
Теперь после перезагрузки OPI будет автоматически коннектиться по WiFi к выбранному подключению, но лучше, конечно, всё настроить ещё по LAN.
1.5 Перезагрузка
sudo reboot
2. Добавление пользователя pi
2.1. Создание пользователя и назначение групп
sudo adduser pi
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi
sudo adduser pi sudo
2.2. Перезагрузка системы
sudo reboot
2.3 Заходим под пользовтелем pi.
3. Настройка sudoers
3.1. Редактирование файла sudoers
Редактируем sudoers, добавляем пользователю pi все разрешения.
Этот этап очень важный и нельзя ошибиться. При открытии может потребоваться закрыть 2-ю страницу (Ctrl+X):
sudo nano edit /etc/sudoers
Добавляем в следующий блок:
#User privilege specification
root ALL=(ALL:ALL) ALL
pi ALL=(ALL:ALL) ALL // этот блок без сноски
Сохраняем изменения (Ctrl+O, подтверждаем, Ctrl+X – закрываем).
!!!!!!Обращаю Ваше внимание, что это изменение может нести потенциальные угрозы безопасности!!!!!!
3.1.1 Если нехотите каждый раз вводить пороль после команды sudo.
По умолчанию, команда sudo запрашивает пароль на каждый свой вызов, в случае если вы четко осознаете что вам такое поведение команды sudo избыточно, можно перевести ее в режим без запроса пароля, для этого выполняем следующую команду:
sudo EDITOR=nano visudo
в появившемся редакторе находим блок:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
и приводим его к виду:
# Allow members of group sudo to execute any command
%sudo ALL=NOPASSWD: ALL
!!!!!!Обращаю Ваше внимание, что это изменение может нести потенциальные угрозы безопасности!!!!!!
3.2. Перезагрузка системы
sudo reboot
4. Установка необходимых пакетов
4.1. Установка остальных пакетов (копируем целиком)
sudo apt update && sudo apt upgrade –y
sudo apt install -y \
git \
make \
gcc \
libncurses-dev \
libusb-1.0-0-dev \
python3-virtualenv \
python3-dev \
avrdude \
zlib1g-dev \
libjpeg-dev \
libopenjp2-7-dev \
libtiff5-dev \
libfreetype6-dev \
liblcms2-dev \
libwebp-dev
5. Расширение оперативной памяти
5.1. Увеличиваем объем оперативной памяти до 2 ГБ
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
6. Увеличение объёма папки /tmp
6.1. Редактируем /etc/fstab
sudo nano /etc/fstab
Найдите строку:
tmpfs /tmp tmpfs defaults,nosuid 0 0
Измените её, добавив параметр size=512M:
tmpfs /tmp tmpfs defaults,nosuid,size=512M 0 0 (должно выглядеть так)
Сохраните файл (Ctrl+O, затем Enter) и выйдите (Ctrl+X).
6.1.1 Проверка swap
free -h
Должно быть так ну или около того.
total used free shared buff/cache available
Mem: 485Mi 83Mi 296Mi 1.5Mi 118Mi 402Mi
Swap: 2.2Gi 0B 2.2Gi
6.2. Перезагрузка системы
sudo reboot
7. Установка скрипта KIAUH
7.1. Клонирование репозитория и запуск скрипта
sudo git clone https://github.com/th33xitus/kiauh.git
запускаем KIAUH
./kiauh/kiauh.sh
7.2. Установка компонентов
Устанавливаем:
Klipper для 1 машины*
Выбираем Python 3.x
Moonraker
Fluidd или Mainsail (веб-окружение)
Мы разрабатываем плату расширения Arduino и, в ближайшем будущем, Raspberry Pi Pico для автоматизации малого бизнеса. Плату можно использовать для управления освещением, вентиляцией, насосами, интегрировать датчики и исполнительные механизмы без сложной настройки.
Поддерживает Arduino IDE, в будущем Raspberry Pi Pico (MicroPython/C++).
Чтобы принять правильное решение и сделать его максимально полезным, ответьте на следующие вопросы в теме:
Какие проекты вы реализовали на подобных платах?
Использовали ли вы Raspberry Pi Pico или Arduino для автоматизации?
Сталкивались ли вы с какими-либо проблемами? Если да, то с какими и как вы их решали?
Заднее ведомое колёсико меня вообще не устраивало - робот застревал на порогах, страшно гремел и пугал кошку. Нашёл колесо от, опять-же, пылесоса. Но оно должно быть сильно утоплено в корпус. Быстренько соорудил модельку и напечатал крепление. Теперь всё устраивает ))
Кроме того, выяснилось, что power bank Xiaomi 20000mAh нифига не тянет одновременно включенную логику и лидар. Так только нагрузка на процессор Orange возрастает (я начинал стримить видео с камеры) - получаем просадку напряжения и зависания контроллеров.
Решил заменить на аккумулятор 12В, такой же, как для ходовой части. Тоже через DC-DC преобразователь. Теперь с этим тоже вроде всё хорошо - ещё одно улучшение аппаратной платформы.
Заодно подключил IMU (MPU6050) но пока софт под него не интегрировал. Наверное, это пойдёт уже вместе со SLAM, когда руки дойдут.
Больше информации в ТГ: https://t.me/robostroy
YouTube: https://www.youtube.com/@seko2k19
Привет! Мой первый проект, хочу попробовать сделать электронную фоторамку. Сейчас я пытаюсь вывести картинку с СД карты на экранчик. По отдельности и карта и экран работают. А вот вместе работать отказываются - функция read для чтения из файла всегда возвращает -1, а экран выводит какой-то мусор. Помогите, пожалуйста, разобраться
Так же столкнулся с ещё одной проблемой - SD.begin() возвращает false после рестарта скрипта, каждый раз приходится вытаскивать карту памяти и вставлять ее заново(.
Спасибо всем за советы, но показать картинку таким способом у меня вышло(
Зато все получилось после подключения экранчика к software spi шине, хоть и скорость отрисовки при этом заметно упала. Но почему не получается нормально взаимодействовать с экранчиком и картой памяти в одной spi шине я так и не понял(
rViz2 показал, что облако точек наблюдается и коррелирует с внешним миром. Ещё есть подозрение, что я неправильно развернул лидар по курсу, может надо программно скорректировать угол.
В целом, можно записать в успех )) Лидар установлен, события идут в топик, видны подписчикам. Следующий этап - картография, навигация и избегание препятствий. Nav2, mapserver, сонар — много сложного, но интересного ))
Больше информации в ТГ: https://t.me/robostroy
YouTube: https://www.youtube.com/@seko2k19
