Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Локализуйте вашу доску с помощью SMS

Компоненты и расходные материалы

Arduino MKR GSM 1400
× 1

Об этом проекте

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

Цель этого проекта - показать, как использовать сотовую локализацию Arduino MKR GSM 1400. Для этого мы реализовали простое приложение, которое позволяет вам повторно определять широту и долготу MKR GSM при отправке SMS с проверкой безопасности. письмо получено. Номер отправителя восстанавливается из полученного SMS, и создается ответ с соответствующей ссылкой на Google Maps, дополненной координатами, предоставленными службами определения местоположения, предоставляемыми модулем u-blox.

Что вам нужно

Проект основан на Arduino MKR GSM 1400, антенне, аккумуляторной батарее LiPo, смартфоне и одной SIM-карте для передачи данных.

  • Arduino MKR GSM 1400 выполняет эскиз и поддерживает соединение GSM, что позволяет выполнять функции локализации, необходимые для нашего проекта;
  • Антенна и аккумулятор соответственно используются для подключения к сотовой сети передачи данных с хорошим сигналом и для питания устройства, когда другие источники питания недоступны;
  • Смартфон необходим для отправки SMS на MKR GSM 1400 и запроса локализации GPRS;
  • SIM-карта необходима для доступа к сети передачи данных и обеспечения работы сети;
  • Для подключения к сети передачи данных требуются PIN-код, APN и учетные данные.

Настройка оборудования

Этот проект не требует ничего особенного. Подключите к плате антенну, вставьте SIM-карту и подключите LiPo аккумулятор к разъему JST.

Батарея LiPo не является обязательной, но она позволяет справляться с пиковыми токами, которые могут потребоваться модулю GSM в определенных условиях плохого покрытия.

Как это работает

В этом проекте используется библиотека MKRGSM для управления SMS-сообщениями и географической привязкой на основе ячеек.

При получении SMS-сообщения его содержимое проверяется на наличие буквы «L». Только в этом случае скетч переходит к локализации и отправке СМС. С помощью этого решения любой номер может запросить местоположение системы, но только тот, кто знает пароль («секретное письмо») получит ответ. Это строка, которая проверяет if (c! =76) 76 - это ASCII-код буквы "L". Вы можете изменить значение, чтобы изменить распознанную букву.

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

Чтобы создать ссылку для Google Maps, мы используем стандартный URL-адрес, где мы просто объединяем правильные значения Long и Lat в конце. Этот URL выглядит как «https://www.google.com/maps/place/ , ». Позиция, показанная на карте, будет той, где физически базируется ячейка; наша доска находится в пределах радиуса, покрываемого ячейкой.

Эскиз

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

MKRGSM включает все функции подключения GSM, локализации и управления SMS, это доступно через объект GSMClient, GPRS, GSM и GSMLocation, API управления SMS доступны через объект GSM_SMS , заголовок ArduinoLowPower импортировать API, которые позволяют управлять модулем платы с низким энергопотреблением.

Если вы загрузите код из веб-редактора, вы найдете arduino_secrets.h файл, содержащий важные данные, такие как PIN-код, APN, пользователь и пароль . В веб-редакторе вы должны ввести разумные данные на вкладке "Секреты".

  // включаем библиотеку GSM # include  #include "ArduinoLowPower.h" char PINNUMBER [] =SECRET_PINNUMBER; char GPRS_APN [] =SECRET_GPRS_APN; char GPRS_LOGIN [] =SECRET_GPORD_LOGIN [] =SECRET_GPORD_LOGIN [] =SECRET_GPORD_LOGIN; ] =SECRET_GPRS_PASSWORD; // инициализировать экземпляры библиотеки GPRS gprs; GSM gsmAccess; GSM_SMS sms; GSMLocation location;  

measureLocation () запрашивает у модуля повторную попытку определения координат по сотовой сети, если доступны новые координаты, он присваивает ее глобальной переменной, в противном случае запрашивает еще раз 45 секунд, если нет доступных мер, которые соблюдают ограничения точности, он возвращает последние хорошие

  // глобальная переменная, используемая для управления местоположениемString GSMlatitude ="0.000000"; String GSMlongitude ="0.000000"; // Эта функция использует API местоположения для получения координат устройства и обновления переменной globa, если все требования выполнены выполненоvoid measureLocation () {unsigned long timeout =millis (); while (millis () - timeout <45000) {if (location.available () &&location.accuracy () <300 &&location.accuracy ()! =0) { GSMlatitude =String (location.latitude (), 6); GSMlongitude =String (location.longitude (), 6); break;}}}  

connectNetwork () функция использовать API smAccess.begin и gprs.attachGPRS для подключения платы к сети передачи данных; используются учетные данные PIN-код , apn , пользователь и пройти назначается объявлениями в arduino_secrets.h.

  // функция connectNetwork () используется для подключения данных платыvoid connectNetwork () {bool status =false; // установить глобальный тайм-аут AT-команды, это позволяет восстановить связь через uart // замораживание между модулем samd и ublox module.gprs.setTimeout (100000); gsmAccess.setTimeout (100000); // Запуск GSM-соединения при (status ==false) {if ((gsmAccess.begin (PINNUMBER) ==GSM_READY) &(gprs.attachGPRS (GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) ==GPRS_READY)) {status =true;} else {delay (1000);}}} Раздел настройки, позволяющий инициализировать все объекты, используемые скетчем, называется функцией connectionNetwork () для установки данных соединение и начало структуры локализации. // Раздел кода, используемый для инициализации подключения к данным и объекта локализацииvoid setup () {connectNetwork (); location.begin ();}  

Секция последнего кода - это функция цикла, в которой реализованы управление SMS и измерение местоположения, каждый раз, когда доступно новое SMS, плата отвечает rsender с помощью SMS с координатами платы, чтобы уменьшить потребление, плата завершает работу модуля и погружается в глубокий сон на 60 секунд.

  void loop () {int c; Строковый ответ; String messager =""; measureLocation (); беззнаковый длинный таймаут =millis (); while (millis () - timeout <5000) {if (sms.available ()) {// проверяем наличие SMS char senderNumber [20] ={"0"}; sms.remoteNumber (senderNumber, 20); // Получить удаленный номер int c =sms.read (); if (c! =76) {sms.flush (); break;} // объединить строковое сообщение, которое будет отправлено удаленному numberString txtMsg ="https:// www.google.com/maps/place/ "+ GSMlatitude +", "+ GSMlongitude; // отправляем сообщения ms.beginSMS (senderNumber); sms.print (txtMsg); sms.endSMS (); break;}} // Выключите модуль GSM, чтобы получить минимальное энергопотребление платы во время сна gsmAccess.shutdown (); LowPower.sleep (60000); // включить низкое энергопотребление на 60 секунд и после повторной попытки подключения платы connectNetwork (); // включаем модуль и повторно подключаемся к сети передачи данных}  

Как это использовать

Настройте оборудование, как описано выше, персонализируйте эскиз с вашими учетными данными, загрузите эскиз на плату и дождитесь установления соединения с сетью GSM. Это может занять 30 секунд.

После того, как соединение будет установлено, просто отправьте SMS-сообщение на номер SIM-карты MKRGSM с буквой «L» в качестве текста:это запустит процесс локализации, и плата ответит SMS-сообщением, содержащим ссылку на Google Maps с запрошенной позицией.

Код

Ардуино

Производственный процесс

  1. Делайте большие успехи или идите домой с новым дизайном продукта
  2. Присоединяйтесь к IOT со своей метеостанцией - CWOP
  3. Использование PSoC 6 Pioneer Board с Pioneer IoT Add-on Shield
  4. Использование QR-кодов с вашей CMMS:шаг за шагом
  5. Обновите свой багаж с помощью наборов для багажа из углеродного волокна
  6. Рационально расходуйте свой доллар Интернета вещей
  7. Вебинар:автоматизируйте свой процесс с помощью робота Techman
  8. 7 способов снизить стоимость печатной платы
  9. Расширьте свои операции с помощью технического обслуживания фермы
  10. Что делать с бывшим в употреблении оборудованием