Mündəricat:
- Addım 1: Materiallar
- Addım 2: Linaro'yu Dragonboard 410c -də quraşdırın
- Addım 3: Addım 2: Kitabxanaları Qurun və GitHub -dan Mənbə Kodunu Yükləyin
- Addım 4: AWS IoT Core, DynamoDB qurmaq
- Addım 5: Twilio və Dweet API -lərini qurun
- Addım 6: Çətinliklər
- Addım 7: Nəticələr və Gələcək İş
- Addım 8: İstinadlar
Video: Cambus - Şəhər Avtobuslarında Məlumat Toplama Sistemi: 8 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
İctimai nəqliyyatda məlum olan problemlər və çətinliklər arasında əhalinin real vaxt məlumatları yoxdur və ən az iddialıdır. İctimai nəqliyyat avtobuslarının sıxlığı, saatlarla trafikdə olsalar da öz avtomobillərindən istifadə etməyi üstün tutan istifadəçiləri uzaqlaşdırır. Avtobusların sayı kimi real vaxt məlumatı bir istifadəçiyə asanlıqla verilərsə, o, növbəti avtobusu gözləməyi, yoxsa avtobusla dolaşmağı və ya öz nəqliyyat vasitəsini istifadə etməyi seçə bilər. Seçim gücü ictimai nəqliyyatı istifadəçi üçün daha cəlbedici bir seçim halına gətirir.
Evdəki insanları saymaq və ya qiymətləndirmək bir çox şəkildə edilə bilər, bunlar arasında ən çox istifadə edilənlər:
- Termal görüntülər;
- Kompüter görmə qabiliyyəti;
- Üz sayğacı;
Kompüter görmə qabiliyyətindən istifadə edərək bir mühitdə insanları qiymətləndirməyin bir neçə çətinliyi arasında əsas olanlar bunlardır:
- İnsanların qapanması;
- Ters işıqlandırma;
- Statik okklüziya, yəni obyektlərin arxasındakı insanlar;
- Kameranın ətraf mühitə açısı;
Bu layihənin çətinliyi, görüntünün arxa planının çıxarılmasına ən yaxşı kömək edəcək kameranın düzgün bucağını və avtobus daxilində gün ərzində dəyişən parlaqlığı bilməkdir.
Təklifin əsas məqsədi, sıxlığı qiymətləndirmək və nəticələrini smartfonlar vasitəsilə əhaliyə təqdim etmək üçün möhkəm və konfiqurasiya edilə bilən bir model yaratmaqdır.
Addım 1: Materiallar
Layihə üçün lazım olan material aşağıdakılardır:
1 x Dragon Board 410c;
1 x USB kamera;
1 x Android smartfonu;
Addım 2: Linaro'yu Dragonboard 410c -də quraşdırın
Linaro 17.09 -u DragonBoard 410c -də quraşdırmaq üçün aşağıdakı linkdəki təlimatları izləyin. GPS üçün kernel dəstəyi üçün Linaro 17.09 quraşdırmanızı məsləhət görürük.
www.96boards.org/documentation/consumer/dr…
Addım 3: Addım 2: Kitabxanaları Qurun və GitHub -dan Mənbə Kodunu Yükləyin
Cambus modul bir arxitektura və kod dizaynına malikdir. Öz maşın öyrənmə alqoritminizi kodlaşdırmaq, digər bulud xidmətinə keçmək və öz istifadəçi tətbiqlərinizi yaratmaq mümkündür.
Cambus layihəsini həyata keçirmək üçün əvvəlcə mənbə kodunu github -dan yükləməlisiniz (https://github.com/bmonteiro00/cambus). Python quraşdırın (Cambus, 2.7 və> 3.x versiyalarında işləyəcək) və 'pip' (sudo apt-get install python-pip) istifadə edərək aşağıdakı kitabxanaları quraşdırın. Linaro sistemində bir çox kitabxana qurmaq lazım olacaq (Cambus sistemini SO -dan təcrid etmək üçün bir virtual mühit yaratmaq tövsiyə olunur - pip install virtualenv). Zəhmət olmasa aşağıdakı kitabxanaları quraşdırın:
- paho-mqtt quraşdırın
- pip qurmaq numpy
- opencv-python quraşdırın
- opencv-Contrib-python quraşdırın
- pip quraşdırın
- pip matplotlib quraşdırın
Əsas proqram siniflərə bölündü:
- CamBus - əsas sinif;
- Sensor - GPS mövqeyi, temperatur, Co2 kimi məlumatlar əldə etmək üçün bir sinif.
- Şəkil işləmə alqoritmi olan əks sinif.
Bütün kitabxanaların quraşdırılıb quraşdırılmadığından əmin olun və CamBus_v1.py python proqramını icra edin.
Addım 4: AWS IoT Core, DynamoDB qurmaq
AWS IoT nüvəsini məlumatları daxil etmək üçün TLS və X509 və NoSQL və DynamoDB ilə MQTT brokeri olaraq istifadə etdik. Https://aws.amazon.com/free ünvanında bir hesab yaratmalı olacaqsınız.) Sonra, bir şey yaratmaq və Dynamo ilə inteqrasiya etmək üçün aşağıdakı adımları yerinə yetirəcəksiniz:
docs.aws.amazon.com/iot/latest/developergu…
Addım 5: Twilio və Dweet API -lərini qurun
Twilio SMS xidməti də quruldu. Bu addımı tamamlamaq üçün təlimatlar üçün aşağıdakı URL -yə baxın:
www.twilio.com/docs/iam/api/account
Android tətbiqi ilə sistem arasındakı inteqrasiya Dweet platformasından istifadə edərək REST vasitəsi ilə həyata keçirildi.
dweet.io/
Addım 6: Çətinliklər
İnkişafımız zamanı OpenCV texnikasından başlayaraq AWS platformasına qədər bir çox çətinliklərlə qarşılaşdıq. C/C ++ - da inkişaf edən vaxta qənaət etmək üçün Python ilə kod yazmağa qərar verdik. İnkişafımız zamanı yalnız əsas Opencv üsulları, məsələn:
• cv2. GaussBlur (..)
• cv2. eşik (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Bu əsas üsullar insanları aşkar etməkdə yaxşı bir keyfiyyətə çatmaq üçün kifayət deyildi. Sarsıdıcı video ML (Maşın Öyrənmə) olan ssenarilərdən istifadə edildi. Beləliklə, OpenCV maşın öyrənmə kitabxanasından istifadə etmək qərarına gəldik və başqa bir problemlə qarşılaşdıq, çünki ML alqoritmi üçün yaxşı bir məlumat girişini tapmaq çox günlər sərf etdiyimiz bir problem idi. OpenCV SVM alqoritmindən istifadə etdik, amma işləmədik. OpenCV Naive Bayses -dən istifadə etdik və bu yaxşı işləyir. Tensorflow və CNN neyron şəbəkələrindən istifadə etməyə çalışdıq, amma hələlik bunu bacarmadıq. CNN, bizdə olmayan bir çox işləmə gücündən istifadə edir. OpenCV ML və əsas OpenCV metodlarından istifadə etmək, insanları aşkar etməkdə yaxşı bir sürətə çatmağımıza kömək etdi. Buna baxmayaraq, hər bir video növü üçün, insanları yaxşı bir şəkildə aşkar etmək və yalan pozitivliklərdən qaçmaq üçün OpenCV parametrlərini uyğunlaşdırmalıyıq. Bu iki ayın ortasında, məlumat toplama mərkəzini yaratmaq üçün ilk fikrimizi inkişaf etdirdik. yalnız sərnişin sayı və GPS yeri. İstilik və sair kimi digər sensorlardan istifadə edərək məlumat toplamamaq qərarına gəldik. Tətbiqi parametrləşdirmək və konfiqurasiya etmək üçün.ini faylı yaratdıq. Cambus.ini faylında tətbiqi bir çox cəhətdən konfiqurasiya edə bilərsiniz.
Addım 7: Nəticələr və Gələcək İş
Videoda gördüyünüz kimi sayğac dəqiq işləyir. Mavi xətlər giriş limitini, qırmızı xətt isə çıxış limitini göstərir. Bu vəziyyətdə, bir avtobusa yerləşdirə bilmədiyimiz üçün simulyasiya etmək üçün bir video istifadə edildi.
Videonun ölçüsü, kamera açısı, parlaqlığı və s. İlə bağlı vəziyyətinizdə bir dəyişiklik edilməli olduğunu unutmayın. Hər növ videonun öz parametrləri uyğunlaşdırılması, məsələn, kernel çəkmə fonu və s.
Zəhmət olmasa cambus.ini saytındakı dəyişənləri dəyişdirərək MQTT brokerini və s.
Gələcək tətbiqlərdə sistemə temperatur, rütubət və CO2 kimi sensorlar əlavə etməyi düşünürük. Fikir, şəhərlərin ətrafındakı məlumatları cəmiyyətə təqdim etməkdir.
Layihəni yaxşılaşdırmaq üçün edə biləcəyiniz növbəti addımları sadalayırıq:
- C/C ++ istifadə edərək kodu yenidən yazın;
- ML alqoritmini təkmilləşdirmək;
- Python kodunu yenidən faktorlayın;
- Avtobusa yerləşdirmə;
Verilən bütün dəstəyə görə Embarcados və Qualcomm -a təşəkkür edirik.
Əməkdaşlar:
Bruno Monteiro - [email protected]
Kleber Drobowok - [email protected]
Vinicius de Oliveira - [email protected]
Addım 8: İstinadlar
[1]
[2]
[3]
[4]
[5]
Tövsiyə:
Əlaqə toplama sistemi: 4 addım
Geribildirim Toplama Sistemi: Hadisələr və seminarlar sonrası rəy toplamaq həmişə maraqlıdır. Bu problemi həll etmək üçün arduino əsaslı geribildirim toplama sistemi hazırladıq. Bu layihədə düyməni basıldıqca geribildirim toplayacaq bir elektron cihaz quracağıq
MotoStudent Elektrikli Yarış Velosipedinin Məlumat Alınması və Məlumat Vizualizasiya Sistemi: 23 addım
Bir MotoStudent Elektrik Yarış Velosipedi üçün Məlumat Toplama və Məlumat Görüntüləmə Sistemi: Məlumat əldə etmə sistemi, xarici sensorlardan məlumat toplamaq, sonra saxlamaq və emal etmək üçün birlikdə işləyən aparat və proqram təminatı toplusudur və qrafik olaraq görüntülənə və təhlil edilə bilər. mühəndislərə imkan verir
Arduino ilə Python istifadə edərək MySQL Serverə RFID Məlumat Göndərərək İştirak Sistemi: 6 Addım
Arduino ilə Python istifadə edərək MySQL Serverə RFID Məlumat Göndərərək İştirak Sistemi: Bu Layihədə RFID-RC522-ni arduino ilə əlaqələndirdim və sonra RFID məlumatlarını phpmyadmin verilənlər bazasına göndərirəm. Əvvəlki layihələrimizdən fərqli olaraq, bu vəziyyətdə heç bir ethernet qalxanı istifadə etmirik, burada yalnız ar -dan gələn serial məlumatlarını oxuyuruq
Arduino Parmak İzi İştirakçılığı Sistemi/ Bulud Məlumat Saxlama: 8 Addım
Arduino Parmak İzi İştirakçılığı Sistemi/ Bulud Məlumat Saxlama: Bu və digər möhtəşəm dərsləri ElectroPeak -in rəsmi internet saytında oxuya bilərsinizBaxış Bu günlərdə IoT cihazlarının istifadəsi və tətbiqi haqqında öyrənmək IoT sistemlərinin artan istifadəsi səbəbindən çox vacibdir. Bu dərslikdə, biz
ESP8266 və PubNub ilə IoT Aktiv Sensor Məlumat Toplama Mərkəzi: 9 Addım (Şəkillərlə)
ESP8266 və PubNub ilə IoT Aktivləşdirilmiş Sensor Məlumat Toplama Mərkəzi: ESP8266 -dakı dərsliklərin çoxu ya yeni başlayanlar səviyyəsindədir (uzaqdan bir LED yanıb -sönür), ya da liderin yanıb -sönmə bacarıqlarını təkmilləşdirmək və təkmilləşdirmək üçün bir şey axtaran biri üçün çox mürəkkəbdir. öyrədici məqsədlər, bu boşluğu aradan qaldırmaqdır