Тележка для доставления лицевых масок клиентам - Своими руками
Своими руками

Тележка для доставления лицевых масок клиентам

Цель этого проекта, создать тележку для доставки лицевых масок. Устройство управляется по iOS, и имеет динамик, через который хвалит людей в масках и троллит тех, кто без масок. В принципе, помимо масок, ее можно использовать и для других целей.

Инструменты и материалы:-Raspberry Pi 3 A +;-Прозрачный кейс для Рассбери;-Карта microSD 8-32 Гб;-Блок питания 5В 2,5А;-Плата драйвера двигателя;-Аудиоколонка;-Батарейный блок 4 АА с выключателем;-Повербанк 5000mAh;-Шасси робота;-Ролик в качестве переднего колеса;-Моторедуктор;-Колеса;-Корзинка;
-Отвертка;
-Двусторонний скотч;
-Плоскогубцы;
-Пинцет;
Тележка для доставления лицевых масок клиентамШаг первый: настройка ОС Raspberry Pi для работы в вашей сети Wi-Fi
Установите программное обеспечение Raspberry Pi Imager на свой компьютер (мастер использует Mac).
Используйте программное обеспечение Raspberry Pi Imager для установки ОС Raspberry Pi на карту microSD.
Подключите карту microSD к устройству чтения карт и подключите его к компьютеру.

Найдите и откройте программу « Raspberry Pi Imager », которую вы только что установили. Действуйте согласно шагам по установке.
После установки нужно вынуть карту из слота и установить снова. Название этой карты BOOT» должно отображаться на рабочем столе.
Добавьте пустой файл с именем «ssh» в загрузочный каталог на карте microSD.

Команда ssh позволит удаленно подключиться к Pi через такую программу, как Terminal на Mac или Putty для Windows. Чтобы включить ssh, создайте файл с именем «ssh» в загрузочном каталоге Pi, выполнив следующие действия:
Откройте программу.

Скопируйте строку ниже и вставьте ее в программу Terminal.
touch /Volumes/boot/ssh
Создайте и настройте файл wpa_supplicant.conf в загрузочном каталоге Pi
Скопируйте строку ниже и вставьте ее в программу Terminal и подтвердите. Это запустит программу текстового редактора nano, создав новый пустой файл с именем wpa_supplicant.conf в загрузочном каталоге Pi:
nano /Volumes/boot/wpa_supplicant.conf
Скопируйте текст ниже и вставьте в программу Terminal.
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="NETWORK-NAME"
psk="NETWORK-PASSWORD"
}
Имя сети, пароль и страну нужно изменить на свою. Затем сохранить изменения и выйти. Закройте терминал и извлеките карту microSD.
Вставьте карту microSD в Raspberry Pi. Включите свой Raspberry Pi.
Сгенерируйте ssh-ключ для вашего нового Pi
Снова откройте программу Terminal. Скопируйте в нее строку ниже:
ssh-keygen -R raspberrypi.local
Затем
ssh pi@raspberrypi.local
Войдите в свой Pi, используя имя пользователя и пароль по умолчанию.
Имя и пароль по умолчанию для Pi – « raspberrypi ».
Измените пароль Pi через команду
sudo raspi-config
Перезагрузите Рассбери.
Обновите программное обеспечение на вашем Pi. В Терминале скопируйте и вставьте строку ниже.
sudo apt-get update -y
При выключении Pi (отключении питания) введите команду ниже, чтобы избежать любого потенциального повреждения файла во время выключения, затем подождите, пока зеленые индикаторы на вашем Pi перестанут мигать и погаснут (около 3-4 секунд).
sudo stop

Шаг второй: установка Python и настройка интерфейса
Установить Pip3
Pip3 позволяет устанавливать дополнительные программные пакеты python с популярного Интернет-сайта: Python Package Index (PyPI). Чтобы настроить pip3 на Pi, выполните следующие действия:

В командной строке терминала введите команду ниже.
sudo apt-get install python3-pip -y
Затем введите следующую команду:
sudo pip3 install –upgrade setuptools
Чтобы настроить I2C на Pi введите команду ниже в командной строке терминала:
sudo apt-get install -y python-smbus
Когда установка, описанная выше, будет завершена, введите приведенную ниже команду в командной строке терминала и нажмите return:
sudo apt-get install -y i2c-tools
Запустите инструмент raspi-config, набрав в командной строке терминала
sudo raspi-config
Вернитесь в главное меню raspi-config.
Дальше нужно установить и настроить SPI.
SPI (иногда произносится как «шпион») означает последовательный периферийный интерфейс, и, как и I2C, он также является стандартом, позволяющим устройству взаимодействовать с периферийными устройствами. Чтобы установить SPI, находясь в инструменте raspi-config , зайдите в меню «Параметры интерфейса», найдите и подтвердите включение SPI.
Установить библиотеки Python
Чтобы установить это программное обеспечение введите следующую строку в командной строке терминала:
pip3 install RPI.GPIO
Чтобы установить Blinka:
Введите строку ниже в командной строке терминала:
pip3 install adafruit-blinka
Перезагрузите Pi.
Создайте пустой файл с именем blinkatest.py введя следующую команду:
nano blinkatest.py
Это создаст пустой файл с именем blinkatest.py
Теперь скопируйте приведенный ниже код:
Тележка для доставления лицевых масок клиентам Показать / Скрыть текст<pre>import board
import digitalio
import busio
print("Hello blinka!")

# Try to great a Digital input
pin = digitalio.DigitalInOut(board.D4)
print("Digital IO ok!")

# Try to create an I2C device
i2c = busio.I2C(board.SCL, board.SDA)
print("I2C ok!")

# Try to create an SPI device
spi = busio.SPI(board.SCLK, board.MOSI, board.MISO)
print("SPI ok!")

print("done!")
Вернитесь в командную строку.
Теперь запустите программу blinkatest.py, введя команду ниже:
python3 blinkatest.py

Шаг третий: звук
Настройте Raspberry Pi так, чтобы к нему можно было получить доступ через Mac Finder
Есть много способов передачи файлов на Raspberry Pi через Wi-Fi. Мастер предпочитает настроить Pi так, чтобы Mac мог получить доступ к Pi в Finder, как если бы это был жесткий диск, хранящийся в сети. Он делает это, устанавливая программное обеспечение Netatalk на Pi. Кстати, эти шаги также более подробно описаны в руководстве (и сопутствующем видео), которое вы можете найти по адресу: http://bit.ly/pi-in-finder..

После выполнения инструкции со стороннего сайта, необходимо настроить Pi для воспроизведения звука из динамиков.
В командной строке введите
sudo halt
Подождите, пока зеленые индикаторы на Pi перестанут мигать и погаснут (около 3-4 секунд), затем выключите питание Pi.
Подключите динамик с разъемом RCA к аудио разъёму Pi , затем включите динамик.
Включите Pi и установите библиотеку PyGame.
Библиотека PyGame добавляет команды к языку программирования Python, чтобы было проще писать код, воспроизводящий звуки. Чтобы добавить эти библиотеки введите команду ниже и подтвердите.
sudo apt-get install python3-pygame
Теперь нужно прописать очень короткую программу для запуска и проверки работы PyGame.
Введите следующую команду:
nano sound-demo.py
Скопируйте приведенный ниже код и вставьте его в nano
Тележка для доставления лицевых масок клиентам Показать / Скрыть текстimport pygame
import pygame
import time
# location of our sounds directory/folder
fileLocation = "/home/pi/sounds/"
# sets up to play sound and loads the "startup.mp3" sound
pygame.mixer.init()
pygame.mixer.music.load(fileLocation + "startup.mp3")
speakerVolume = "0.5" # initially sets speaker at 50%, "1.0" is full volume
pygame.mixer.music.set_volume(float(speakerVolume))
pygame.mixer.music.play()
while pygame.mixer.music.get_busy() == True:
continue
Сохраните и выйдите из nano.
Запустите программу python.
Введите команду:.
python3 sound-demo.py
Если слышен звук « startup.mp3 » через динамики, подключенные к Pi,значит все получилось.Тележка для доставления лицевых масок клиентамДля настройки громкости, можно использовать программу alsamixer. Просто введите в командной строке alsamixer.

Шаг четвертый: сборка устройства
Дальше нужно собрать робота.
На шасси устанавливает колесо-шарик. Закрепляет моторедукторы и боковые колеса.
Установите батареи в отсек и закрепите его на шасси. Установите Pi в корпус. Установите плату расширения.
Закрепите корзинку с помощью двустороннего скотча.
Подключите все согласно схемы:
левые провода двигателя: красный – к MB2, черный – к MB1.
провода аккумуляторной батареи: красный к VIN, черный к GND
провода правого мотора: красный – к MA1, черный – к MA.
Выключите динамик и подключите его к аудиоразъему Pi . Прикрепите динамик к корзине с помощью липкой ленты.
Подключите повербанк к разъему питания microUSB Pi и закрепите его на шасси.
Тележка для доставления лицевых масок клиентамШаг пятый: дополнительное ПО
При установке программного обеспечения желательно подключится через блок питания.
Установите программное обеспечение adafruit-circuitpython motorkit.
Введите следующую строку в командную строку Терминала и нажмите клавишу ВВО:
sudo pip3 install adafruit-circuitpython-motorkit
Продукт Waveshare Motor Driver HAT красивый и недорогой, не требует пайки, но не работает с CircuitPython. Чтобы заставить его работать выполните следующие действия.
Введите команду:
sudo nano /usr/local/lib/python3.7/dist-packages/adafruit_motorkit.py
Ниже нужно найти следующую строку: return self._motor(1, (8, 9, 10), 1)
Замените три средних числа, удалив 8, 9 и 10 на 0, 1, 2,
Опуститесь еще ниже к
return self._motor(2, (13, 11, 12), 1)
Замените три средних числа, удалив 13, 11 и 12 и заменив их на 5, 3, 4.
Сохраните изменения.
Дальше в командной строке введите следующую команду:
nano pibottest.py
Посетите страницу проекта на GitHub по адресу https://github.com/gallaugher/mil-mascaras.
Щелкните ссылку на файл с именем pibottest.py. Откроется страница, содержащая код Python.
Скопируйте код Python с этой страницы, вернитесь в Терминал и вставьте этот код в nano.
Сохраните и выйдите из программы.
Перезагрузите устройство.
Включите батарейный отсек AA, от которого питается Motor Hat.
Поставьте своего робота на пол.
Запустите программу python pibottest.py, введя команду ниже.
python3 pibottest.py
Двигатели должны работать.
Ваш Pi будет использовать стандарт связи, известный как MQTT, чтобы принимать сообщения из приложения iOS и передавать их в программу Python, работающую на Pi. Программа Pi, которая будет использоваться для обработки сообщений MQTT, известна как mosquitto.
Чтобы установить mosquitto, введите в командной строке команду:
sudo apt-get install mosquitto mosquitto-clients -y
Установите библиотеки для поддержки Python для MQTT:
sudo pip3 install paho-mqtt
Введите команду:
sudo systemctl enable mosquitto.service
Далее введите команду:
nano control-pibot.py
Откройте браузер и посетите страницу проекта на GitHub по адресу: https://github.com/gallaugher/mil-mascaras.
Найдите ссылку с надписью control-pibot.py и нажмите на нее. Откроется страница со всем кодом этой программы на Python.
Выделите и скопируйте все строки. Установите в Терминал,сохраните и выйдите.
В программе «Терминал» выберите меню «Оболочка» , затем « Новое окно»> «Новое окно с профилем» – «Базовый». Это откроет другое окно терминала. Введите имя и пароль.
Наберите команду для звука:
mosquitto_pub -h mil-mascaras.local -t "pibot / move" -m "0"
команду для движения:
mosquitto_pub -h mil-mascaras.local -t "pibot/move" -m "forward"
Далее введите команду ниже:
sudo nano /lib/systemd/system/pibot-mqttclient.service
Откройте окно браузера и вернитесь в репозиторий GitHub по адресу: https://github.com/gallaugher/mil-mascaras.
Найдите ссылку на файл с именем: pibot-mqttclient-service. Выделите все строки в этом файле и скопируйте их в буфер обмена.
Вернитесь в Терминал и вставьте код в nano. Перезагрузите устройство.
Тележка для доставления лицевых масок клиентам
Шаг шестой: установка приложение на IOS
Посетите App Store на своем устройстве iOS и загрузите приложение Mil Mascaras:
https://apps.apple.com/us/app/mil-mascaras/id1550345112
Убедитесь, что ваш робот заряжен и включен. Вскоре после включения робота вы должны услышать «Готово! Поехали!» Убедитесь, что ваше устройство iOS находится в той же сети Wi-Fi, что и ваш робот. Нажмите кнопку «Подключиться к роботу». Нажмите на ячейку в списке звуков, чтобы воспроизвести этот звук. Отрегулируйте громкость, перемещая ползунок громкости. Удерживайте палец на кнопке со стрелкой, чтобы начать движение в этом направлении, и поднимите палец, чтобы остановить робота.
Тележка для доставления лицевых масок клиентамПри желании звуки можно редактировать, менять местами и удалять.
Все готово, теперь вы можете загрузить тележку масками и отправится на поиски своей первой “жертвы”.

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.