Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как создать персональный монитор бензина с помощью ChatGPT и Python

Как создать персональный монитор бензина с помощью ChatGPT и Python

Проблематика долгих ожиданиях на автозаправках подтолкнула разработчика к созданию вспомогательного софта. Попытки избежать очередей за топливом привели к идее написать персональный монитор бензина, который отслеживает появление марки АИ-95 на нужных АЗС и оперативно информирует владельца.

Как создать персональный монитор бензина с помощью ChatGPT и Python
Как создать персональный монитор бензина с помощью ChatGPT и Python
Как создать персональный монитор бензина с помощью ChatGPT и Python
Как создать персональный монитор бензина с помощью ChatGPT и Python
Как создать персональный монитор бензина с помощью ChatGPT и Python
Как создать персональный монитор бензина с помощью ChatGPT и Python
Как создать персональный монитор бензина с помощью ChatGPT и Python
Как создать персональный монитор бензина с помощью ChatGPT и Python

Изначальный поиск готовых решений через чат-бота выявил сторонние сервисы с уведомлениями, однако возникла задача разработать собственный инструмент без привязки к мессенджерам. В качестве источников данных были выбраны картографические сервисы и агрегаторы информации о топливе, а общая концепция предполагала периодический опрос выбранных локаций.

Поиск источников данных и постановка задачи для ИИ

Поскольку публичной документации API с актуальным наличием топлива у крупных картографических сервисов обнаружено не было, нейросети было предложено проанализировать сетевые запросы веб-версий. Поставленная задача заключалась в том, чтобы задействовать вспомогательных ИИ-агентов для исследования цифровых интерфейсов и выявления способов автоматического получения сведений о статусе заправок.

Реклама

Для минимизации риска блокировок со стороны серверов алгоритм настроили на проверку заправок через случайные временные интервалы. В качестве оптимального инструмента для отправки пуш-уведомлений на смартфон было предложено использовать специализированное приложение Pushover, интегрированное с написанной на Python программой.

Уточнение задачи для монитора и выбор интервалов проверки
Настройка случайных временных интервалов проверки АЗС

Разработка первой версии и запуск на смартфоне

Рабочий код утилиты создавался при помощи кодинг-ассистентов. Готовый скрипт на языке Python был запущен непосредственно на мобильном устройстве под управлением Android через эмулятор терминала Termux, что позволило обойтись без развертывания полноценного серверного оборудования.

Поиск запросов для получения данных о наличии топлива
Поручение Codex исследовать запросы данных о топливе

Первая рабочая итерация софта производила опросы заданных точек каждые десять-пятнадцать минут. В поступавших на телефон уведомлениях содержался точный адрес АЗС, временная метка обновления и детальная выкладка по каждому из подключенных источников, что позволяло сразу видеть расхождения в информации.

Доработка функционала: история изменений и интерактивная карта

Спустя неделю после первоначального запуска функционал программы расширили журналом изменений. Накопление статистики позволило фиксировать динамику появления топлива в течение суток, формируя табличный архив для последующего анализа времени подвоза горючего на конкретные заправки.

Отображение данных о наличии бензина по разным источникам
Сравнение данных о наличии топлива от разных сервисов

Через месяц в проект добавили визуальную карту на базе библиотеки MapLibre, открываемую в обычном браузере. Интерактивные карточки объектов стали отображать не только текущий статус наличия АИ-95 и количество подтверждающих сервисов, но и расчетные часы подвоза топлива, вычисляемые на основе собранной ранее статистики.

Публикация исходного кода и дальнейшее использование

В настоящее время созданный инструмент продолжает работать в фоновом режиме, накапливая статистику и сохраняя историю статусов. Наглядную карту и детальный журнал изменений по-прежнему можно изучать через браузер на локальном устройстве.

Журнал изменений статуса заправок и отправки уведомлений
Лог изменений статусов заправок и отправленных пуш-уведомлений

Исходные файлы проекта вместе с инструкцией по запуску опубликованы в открытом доступе на GitHub. Стоит учитывать, что уведомления через сторонние сервисы вроде Pushover требуют отдельной подписки после окончания тридцатидневного пробного периода, однако базовый мониторинг и накопление локальной базы данных функционируют автономно.

Интерактивная карта заправок для сравнения статусов
Карта для сравнения расположения АЗС и статусов топлива
01.