Оглавление:

LTE Arduino GPS Tracker + IoT Dashboard (Часть 2): 6 шагов (с изображениями)
LTE Arduino GPS Tracker + IoT Dashboard (Часть 2): 6 шагов (с изображениями)

Видео: LTE Arduino GPS Tracker + IoT Dashboard (Часть 2): 6 шагов (с изображениями)

Видео: LTE Arduino GPS Tracker + IoT Dashboard (Часть 2): 6 шагов (с изображениями)
Видео: Установка ThingsBoard платформа для IoT 2024, Июль
Anonim
Image
Image
Настройка ThingsBoard
Настройка ThingsBoard

Введение и резюме части 1

Ага, пришло время еще раз проинструктировать GPS-трекер SIM7000 с Arduino и LTE! Если вы еще этого не сделали, просмотрите руководство по началу работы с щитом Botletics SIM7000 CAT-M / NB-IoT, а затем прочтите часть 1 руководства по отслеживанию GPS. Таким образом, я собираюсь предположить, что у вас есть все оборудование, настроенное и готовое к отправке данных в облако. Все, что нам действительно нужно сделать в этом руководстве, - это ознакомиться с ThingsBoard и провести еще один дорожный тест, чтобы увидеть потрясающие данные, которые он показывает!

В Части 1 мы успешно получили наш отличный GPS-трекер для отправки данных на dweet.io и извлекли данные на freeboard.io для визуализации данных. Однако вскоре я понял, что функциональность карты на надводном борту была довольно слабой, поскольку она не позволяла перемещать курсор или даже изменять размер окна виджета. Это привело меня к лучшему решению: ThingsBoard.io, который представляет собой потрясающую панель управления IoT (и бесплатную!), Которая позволяет хранить, визуализировать и настраивать ваши данные! Вы можете перетащить, чтобы переставить виджеты (и это работает в Chrome, в отличие от надводного борта), и общее качество является лучшим из лучших. Что наиболее важно, виджет карты Google позволяет вам свободно перемещаться, увеличивать и уменьшать масштаб и выбирать разные стили (со спутника, вид дороги и т. Д.) И даже позволяет перетаскивать желтого человечка на дорогу для просмотра улиц. !

Шаг 1: Настройка ThingsBoard

Настройка ThingsBoard
Настройка ThingsBoard
Настройка ThingsBoard
Настройка ThingsBoard

Учетная запись ThingsBoard и настройка устройства

Первое, что вам нужно сделать, это перейти на домашнюю страницу ThingsBoard, затем создать учетную запись, щелкнув верхнюю правую кнопку меню и выбрав «Live Demo». Создайте учетную запись, подтвердите свою учетную запись в электронном письме, которое они отправят вам, затем снова войдите на главный экран Live Demo. Это должно привести вас к экрану, на котором вы можете управлять всеми своими устройствами, редактировать информационные панели и т. Д.

Затем выберите вкладку «Устройства» слева. Это должно вызвать кучу демонстрационных устройств, таких как ESP8266, DHT22, Arduino и Pi и т. Д. Создайте новое устройство, нажав красную кнопку «+» в правом нижнем углу, введите имя и выберите «по умолчанию» для типа устройства. После нажатия «ДОБАВИТЬ» вы должны увидеть свое новое устройство на вкладке «Устройства». Нажмите «Управление учетными данными», и вы должны увидеть небольшое всплывающее окно, показывающее токен доступа к устройству. По сути, это идентификатор устройства, аналогичный идентификатору устройства, используемому для публикации данных на dweet.io. Вы можете изменить этот идентификатор устройства на номер IMEI вашего щита, если хотите, но вы также можете просто использовать автоматически сгенерированный токен. Скопируйте этот токен, так как он вам понадобится в скетче Arduino.

Пример настройки Arduino

В этом уроке мы будем использовать тот же пример скетча Arduino, что и в первом уроке, но на этот раз я обновил скетч, включив в него код для отправки данных непосредственно в ThingsBoard.io вместо dweet.io в части 1. Как всегда, вы можете найти пример кода здесь, на Github.

Первое, что вам нужно сделать, это закомментировать строки, которые делают сообщение щита на dweet.io:

// GET запрос / * // Вы можете настроить содержимое запроса, если вам не нужны определенные вещи, такие как скорость, высота и т. Д. Sprintf (URL, "https://dweet.io/dweet/for/%s ? lat =% s & long =% s & speed =% s & head =% s & alt=% s & temp =% s & batt =% s ", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int counter = 0; // Подсчитывается количество неудачных попыток.

// Трижды попытаться, если публикация была неудачной (попробуйте еще 2 раза) while (counter <3 &&! Fona.postData ("GET", URL, "")) {// Добавьте кавычки "" в качестве третьих ввод, потому что для запроса GET нет «тела» Serial.println (F («Не удалось отправить данные, повторная попытка…»)); счетчик ++; // Увеличиваем задержку счетчика (1000); } * /

Затем не комментируйте строки, которые публикуются на thingsboard.io:

// Давайте попробуем отправить POST-запрос на thingsboard.io const char * token = "YOUR_DEVICE_TOKEN"; // Из устройства thingsboard.io sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", токен); sprintf (body, "{" широта / ":% s, \" долгота / ":% s, \" скорость / ":% s, \" head / ":% s, \" alt / ":% s, / "temp \":% s, / "batt \":% s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":% s, \" long / ":% s}", latBuff, longBuff); // Если все, что вам нужно, это широта / долгота

int counter = 0;

while (! fona.postData ("POST", URL, body)) {Serial.println (F ("Не удалось завершить HTTP POST…")); счетчик ++; задержка (1000); }

Загрузите код в свой Arduino, убедитесь, что у вас подключены SIM-карта и антенна, и убедитесь, что экран отправляет код в облако, прежде чем продолжить!

ПРИМЕЧАНИЕ. У Arduino Uno очень мало памяти (ОЗУ), и публикация в Thingsboard может привести к сбою Arduino. Если вы испытываете перезапуск скетча примерно в том месте, где находится функция postData () или другое странное поведение, скорее всего, именно это и происходит. Простое решение - заменить Uno на Arduino Mega или плату с большим объемом оперативной памяти. Вы также можете попробовать минимизировать размер массивов и разбить данные на несколько сообщений.

Шаг 2. Проверьте получение данных

Проверить прием данных
Проверить прием данных

Чтобы действительно убедиться, что данные отправляются на ThingsBoard правильно, перейдите на ту же страницу сведений об устройстве (щелкните плитку устройства GPS Tracker на странице «Устройства»), затем щелкните вкладку «Последние данные телеметрии». Если ваш GPS-трекер отправляет значения в ThingsBoard, вы должны увидеть здесь последние значения, и они будут обновляться в реальном времени по мере поступления.

Теперь, когда вы убедились, что ThingsBoard действительно получает данные, пора настроить панель управления, чтобы мы могли визуализировать наши данные по мере их сбора! (Или постфактум)

Шаг 3. Настройка приборной панели

Настройка приборной панели
Настройка приборной панели
Настройка приборной панели
Настройка приборной панели
Настройка приборной панели
Настройка приборной панели

Пришло время для самого интересного! Теперь щелкните вкладку «Панели мониторинга» слева и выберите свое устройство GPS-трекера. Это должно вызвать новую страницу, на которой вас попросят добавить виджеты. Нажмите кнопку «+» в правом нижнем углу и «Создать новый виджет», чтобы открыть раскрывающееся меню виджетов на выбор. А пока добавим «цифровой датчик». Выбор этого должен загрузить кучу превью для всех различных типов цифровых датчиков, которые вы можете выбрать. Когда вы нажимаете на один из них, появляется другой экран, на котором вы можете настроить параметры виджета. Первое, что вам нужно добавить, это источник данных (ваше устройство GPS-трекера, которое отправляет данные в ThingsBoard). Нажмите кнопку «+ ДОБАВИТЬ», выберите устройство «GPS Tracker» и выберите соответствующую переменную, которую должен отображать виджет. В этом случае выберем переменную temp (температура).

Теперь, если вы хотите добавить такие вещи, как заголовок для виджета, перейдите на вкладку «Настройки», установите флажок «Отображать заголовок» и введите заголовок. На вкладке «Дополнительно» вы можете сделать много других вещей, но я позволю вам изучить их самостоятельно! Получайте удовольствие, изменяя диапазоны значений, текст метки, цвета и многое другое! После добавления виджета он появится в левом нижнем углу вашей панели инструментов (возможно, вам придется прокрутить вниз, если у вас есть несколько виджетов, заполняющих экран). Вы можете редактировать виджет в любое время, нажав кнопку на виджете, если вы уже находитесь в режиме редактирования приборной панели, или войдите в режим редактирования, сначала нажав кнопку карандаша в правом нижнем углу всего экрана, чтобы вы могли редактировать виджеты. Довольно просто!

Шаг 4: Добавление карты

Добавление карты!
Добавление карты!
Добавление карты!
Добавление карты!
Добавление карты!
Добавление карты!
Добавление карты!
Добавление карты!

Теперь для GPS-трекера карта просто необходима! Давайте добавим один, создав новый виджет (снова кнопка «+» внизу справа), на этот раз прокрутите вниз и выберите «Карты». Идите вперед и нажмите на один, и он откроет для него параметры. Добавьте источник данных, как обычно, но на этот раз выберите переменные «lat» и «long», поскольку для определения местоположения потребуются обе переменные. Затем перейдите на вкладку «Настройки», и здесь вы можете установить временное окно данных для отображения на карте. Например, вы можете захотеть, чтобы отображались только данные за последние 2 минуты, или вам могут понадобиться все данные со вчерашнего дня, или, может быть, вам просто нужно фиксированное временное окно (например, с 14:00 вчера до 10:00 сегодня).

Если вы хотите, вы можете перейти на вкладку «Дополнительно» и выбрать тип карты (дорожная карта, спутниковая, гибридная или рельефная). Возможно, самая важная часть всего этого - проверить имена ключей широты и долготы. Убедитесь, что эти имена точно соответствуют именам переменных, которые вы фактически отправляете в ThingsBoard. Например, если в вашем скетче Arduino говорится, что он отправляет переменные «широта» и «долгота» (что и есть по умолчанию), тогда вам необходимо изменить имена клавиш на «широту» и «долготу», используя «широту» и «долготу». не будет получать ваши данные!

Опять же, после добавления карты она появится внизу панели инструментов. Просто перетащите его, чтобы переместить его на приборной панели, и щелкните и перетащите края, чтобы изменить его размер. Если ваше временное окно было установлено правильно, вы должны увидеть ваше текущее местоположение на карте. Супер аккуратно, да? Теперь мы готовы к настоящему испытанию!

Шаг 5: Дорожное испытание

Дорожный тест
Дорожный тест
Дорожный тест
Дорожный тест

Проверить GPS-трекер очень просто! Просто подключите Arduino к автомобильному USB-адаптеру, чтобы включить его, убедитесь, что зеленый светодиод загорелся, и он должен начать отправку данных! Чтобы изменить частоту дискретизации GPS-трекера, убедитесь, что вы нашли эту строку кода в примере эскиза:

#define samplingRate 10 // Время между публикациями в секундах

и установите все, что хотите. Я обнаружил, что 10s неплохо подходят для неспешного дорожного теста, но если вы быстры и яростны, возможно, вам может потребоваться еще более высокая частота дискретизации!

Шаг 6: результаты

Полученные результаты
Полученные результаты
Полученные результаты
Полученные результаты
Полученные результаты
Полученные результаты

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

Карта была потрясающе крутой, и мне удалось собрать действительно точные данные о маршруте, который я выбрал. Кроме того, данные о скорости были чрезвычайно точными, потому что мы никогда не превышали 40 миль в час (график в км / ч) на городских дорогах. Многие колебания скорости можно объяснить светофорами. В целом, отличные результаты, и только представьте, для чего еще мы могли бы это использовать! Вы можете установить его на автофургон, мотоцикл, автомобиль и т. Д., И он будет постоянно отслеживать и получать результаты на ThingsBoard!

Подводя итог, в этом руководстве мы запрограммировали наш GPS-трекер для отправки данных непосредственно на ThingsBoard через запросы HTTP POST и управляли данными на панели управления. Вы можете добавить несколько устройств и панелей мониторинга, каждая из которых содержит несколько виджетов, которые выглядят очень круто и имеют множество параметров настройки! ThingsBoard оказался очень мощным (и бесплатным!) Инструментом для просмотра данных IoT, и есть даже другие функции, которые я даже не поцарапал. Не стесняйтесь поиграть с ним и посмотреть, что вы найдете.

  • Если вам понравился этот урок, вы сделали его сами или у вас есть вопросы, оставьте комментарий ниже!
  • Обязательно отнеситесь к этому Руководству и подпишитесь здесь и на моем канале YouTube, чтобы получить больше потрясающих руководств по Arduino!
  • Если вы хотите поддержать то, что я делаю, подумайте о покупке собственного щита Botletics SIM7000 на Amazon.com!

С этим, увидимся в следующий раз!

Рекомендуемые: