🌡️ IoT-датчики для улья
Это финальный стендовый reference перед первым включением: точные GPIO, цвета проводов, интерактивная схема с 3D-видом и исправленная карта питания.
Интерактивная схема проводки
Схема это pin-to-pin карта. Переключитесь в 3D, чтобы вращать стенд. Клик по проводу или детали открывает инспектор. Питание DS18B20 идёт с пина ESP32 3.3V, не с USB 5V.
Рендер через wire-diagram. Переключатель Schematic / 3D в углу холста. Подписи элементов переведены; кнопки виджета пока на английском.
Полная таблица pin allocation
| Function | ESP32 pin | Wire colour | Connected to | Notes |
|---|---|---|---|---|
| HX711 SCK (clock) | GPIO 17 (pin 28) | Blue | HX711 SCK pin | Firmware clock output |
| HX711 DT (data) | GPIO 16 (pin 27) | Orange | HX711 DT pin | Firmware data input |
| DS18B20 Data | GPIO 4 (pin 26) | Brown / Yellow | DS18B20 DQ + 4.7 kOhm pull-up to 3.3V | Mandatory pull-up resistor |
| DS18B20 VCC | 3.3V (pin 1) | Red | DS18B20 VDD pin | Не использовать 5V |
| HX711 VCC | 5V (pin 19) or 3.3V | Red | HX711 VCC pin | В этой лабораторной сборке 5V; плата принимает оба |
| System GND | GND (pin 14) | Black | All GND pins (HX711, DS18B20, ESP32) | Must be common ground |
| I2C SDA (reserved) | GPIO 21 (pin 33) | Purple | Future humidity sensor | Do not connect anything yet |
| I2C SCL (reserved) | GPIO 22 (pin 36) | Grey | Future humidity sensor | Do not connect anything yet |
| Battery ADC (reserved) | GPIO 34 (pin 5) or GPIO 35 (pin 6) | White | Future voltage divider | Input-only pins, do not use for output |
Эта страница - единая reference для полной лабораторной проводки: интерактивная схема выше включает и весовую, и температурную цепочки.
Breadboard layout
Слева - питание
- Верхняя красная рейка: 5V от USB ESP32
- Нижняя синяя рейка: общий GND
- Короткий отвод 3.3V с пина ESP32 для DS18B20 и pull-up
Центр - ESP32 + HX711
- Ряды 10-11: ESP32 DevKit
- Ряды 20-21: HX711, рядом, чтобы DT/SCK были короткими
- Оставьте пустые ряды вокруг плат для jumper-доступа
Справа - сенсоры
- Ряд 30: 4.7 kOhm между 3.3V и узлом данных
- Ряды 35-36: разъём DS18B20, коричневый/жёлтый на GPIO 4
- Тензодатчик: винтовые клеммы HX711, не breadboard
| Row | Component / connection | Notes |
|---|---|---|
| Top rail (red) | 5V from ESP32 USB | Питает HX711 VCC и пин ESP32 5V |
| Bottom rail (blue) | GND common bus | Все GND сходятся здесь |
| Row 10-11 | ESP32 DevKit mounted | Оставьте место вокруг платы |
| Row 20-21 | HX711 board mounted | Близко к ESP32 для коротких сигнальных проводов |
| Row 30 | 4.7 kOhm между рядом 30 и рядом 35 | Один конец на 3.3V, другой на данные DS18B20 |
| Row 35-36 | Разъём зонда DS18B20 | Коричневый провод на GPIO 4 через ряд 35 |
Pre-power checklist
Перед первым включением проверьте каждое соединение по этому списку:
Первое включение
- Подключите USB-кабель к ноутбуку.
- Откройте serial monitor на 115200 baud.
- Нажмите reset на ESP32, если serial output не стартовал сам.
- Проверьте, что firmware печатает
HX711 found,DS18B20 foundи initial readings. - Если что-то не работает, смотрите troubleshooting на отдельных wiring pages.
Направление продукта
IoT-датчики для улья должны развиваться через три понятных аппаратных этапа. Документация теперь сгруппирована сначала по этапам, потому что каждому этапу нужны и описание продукта, и собственный список компонентов:
- Этап 1 - лабораторная проверка - проверить прошивку, проводку, калибровку и загрузку телеметрии на рабочем столе.
- Этап 2 - полевой MVP - развернуть защищённые от погоды DIY-весы для улья, которые измеряют самые важные для пчеловода сигналы.
- Этап 3 - производственный комплект - превратить проверенную конструкцию в повторяемое, поддерживаемое и продаваемое устройство.
Такое разделение сохраняет первую публичную сборку дешёвой и понятной, но одновременно показывает путь к законченному продукту Gratheon. Текущий прототип уже доказывает главный сценарий: ESP32 собирает данные температуры и веса и отправляет показания в telemetry-api. Аппаратный объём, список компонентов, функциональность, электрические интерфейсы, механические интерфейсы и путь развития описаны внутри соответствующего этапа, поэтому боковая навигация повторяет путь сборки.
Обзор этапов
| Этап | Цель | Основной пользователь | Целевая стоимость | Описание продукта | BOM |
|---|---|---|---|---|---|
| Этап 1 - Lab | Быстрый настольный прототип для проверки прошивки и API | Разработчик, контрибьютор, ранний maker | €20-35 | Описание продукта | Bill of materials |
| Этап 2 - Field MVP | Защищённые DIY-весы для пилотных пасек | Пилотный пчеловод, полевой тестировщик | €45-90 | Описание продукта | Bill of materials |
| Этап 3 - Production | Откалиброванный, поддерживаемый аппаратный комплект | Платящий клиент, реселлер, управляемая пасека | €90-180+ | Описание продукта | Bill of materials |
Модель соединения системы
Аппаратную часть нужно описывать как связанные подсистемы, а не как разрозненный список деталей. Так электрические, механические и сервисные решения становятся явными.
flowchart LR
subgraph Mechanical[Механическая система]
frame[Рама весов улья]
loadcell[Тензодатчик]
stops[Ограничители перегрузки и боковые направляющие]
end
subgraph Electrical[Электрическая система]
hx711[HX711 или 24-битный ADC]
esp32[Прошивка ESP32]
temp[Зонд DS18B20]
humidity[Датчик окружающей среды SHT31/BME280]
power[Батарея, зарядка, fuel gauge, солнечный вход]
end
subgraph Cloud[Сервисы Gratheon]
telemetry[telemetry-api]
graphql[graphql-router]
app[дашборды и alerts в web-app]
end
frame --> loadcell
stops --> frame
loadcell -- low-level differential signal --> hx711
hx711 --> esp32
temp --> esp32
humidity --> esp32
power --> esp32
esp32 -- HTTPS metrics --> telemetry
app --> graphql
graphql --> telemetry
Оценка текущего подхода
| Область | Текущее состояние | Разрыв | Рекомендуемое изменение |
|---|---|---|---|
| Группировка документации | Старые docs имели отдельные родительские папки для этапов продукта и BOM. | Читателю приходилось прыгать между уровнями для одного этапа сборки. | Использовать phase-first папки: каждый этап содержит своё описание продукта и bill of materials. |
| Ценность продукта | Docs говорят, что датчики поддерживают продукт beehive scales. | Страница не объясняла, зачем пчеловоду собирать устройство и какие события оно помогает заметить. | Начинать с “DIY hive scale + climate telemetry” и связывать метрики с решениями пчеловода. |
| Bill of materials | Старый BOM смешивал купленные детали и исследовательские датчики. | В одном месте были lab, MVP, optional research sensors, механические prototype parts и недостающие цены. | Держать BOM по этапам: Lab, Field MVP, Production. |
| Электрические интерфейсы | Детали были перечислены, но границы соединений были неявными. | Load-cell, 1-Wire, I2C, питание и service/debug соединения требуют разного подхода. | Добавить для каждого этапа interconnect maps, таблицы pin allocation, выбор connectors и wiring rules. |
| Механические интерфейсы | Рама весов рассматривалась как компонент. | Точность веса зависит от load path, side load, overload stops, защиты кабеля и доступа к калибровке. | Рассматривать раму, тензодатчик, верхнюю плиту, ограничители и routing кабеля как одну механическую подсистему. |
| Выбор чипа | ESP32 указан как популярный и дешёвый. | Нет правила выбора WiFi vs LoRa vs cellular. | Оставить ESP32-WROOM/DevKit для Lab и Field MVP; добавить LoRa/cellular gateway как варианты Production. |
| Telemetry API | telemetry-api поддерживает temperatureCelsius, humidityPercent, weightKg, timestamps, batching и dedupeKey. |
Прошивка и docs должны единообразно использовать JSON-контракт /iot/v1/metrics; battery voltage пока не представлен. |
Для MVP backend-блокера нет; добавить в будущем batteryVoltage, batteryPercent, rssi, firmware, hardware и calibration metadata. |
| Питание | Прошивка большую часть времени спит. | Страница не давала battery budget, guidance по интервалу отправки или solar recommendation. | Использовать 30-60 секунд в лаборатории и 10-15 минут в поле, затем подбирать батарею/solar по измеренному току. |
| Представление продукта | Страница была только инженерной. | Она не выглядела как поэтапный продукт с install scope, cost, data examples или следующим действием. | Использовать roadmap из трёх этапов и phase-specific BOM pages. |
Исследовательские выводы
Локальные research notes и проверки в интернете сходятся на одном порядке MVP: сначала вес + температура/влажность, затем звук, CO2, качество воздуха и tamper sensors.
- Мультисенсорная платформа мониторинга улья с измерением веса, звука, температуры, влажности и CO2 показала возможность обнаруживать роение, кражу, медосбор, нехватку корма и ослабление семьи через sensor fusion (A Smart Sensor-Based Measurement System for Advanced Bee Hive Monitoring, DOI:10.3390/s20092726). Для Gratheon это подтверждает долгосрочное multimodal-направление, но не означает, что все датчики нужны в первый день.
- Обзор 2024 года по low-cost beehive monitoring выделяет температуру, влажность, вес улья и звук как практичные modalities, но подчёркивает, что полезность зависит от точности и интерпретации пчеловодом (Advances in Beehive Monitoring Systems: Low-Cost Integrating Sensor Technology for Improved Apiculture Management, DOI:10.1051/e3sconf/202458904001).
- Исследования энергопотребления в precision beekeeping подтверждают, что offline field deployments нужно проектировать вокруг sleep cycles, radio duty cycle и reduced edge processing, а не вокруг постоянного стриминга (Analysis of Energy Consumption in a Precision Beekeeping System, arXiv:2010.14934).
- Исследование ESP8266/ESP32 + ESP-NOW + GSM/GPRS gateway показывает cost-effective топологию пасеки, где дешёвые hive nodes общаются локально с одним internet gateway (Bee colony remote monitoring based on IoT using ESP-NOW protocol, DOI:10.7717/peerj-cs.1363). Это хорошая production-архитектура для пасек без WiFi.
- Открытые DIY-примеры и component guides часто используют ESP32/ESP8266 + HX711 + load cell + DS18B20/DHT-style climate sensor, включая публичные tutorials и open-source smart-scale projects. Это снижает adoption risk, потому что пчеловоды могут купить детали и отлаживать их обычным Arduino/ESP32 tooling.
- Наружная проводка датчиков должна считать cable entry, strain relief, sealing, O-rings и unused connector caps частью конструкции, а не послесловием. Поэтому production-этап теперь имеет connector strategy вместо общей строки “waterproof connectors”.
Сервисы
- https://github.com/Gratheon/hardware-beehive-sensors - прошивка датчиков и аппаратные notes
- https://github.com/gratheon/telemetry-api - server-side ingestion and querying
- Telemetry API docs - OpenAPI-документация сервиса
Текущая сервисная архитектура
flowchart LR
beehive-sensors[<a href="https://github.com/Gratheon/hardware-beehive-sensors">hardware-beehive-sensors</a>] -."send metrics".-> telemetry-api
telemetry-api --"store sensor time series" --> mysql[(<a href="https://github.com/Gratheon/mysql">mysql</a>)]
telemetry-api --"verify API tokens for REST calls"--> user-cycle[<a href="https://github.com/Gratheon/user-cycle">user-cycle</a>]
web-app[<a href="https://github.com/Gratheon/web-app">web-app</a>] --"render telemetry charts"--> graphql-router[<a href="https://github.com/Gratheon/graphql-router">graphql-router</a>]
graphql-router --"query metric history"--> telemetry-api