Walabasquiat: интерактивное генеративное искусство на Walabot, Raspberry Pi и Android
Walabasquiat — живая генеративная арт-инсталляция, превращающая движение, детектируемое 3D-образным датчиком Walabot, в динамические визуальные паттерны. Система работает на Raspberry Pi, использует Processing для рендеринга и стримит данные датчика через легковесный Flask RESTful API к Android live-wallpaper приложению.
История
Идея 🤔 💡
С 1990-х годов генеративное искусство меня восхищает — особенно Organic Art PC Уильяма Лэтом, который использовал генетические алгоритмы для превращения простых форм в сложные, живые формы. Я представил публичную инсталляцию, где посетители могли напрямую влиять на эти алгоритмы своим движением. Walabasquiat реализует это видение, подавая реальные позиционные данные от датчика Walabot в Processing-скетч, непрерывно мутирующий визуальный вывод.
Начало работы 🔰 👩💻
Подключение Walabot к Raspberry Pi — дело plug-and-play. Вставьте устройство в USB-порт с блоком питания 2.5 А+, затем установите официальный Walabot API:
cd ~
wget https://s3.eu-central-1.amazonaws.com/walabot/WalabotInstaller/Latest/walabot_maker_1.0.34_raspberry_arm32.deb
sudo dpkg -i walabot_maker_1.0.34_raspberry_arm32.deb
После этого установите Python-биндинги:
pip install WalabotAPI --no-index --find-links="/usr/share/walabot/python/"
Запустите встроенный пример для проверки связи датчика:
cd /usr/share/doc/walabot/examples/python
python SensorApp.py
Вы увидите живые X/Y/Z координаты и значения амплитуды в терминале. С работающим датчиком начинается настоящая творческая работа.
Процесс разработки 💪 💻
Главная сложность — предоставление данных Walabot в Processing. Вместо встраивания Walabot SDK напрямую в Python Mode скетч — что может вызвать конфликты версий — я построил легковесный RESTful API на Flask. API сериализует показания датчика в JSON, позволяя любому сетевому клиенту их потреблять.
Я адаптировал walabot-web-api для Linux и прошивки Creator, затем интегрировал в свой Pi. С работающим API я использовал библиотеку HYPE для Processing (все еще полностью функциональна, несмотря на последнее обновление два года назад) для создания отзывчивой, частицеподобной визуализации данных датчика. Результат — живой ковер, роящийся вокруг каждой обнаруженной цели.
Для посетителей я упаковал ту же логику в Walabasquiandroid, Android live wallpaper. Он держит визуальный опыт легковесным, так что пользователи могут наслаждаться генеративными паттернами на телефонах задолго после выхода из выставки.
Шаги воспроизведения 📑 🚀
Для дублирования инсталляции выполните:
- Подключите Walabot к Raspberry Pi и установите API как описано выше.
- Скачайте и запустите Flask-сервер:
cd /usr/share/doc/walabot/examples/python
sudo wget https://raw.githubusercontent.com/ishotjr/walabot-web-api/rpi/app.py
python3 app.py
Проверьте связь простым curl запросом:
curl -i https://192.168.1.69:5000/walabot/api/v1.0/sensortargets
Замените 192.168.1.69 на локальный IP вашего Pi (узнайте через ip addr show). Ответ будет похож на JSON payload, показанный ранее.
- Установите Processing на Pi (CLI предпочтительнее):
curl https://processing.org/download/install-arm.sh | sudo sh
- Клонируйте репозитории проекта и установите библиотеку HYPE:
cd ~/sketchbook
git clone https://github.com/ishotjr/Walabasquiat.git
git clone https://github.com/hype/HYPE_Processing.git
unzip HYPE_Processing/distribution/HYPE.zip -d ~/sketchbook/libraries/HYPE
Запустите Processing из меню приложений Raspberry Pi, откройте скетч Walabasquiat и позвольте генеративному искусству реагировать на живые данные датчика.
Для портативного опыта соберите Android live wallpaper, использующий тот же RESTful интерфейс. Результат — живая, реально-временная визуальная повествование, связывающее железо, софт и человеческое взаимодействие.
Визуальные высоты
Walabasquiat роится вокруг трех целей Walabot в реальном времени.
Walabasquiandroid — Android live-wallpaper компаньон.
Читать подробнее
Изучите полный код и документацию на GitHub и узнайте, как расширить инсталляцию новыми датчиками или визуальными стилями.
Производственный процесс
- Создание интерактивного лазерного проектора с Zigbee-сенсорами и платформой Gravio Edge
- Posture Pal с Walabot — мониторинг расстояния в реальном времени для предотвращения боли в шее и спине
- Bark Back: IoT-монитор питомцев для умного управления звуком
- Walabot Touchpad: превратите любую поверхность в беспроводной сенсорный интерфейс
- Монитор гигиены туалета на базе Walabot
- SIGHT: умные очки для слабовидящих на Raspberry Pi
- Полное руководство по настройке среды разработки C++
- Мастерство кросс-референсирования: руководство к точности и экономии затрат
- Установка линейных направляющих: всеобъемлющее руководство для надежных производственных линий
- Освоение горизонтального фрезерования: повышение производственной эффективности