Isi kandungan:

The Map Mapper: 6 Langkah
The Map Mapper: 6 Langkah

Video: The Map Mapper: 6 Langkah

Video: The Map Mapper: 6 Langkah
Video: Six Sigma Process Mapping Explained in 12 Minutes | Six Sigma Training | Invensis Learning 2024, November
Anonim
The Map Mapper
The Map Mapper
The Map Mapper
The Map Mapper
The Map Mapper
The Map Mapper

Dalam projek IoT ini, kami memasang NEO-6M (modul GPS) untuk menyampaikan data lokasi melalui Arduino ke lembaran Excel yang akan disimpan di komputer. Setelah itu dengan Tableau Public, kami membuat visualisasi data data ini untuk memetakan jalan yang kami ambil. Walaupun ini adalah salah satu cara untuk mengumpulkan dan menyajikan data waktu nyata dalam data yang sangat berkorelasi, proses ini juga dapat diterapkan pada proyek-proyek berbasis data lainnya.

Langkah 1: Memperolehi Bahan

Memperolehi Bahan
Memperolehi Bahan

Untuk projek ini, anda memerlukan perkara berikut:

  • Modul GPS NEO-6M
  • Arduino Uno
  • Kabel pelompat lelaki / lelaki (anda memerlukan 4 wayar)
  • Kabel USB 2.0 Jenis A hingga B
  • Komputer dengan program ini: Tableau Public, Arduino IDE (dengan TinyGPS ++), dan Pemprosesan

Langkah 2: Menyiapkan Peranti

Menyiapkan Peranti
Menyiapkan Peranti
Menyiapkan Peranti
Menyiapkan Peranti

Mula-mula kita perlu menyiapkan modul GPS dengan Arduino UNO agar Arduino memberi kita antara muka untuk menunjukkan data. Setiap empat wayar yang disambungkan ke NEO-6M sesuai dengan port tertentu. Sekiranya NEO-6M anda tidak disertakan dengan wayar, anda mesti memasangnya secara langsung dengan wayar pelompat. Dalam rajah di atas, merah sepadan dengan kuasa (VCC), hitam ke tanah (GND), kuning untuk menghantar data (TxD), dan putih untuk menerima data (RxD). Kami menyambungkan wayar ini ke wayar jumper lelaki / lelaki sehingga kami dapat menghubungkannya ke Arduino. Mengikuti rajah di atas, kami menyambungkan wayar arde ke pin digital GND di Arduino, wayar TxD ke 4, wayar RxD ke ~ 3, dan wayar VCC ke 5V untuk voltan. Pada langkah yang akan datang, kita perlu menentukan TxD dan RxD dengan nombor yang betul di SoftwareSerial.

Setelah kedua-dua peranti disambungkan ke satu sama lain, kita perlu menyediakan sumber kuasa. Sambungkan kabel USB 2.0 ke komputer riba anda dan lampu di NEO-6M akan menyala.

Langkah 3: Mengekodkan Arduino untuk Mengekstrak Data

Mengekodkan Arduino untuk Mengekstrak Data
Mengekodkan Arduino untuk Mengekstrak Data

Sekarang kita telah menyiapkan peranti untuk mengumpulkan data GPS dari satelit, kita akan menulis kod untuk menguraikan data GPS yang kita inginkan. Dengan andaian anda telah mengambil isyarat (modul GPS saya akan berkedip biru), NEO-6M secara lalai mencetak data mentah pada monitor bersiri dalam bentuk mesej NMEA, yang kelihatan seperti $ GP diikuti oleh lebih banyak huruf dan siri nombor. Gambar di atas memberikan idea umum mengenai apa yang harus ditunjukkan pada monitor bersiri anda setelah kod Arduino asas dimasukkan.

Untuk menjelaskan kod yang telah saya lampirkan (atau jika anda ingin mencuba sendiri), anda perlu memasukkan kedua-dua perpustakaan SoftwareSerial dan TinyGPS ++ (untuk yang terakhir, Sketch> Include> Add. ZIP library). SoftwareSerial membolehkan kita melakukan sambungan bersiri; TinyGPS ++ memberi kami alat yang mudah untuk mencetak maklumat yang disasarkan dalam bentuk yang dapat dibaca. Pastikan anda menginisialisasi objek SoftwareSerial ke pin yang sesuai di Arduino. Dalam fungsi persediaan, kami menggunakan 9600 sebagai baud rate.

Untuk tujuan ini, kami hanya akan mencetak tujuh jenis data dalam fungsi gelung: garis lintang (darjah), garis bujur (darjah), kelajuan (km), kursus (darjah), ketinggian (km), bilangan satelit di gunakan, dan hdop. Anda boleh mencari sintaks untuk mencetak maklumat ini di perpustakaan Arduiniana. Bentuk umum ialah Serial.print (). Contohnya untuk mencetak garis bujur, kita akan menaip Serial.print (gps.location.lng (), 6). 6 mewakili berapa digit yang kita mahu di sebelah kanan titik perpuluhan.

Kod saya mempunyai watak tambahan yang dicetak demi regex yang mudah diformat pada langkah seterusnya. Sekiranya anda ingin berhenti pada langkah ini, jangan ragu untuk memformat data secara berbeza untuk kemudahan melihat pada monitor bersiri.

Langkah 4: Memanfaatkan Proses untuk Mendengar

Memanfaatkan Proses untuk Mendengar
Memanfaatkan Proses untuk Mendengar

Walaupun kami mempunyai kod untuk penyiapan Arduino IDE, kami menghadapi masalah menyimpan data ini. Setakat ini, kami hanya dapat melihat data pada monitor bersiri semasa kami mengumpulkannya. Terdapat banyak cara untuk mencatat data ini tetapi saya memilih Memproses terutamanya kerana antara muka meniru Arduino IDE dan menggunakan Java, bahasa yang saya kenal (perhatikan bahawa anda juga dapat mengendalikan papan Arduino dengan Pemprosesan jika anda memuat turun Firmata). Pemprosesan mendengarkan di port yang dihubungkan ke Arduino dan mempunyai kemampuan untuk memanipulasi data yang dibaca ke monitor bersiri. Untuk mencari nama port ini, rujuk kembali ke file Arduino IDE anda dan periksa Tools> Port.

Saya telah memberikan kod Pemprosesan, tetapi berikut adalah gambaran keseluruhan ringkas bagaimana kod tersebut berfungsi.

Sebelum fungsi penyediaan, pastikan anda mempunyai pemboleh ubah untuk port, tabel yang dihasilkan, baris yang akan kami gunakan, dan nama file. Kemudian dalam fungsi persediaan, ada parameter untuk menetapkan ukuran tetingkap Jalankan anda tetapi angka tersebut tidak mempengaruhi fungsi kami (misalnya, tetapkan ke (500, 500)). Semasa anda memulakan port, gunakan nama port dalam bentuk String dan baud rate 9600. Terakhir, buat sembilan lajur (untuk tujuh kategori GPS, waktu dan tarikh) untuk memulakan jadual.

Dalam fungsi undian, kami menggunakan fungsi tanggal dan waktu terbina untuk melacak kapan setiap set data GPS diekstrak. Sekarang untuk membaca aliran data dari Arduino dan meletakkannya di bawah tajuk yang sesuai dengan waktu dan tarikh yang betul, kami menggunakan ungkapan biasa.

Saya menggunakan regex untuk menguraikan data yang tepat dengan fungsi matchAll yang mencari sebarang ungkapan antara tanda sama dan titik koma (pembatas yang saya masukkan dalam kod Arduino saya). Ini kemudian meletakkan semua tag yang dipadankan, data berangka, dalam susunan dua dimensi. Kami kemudian boleh memanggil indeks array ini untuk meletakkannya di bawah tajuk helaian Excel.

Untuk menyimpan fail.csv baru, kami menggunakan tekan kekunci untuk menutup tetingkap Jalankan. Semakin lama anda menunggu untuk menekan kekunci, semakin banyak data yang akan anda kumpulkan. Mengikut cara panduan lain, saya juga memutuskan untuk menyimpan fail ke folder data dengan tarikh dan waktu sebagai nama fail.

Langkah 5: Memaparkan Data di Tableau Public

Memaparkan Data di Tableau Public
Memaparkan Data di Tableau Public
Memaparkan Data di Tableau Public
Memaparkan Data di Tableau Public
Memaparkan Data di Tableau Public
Memaparkan Data di Tableau Public

Langkah terakhir melibatkan beberapa visualisasi data. Terdapat banyak program untuk membuat dan menampilkan visualisasi data iaitu Plotly, tetapi untuk projek ini kami akan menggunakan Tableau. Buka Tableau Public dan buka fail Excel yang disimpan sebagai fail teks. Untuk membuat lembaran kerja, klik pada Helaian 1 di sebelah kiri bawah.

Oleh kerana kami bekerja dengan data GPS, kami akan menggunakan peta untuk menggambarkan maklumat kami. Di lajur kiri di mana tertera Ukuran, kita akan menyeret Longitud ke Lajur dan Lintang ke Baris di bahagian atas. Tableau menetapkan kedua-dua langkah tersebut kepada AVG, jadi klik menu drop-down di sebelah syarat dan ubah keduanya menjadi Dimensi. Sekarang peta harus mempunyai jalan yang dipaparkan menggunakan nilai garis lintang dan garis bujur yang dikumpulkan.

Untuk membersihkan data anda untuk kesilapan (yang juga dapat dilakukan sebelum membuka Tableau), Anda dapat memilih untuk mengecualikan beberapa lingkaran lokasi dengan mengkliknya dan memilih pilihan. Modul GPS saya tidak 100% tepat, kerana beberapa bahagian jalan saya belum dijumpai, tetapi jalan umum telah direkodkan.

Langkah 6: Memperhalusi Viz

Memperhalusi Viz
Memperhalusi Viz

Bahagian terakhir adalah menjadikan data ini lebih mudah dibaca. Sekiranya anda mahukan konteks jalan, anda boleh pergi ke Peta> Lapisan Peta> Jalan dan Jalan Raya. Jangan ragu untuk bereksperimen dengan Mark yang lain. Saya menyeret Speed over Color untuk menunjukkan bagaimana intensiti warna meningkat apabila kelajuan meningkat. Saya juga menggunakan Detail dan bukannya Label untuk Kursus kerana Label akan memaparkan nombor di peta sedangkan saya hanya mahu maklumat muncul semasa anda mengarahkan kursor ke titik lokasi.

Sekarang setelah anda mengalami keseluruhan proses mengumpulkan data dan menampilkan apa yang anda miliki pada visualisasi data, anda dapat menerapkannya pada projek lain!

oleh Pingdi Huang, Musim Panas 2018

Disyorkan: