Isi kandungan:
- Langkah 1: Memperolehi Bahan
- Langkah 2: Menyiapkan Peranti
- Langkah 3: Mengekodkan Arduino untuk Mengekstrak Data
- Langkah 4: Memanfaatkan Proses untuk Mendengar
- Langkah 5: Memaparkan Data di Tableau Public
- Langkah 6: Memperhalusi Viz
Video: The Map Mapper: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
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
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
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
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
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
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
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:
Sistem Makluman Tempat Letak Balik Kereta Arduino - Langkah demi Langkah: 4 Langkah
Sistem Makluman Tempat Letak Balik Kereta Arduino | Langkah demi Langkah: Dalam projek ini, saya akan merancang Litar Sensor Tempat Letak Kereta Berbalik Arduino yang ringkas menggunakan Sensor Ultrasonik Arduino UNO dan HC-SR04. Sistem amaran Car Reverse berasaskan Arduino ini dapat digunakan untuk Navigasi Autonomi, Robot Ranging dan rangkaian lain
ESP32 Scraper-parser-mailer dan Live Mapper: 4 Langkah (dengan Gambar)
ESP32 Scraper-parser-mailer dan Live Mapper: Hello World! Ini adalah Instructable pertama saya! Saya Marco dari Grosseto Itali, saya bukan pemaju, saya bukan jurutera elektronik tetapi saya panduan alam sekitar di taman semula jadi tempatan kami (taman semula jadi Maremma). Di koperasi saya banyak bekerja dengan sampan
Langkah demi Langkah Pembinaan PC: 9 Langkah
Langkah demi Langkah Pembinaan PC: Persediaan: Perkakasan: MotherboardCPU & CPU cooler PSU (Unit bekalan kuasa) Penyimpanan (HDD / SSD) RAMGPU (tidak diperlukan) Alat kes: Pemutar skru Gelang ESD / tampal matsthermal dengan aplikator
Tiga Litar Pembesar Suara -- Tutorial Langkah demi Langkah: 3 Langkah
Tiga Litar Pembesar Suara || Tutorial Langkah-demi-Langkah: Loudspeaker Circuit menguatkan isyarat audio yang diterima dari persekitaran ke MIC dan menghantarnya ke Speaker dari tempat audio diperkuat dihasilkan. Di sini, saya akan menunjukkan kepada anda tiga cara berbeza untuk membuat Loudspeaker Circuit ini menggunakan:
Pengangkatan Akustik Dengan Arduino Uno Langkah demi Langkah (8-langkah): 8 Langkah
Acoustic Levitation With Arduino Uno Step-by Step (8-step): transduser suara ultrasonik L298N Dc power adaptor wanita dengan pin dc lelaki Arduino UNOBreadboardBagaimana ini berfungsi: Pertama, anda memuat naik kod ke Arduino Uno (ia adalah mikrokontroler yang dilengkapi dengan digital dan port analog untuk menukar kod (C ++)