Isi kandungan:
- Langkah 1: Bahan
- Langkah 2: Pasang Linaro di Dragonboard 410c
- Langkah 3: Langkah 2: Pasang Perpustakaan dan Muat turun Kod Sumber Dari GitHub
- Langkah 4: Menyiapkan AWS IoT Core, DynamoDB
- Langkah 5: Sediakan API Twilio dan Dweet
- Langkah 6: Cabaran
- Langkah 7: Hasil dan Kerja Masa Depan
- Langkah 8: Rujukan
Video: Cambus - Sistem Pengumpulan Data pada Bas Bandar: 8 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Di antara masalah dan kesukaran yang diketahui dalam pengangkutan awam, penduduk tidak mempunyai maklumat masa nyata dan paling tegas. Kesesakan bas pengangkutan awam yang ramai mendorong pengguna pergi, yang lebih suka menggunakan kenderaan sendiri, walaupun mereka masih dalam keadaan berjam-jam. Sekiranya maklumat masa nyata, seperti jumlah bas, mudah didapati oleh pengguna, dia boleh memilih sama ada menunggu bas seterusnya atau berkeliling dengan bas atau menggunakan kenderaan sendiri. Kekuatan pilihan menjadikan pengangkutan awam menjadi pilihan yang lebih menarik bagi pengguna.
Menghitung atau mengira orang di dalam rumah boleh dilakukan dengan pelbagai cara, antaranya yang paling biasa digunakan adalah:
- Imej terma;
- Visi komputer;
- Kaunter muka;
Di antara beberapa kesukaran untuk mengira orang di persekitaran menggunakan penglihatan komputer, yang utama adalah:
- Kesalahan orang;
- Lampu terbalik;
- Oklusi statik, iaitu orang di belakang objek;
- Sudut kamera ke persekitaran;
Cabaran untuk projek ini adalah untuk mengetahui sudut kamera yang betul yang akan membantu mengurangkan latar belakang gambar, dan juga cahaya yang berubah-ubah pada siang hari di dalam bas.
Objektif utama cadangan ini adalah untuk membuat model yang kuat dan dapat dikonfigurasi untuk menganggarkan kepadatan orang ramai dan membuat hasilnya tersedia untuk penduduk melalui telefon pintar.
Langkah 1: Bahan
Bahan yang diperlukan untuk projek ini adalah yang berikut:
1 x Papan Naga 410c;
1 x kamera USB;
1 x Telefon Pintar Android;
Langkah 2: Pasang Linaro di Dragonboard 410c
Ikuti arahan pada pautan di bawah untuk memasang Linaro 17.09 di DragonBoard 410c. Kami mengesyorkan memasang Linaro 17.09 untuk sokongan kernel untuk GPS.
www.96boards.org/documentation/consumer/dr…
Langkah 3: Langkah 2: Pasang Perpustakaan dan Muat turun Kod Sumber Dari GitHub
Cambus mempunyai seni bina modular dan reka bentuk kod. Anda boleh membuat kod algoritma pembelajaran mesin anda sendiri, menukar ke perkhidmatan awan lain dan membuat aplikasi pengguna anda sendiri.
Untuk menjalankan projek cambus, pertama anda perlu memuat turun kod sumber dari github (https://github.com/bmonteiro00/cambus). Pasang python (Cambus adalah mod untuk dijalankan pada verison 2.7 dan> 3.x) dan perpustakaan berikut menggunakan 'pip' (sudo apt-get install python-pip). Diperlukan untuk memasang sekumpulan perpustakaan dalam sistem Linaro (Juga, disarankan untuk membuat persekitaran maya - pip install virtualenv - untuk mengasingkan sistem Cambus dari SO). Sila pasang pustaka berikut:
- memasang pip paho-mqtt
- memasang pip numpy
- memasang pip opencv-python
- memasang pip opencv-contrib-python
- pip pasang twilio
- memasang pip matplotlib
Program utama dibahagikan kepada kelas:
- CamBus - kelas utama;
- Sensor - kelas untuk mendapatkan data seperti kedudukan GPS, suhu, Co2.
- Kaunter kelas dengan algoritma pemprosesan imej.
Pastikan jika semua perpustakaan dipasang dan jalankan python CamBus_v1.py.
Langkah 4: Menyiapkan AWS IoT Core, DynamoDB
Kami menggunakan teras AWS IoT sebagai broker MQTT dengan TLS dan X509 dan NoSQL dan DynamoDB untuk log data. Anda perlu membuat akaun di https://aws.amazon.com/free.). Seterusnya, anda akan mengikuti langkah-langkah di bawah ini untuk membuat sesuatu dan berintegrasi dengan Dynamo:
docs.aws.amazon.com/iot/latest/developergu…
Langkah 5: Sediakan API Twilio dan Dweet
Perkhidmatan SMS Twilio juga disediakan. Lihat URL di bawah untuk mendapatkan arahan untuk menyelesaikan langkah ini:
www.twilio.com/docs/iam/api/account
Penyatuan antara aplikasi android dan sistem dilakukan dengan cara REST menggunakan platform Dweet. Tidak perlu mendaftar.
dweet.io/
Langkah 6: Cabaran
Semasa perkembangan kami banyak cabaran yang kami hadapi, bermula dari teknik OpenCV hingga platform AWS. Kami memutuskan untuk membuat kod dengan Python untuk menjimatkan masa berkembang di C / C ++. Semasa pembangunan kami hanya kaedah Opencv asas seperti:
• cv2. GaussianBlur (..)
• cv2.threshold (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Kaedah asas ini tidak mencukupi untuk mencapai kualiti yang baik dalam mengesan orang. Senario dengan ML video goyah (Machine Learning) digunakan. Oleh itu, kami memutuskan untuk menggunakan perpustakaan pembelajaran mesin OpenCV dan kami mendapat masalah lain kerana untuk mencari input data yang baik untuk algoritma ML adalah masalah yang kami habiskan selama bertahun-hari. Kami telah menggunakan algoritma OpenCV SVM tetapi tidak berjaya. Kami menggunakan OpenCV Naive Bayses dan ini berfungsi dengan baik. Kami telah mencuba menggunakan rangkaian saraf Tensorflow dan CNN, namun kami tidak mewujudkannya buat masa ini. CNN menggunakan banyak kuasa pemprosesan, sesuatu yang tidak kami miliki. Menggunakan OpenCV ML dan kaedah asas OpenCV membantu kami mencapai tahap yang baik untuk mengesan orang. Walaupun begitu, untuk setiap jenis video kita harus menyesuaikan parameter OpenCV untuk mencapai tahap yang baik untuk mengesan orang dan mengelakkan positif yang salah. Pada pertengahan dua bulan ini, kami mengembangkan idea pertama kami untuk melakukan pusat pengumpulan data tidak hanya bilangan penumpang dan lokasi GPS. Kami memutuskan untuk mengumpulkan data bukan menggunakan sensor lain seperti suhu dan sebagainya. Kami membuat fail.ini untuk memarematiskan aplikasi dan membuatnya dapat dikonfigurasi. Pada fail Cambus.ini anda dapat mengkonfigurasi aplikasi dengan banyak cara.
Langkah 7: Hasil dan Kerja Masa Depan
Seperti yang anda lihat dalam video, kaunter berfungsi dengan tepat. Garis biru menandakan had input dan garis merah had output. Dalam hal ini, video digunakan untuk mensimulasikan kerana kami tidak dapat menyebarkannya ke bus.
Perlu diingat bahawa ada beberapa perubahan yang perlu dibuat pada keadaan anda mengenai ukuran video, sudut kamera, cahaya dan lain-lain. Setiap jenis video mestilah menjadi penyesuaian parameternya sendiri seperti latar belakang pengecutan kernel opencv dan sebagainya.
Sila ubah juga pemboleh ubah di cambus.ini, menunjukkan broker MQTT dan sebagainya.
Kami mempertimbangkan dalam pelaksanaan masa depan untuk menambahkan sensor, misalnya, suhu, kelembapan dan CO2 dalam sistem. Ideanya adalah untuk mendapatkan data di sekitar bandar sehingga tersedia untuk masyarakat.
Berikut ini kami menghitung langkah seterusnya yang boleh anda lakukan untuk memperbaiki projek ini:
- Tulis semula kod menggunakan C / C ++;
- Meningkatkan algoritma ML;
- Faktor semula kod python;
- Penyebaran ke dalam bas;
Kami mengucapkan terima kasih kepada Embarcados dan Qualcomm atas semua sokongan yang diberikan.
Kerjasama:
Bruno Monteiro - [email protected]
Kleber Drobowok - [email protected]
Vinicius de Oliveira - [email protected]
Langkah 8: Rujukan
[1]
[2]
[3]
[4]
[5]
Disyorkan:
EAL - Industri 4.0 Pengumpulan Data GPS pada Kereta Rc: 4 Langkah
EAL - Industri 4.0 Pengumpulan Data GPS pada Rc Car: Dalam Instruksional ini, kita akan membincangkan bagaimana kita menyiapkan modul GPS pada sebuah kereta RC dan menyiarkan data yang dikumpulkan ke laman web untuk memudahkan pemantauan. Kami telah membuat petunjuk tentang bagaimana kami membuat kereta RC kami, yang boleh didapati di sini. Ini menggunakan
Peta Pelancong Bandar Baru Taipei !!!: 6 Langkah
Peta Pelancong Bandar Baru Taipei !!!: Dalam projek ini, saya akan membuat kotak dan akan ada peta Bandar Baru Taipei di atasnya. Matlamat projek ini adalah untuk memberi tahu kanak-kanak dan orang dewasa mengetahui 3 kawasan besar utama di New Taipei City. Terdapat 3 butang yang diletakkan di sebelah kotak
Cara Membangun Bandar Pintar Antarabangsa dalam 10 Hari: 12 Langkah
Cara Membangun Bandar Pintar Antarabangsa dalam 10 Hari: Saya sedang mengusahakan program yang mengumpulkan pelajar dari China, Filipina dan Amerika Syarikat bersama-sama pasukan untuk bertanding dalam World Robot Olympiad di Long Beach, California. Tema tahun ini adalah Bandar Pintar. Oleh itu, kami membina Bandar Pintar dari Ju
Paparan Suhu dan Kelembapan dan Pengumpulan Data Dengan Arduino dan Pemprosesan: 13 Langkah (dengan Gambar)
Paparan Suhu dan Kelembapan dan Pengumpulan Data Dengan Arduino dan Pemprosesan: Pengenalan: Ini adalah Projek yang menggunakan papan Arduino, Sensor (DHT11), komputer Windows dan program Pemprosesan (boleh dimuat turun percuma) untuk memaparkan data Suhu, Kelembapan dalam digital dan borang graf bar, masa dan tarikh paparan dan jalankan waktu mengira
Pusat Pengumpulan Data Sensor IoT Diaktifkan Dengan ESP8266 & PubNub: 9 Langkah (dengan Gambar)
Pusat Pengumpulan Data Sensor Diaktifkan IoT Dengan ESP8266 & PubNub: Sebilangan besar tutorial mengenai ESP8266 sama ada di peringkat pemula (berkedip dari jauh) atau terlalu rumit untuk seseorang yang sedang mencari sesuatu untuk diperbaiki dan ditingkatkan berdasarkan kemahirannya yang berkedip. boleh diarahkan bertujuan untuk merapatkan jurang ini untuk mencipta