1. Установка "Raspbian os lite"
Первым шагом является установка "Raspbian os lite" на ваш Raspberry Pi Zero 2W. Это легковесная версия операционной системы, которая идеально подходит для использования в качестве сервера. Следуйте инструкциям для установки через официальную утилиту. Скачать официально здесь.
2. Подготовка бота
Выберите бота для использования. В данном случае, мы рассмотрим эхо-бота, но вы можете использовать своего бота. Ссылка на GitHub на эхо-бота для примера.
3. Установка необходимых инструментов и зависимостей Python
После установки системы и запуска "Малинки" подключаемся к ней по SSH. Параметры SSH вы указываете при установке системы.
3.1 Обновление Python и установка PIP
На Raspberry Pi Zero 2W у меня была предустановлена версия Python 3.9.2 и обновлять я его не стал, а просто установил PIP следующим образом:
sudo apt-get update
sudo apt-get install python3-pip
3.2 Установка GIT
Установка GIT для клонирования репозитория из GitHub:
sudo apt install git
3.3 Клонирование репозитория
Клонируем репозиторий бота с GitHub:
git clone https://github.com/PilotOfAsuka/Echo_bot_aiogram3.git
После клонирования репозиторий будет доступен по пути /home/user_name/Echo_bot_aiogram3
.
3.4 Установка зависимостей
Установите необходимые зависимости, в данном случае, aiogram:
sudo pip install aiogram
3.5 Организация автозапуска
Создание сервиса
Перейдите в директорию /etc/systemd/system
и создайте файл сервиса:
sudo nano <имя>.service
Добавьте следующие строки:
[Service]
WorkingDirectory= /home/user_name/Echo_bot_aiogram3
User=user_name
ExecStart=/usr/bin/python main.py
Environment=BOT_TOKEN=token_from_BotFather
[Install]
WantedBy=multi-user.target
EOF
Замените user_name на тот что указали при установке системы, а так же token_from_BotFathet на тот что был предоставлен при создании бота.
Сохранение файла
Сохраните файл и добавьте сервис в автозапуск:
systemctl enable <имя_сервиса_без .service>
systemctl start <имя_сервиса_без .service>
Теперь ваш бот будет автоматически запускаться при перезапуске «Малинки».
Спасибо за внимание!