Оглавление:

Отслеживание домашних животных на основе Tinyduino LoRa: 7 шагов
Отслеживание домашних животных на основе Tinyduino LoRa: 7 шагов

Видео: Отслеживание домашних животных на основе Tinyduino LoRa: 7 шагов

Видео: Отслеживание домашних животных на основе Tinyduino LoRa: 7 шагов
Видео: Gps трекер (маяк) отслеживания животных. 2024, Ноябрь
Anonim
Отслеживание домашних животных на основе Tinyduino LoRa
Отслеживание домашних животных на основе Tinyduino LoRa

Кто не хочет иметь домашних животных ?? Эти пушистые друзья могут наполнить вас любовью и счастьем, но боль от их отсутствия ужасна. В нашей семье был кот по имени Тор (фото выше), и он был странником, любящим приключения. Много раз он возвращался после еженедельных поездок, часто с травмами, поэтому мы старались его не выпускать. Но что не так, он снова вышел, но не вернулся: (Мы не смогли найти никаких следов даже после нескольких недель поисков. Моя семья стала неохотно заводить кошек, так как потеря его была очень травматичной. Поэтому я решил взглянуть на трекеры домашних животных. Но большинство коммерческих трекеров требуют подписки или тяжелы для кошки. Есть несколько хороших трекеров, основанных на радио, но я хотел знать точное местоположение, так как меня не будет дома большую часть дня. Поэтому я решил сделать трекер с Tinyduino и модулем LoRa, отправляющим местоположение на базовую станцию в моем доме, которая обновляет местоположение в приложении.

P. S. прошу простить меня за некачественные изображения.

Шаг 1. Необходимые компоненты

  1. Плата процессора TinyDuino
  2. Tinyshield GPS
  3. Совет по развитию ESP8266 WiFi
  4. Hope RF RFM98 (W) (433 МГц) x 2
  5. Доска Tinyshield Proto
  6. USB Tinyshield
  7. Литий-полимерный аккумулятор - 3,7 В (для уменьшения веса использовал 500 мАч)
  8. Паяльник
  9. Провода перемычки (мама-мама)

Шаг 2: передатчик

Передатчик
Передатчик
Передатчик
Передатчик

Нам нужно подключить трансивер LoRa к tinyduino. Для этого нам нужно припаять провода от модуля RFM98 к макетной плате tinyshield. Я бы использовал библиотеку RadioHead для связи, и соединение выполняется в соответствии с документацией.

Проточная плата RFM98

GND -------------- GND

D2 -------------- DIO0

D10 -------------- NSS (выбор микросхемы CS)

D13 -------------- SCK (вход SPI)

D11 -------------- MOSI (вход данных SPI)

D12 -------------- MISO (выход данных SPI)

Вывод 3.3V RFM98 подключен к + ve.

ПРИМЕЧАНИЕ. Согласно таблице данных, максимальное напряжение, которое может быть приложено к RFM98, составляет 3,9 В. Перед подключением проверьте напряжение аккумулятора

Я использовал спиральную антенну для RFM98, так как это уменьшило бы размер трекера.

Начните с процессора tinyduino в нижней части стека, за которым следует tinyshield GPS, а затем - с макетной платы вверху. Паяльные головки под макетной платой могут немного раздражать; в моем случае он касался экрана GPS под ним, поэтому я изолировал нижнюю часть прототипной платы изолентой. Вот и все, мы построили передатчик !!!

Затем передатчик можно подключить к батарее и прикрепить к ошейнику питомца.

Шаг 3: базовая станция

Базовая станция
Базовая станция
Базовая станция
Базовая станция

Плата для разработки ESP8266 WiFi - идеальный выбор, если вы хотите подключить свой проект к Интернету. Приемопередатчик RFM98 подключен к ESP8266 и получает обновления местоположения от трекера.

ESP8266 RFM98

3,3 В ---------- 3,3 В

ЗЕМЛЯ ---------- ЗЕМЛЯ

D2 ---------- DIO0

D8 ---------- NSS (выбор микросхемы CS)

D5 ---------- SCK (вход SPI)

D7 ---------- MOSI (вход данных SPI)

D6 ---------- MISO (выход данных SPI)

Питание базовой станции производилось от настенного адаптера постоянного тока на 5 В. У меня было несколько старых сетевых адаптеров, поэтому я оторвал разъем и подключил его к контактам VIN и GND ESP8266. Также антенна была сделана из медного провода длиной ~ 17,3 см (четвертьволновая антенна).

Шаг 4: приложение

Приложение
Приложение
Приложение
Приложение
Приложение
Приложение
Приложение
Приложение

Я использовал Blynk (отсюда) в качестве приложения. Это один из самых простых вариантов, так как он очень хорошо документирован и виджеты можно просто перетаскивать.

1. Создайте учетную запись Blynk и создайте новый проект с ESP8266 в качестве устройства.

2. Перетащите и отпустите виджеты из меню виджетов.

3. Теперь вам нужно настроить виртуальные пины для каждого из этих виджетов.

4. Используйте те же контакты, что и выше, в исходном коде базовой станции.

Не забудьте использовать ключ авторизации вашего проекта в коде Arduino.

Шаг 5: Код

В этом проекте используется Arduino IDE.

Код довольно простой. Передатчик будет отправлять сигнал каждые 10 секунд, а затем ждать подтверждения. Если будет получено «активное» подтверждение, он включит GPS и будет ждать обновления местоположения от GPS. В течение этого времени он по-прежнему будет проверять соединение с базовой станцией, и если соединение будет потеряно между обновлениями GPS, он попытается несколько раз повторить попытку, а если все еще не подключено, GPS отключится, и трекер вернется в обычную процедуру (т.е. отправка сигнала каждые 10 секунд). В противном случае данные GPS отправляются на базовую станцию. Вместо этого, если получено подтверждение «остановки» (как в промежутке, так и в начале), передатчик останавливает GPS, а затем возвращается к обычной процедуре.

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

Шаг 6: корпуса

Корпуса
Корпуса
Корпуса
Корпуса
Корпуса
Корпуса

Трекер:

Лучше всего использовать 3D-печать, но я предпочел прикрепить ее к воротнику. Это беспорядок, и я серьезно не знаю, хотят ли кошки брать такой беспорядок себе на шею.

Базовая станция:

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

ОБНОВИТЬ:

Я думал сделать корпус для трекера, но так как у меня не было 3D-принтера, маленькие контейнеры превратились в корпуса:) Сборка электроники хранилась в одном контейнере, а аккумулятор в другом.

Я использовал блоки как корпус для электроники. К счастью, к нему подошла крышка. Для батареи использовался контейнер Tic-Tac. Чтобы закрепить аккумулятор, контейнер укоротили, чтобы аккумулятор поместился идеально. Скрепки использовались для прикрепления контейнеров к воротнику.

Шаг 7: Проверка и заключение

На ком бы мы это тестировали ?? Нет, дело не в том, что у меня сейчас нет кошек. Ну у меня их два;)

Но они слишком малы, чтобы носить ошейник, и я решила проверить это на себе. Так что я прогулялся по дому с трекером. Базовая станция поддерживалась на высоте 1 м, и большую часть времени между трекером и базовой станцией была густая растительность и здания. Мне стало так грустно, что внезапно закончилось место (правда, кое-где сигнал слабый). Но в такой местности получение дальности ~ 100 м без больших потерь данных очень заметно.

Тест дальности, который я сделал, здесь.

Кажется, что GPS работает нормально под густой растительностью, но иногда кажется, что местоположение смещается. Поэтому я также с нетерпением жду возможности добавить модуль Wi-Fi (поскольку в соседних домах так много маршрутизаторов), чтобы быстрее получить приблизительное местоположение (путем измерения силы сигнала от многих маршрутизаторов и триангуляции).

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

А пока счастливое мурлыканье …

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