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

Мгновенное GPS-трекинг Arduino MKR GSM 1400 по SMS

Компоненты

О проекте

Внимание: Урок может быть устаревшим. Актуальную версию ищите на официальном сайте Arduino.

Проект демонстрирует базовую станцию (Cell ID) локализацию MKR GSM 1400. При получении SMS с буквой «L» (ASCII 76) плата определяет координаты через базу данных ячеек оператора (u-blox) и отвечает SMS со ссылкой на Google Maps.

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

Скетч (ключевые части)


#include 
#include 
#include "arduino_secrets.h" // PIN, APN, LOGIN, PASSWORD

char PINNUMBER[] = SECRET_PINNUMBER;
char GPRS_APN[] = SECRET_GPRS_APN;
char GPRS_LOGIN[] = SECRET_GPRS_LOGIN;
char GPRS_PASSWORD[] = SECRET_GPRS_PASSWORD;

GPRS gprs;
GSM gsmAccess;
GSM_SMS sms;
GSMLocation location;

String GSMlatitude = "0.000000";
String GSMlongitude = "0.000000";

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;
    }
  }
}

void connectNetwork() {
  bool status = false;
  gprs.setTimeout(100000);
  gsmAccess.setTimeout(100000);
  while (!status) {
    if (gsmAccess.begin(PINNUMBER) == GSM_READY &&
        gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY) {
      status = true;
    } else delay(1000);
  }
}

void setup() {
  connectNetwork();
  location.begin();
}

void loop() {
  measureLocation();
  unsigned long timeout = millis();
  while (millis() - timeout < 5000) {
    if (sms.available()) {
      char senderNumber[20];
      sms.remoteNumber(senderNumber, 20);
      int c = sms.read();
      if (c != 76) { sms.flush(); break; } // не 'L' - игнор
      String txtMsg = "https://www.google.com/maps/place/" + GSMlatitude + "," + GSMlongitude;
      sms.beginSMS(senderNumber);
      sms.print(txtMsg);
      sms.endSMS();
      break;
    }
  }
  gsmAccess.shutdown();           // выкл GSM для экономии
  LowPower.sleep(60000);          // сон 60 сек
  connectNetwork();               // переподключение
}

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

  1. Соберите железо: антенна, SIM, LiPo (опц.).
  2. Заполните arduino_secrets.h (PIN, APN, user, pass оператора).
  3. Загрузите скетч, ждите подключения к GSM (~30 сек).
  4. Отправьте SMS на номер SIM-карты с текстом «L».
  5. Получите ответ с Google Maps ссылкой.

Особенности

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

  1. Почему слегка больший дизайн может ускорить инновации и снизить риски
  2. Интеграция метеостанции с CWOP: практическое руководство
  3. Освоение PSoC 6 Pioneer Board с IoT Add-On Shield: руководство разработчика
  4. Как внедрить QR-коды в CMMS: пошаговое руководство
  5. Почему чемоданы из углеродного волокна — лучший апгрейд для путешественников
  6. Максимизация ROI от IoT-инвестиций: практическое руководство
  7. Вебинар Techman Robot: продвинутые коботы и системы зрения для автоматизации производства
  8. 7 проверенных стратегий снижения затрат на производство печатных плат
  9. Повышение эффективности фермы за счет проактивного обслуживания
  10. Максимизация стоимости: стратегии продажи или перепрофилирования б/у тяжелой техники