Контролер пчел на Arduino Nano 33 BLE Sense


В данной статье мы рассмотрим создание устройства на основе платы Arduino Nano 33 BLE Sense, которое будет способно контролировать состояние здоровья пчелиной семьи и обнаруживать в ней событие роения. Вдобавок к этому устройству будет представлено приложение, которое, на наш взгляд, поможет пчеловодам в эффективном производстве мёда и других продуктов пчеловодства.

Внешний вид проекта контролера пчел на Arduino Nano 33 BLE Sense

Разработчики этого приложения ставили перед собой цель помочь пчеловодам максимально эффективно управлять пчелами. Идея работы приложения основана на контроле температуры и влажности, также оно способно как бы проникать внутрь пчелиной семьи в определенном улье и обнаруживать такое событие как роение (swarming). Это событие заключается в том, что пчелиная семья разделяется на 2 части. Одна часть пчел при этом остается в улье, а другая покидает улей и находит себе новый дом. Первая часть остается в улье и ждет когда у них появится новая матка, а вторая часть покидает улей со старой маткой. И было бы неплохо если бы пчеловод как можно скорее узнал об этом событии чтобы предпринять своевременные действия. В этом ему и будет помогать наше приложение, которое будет распознавать/обнаруживать событие роения пчел на основе анализа звуков жужжания пчел.

Необходимые компоненты

Аппаратное обеспечение

  1. Плата Arduino Nano 33 BLE Sense.
  2. Кабель USB-A to Micro-USB.
  3. Смартфон с операционной системой Android.
  4. Батарейка (аккумулятор).

Программное обеспечение

  1. Arduino IDE.
  2. Edge Impulse Studio.
  3. Android Studio.

Основные принципы работы проекта

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

Основой проекта является плата Arduino Nano BLE 33 Sense, которая содержит в своем составе микрофон. С помощью него микроконтроллер в составе платы будет "прислушиваться" к жужжанию пчел и с помощью специальной обучающей модели обнаруживать различия в жужжании пчел во время присутствия матки в улье и во время ее отсутствия. Также плата Arduino Nano BLE 33 Sense содержит в своем составе датчик температуры и влажности – с помощью его показаний мы можем судить об условиях содержания и состоянии здоровья пчелиной семьи внутри улья. Поскольку при разработке данного проекта ключевое внимание уделялось уменьшению потребления энергии, то система измеряет условия внутри улья всего несколько раз в день или во временные периоды между 10 a.m. (до полудня) и 1 p.m (после полудня), когда вероятность события роения максимальна. В остальное время система находится в холостом режиме и не потребляет энергию.

Модель машинного обучения

Для построения модели машинного обучения нам необходимо будет выполнить следующую последовательность шагов.

1. Захват данных с помощью микрофона. На этом этапе мы будем собирать звуки жужжания пчел чтобы сформировать основу (набор данных) для обучающей модели.

Сбор данных для нашей модели

2. Спектральный анализ звуков. На его основе мы будем строить спектрограмму.

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

Матрица результатов обучения нейронной сети

Граф на следующем рисунке дает наглядное представление этого процесса.

Граф, визуализирующий модель для нашего проекта

4. Создание библиотеки и загрузка ее в плату Arduino.

Конвертация созданной модели в Arduino IDE

Авторы проекта все это уже проделали и вы можете воспользоваться готовыми результатами их труда – в этом случае вам не нужно будет записывать звуки жужжания пчел и обучать модель машинного обучения.

Взаимодействие между составными частями проекта

Для передачи данных от платы Arduino на смартфон с Android мы будем использовать технологию Bluetooth. Плата Arduino Nano BLE 33 Sense содержит в своем составе встроенный Bluetooth модуль, что позволяет без привлечения дополнительных устройств организовать связь с помощью данной технологии. Технология Bluetooth позволит нам получать данные на смартфон из улья, находясь на безопасном расстоянии от него и, таким образом, не опасаясь укусов пчел.

Для связи между частями проекта будет использоваться технология Bluetooth

Приложение для Android

Также авторы данного проекта разработали приложение для Android (ссылка на его скачивание в конце статьи), которое будет подключаться по Bluetooth к плате Arduino Nano BLE 33 Sense, получать от нее данные и показывать на своем экране сообщения о состоянии здоровья пчелиной семьи.

Соединение с устройством в улье.

Соединение приложения с устройством в улье

Главный экран приложения с предупреждения, которые плата Arduino передает приложению для Android.

Внешний вид главного экрана приложения

На следующем рисунке показана работа приложения.

Работа приложения

Тестирование работы проекта

Для тестирования работы контролера пчел выполните следующую последовательность шагов.

1. Загрузите программу проекта (приведена в конце статьи) в плату Arduino.

2. Скачайте приложение на свой смартфон (или другое устройство) с Android (ссылка на скачивание .apk файла приведена в конце статьи).

3. Установите плату Arduino в улей.

4. Установите Bluetooth соединение между платой Arduino и приложением на Android.

Принцип взаимодействия частей проекта между собой

Возможные улучшения проекта

Вы можете внести в проект следующие улучшения:

  • улучшить модель машинного обучения увеличив выборку звуков жужжания пчел;
  • добавить функционал приложению на Android;
  • добавить в проект сеть на основе LoraWan (основана на технологии LoRa), с помощью которой можно будет передавать данные от разных ульев на единый сервер, информацию на котором можно будет посмотреть в любое время из любой точки, где есть подключение к сети интернет.

Принцип усовершенствования проекта на основе технологии Lora

Исходный код программы (скетча)

Apk файла Android приложения для данного проекта можно скачать по следующей ссылке.

Источник статьи

(Проголосуй первым!)
Загрузка...
906 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *