LTE Arduino GPS Tracker + Papan Pemuka IoT (Bahagian 1): 6 Langkah (dengan Gambar)

LTE Arduino GPS Tracker + Papan Pemuka IoT (Bahagian 1): 6 Langkah (dengan Gambar)

Isi kandungan:

Anonim

Pengenalan

Apa khabar, rakan sekalian! Instructable ini adalah tindak lanjut dari Instructable pertama saya menggunakan Botletics LTE / NB-IoT perisai untuk Arduino jadi jika anda belum lagi, sila baca untuk mendapatkan gambaran yang baik bagaimana menggunakan perisai dan apa yang ia semua tentang. Dalam tutorial ini, saya akan memberi tumpuan kepada pembalakan data IoT, dan khususnya, penjejakan GPS dan suhu dan menyediakan anda semua kod dan bimbingan yang anda perlukan untuk memukul jalan dan menguji ia!

Instructable ini terutamanya tertumpu kepada perisai LTE yang saya buat sendiri dan dibina, tetapi segala-galanya di sini (termasuk perpustakaan Github Arduino) harus berfungsi pada modul 2G dan 3G SIMCom seperti SIM800 / 808/900/5320 dan ia hanya dikemaskini versi perpustakaan FONA Adafruit. Terlepas dari perkakasan konsepnya sama persis dan anda boleh melakukan banyak perkara yang sejuk dengan ini, termasuk pembalakan data sensor, pemantauan cuaca jauh, pengesanan GPS karma kecurian auto, dan lain-lain … jadi baca!

Bekalan:

Langkah 1: Kumpulkan Bahagian

Senarai ini sama seperti dalam tutorial pertama saya dan sangat mudah!

  • Arduino Uno, Mega, atau Leonardo. Sebagai alternatif anda boleh menggunakan mikrokontroller lain 3.3V atau 5V lain tetapi anda perlu menghidupkan pin secara luaran.
  • Botolics SIM7000 Shield Kit (dilengkapi dengan perisai, antena LFL / GPS uFL dwi, ​​dan menyusun tajuk wanita). Pastikan anda meneruskan tutorial ini untuk memilih versi yang sesuai!
  • Kad SIM hologram. Kad SIM pertama (dipanggil kad SIM "pemaju") adalah percuma dan dilengkapi dengan 1MB data sebulan! Di Amerika Syarikat kemungkinan besar anda akan berada di rangkaian Verizon jika anda menggunakan kad SIM Hologram. Anda juga boleh mengambilnya di sebelah perisai Botletics jika itu lebih mudah.
  • Bateri 3.7V LiPo (kapasiti 1000mAH atau lebih tinggi disyorkan).
  • Kabel USB untuk memprogramkan Arduino anda atau untuk mengatasinya.

Untuk ujian penjejakan GPS!

  • Anda boleh menggunakan penyesuai USB kereta untuk menguasai Arduino anda semasa menguji perisai di jalan raya.
  • Sebagai alternatif, anda boleh menggunakan pek bateri (7-12V) untuk menggerakkan Arduino melalui pin VIN dan GND.

Langkah 2: Perhimpunan Fizikal

Sekarang bahawa anda mempunyai semua bahagian anda, inilah rekap cepat tentang apa yang perlu anda lakukan untuk menetapkan perkakasan anda:

  • Solder pengepala wanita menyusun ke perisai. Lihat tutorial tentang cara melakukannya.
  • Pasangkan perisai ke dalam Arduino, pastikan untuk memasang semua pin supaya anda tidak merosakkannya!
  • Masukkan kad SIM seperti yang ditunjukkan dalam gambar. Hubungan logam menghadap ke bawah dan mencatat lokasi kedudukan di sudut.
  • Palamkan bateri LiPo kepada penyambung JST pada perisai
  • Palamkan Arduino anda ke komputer anda menggunakan kabel USB. Anda mungkin perasan bahawa kuasa hijau perisai LED tidak menyala. Itu sangat biasa kerana pin PWRKEY perisai perlu denyut rendah sedikit demi sedikit untuk menghidupkannya. Contoh lakaran Arduino di bahagian berikut akan mengurusnya untuk anda!
  • Pasang dual antena LTE / GPS ke penyambung uFL di tepi kanan perisai. Perhatikan bahawa wayar akan bersilang-silang jadi jangan pasang yang salah!
  • Anda sudah bersedia untuk perisian ini!

Langkah 3: Persediaan Arduino & Ujian Peranti

Persediaan IDE Arduino

Jika anda belum lagi, lihat langkah "Arduino IDE Setup" dan "Arduino Example" dalam produk utama yang boleh diarahkan untuk memastikan lembaga anda berfungsi dengan baik. Dalam arahan itu, anda perlu memuat turun perpustakaan pada halaman Github dan buka kod contoh "LTE_Demo". Setelah mengikuti arahan tersebut, anda sepatutnya menguji sambungan rangkaian, GPS, dan mengepos data ke dweet.io.

Lakaran Contoh IoT

Sekarang bahawa anda telah menguji ciri teras perisai anda, memuat lakaran "IoT_Example" dalam Arduino IDE. Anda juga boleh mencari di sini di Github. Muat naik kod ini ke Arduino anda dan buka monitor siri dan anda akan melihat Arduino mencari modul SIM7000, sambungkan ke rangkaian sel, dayakan GPS dan teruskan percubaan sehingga ia mendapat pembetulan di lokasi, dan hantar data ke dweet.io. Ini semua perlu berjalan tanpa mengubah apa-apa baris kod, dengan mengandaikan bahawa anda menggunakan perisai LTE dan kad SIM Hologram.

Secara lalai anda akan melihat baris berikut menentukan kadar sampel (dengan baik, sebenarnya kelewatan di antara jawatan).

#define samplingRate 30 // Masa di antara jawatan, dalam saat

Jika baris ini dibiarkan tanpa komen, Arduino akan menyiarkan data, menunda 30-an, data pos lagi, ulangi, dan sebagainya. Sepanjang penundaan 30-an anda boleh melakukan perkara-perkara seperti meletakkan Arduino dalam mod kuasa rendah dan perkara-perkara mewah seperti itu, tetapi untuk menyimpan perkara mudah Saya hanya akan menggunakan fungsi kelewatan () untuk menghentikan operasi. Jika anda mengulas baris ini Arduino akan menghantar data kemudian pergi terus ke mod tidur kuasa rendah selama-lamanya sehingga anda menekan butang reset pada Arduino anda. Ini berguna jika anda menguji sesuatu dan tidak mahu membakar data percuma berharga anda (walaupun jujur ​​setiap jawatan menggunakan praktikal apa-apa) atau mungkin anda mempunyai litar luaran untuk menetapkan semula Arduino (pemasa 555? RTC mengganggu? ganggu? Fikirkan di luar kotak!). Sebenarnya dalam tutorial Burgalert 7000 saya menunjukkan bagaimana anda boleh menggunakan pengesan gerakan PIR untuk membangunkan mikropengawal.

Baris seterusnya menetapkan sama ada perisai akan dimatikan selepas menyiarkan data atau kekal. Anda mungkin memilih pilihan yang pertama dengan tidak mengomentari garisan jika anda hanya membuat sampling sekali-sekali, tetapi jika anda mempunyai kadar persampelan yang tinggi, anda akan mahu meninggalkan garis tersebut supaya perisai itu tetap dan tidak mempunyai untuk memulakan semula semula, mendayakan semula GPRS dan GPS, dan lain-lain. Apabila perisai ditinggalkan pada ia dapat menyiarkan dengan sangat cepat!

// # define turnOffShield // Matikan perisai selepas menyiarkan data

Perlu diingat bahawa contoh ini secara automatik mengambil nombor IMEI khusus khusus dan global SIM7000 dan menggunakannya sebagai ID peranti (atau "nama" jika anda memilih) untuk mengenal pasti peranti apabila ia menyiarkan data ke dweet.io. Anda boleh menukar ini jika anda mahu, jadi saya fikir saya akan memberitahu anda:)

Untuk memeriksa sama ada data anda sebenarnya dihantar ke dweet.io, cukup isi maklumat yang sesuai dan salin / tampal URL ke dalam mana-mana penyemak imbas:

dweet.io/get/latest/dweet/for/{deviceID}

di mana {deviceID} perlu digantikan dengan nombor IMEI yang dicetak dalam monitor bersiri pada awalnya, selepas Arduino mendapatinya. Selepas memasukkan URL tersebut dalam penyemak imbas anda, anda harus melihat respons JSON seperti yang berikut:

{"this": "success", "by": "getting", "the": "dweets", "with": {"thing": "112233445566778", "created": "2017-12-28T23: 32: 39.803Z "," content ": {" lat ": 11.223344," long ": - 55.667788," speed ": 10," head ": 75," alt ": 330.7," temp ": 21.2," batt ": 3630}}}

Melihat "kandungan" anda harus melihat lintang, bujur lokasi anda, kelajuan anda (dalam kilometer per jam), arahan arah (darjah, dengan 0 darjah Utara), ketinggian (meter), suhu (* C, tetapi rasa bebas untuk menukar dalam kod), dan voltan bekalan dalam milli-Volts (iaitu VBAT, voltan bateri). Untuk maklumat lanjut mengenai rentetan data NMEA, anda boleh melihat halaman 149 manual arahan SIM7000 AT.

Sebaik sahaja anda mengesahkan bahawa persediaan anda berjaya menghantar data ke dweet, mari kita sediakan papan pemuka untuk melihat semua data kami pada antara muka yang bagus!

Langkah 4: Persediaan Freeboard.io

Untuk tutorial ini, kami akan menggunakan freeboard.io, papan pemuka IoT yang sangat sejuk yang boleh menyambung dengan banyak platform awan seperti PubNub dan dweet, serta ciri-ciri lain seperti JSON dan MQTT. Seperti yang anda mungkin fikirkan kami akan menggunakan dweet.io yang digunakan dalam contoh kod dari bahagian sebelumnya. Sebagai nota penting, menyeret panel dalam freeboard.io nampaknya tidak berfungsi di Chrome supaya menggunakan Firebox atau Microsoft Edge sebaliknya. Jika anda tidak, ia boleh menjadi "pane" yang sebenar untuk mengatur semula item pada skrin anda!

Persediaan Akaun & Peranti

  • Perkara pertama yang perlu anda lakukan ialah membuat akaun dengan mengklik butang merah "START NOW" pada halaman rumah freeboard.io, masukkan kelayakan dan klik "Buat Akaun Saya". Anda kemudian akan mendapat pemberitahuan e-mel yang mengesahkan akaun baru anda.
  • Sekarang klik "Masuk" di sebelah kanan atas halaman utama dan selepas masuk anda akan melihat "freeboards" anda, yang hanya papan pemuka yang anda buat dari projek anda. Jelas sekali jika akaun baru anda tidak akan melihat apa-apa di sini jadi masukkan nama projek baru dan klik "Buat Baru" di sebelah kanan atas. Ini kemudian akan membawa anda ke papan pemuka kosong di mana anda boleh menetapkan antara muka yang anda suka. Dalam papan freeboard di sana, anda boleh menubuhkan pelbagai "anak tetingkap", dan setiap anak tetingkap boleh mempunyai satu atau beberapa "widget" yang semuanya seperti graf, peta, tolok, dan lain-lain yang memaparkan data anda dalam beberapa cara.
  • Perkara pertama yang perlu kita lakukan sekarang adalah untuk menyediakan sumber data sebenar, yang merupakan perisai Arduino + LTE anda. Untuk melakukan itu, klik "ADD" di bahagian atas kanan di bawah "Datasources". Seterusnya, pilih "Dweet.io" dan masukkan nama yang anda mahu di bawah medan "Nama". Walau bagaimanapun, pastikan bahawa di bawah medan "Nama Thing" anda memasukkan nombor IMEI perisai dan bukannya nama sewenang-wenang, kerana itulah freeboard yang akan digunakan untuk menarik data dari dweet.
  • Selepas mengklik "Simpan", anda akan melihat peranti anda muncul di bawah "Sumber Data" dan juga kali terakhir ia menghantar data ke dweet. Anda juga boleh mengklik butang menyegarkan untuk memeriksa nilai terkini, tetapi papan freeboard akan dikemas kini dengan sendirinya supaya anda biasanya tidak perlu menggunakan butang itu.

Persediaan Papan Pemuka

Sekarang mari kita lihat bagaimana untuk memasang loceng dan peluit sebenar yang anda mahu lihat di skrin anda!

  • Untuk menambah anak tetingkap, klik butang "ADD PANE" di kiri atas dan anda akan melihatnya menambah tetingkap kecil di skrin anda. Walau bagaimanapun, tiada apa lagi di sini kerana kami tidak menambah sebarang widget!
  • Untuk menambah widget, klik butang "+" kecil pada anak tetingkap. Ini akan membawa menu lungsur turun dengan pelbagai pilihan widget. Oleh kerana kami akan melakukan beberapa pengesanan GPS, mari pilih widget "Peta Google". Anda perlu melihat dua bidang, latitud dan longitud. Untuk mengisi ini dengan betul, peranti anda perlu diposkan ke dweet sudah. Dengan mengandaikannya, anda harus dapat mengklik "+ Datasource", klik pada sumber data ("Tracker GPS SIM7000"), kemudian klik pada "lat", yang merupakan nama pemboleh ubah yang digunakan oleh perisai semasa menyiarkannya kepada dweet. Ulangi prosedur untuk medan longitud dan klik slider di bahagian bawah jika anda mahu peta menggambar garis antara titik data untuk menandakan di mana anda berada.
  • Kini anda perlu melihat peta kecil mengenai lokasi anggaran anda! Untuk menguji jika peta berfungsi, cuba ubah lat / panjang GPS anda kepada sesuatu yang sedikit berbeza dengan menukar, contohnya, digit pertama selepas titik perpuluhan nilai lat / panjang dalam URL dweet yang dicetak dalam pemantau bersiri dalam IDE Arduino apabila perisai menghantar data. Selepas tweaking mereka, salin dan tampal URL dan laksanakannya di pelayar anda.

dweet.io/dweet/for/112233445566778?lat=11.223344&long=-55.667788&speed=0&head=10&alt=324.8&temp=22.88&batt=3629

  • Kini bertukar kepada papan serentak dan anda harus melihat bahawa ia mengisar lokasi tweak anda dan menarik garis oren antara mata! Barang sejuk huh? Jadi saya fikir anda mendapat gambar yang tracker GPS kami akan menghantar data lokasi ke dweet untuk anda melihatnya di freeboard secara real time atau selepas pengembaraan anda berakhir

Tambahan

Oleh kerana tracker GPS kecil kami menghantar bukan data lat / panjang tetapi juga ketinggian, kelajuan, tajuk, dan suhu, mari melemparkan beberapa widget untuk membuat papan pemuka kami lebih berwarna!

  • Mari kita mulakan dengan menambah pane baru kemudian menambah tolok dalam panel baru klik butang "+" di panel dan pilih "Gauge". Sama seperti dahulu, gunakan sumber data dan pilih "kelajuan" sebagai data yang kami berminat untuk mengambil pengukur ini. Anda perlu melihat tolok ukur yang baik di papan pemuka anda!
  • Ulangi ini untuk nilai ketinggian dan suhu.
  • Sekarang untuk tajuk, mari tambahkan "Pointer" sebaliknya. Ini pada dasarnya merupakan kompas kerana ia mula menunjuk (Utara) pada 0 darjah dan berputar mengikut arah jam untuk tajuk positif.. Perfecto!
  • Untuk menukar saiz anak tetingkap, hover ke atas panel yang mengandungi peta dan anda akan melihat simbol sepana sedikit di sebelah kanan atas. Klik itu dan masukkan tajuk untuk anak panah dan masukkan "2" di bawah "Lajur" untuk meningkatkan lebar anak tetingkap.
  • Untuk menukar lokasi anak tetingkap hanya seretnya! Anda juga boleh membuat percubaan menambah "Sparkline" yang pada dasarnya hanya graf garis sehingga anda dapat melihat tidak hanya data terkini tetapi data bersejarah juga.

Bersenang-senang dan tetapkan semuanya bagaimana anda menyukainya kerana kami bersedia untuk pergi dalam perjalanan lapangan!

Langkah 5: Ujian

Untuk menguji persediaan saya, saya akan mengesyorkan menetapkan masa pensampelan kepada nilai yang lebih rendah, seperti 10-20s supaya anda dapat menangkap perjalanan anda dengan resolusi yang lebih tinggi. Saya juga akan meninggalkan pembolehubah "turnOffShield" berkomentar supaya perisai tidak tidur. Ini membolehkan ia menyiarkan data secara berturut-turut.

Selepas memuat naik kod ke Arduino anda, sama ada mendapatkan pek bateri (7-12V) untuk menghidupkan Arduino atau hanya pasangkan Arduino menggunakan penyesuai USB kereta. Anda juga akan memerlukan bateri LiPo 3.7V yang dipasang ke dalam perisai seperti yang dinyatakan sebelum ini; perisai yang ditunjukkan dalam gambar di atas adalah versi lama dan tidak mempunyai sokongan bateri LiPo tetapi kini diperlukan pada semua versi yang lebih baru.

Seterusnya, buka papan frekuensi di suatu tempat jadi apabila anda kembali anda dapat melihat hasilnya! Sebaik sahaja anda memasangkan Arduino, anda boleh pergi! Mula memandu, dapatkan kopi, pulang ke rumah, dan anda akan melihat data yang diplot pada papan frekuensi. Jika anda benar-benar mahu (saya tidak mengesyorkan ini semasa memandu …), anda boleh melihat data papan dailan pada telefon anda dalam masa nyata kerana rakan anda memandu kenderaan. Perkara yang menyeronokkan!

Langkah 6: Keputusan

Untuk ujian ini, ayah saya dan saya pergi untuk mendapatkan beberapa drum ayam di Trader Joe (omnomnomnom …) dan kami mengumpul beberapa data yang cukup tepat. Saya mempunyai peranti menghantar data setiap 10-an dan kelajuan maksimum dari perjalanan adalah kira-kira 92khm (sekitar 57mph) yang agak tepat kerana kita mengawasi speedometer sepanjang masa. Perisai LTE pasti melakukan tugasnya dengan baik dan menghantar data ke awan dengan cepat. Setakat ini sangat baik!

Walau bagaimanapun, mungkin berita yang tidak begitu baik adalah bahawa widget peta pada papan frekuensi tidak sama seperti yang saya fikir awalnya. Ia tidak membenarkan anda menggerakkan lokasi tetikus anda dan ia tetap berpusat pada lokasi terakhir jadi ia bagus untuk perkara seperti kereta tracker GPS tetapi tidak jika anda mahu menganalisis perjalanan lengkap dengan semua titik data, terutama jika ia adalah perjalanan panjang.

Dalam tutorial ini, kami belajar cara menggunakan perisai LTE sebagai pelacak GPS dan logger data dan bagaimana dengan cepat melihat data pada freeboard.io. Sekarang gunakan imaginasi anda dan gunakannya dalam projek anda sendiri. Anda juga boleh menambah lebih banyak perisai dan mengubah perkara ini menjadi logger data solar yang berkuasa rendah! (Saya mungkin benar-benar merancang untuk membuat tutorial mengenai perkara itu pada masa akan datang!). Kerana keterbatasan peta freeboard, saya juga merancang untuk membuat tutorial baru tentang bagaimana membuat aplikasi Android anda sendiri yang mengambil data dari dweet dan akan membolehkan anda memetakan lokasi tracker di Google Maps dengan permulaan, jeda, dan hentikan ciri-ciri untuk perjalanan anda! Tinggal!

  • Jika anda menyukai projek ini, sila berikan hati!
  • Jika anda mempunyai sebarang soalan, komen, cadangan pada tutorial baru, atau cuba projek ini sendiri, pasti komen di bawah!
  • Ikut saya di sini di Instructables, langgan saluran YouTube saya, atau ikut saya di Twitter untuk terus dikemas kini dengan projek Arduino terkini saya! Saya seorang jurutera muda dengan semangat untuk berkongsi apa yang saya pelajari, jadi pasti ada beberapa tutorial lagi!
  • Jika anda ingin menyokong apa yang saya lakukan dalam perkongsian perkakasan sumber terbuka dan mendokumentasikannya dengan teliti untuk tujuan pendidikan, pertimbangkan untuk membeli perisai anda sendiri di Amazon.com untuk dimainkan!