|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago | |
assignment.md | 4 weeks ago | |
pi-gps-sensor.md | 4 weeks ago | |
single-board-computer-gps-decode.md | 4 weeks ago | |
virtual-device-gps-sensor.md | 4 weeks ago | |
wio-terminal-gps-decode.md | 4 weeks ago | |
wio-terminal-gps-sensor.md | 4 weeks ago |
README.md
Отслеживание местоположения
Скетчноут от Nitya Narasimhan. Нажмите на изображение, чтобы увидеть его в большем размере.
Викторина перед лекцией
Введение
Основной процесс доставки продуктов от фермера к потребителю включает загрузку ящиков с продукцией на грузовики, корабли, самолеты или другие коммерческие транспортные средства и доставку еды в определенное место — либо напрямую клиенту, либо в центральный узел или склад для обработки. Весь процесс от фермы до потребителя является частью процесса, называемого цепочкой поставок. Видео ниже от Школы бизнеса W. P. Carey Университета штата Аризона подробно рассказывает о концепции цепочки поставок и о том, как она управляется.
🎥 Нажмите на изображение выше, чтобы посмотреть видео
Добавление IoT-устройств может значительно улучшить вашу цепочку поставок, позволяя управлять местоположением товаров, лучше планировать транспортировку и обработку грузов, а также быстрее реагировать на проблемы.
При управлении автопарком, например грузовиками, полезно знать, где находится каждое транспортное средство в данный момент времени. Транспортные средства могут быть оснащены GPS-датчиками, которые отправляют их местоположение в IoT-системы, позволяя владельцам определять их местоположение, видеть пройденный маршрут и знать, когда они прибудут в пункт назначения. Большинство транспортных средств работают вне зоны покрытия WiFi, поэтому они используют сотовые сети для передачи таких данных. Иногда GPS-датчик встроен в более сложные IoT-устройства, такие как электронные журналы. Эти устройства отслеживают, как долго грузовик находится в пути, чтобы убедиться, что водители соблюдают местные законы о рабочем времени.
В этом уроке вы узнаете, как отслеживать местоположение транспортных средств с помощью датчика глобальной системы позиционирования (GPS).
В этом уроке мы рассмотрим:
- Подключенные транспортные средства
- Геопространственные координаты
- Глобальная система позиционирования (GPS)
- Чтение данных с GPS-датчика
- Данные GPS в формате NMEA
- Декодирование данных GPS-датчика
Подключенные транспортные средства
IoT меняет способ транспортировки товаров, создавая автопарки подключенных транспортных средств. Эти транспортные средства подключены к центральным IT-системам, передавая информацию о своем местоположении и других данных с датчиков. Наличие автопарка подключенных транспортных средств имеет множество преимуществ:
-
Отслеживание местоположения — вы можете точно определить, где находится транспортное средство в любой момент времени, что позволяет:
- Получать уведомления, когда транспортное средство приближается к пункту назначения, чтобы подготовить команду для разгрузки
- Находить украденные транспортные средства
- Сочетать данные о местоположении и маршруте с информацией о пробках, чтобы перенаправлять транспортные средства в пути
- Соблюдать налоговые требования. В некоторых странах транспортные средства облагаются налогом за пройденное расстояние по общественным дорогам (например, RUC в Новой Зеландии), поэтому знание того, когда транспортное средство находится на общественных дорогах, а когда на частных, упрощает расчет налога.
- Знать, куда отправить ремонтные бригады в случае поломки
-
Телеметрия водителя — возможность убедиться, что водители соблюдают ограничения скорости, входят в повороты на подходящей скорости, тормозят заранее и эффективно, а также водят безопасно. Подключенные транспортные средства также могут быть оснащены камерами для записи инцидентов. Это может быть связано со страхованием, предоставляя скидки для хороших водителей.
-
Соблюдение рабочего времени водителей — обеспечение того, чтобы водители управляли транспортным средством только в пределах разрешенного законом времени, основываясь на времени включения и выключения двигателя.
Эти преимущества можно комбинировать — например, сочетать соблюдение рабочего времени водителей с отслеживанием местоположения, чтобы перенаправлять водителей, если они не могут достичь пункта назначения в пределах разрешенного времени. Это также можно комбинировать с другой телеметрией, специфичной для транспортного средства, например, данными о температуре в рефрижераторных грузовиках, чтобы перенаправлять транспортные средства, если их текущий маршрут не позволяет сохранить товары при нужной температуре.
🎓 Логистика — это процесс транспортировки товаров из одного места в другое, например, с фермы в супермаркет через один или несколько складов. Фермер упаковывает ящики с помидорами, которые загружаются на грузовик, доставляются на центральный склад, а затем помещаются на второй грузовик, который может содержать смесь различных видов продукции, доставляемой в супермаркет.
Основным компонентом отслеживания транспортных средств является GPS — датчики, которые могут определить их местоположение в любой точке Земли. В этом уроке вы узнаете, как использовать GPS-датчик, начиная с изучения того, как определить местоположение на Земле.
Геопространственные координаты
Геопространственные координаты используются для определения точек на поверхности Земли, аналогично тому, как координаты используются для указания пикселя на экране компьютера или позиции стежков в вышивке крестиком. Для одной точки у вас есть пара координат. Например, кампус Microsoft в Редмонде, штат Вашингтон, США, находится на 47.6423109, -122.1390293.
Широта и долгота
Земля — это сфера, трехмерный круг. Из-за этого точки определяются путем деления ее на 360 градусов, как в геометрии кругов. Широта измеряет количество градусов с севера на юг, долгота — с востока на запад.
💁 Никто точно не знает, почему круги делятся на 360 градусов. Статья о градусах (углах) на Википедии описывает некоторые возможные причины.
Широта измеряется с помощью линий, которые окружают Землю и проходят параллельно экватору, разделяя Северное и Южное полушария на 90° каждое. Экватор находится на 0°, Северный полюс — на 90°, также известный как 90° северной широты, а Южный полюс — на -90°, или 90° южной широты.
Долгота измеряется как количество градусов на восток и запад. Начальная точка долготы 0° называется нулевым меридианом и была определена в 1884 году как линия от Северного до Южного полюса, проходящая через Королевскую обсерваторию в Гринвиче, Англия.
🎓 Меридиан — это воображаемая прямая линия, которая идет от Северного полюса к Южному полюсу, образуя полукруг.
Чтобы измерить долготу точки, вы измеряете количество градусов вокруг экватора от нулевого меридиана до меридиана, проходящего через эту точку. Долгота варьируется от -180°, или 180° западной долготы, через 0° на нулевом меридиане, до 180°, или 180° восточной долготы. 180° и -180° обозначают одну и ту же точку — антимеридиан или 180-й меридиан. Это меридиан на противоположной стороне Земли от нулевого меридиана.
💁 Антимеридиан не следует путать с Международной линией перемены дат, которая находится примерно в том же месте, но не является прямой линией и изменяется, чтобы учитывать геополитические границы.
✅ Проведите исследование: Попробуйте найти широту и долготу вашего текущего местоположения.
Градусы, минуты и секунды против десятичных градусов
Традиционно измерения градусов широты и долготы проводились с использованием шестидесятиричной системы счисления, или системы с основанием 60, которая использовалась древними вавилонянами, первыми измерявшими и записывавшими время и расстояние. Вы, вероятно, используете шестидесятиричную систему каждый день, даже не осознавая этого — деля часы на 60 минут и минуты на 60 секунд.
Долгота и широта измеряются в градусах, минутах и секундах, где одна минута равна 1/60 градуса, а 1 секунда равна 1/60 минуты.
Например, на экваторе:
- 1° широты равен 111,3 километра
- 1 минута широты равна 111,3/60 = 1,855 километра
- 1 секунда широты равна 1,855/60 = 0,031 километра
Символ для минуты — одинарная кавычка, для секунды — двойная кавычка. Например, 2 градуса, 17 минут и 43 секунды записываются как 2°17'43". Доли секунд указываются в виде десятичных дробей, например, половина секунды — это 0°0'0.5".
Компьютеры не работают в шестидесятиричной системе, поэтому эти координаты обычно указываются в виде десятичных градусов при использовании GPS-данных в большинстве компьютерных систем. Например, 2°17'43" — это 2.295277. Символ градуса обычно опускается.
Координаты точки всегда указываются как широта, долгота
, поэтому пример выше с кампусом Microsoft на 47.6423109,-122.117198 имеет:
- Широту 47.6423109 (47.6423109 градусов севернее экватора)
- Долготу -122.1390293 (122.1390293 градусов западнее нулевого меридиана).
Глобальная система позиционирования (GPS)
GPS-системы используют несколько спутников, вращающихся вокруг Земли, чтобы определить ваше местоположение. Вы, вероятно, использовали GPS-системы, даже не осознавая этого — чтобы найти свое местоположение в приложении для карт на телефоне, таком как Apple Maps или Google Maps, чтобы увидеть, где находится ваш транспорт в приложении для вызова такси, таком как Uber или Lyft, или при использовании спутниковой навигации (sat-nav) в автомобиле.
🎓 Спутники в "спутниковой навигации" — это GPS-спутники!
GPS-системы работают за счет наличия нескольких спутников, которые отправляют сигнал с текущим местоположением каждого спутника и точным временным штампом. Эти сигналы передаются по радиоволнам и обнаруживаются антенной в GPS-датчике. GPS-датчик обнаруживает эти сигналы и, используя текущее время, измеряет, сколько времени потребовалось сигналу, чтобы достичь датчика от спутника. Поскольку скорость радиоволн постоянна, GPS-датчик может использовать отправленный временной штамп, чтобы вычислить, как далеко датчик находится от спутника. Сочетая данные как минимум от 3 спутников с отправленными позициями, GPS-датчик может точно определить свое местоположение на Земле.
💁 GPS-датчики нуждаются в антеннах для обнаружения радиоволн. Антенны, встроенные в грузовики и автомобили с бортовыми GPS, расположены так, чтобы получать хороший сигнал, обычно на лобовом стекле или крыше. Если вы используете отдельную GPS-систему, такую как смартфон или IoT-устройство, то вам нужно убедиться, что антенна, встроенная в GPS-систему или телефон, имеет четкий обзор неба, например, установлена на лобовом стекле.
GPS-спутники вращаются вокруг Земли, а не находятся в фиксированной точке над датчиком, поэтому данные о местоположении включают высоту над уровнем моря, а также широту и долготу.
Ранее GPS имел ограничения по точности, установленные военными США, ограничивая точность до примерно 5 метров. Это ограничение было снято в 2000 году, что позволило достичь точности до 30 сантиметров. Однако добиться такой точности не всегда возможно из-за помех сигналам.
✅ Если у вас есть смартфон, откройте приложение для карт и посмотрите, насколько точно определяется ваше местоположение. Это может занять некоторое время, пока ваш телефон обнаружит несколько спутников для получения более точного местоположения. 💁 Спутники оснащены атомными часами, которые невероятно точны, но они отстают на 38 микросекунд (0,0000038 секунды) в день по сравнению с атомными часами на Земле. Это происходит из-за замедления времени при увеличении скорости, как предсказано теориями специальной и общей относительности Эйнштейна — спутники движутся быстрее, чем вращение Земли. Это отклонение использовалось для подтверждения предсказаний специальной и общей теории относительности и должно учитываться при разработке GPS-систем. Буквально время на спутнике GPS идет медленнее. Системы GPS были разработаны и внедрены рядом стран и политических союзов, включая США, Россию, Японию, Индию, ЕС и Китай. Современные GPS-датчики могут подключаться к большинству этих систем, чтобы получать более быстрые и точные данные о местоположении.
🎓 Группы спутников в каждой системе называются созвездиями.
Чтение данных GPS-датчика
Большинство GPS-датчиков передают данные через UART.
⚠️ UART был рассмотрен в проекте 2, уроке 2. При необходимости обратитесь к этому уроку.
Вы можете использовать GPS-датчик на вашем IoT-устройстве для получения данных GPS.
Задача - подключить GPS-датчик и считать данные GPS
Следуйте соответствующему руководству, чтобы считать данные GPS с помощью вашего IoT-устройства:
- Arduino - Wio Terminal
- Одноплатный компьютер - Raspberry Pi
- Одноплатный компьютер - Виртуальное устройство
Данные GPS в формате NMEA
Когда вы запустили свой код, вы могли увидеть на выходе что-то, что выглядит как бессмысленный набор символов. На самом деле это стандартные данные GPS, и у них есть определённое значение.
GPS-датчики выводят данные с использованием сообщений NMEA, соответствующих стандарту NMEA 0183. NMEA — это аббревиатура от Национальной ассоциации морской электроники, американской торговой организации, которая устанавливает стандарты для связи между морскими электронными устройствами.
💁 Этот стандарт является собственностью и стоит не менее 2000 долларов США, но достаточно информации о нём находится в открытом доступе, чтобы большая часть стандарта была обратным образом разработана и могла использоваться в открытом исходном коде и другом некоммерческом программном обеспечении.
Эти сообщения основаны на текстовом формате. Каждое сообщение состоит из предложения, которое начинается с символа $
, за которым следуют 2 символа, указывающие источник сообщения (например, GP для системы GPS США, GN для ГЛОНАСС, российской системы GPS), и 3 символа, указывающие тип сообщения. Остальная часть сообщения состоит из полей, разделённых запятыми, и заканчивается символом новой строки.
Некоторые из типов сообщений, которые могут быть получены:
Тип | Описание |
---|---|
GGA | Данные GPS-фиксации, включая широту, долготу и высоту GPS-датчика, а также количество спутников, используемых для расчёта этой фиксации. |
ZDA | Текущая дата и время, включая местный часовой пояс. |
GSV | Информация о спутниках в зоне видимости — то есть спутниках, от которых GPS-датчик может принимать сигналы. |
💁 Данные GPS включают временные метки, поэтому ваше IoT-устройство может получать время с GPS-датчика, а не полагаться на NTP-сервер или встроенные часы реального времени.
Сообщение GGA включает текущее местоположение в формате (dd)dmm.mmmm
, а также один символ, указывающий направление. d
в формате означает градусы, m
— минуты, а секунды представлены в виде десятичных долей минут. Например, 2°17'43" будет записано как 217.716666667 — 2 градуса, 17.716666667 минут.
Символ направления может быть N
или S
для широты, чтобы указать север или юг, и E
или W
для долготы, чтобы указать восток или запад. Например, широта 2°17'43" будет иметь символ направления N
, а -2°17'43" — символ направления S
.
Пример - предложение NMEA $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
-
Часть широты — это
4738.538654,N
, что преобразуется в 47.6423109 в десятичных градусах.4738.538654
— это 47.6423109, а направлениеN
(север), поэтому широта положительная. -
Часть долготы — это
12208.341758,W
, что преобразуется в -122.1390293 в десятичных градусах.12208.341758
— это 122.1390293°, а направлениеW
(запад), поэтому долгота отрицательная.
Декодирование данных GPS-датчика
Вместо использования необработанных данных NMEA лучше декодировать их в более удобный формат. Существует множество библиотек с открытым исходным кодом, которые могут помочь извлечь полезные данные из необработанных сообщений NMEA.
Задача - декодировать данные GPS-датчика
Следуйте соответствующему руководству, чтобы декодировать данные GPS-датчика с помощью вашего IoT-устройства:
🚀 Задание
Напишите собственный декодер NMEA! Вместо того чтобы полагаться на сторонние библиотеки для декодирования предложений NMEA, сможете ли вы написать свой собственный декодер для извлечения широты и долготы из предложений NMEA?
Тест после лекции
Обзор и самостоятельное изучение
- Прочитайте больше о геопространственных координатах на странице о географической системе координат в Википедии.
- Ознакомьтесь с информацией о начальных меридианах на других небесных телах, кроме Земли, на странице о начальном меридиане в Википедии.
- Исследуйте различные GPS-системы, разработанные различными правительствами и политическими союзами, такими как ЕС, Япония, Россия, Индия и США.
Задание
Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Хотя мы стремимся к точности, пожалуйста, учитывайте, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.