Сценарий работы

База

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

Беспроводная сеть AMS на nRF24L01

Одновременно, в базе есть заранее описанный набор команд по приёму данных и тревожных сообщений от сенсора, поэтому база может сама запрашивать нужные параметры, когда ей это нужно, а может в пассивном режиме принимать данные, приходящие по инициативе сенсора.

Это удобно тем, что базе не нужно гадать жив ли сенсор или нет, ей достаточно послать запрос и она мгновенно получит любой параметр сенсора с гарантированной доставкой (или уведомлением, что сенсор недоступен).

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

Справедливо и обратное — сенсор может «покомандовать» базой, если это предусмотрено логикой работы вашей системы. Здесь нет никаких ограничений — вам доступны любые сценарии работы и взаимодействия частей распределённой системы.

Сенсор

Сенсор — это чисто условная роль, это может быть актуатор, который управляет чем-либо или устройство со смешанной ролью, которое одновременно посылает какие-либо данные на базу, принимает и отдаёт команды и управляет подключённым оборудованием.

В тестовом примере это сенсор, который имеет два датчика температуры и ряд служебных параметров, таких, как

  • Имя сенсора
  • Его сетевой адрес
  • Уникальный ID датчика (чтобы отличать его от других)
  • Текущее значение свободной памяти (в процентах)
  • Текущее значение напряжения питания (в процентах)
  • Интегральный показатель «здоровья» сенсора

Сенсор умеет сам, по заданной программе, периодически посылать все свои данные и параметры на базу, одновременно, датчик сам контролирует выход своих параметров за пределы заданного диапазона и, в случае обнаружения проблем, автоматически посылает алармы на базу. Например, это касается снижения свободной памяти сенсора ниже 30% и снижения напряжения питания (батареи) до 30% от минимально допустимого.

Отдельно контролируются возможные проблемы с датчиком температуры (ошибка датчика, датчик удалён или отсутствует). Контролируется также резкий рост или понижение температуры, которые могут свидетельствовать о возникновении пожара или других проблем. В этом случае сенсор автоматически посылает алармы на базу.

В нормальном режиме данные о температуре посылаются на базу при изменении более, чем на половину градуса. Это делает посылки одновременно информативными и очень редкими (что экономит энергию и оставляет чистым эфир). А в работоспособности сенсора база может убедиться в любой нужный момент просто послав любой запрос и получив ответ.

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

Обратите внимание. Система Arduino Mega Server непрерывно развивается и в код проекта постоянно вносятся изменения и улучшения, поэтому, описание и документация может не соответствовать вашей конкретной версии системы. Последняя правка этой страницы относится к 0.15 версии системы.