Найти тему
Три топора 777

BirdNET-Pi в России. Нейронная сеть на службе орнитолога и бердвотчера. Единственая в России станция "BirdWeather # 3709" (Надеюсь временно)

Оглавление

Для начала дам перекрестную ссылку на другой мой проект перевода популярных определителей птиц: https://dzen.ru/a/ZXn4cErWvDgO9VsK

Поясню сразу! В этой публикации я хочу поделиться своим опытом установки, настройки и использования BirdNET-PI. Может кому пригодится. Материал будет пополняться постепенно.

Моя мониторинговая станция на BirdWeather: https://app.birdweather.com/stations/3709

BirdNET-Pi - Tamengont, Russia :: BirdWeather

Итак начну потихоньку. С неделю назад узнал о таком проекте как BirdNET-Pi. Для тех кто не в курсе, в Лаборатории орнитологии при Корнеллском университете (США) разработаны ряд программ определения птиц по её песне (вокализации), а именно:

1. BirdNET (Андроид, смартфон)

2. Merlin (Андроид, смартфон)

3. BirdNET-Analyzer (Windows, ПК)

4. eBird (Андройд, смартфон) птиц по пению не определяет, но ведет трек, где вы отмечаете встреченных птиц.

5. BirdNET-Pi (Raspberry PI).

06.08.2024г.: Отрадно отметить... недавно узнал об ОТЕЧЕСТВЕННОЙ программе BirdNerd, созданной и поддерживаемой Санкт-Петербургским университетом, моим земляком петербургским орнитологом Олегом Кенуненом. Обязательно надо её использовать. Поддержим отечественного производителя!

Bird Nerd - bird song identification app

12.08.24г.: РАЗОЧАРОВАН фактом платности ПО! С таким подходом к решению вопроса нам нечего будет противопоставить нашим "друзьям" и опять во всем будет виноват..., но не мы.... Обидно!

Все эти программы (п. 1-4) я активно использую в своем сматрфоне (ПК) и их использование не должно вызывать сложности даже для новичка, способного лишь отличить курицу от воробья

Отдельного внимания у меня заслужил проект BirdNET-Pi. Кратко смысл его работы можно описать так. Берете RaspberryPI, устанавливаете на него операционную систему RaspberryOS, через терминал с репозитория устанавливаете непосредственно BirdNET-Pi, подключаете к плате звуковую карту и микрофон, микрофон высовываете в окно и вауля... вы имеете установку, которая 24/7 мониторит пения птиц, отделяет птиц, определяет их и сохраняет в базу данных. Все это проходит без вашего участия и контроля, вы только смотрите базу данных когда вам захочется.

Конечно одним абзацем особенностей не опишешь, поэтому приведу ряд ссылок на материалы, после которых многое проясниться. И не забывает пользоваться переводом видео в Яндекс браузере.

Видео.

ВАЖНО!!! Вероятно, полсе блокировки ЮТУБ в России ссылки не будут работать после 1 августа 2024 г.

1. 26.04.2023, И.И. Уколов, Автоматическая регистрация птиц по голосам с использованием Birdnet-pi, ч1 (https://youtu.be/GwUF8iYGZ9M)

2. 26.04.2023, И.И. Уколов, Автоматическая регистрация птиц по голосам с использованием Birdnet-pi, ч2 (https://youtu.be/mhIbgpKquyQ)

3. Use Sound and Machine Learning to Identify Birds with a Raspberry Pi - BirdNET-Pi (https://youtu.be/IM-F4sJ-5rc)

4. Use Machine Learning to Bird Watch! - BirdNET-Pi Overview (https://youtu.be/obHcjxEITQk?list=PLgkdDgRSI6poIvm4FXZ3dKtQMTs82grY1)

Текстовые материалы.

Энтузиаст с помощью Raspberry Pi слушает пение птиц и распознаёт, какая именно птица щебечет у него за окном

http://www.birds-online.ru/news/%d0%b0%d0%b2%d1%82%d0%be%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b0%d1%8f-%d1%80%d0%b5%d0%b3%d0%b8%d1%81%d1%82%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d0%bf%d1%82%d0%b8%d1%86-%d0%bf%d0%be-%d0%b3.html

GitHub - mcguirepr89/BirdNET-Pi: A realtime acoustic bird classification system for the Raspberry Pi 4B, 3B+, and 0W2 built on the TFLite version of BirdNET.
BirdNet-Pi: intro, install, use
Identify Birds through Sound with a Raspberry Pi | BirdNET-Pi Project - Tutorial Australia
BirdNet Pi install
Building a BirdNET Real-Time Acoustic Bird ID Station
Fun Raspberry Pi project: Identify backyard birds 24/7 - Because Birds

В настоящее время существует несколько вариантов BirdNET-Pi. Все они основываются на проекте автора первопроходца mcguirepr89 с его разрешения и напутствия:

1. Первоисточник https://github.com/mcguirepr89/BirdNET-Pi , проект не поддерживается и выложен в свободное плавание... Спасибо, что автор вообще не удалил его, серьезно!!! Строка установки: "curl -s https://raw.githubusercontent.com/mcguirepr89/BirdNET-Pi/main/newinstaller.sh | bash". Установка только на RaspiOS. Удалось с трудом установить на SD 64Gb, мониторит.

2. Репликация https://github.com/Nachtzuster/BirdNET-Pi. Вроде как активно поддерживается и модернизируется за данным проектом будущее сохранения и поддержки данного ПО вообще. Строка установки "curl -s https://raw.githubusercontent.com/Nachtzuster/BirdNET-Pi/main/newinstaller.sh | bash". Установка только на RaspiOS. Удалось установить на SD 64 GB, мониторит, есть ряд приятных новшеств интерфейса, поддерживается автором проекта в актуальном состоянии. Самый ПРАВИЛЬНЫЙ пакет!

3. Репликация https://github.com/tphakala/birdnet-go и само ПО носит название BirdNЕT-GO. Не пробовал. Все впереди. Отличительная особенность: предусматривается возможность установка на Windows, RaspiOC, iMAC.

4. Крайне интересный проект BattyBirdNET-Pi одновременного мониторинга птиц и навигационных посылок летучих мышей https://github.com/rdz-oss/BattyBirdNET-Pi/tree/bb. Если интересно разбираемся, пробуем и делимся опытом. Однако для его реализации вам потрубется микрофон стоимостью примерно баксов 150-200, либо что-то придумывать самому. Давайте думать!

5. Ну и другие не так популярные и вновь создаваемые...

Так или иначе все это реплики используют один и тот же алгоритм распознавания вокализаций птиц от mcguirepr89!, и отличаются адаптацией к более новым версия RaspiOS.

Расскажу о своих муках установки базовой версии от автора mcguirepr89!

Итак, начну описание своих достижение в установке данного ПО. Для установки использовал RaspberryPi 4B c 4Gb ОЗУ с Алиэкспресс.

Ситуация вполне себе НЕ радужная! Перебор различных дистрибутивов RaspiOS в сочетании с BirdNET-Pi (далее БирдНЕТ-ПИ) занял у меня примерно неделю упорного труда. Проблема в том, что автор ПО уже не поддерживает его адаптацию к новым версиям РаспиОС, поэтому этот этап я бы назвал "Серьезные танцы с бубном"... ну для меня! Вроде ставите РаспиОС- все нормально, запускаете в Терминале РаспиОС команду на установку БирдНЕТ- тоже прошло без проблем, но потом при попытке запустить в браузере станицу "birdnetpi.locаl" вам выдается ошибка. По IP-адресу тоже ошибка. Проблема в настройке Caddy сервера и несоответствие его установленной вами версией РаспиОС.

Как же мне все таки удалось установить и запустить свою станцию мониторинга? Ответ- НЕ ЗНАЮ! Как я уже говорил, этот процесс перебора различных вариантов ОС и утановка на них БирдНЕТ-Пи занял у меня порядка недели. Спасибо за подсказку Captain Bodgit (https://captainbodgit.blogspot.com/2023/11/birdnet-pi-intro-install-use.html):

"...BirdNET-Pi currently needs the previous OS version:-

  • Raspberry Pi OS (Legacy) Lite
  • Release date: May 3rd 2023
  • System: 64-bit
  • Kernel version: 6.1
  • Debian version: 11 (bullseye)..."

Однако мне удалось установить на Raspberry Pi OS не "Lite".

Особенности:

1. Очень важно при установки иметь стабильный и быстрый интернет.

2. БирдНЕТ В МОЕМ СЛУЧАЕ установился и запустился ИМЕННО на "RaspberryPI bulleseye arm 64 2023-05-03"

3. Возможно после установки вам придется править host файл ОС вашего компа и прописать в нем адреса (последняя строка, IP вашей платы, у каждой свой):

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost 192.168.1.44 birdnetpi.local
192.168.2.45 birdnetpi.local

4. Возможно вам придется править конфигурационный файл Caddy сервера в RaspberryPI OS, для этого прочтите внимательно ветку "Дискуссии" на сайте автора при помощи переводчика... для начала... (https://github.com/mcguirepr89/BirdNET-Pi/issues/233).

Сама инструкция по установке вполне себе разжёвана: https://github.com/mcguirepr89/BirdNET-Pi/wiki/Installation-Guide. Добавить особенно нечего.

У меня, почему-то BirdNET-Pi запустился ТОЛЬКО с SD-карты 64 Gb, не знаю с чем это связанно... мистика какая-то, а может случай.

С версией ПО от Nachtzuster были проблемы, но решились при установке на SD 64Gb и хорошем интернете, т.к. в процессе установки загружается много пакетов. Вообще мистика с SD-картами 64Гб продолжается, мне так не разу не удалось установить ПО на 128 Гб. Поэтому не специалистам Linux и всем остальным рекомендую именно этот пакет!

Забегая вперед хочу похвастаться своей мобильной версией птичьего аудиомонитора для автономного мониторинга птиц по принципу "куда закинешь". Состав комплекта:

1. Герметичный кейс Байкал для размещения всего оборудования.

2. AGM батарея, в моем случае 12В 17 А/ч.

3. Преобразователь DC 12В в 5В 3А, купленный на Алиэкспресс.

4. Микрофон для проведения конференций с Алиэкспресс. ВАЖНО: микрофон не должен быть направленного действия, иначе вы не распознаете и половины птиц. Поэтому ищите микрофон для проведения конференций. Вообще можно собирать самому и экспериментировать, в помощь ветка https://github.com/mcguirepr89/BirdNET-Pi/discussions/39.

5. Звуковая карта. Желательно не шлак. Сообщество проверило и активно использует звуковые карты UGREEN- дешево-терпимо и сердито. Я тоже их использую. В настоящее время советую избегать 4-х контактных 3,5-mm разъемов, с ними много тонкостей. Возьмите 3-х контактный и звуковую карту с отдельными выходами для наушников и микрофона. Обратите внимание, что в герметичный корпус конференц-микрофон должен заходить через герметичный кабельный ввод, диаметр которого можно ПОДОБРАТЬ в магазине электрики.

6. Ну и конечно же сама RaspberryPi c радиатором. ВАЖНО использовать радиатор без вентилятора, иначе драгоценная энергия батареи будем расходоваться на вентилятор... и не малая. Отдельная тема про "набалдашник с проводами и изолентой"... расскажу позже- это другой уровень погружения. В качестве подсказки- это автономные часы на микросхеме DS3231.

Кейс для переноски.
Кейс для переноски.
-3

Шилд кейса
Шилд кейса

Батарея в кейсе
Батарея в кейсе

Гермоввод микрофона
Гермоввод микрофона
Конвертер 12В в 5В 3А
Конвертер 12В в 5В 3А
Микрофон для проведения конференций
Микрофон для проведения конференций
Звуковая карта с переходником
Звуковая карта с переходником
Еще вариант звуковой карты, наиболее предпочтительный по входам.
Еще вариант звуковой карты, наиболее предпочтительный по входам.
Ну и сама виновница торжества- плата RaspberryPi 4B 4Gb ОЗУ
Ну и сама виновница торжества- плата RaspberryPi 4B 4Gb ОЗУ

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

29.09.24 г.

Развитие идеи уперлось в необходимости контроля разряда АКБ. Я использую гелиевый АКБ, т.о. выходное напряжение АКБ менее 11,5В говорит о его разряде менее 20% и дальнейших процессах его разрушения. Как сделать, что бы при напряжении АКБ менее 11,5В была возможность его "отрубить" и избежать дальнейшего глубокого разряда? Решение было найдено с помощью Леонида (RL1L) и Алиэкспресс.

Реле разряда литиевых АКБ не позволяют нагрузке разрядить АКБ до "ноля". Вот оно:

Реле контроля разряда АКБ
Реле контроля разряда АКБ

Принцип работы весьма прост: вы сами устанавливаете напряжение отключения АКБ от нагрузки путем подстройки резистора. В моем случае пороговое напряжение установлено 11,5В, что соответствует 20% разряда АКБ, поэтому пока напряжение выше 11,5В реле открыто и нагрузка питается от АКБ, как только выходное напряжение станет меньше 11,5В реле "закрывается" и АКБ отключается от нагрузки. Схема подключения:

Схема подключения реле контроля разряда АКБ
Схема подключения реле контроля разряда АКБ

Но, как всегда с товарами из уважаемой мной Поднебесной, не обошлось без казусов. Купил первую партию модулей и начал настраивать- фиаско. Порог устанавливается правильно, но вот все что более 11,5 В блокируется, напряжение ниже пропускается, т.е. все наоборот. Видимо перепутали с распиновкой при пайке или я виноват. Отличительная особенность таких реле- светодиод, индицирующий открытие, красный. Вторая партия по 140 р. за штуку оказалось правильной и все работает как надо: до 11,5 В отключается, более 11,5 В включается. Светодиод зеленого цвета, берем на заметку. Хотя по стоимости эти реле равны цене 1 литра разливного... поэтому нечего страшного.

Следующая мысль: как войти на веб страницу БирдНЕТ в поле, локальной сети нет. Для этого был приобретен, угадайте где (...Али...) мини роутер, бинго:

-14

Он дает возможность в поле создать локальную LAN/Wi-Fi сеть и спокойно проверить работоспособность станции мониторинга.

Ближайшее время продолжу. Если Вам необходима срочная информация по установке BirdNet-Pi пишите, отвечу лично: cau@yandex.ru