Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Lokalkan Papan Anda dengan SMS

Komponen dan persediaan

Arduino MKR GSM 1400
× 1

Tentang proyek ini

Catatan:Tutorial ini mungkin sudah usang, silakan buka di sini untuk versi yang lebih baru.

Tujuan dari proyek ini adalah untuk menunjukkan bagaimana menggunakan lokalisasi seluler Arduino MKR GSM 1400. Untuk melakukan ini, kami menerapkan aplikasi sederhana yang memungkinkan Anda untuk mencoba kembali garis lintang dan garis bujur dari MKR GSM saat SMS dengan pemeriksaan keamanan surat diterima. Nomor pengirim dipulihkan dari SMS yang diterima dan balasan dibuat dengan tautan Google Maps yang tepat dilengkapi dengan koordinat yang diberikan oleh layanan lokasi yang disediakan oleh modul u-blox.

Yang Anda butuhkan

Proyek ini didasarkan pada Arduino MKR GSM 1400, antena, baterai LiPo, smartphone, dan satu kartu SIM data.

  • Arduino MKR GSM 1400 mengeksekusi sketsa dan mendukung konektivitas GSM yang memungkinkan fungsi pelokalan yang diperlukan oleh proyek kami;
  • Antena dan baterai masing-masing digunakan untuk memungkinkan koneksi ke jaringan data seluler dengan sinyal yang baik dan untuk memberi daya pada perangkat saat catu daya lain tidak tersedia;
  • Smartphone diperlukan untuk mengirim SMS ke MKR GSM 1400 dan meminta lokalisasi GPRS;
  • Kartu SIM diperlukan untuk mengakses jaringan data dan memungkinkan operasi jaringan;
  • PIN, APN, dan kredensial akses diperlukan untuk terhubung ke jaringan data.

Penyiapan perangkat keras

Proyek ini tidak memerlukan sesuatu yang istimewa. Hubungkan ke papan antena, masukkan kartu SIM dan hubungkan baterai LiPo ke konektor JST.

Baterai LiPo bersifat opsional, tetapi memungkinkan untuk mengatasi puncak arus yang mungkin diperlukan modul GSM dalam kondisi cakupan yang buruk.

Cara kerjanya

Proyek ini menggunakan perpustakaan MKRGSM untuk mengelola pesan SMS dan georeferensi berbasis sel.

Saat SMS diterima, konten diperiksa untuk mengetahui apakah mengandung huruf "L". Hanya jika ini masalahnya, sketsa dilanjutkan dengan lokalisasi dan transmisi SMS. Dengan solusi ini, nomor apa pun dapat meminta lokasi sistem, tetapi hanya yang mengetahui kata sandi ("surat rahasia") yang akan mendapat balasan. Ini adalah baris yang melakukan pemeriksaan if (c !=76) dan 76 adalah kode ASCII dari "L". Anda dapat mengubah nilai untuk mengubah huruf yang dikenali.

Modul GSM tidak memiliki penerima GPS, tetapi pabrikan memiliki database lokasi setiap sel jaringan GSM dan oleh karena itu modul ini menyediakan koordinat untuk setiap ID sel yang disediakan. Sistem ini cukup akurat di daerah perkotaan, di mana setiap sel mencakup area kecil. Di daerah pedesaan cakupan setiap sel jauh lebih besar dan lokasi yang disediakan dengan perkiraan yang lebih kasar.

Untuk membuat tautan untuk Google Maps, kami menggunakan URL standar di mana kami hanya menggabungkan nilai Panjang dan Lat yang tepat di bagian akhir. URL ini terlihat seperti "https://www.google.com/maps/place/, ". Posisi yang ditampilkan pada peta akan menjadi posisi di mana sel berbasis fisik; papan kami berada dalam radius yang dicakup oleh sel.

Sketsa

Berikut penjelasan rinci tentang Sketsa; bagian kode pertama digunakan untuk menyertakan pustaka yang dibutuhkan oleh aplikasi.

MKRGSM termasuk semua koneksi GSM, lokalisasi dan fungsi manajemen SMS, ini tersedia melalui objek GSMClient, GPRS, GSM dan GSMLocation, API pengelolaan SMS tersedia melalui objek GSM_SMS , tajuk ArduinoLowPower impor API yang memungkinkan pengelolaan modul Board dengan daya rendah.

Jika Anda mengunduh kode dari Editor Web, Anda akan menemukan arduino_secrets.h file yang menyertakan data yang masuk akal seperti PIN, APN, pengguna dan sandi. Di editor web, Anda harus mengisi data yang masuk akal di Tab Rahasia.

// include library GSM#include #include "ArduinoLowPower.h"char PINNUMBER [] =SECRET_PINNUMBER;char GPRS_APN[] =SECRET_GPRS_APN;char GPRS_LOGIN [] =SECRET_GPRS_LOGIN;char GPRS_PASSWOR[ ] =SECRET_GPRS_PASSWORD;// menginisialisasi instance perpustakaan GPRS gprs;GSM gsmAccess;GSM_SMS sms;Lokasi lokasi GSM; 

measureLocation() kueri modul untuk mencoba kembali koordinat dengan jaringan seluler, jika koordinat baru tersedia, tetapkan ke variabel global jika tidak, minta lagi selama 45 detik, jika tidak ada tindakan yang sesuai dengan batasan akurasi, ia mengembalikan yang terakhir bagus

//variabel global yang digunakan untuk manajemen lokasiString GSMlatitude ="0,000000";String GSMlongitude ="0,000000";// Fungsi ini menggunakan API lokasi untuk mendapatkan koordinat perangkat dan memperbarui variabel globa jika semua persyaratan terpenuhi puasvoid 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() fungsi menggunakan API smAccess.begin dan gprs.attachGPRS untuk menghubungkan papan ke jaringan data; digunakan data kredensial pin , apn , pengguna dan lulus ditugaskan oleh deklarasi di arduino_secrets.h.

// Fungsi connectNetwork() digunakan untuk koneksi data papanvoid connectNetwork(){bool status =false;//set global AT command timeout ini memungkinkan untuk memulihkan dari komunikasi uart// membekukan antara modul samd dan ublox module.gprs.setTimeout(100000);gsmAccess.setTimeout(100000);// Mulai koneksi GSM while (status ==false) {if ((gsmAccess.begin(PINUMBER) ==GSM_READY) &(gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) ==GPRS_READY)) {status =true;} else {delay(1000);}}}Bagian setup memungkinkan untuk menginisialisasi semua objek yang digunakan oleh sketsa, disebut fungsi connectionNetwork() untuk membuat data koneksi dan struktur pelokalan dimulai.//bagian kode digunakan untuk menginisialisasi koneksi data dan pelokalan objectvoid setup() {connectNetwork();location.begin();} 

Bagian kode terakhir adalah fungsi loop di mana diterapkan manajemen SMS dan ukuran Lokasi, setiap kali SMS baru tersedia, respons papan ke pengirim dengan SMS dengan koordinat papan, untuk mengurangi konsumsi papan, matikan modul dan tertidur lelap selama 60 detik.

void loop() { int c; Tanggapan string; String pengirim pesan =""; ukuranLokasi(); unsigned long timeout =milis(); while (milis() - batas waktu <5000) {if (sms.available()) { //periksa SMS yang tersediachar senderNumber[20] ={"0"};sms.remoteNumber(senderNumber, 20); //Dapatkan remote numberint c =sms.read();if (c !=76) {sms.flush();break;}//menggabungkan pesan string yang akan dikirim ke remote numberString txtMsg ="https:// www.google.com/maps/place/" + GSMlatitude + "," + GSMlongitude;// kirim pesanms.beginSMS(senderNumber);sms.print(txtMsg);sms.endSMS();break;} } // Matikan modul GSM untuk mendapatkan konsumsi daya terendah dari papan saat sedang tidur gsmAccess.shutdown(); LowPower.sleep(60000); // aktifkan daya rendah selama 60 detik dan setelah coba lagi papan connectNetwork(); //nyalakan modul dan sambungkan kembali ke jaringan data} 

Cara menggunakannya

Siapkan perangkat keras seperti yang dijelaskan di atas, sesuaikan sketsa dengan kredensial akses Anda, muat sketsa di papan, dan tunggu koneksi dibuat dengan jaringan GSM. Ini mungkin memakan waktu 30 detik.

Setelah itu koneksi dibuat, cukup kirim SMS ke nomor SIM MKRGSM dengan teks "L":ini akan memulai proses pelokalan dan dewan akan membalas dengan SMS yang berisi tautan Google Maps dengan posisi yang diminta.

Kode

Arduino

Proses manufaktur

  1. Jadilah Besar atau Pulang dengan Desain Produk Baru Anda
  2. Bergabunglah dengan IOT dengan Stasiun Cuaca Anda – CWOP
  3. Menggunakan Papan Pioneer PSoC 6 dengan Pioneer IoT Add-on Shield
  4. Menggunakan kode QR dengan CMMS Anda:Langkah demi langkah
  5. Tingkatkan Bagasi Anda Dengan Set Bagasi Serat Karbon
  6. Jadilah pintar dengan dolar IoT Anda
  7. Webinar:Otomatiskan Proses Anda dengan Robot Teknisi
  8. 7 Cara Mengurangi Biaya PCB Anda
  9. Kembangkan Operasi Anda dengan Pemeliharaan Ladang
  10. Apa yang Harus Dilakukan dengan Peralatan Bekas Anda