Мазмұны:

Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c: 7 қадам
Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c: 7 қадам

Бейне: Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c: 7 қадам

Бейне: Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c: 7 қадам
Бейне: №1 орта мектеп төтенше жағдай кезіндегі эвакуациялау және сейсможаттығу өткізілді. #текели #мектеп 2024, Желтоқсан
Anonim
Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c
Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c
Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c
Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c
Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c
Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c

Төтенше жағдайларды бақылау үшін жұмыс істейтін қауіпсіздік жүйелерін іздей отырып, барлық ақпаратты өңдеу өте қиын екенін байқауға болады. Бұл туралы ойлана отырып, біз өз білімімізді адамдардың өміріне қауіп төніп тұрған жағдайларды болжауға мүмкіндік беретін біртұтас жүйені құру үшін аудионы/суретті өңдеу, сенсорлар мен жетектерді қолдануды шештік.

Бұл жоба жергілікті сенсор мен қашықтағы құрылғыларды жинап, алынған мәліметтерден маңызды ақпаратты алуға қабілетті өңдеу қуаты бар айдаһар тақтасына жібереді.

Қашықтағы құрылғы-бұл HC-06 модулімен барлық ақпаратты тасымалдауға мүмкіндік беретін Arduino тақтасы және үлкен көлемді деректерді өңдеуге қабілетті арзан желі.

1 -қадам: Қажетті компоненттер

Алдымен сіз қандай сенсорлар мен актуаттарды қолданатындығыңызды шешіп, архитектуралық эскиз жасауыңыз керек.

Біздің жағдайда біз ARDUINO Pro Mini -де бекітілген сенсорларды қолданамыз, олар төменде келтірілген:

  • PIR (пассивті инфрақызыл-бар болу сенсоры)
  • DHT 11 (ылғалдылық пен температура сенсоры)
  • СО сенсоры (көміртегі тотығы сенсоры)
  • Шу датчигі

Жетектер:

  • мотор серво
  • дыбыстық сигнал

Байланыс:

Bluetooth модулі HC-06

Dragonboard 410c -те бізде барлық деректерді өңдеуге арналған бірнеше сенсорлар мен бағдарламалар болады:

Датчиктер:

  • DHT 11
  • Күн сәулесінің сенсоры

Жетектер:

  • Эстафета
  • Жарық күйі
  • Дыбыстық сигнал

2 -қадам: Қашықтағы құрылғыны жасау

Қашықтағы құрылғыны жасау
Қашықтағы құрылғыны жасау

Енді келесі барлық компоненттерді Arduino тақтасына қосып, қоршаған ортадан (шу, ылғалдылық, температура және т.

Концекцияларға назар аудару қажет, өйткені барлық сенсорда консистенция үшін арнайы орындар бар.

Жүйеде деректерді жинауға арналған бірнеше құрылғы болуы мүмкін. Қоршаған ортаға неғұрлым көп қондырғылар орнатылса, деректерді өңдеу нәтижесінде алынған диагностика дәлірек болады. Пайдалы болуы мүмкін кеңірек ақпарат алу мүмкін болғандықтан.

Біз arduino тақтасын қолдануға шешім қабылдадық, себебі сенсорлар көбірек, және бұл ақпаратты алыс жерде әр түрлі жерлерде орнатуға болады.

Жергілікті құрылғы - бұл қуатты SnapDragon 410 процессорымен дыбыс, бейне, сандық және аналогтық ақпаратты өңдейтін DragonBoard 410c.

Компоненттерді орналастыру (Remote Devide)

Бір бөлікте arduino pro mini тақтасындағы дұрыс түйреуіштерге қосылуы керек түйреуіштер бар.

HC-06 Bluetooth модулінде 4 түйреуіш бар:

  • TX (Transmissor) -> RX Arduino түйреуішіне қосылған
  • RX (Қабылдағыш) -> TX Arduino түйреуішіне қосылған
  • VCC -> 5v қосылған
  • GND

DHT 11 сенсорында 4 түйреуіш бар (бірақ тек 3 қолданыста):

  • Сигнал -> цифрлық түйреуішке бекітілген
  • VCC -> 5v қосылған
  • GND

PIR сенсорында 3 түйреуіш бар:

  • Сигнал -> цифрлық түйреуішке қосылған
  • VCC -> 5v қосылған
  • GND

Газ сенсорында 4 түйреуіш бар:

  • Digital OUT -> цифрлық түйреуішке бекітілген (егер сандық ақпарат қажет болса)
  • Аналогты OUT -> біздің жағдайда біз оны аналогтық істікшеге қосамыз
  • VCC -> 5v қосылған
  • GND

Шу датчигінде (KY-038) 3 түйреуіш бар:

  • Сигнал -> аналогтық түйреуішке қосылған
  • VCC -> 5v қосылған
  • GND

Arduino қашықтағы құрылғы коды:

/ * * Arduino Blutooth арқылы деректерді жібереді * * Сенсорлардың мәні * String -те оқылады, біріктіріледі және сериялық порт арқылы жіберіледі. */ #«DHT.h» қосу #DHTPIN 3 анықтау #DHTTYPE DHT22 анықтау #PIRPIN 9 #анықтау COPIN A6 DHT dht (DHTPIN, DHTTYPE); ылғалдылық, температура; логикалық пир = 0; int co, микрофон; Жол msg = «»; чар номы [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); температура = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = «#;» + Жол (ылғалдылық) + «;» + Жол (температура)+ «;»+ Жол (микрофон)+ «;»+ Жол (пир)+ «;» + Жол (co) + «;#» + «\ n»; Serial.print (хабар); кешіктіру (2000); }

Кодты түсіндіру:

Arduino -да қолданылатын барлық түйреуіштер кодтың басында келтірілген және сенсорлардың жұмысына қажетті сәйкес кітапханалар инициализацияланған. Барлық деректер әр сенсордан 2000 миллисекунд сайын оқылатын мәндерді алатын сәйкес айнымалыларға жіберіледі, содан кейін олардың барлығы жолға біріктіріледі, содан кейін ол сериялық түрде жазылады. Бұл жерден DragonBoard тақтасындағы питон кодын алу өте оңай.

3 -қадам: бағдарламалық қамтамасыз ету мен кітапханалар

Барлық алынған деректерді өңдеу және қауіпсіздік жүйесін басқару үшін Qualcomm DragonBoard 410c бағдарламалық жасақтамасы мен кітапханаларын пайдалану қажет.

Бұл арнайы жобада біз мыналарды қолданамыз:

Бағдарламалық қамтамасыз ету:

  • Python
  • Ардуино

Платформалар:

  • Amazon AWS -> онлайн -сервер
  • Phant -> Хост деректері қызметі

Кітапханалар:

  • OpenCV-бейне өңдеу (https://opencv-python-tutroals.readthedocs.io/kz/latest/)
  • PyAudio - дыбысты өңдеу (https://people.csail.mit.edu/hubert/pyaudio/)
  • Толқын (https://www.physionet.org/physiotools/wave-installation.shtm)
  • AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
  • Напси (https://www.numpy.org)
  • SciKit1 - Машинаны оқытуды үйрету және болжау (https://scikit-learn.org/stable/install.html)
  • cPickle - машиналық оқыту параметрлерін сақтаңыз (https://pymotw.com/2/pickle/)
  • MRAA - GPIO -ны қолданыңыз (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-GPIO-ны қолданыңыз (https://github.com/intel-iot-devkit/upm)
  • PySerial - Bluetooth құрылғысымен сериялық байланыс үшін пайдаланыңыз (https://pythonhosted.org/pyserial/)

4 -қадам: SSH пайдалану және Libs орнату

Алдымен сіз айдаһар тақтасынан IP мекенжайын алуыңыз керек, ол үшін тышқанмен, пернетақта мен HDMI мониторымен қосылған DragonBoard тақтасын қосу қажет. Тақта қосылған кезде сіз терминалға кіріп, пәрменді орындағаннан гөрі, желіге қосылуыңыз керек:

sudo ifconfig

содан кейін сіз IP -адресті ала аласыз.

IP мекенжайы арқылы сіз Dragonboard -ге SHH арқылы кіре аласыз, ол үшін тақтаға бір желіге қосылған компьютерде терминалды ашу қажет. Терминалда сіз пәрменді іске қоса аласыз:

ssh linaro@{IP}

(сіз {IP} мекенжайын айдаһар тақтасындағы IP мекенжайымен алмастыруыңыз керек).

Орнату қажет бірінші lib - бұл mraa lib. Ол үшін терминалда келесі пәрменді іске қосу қажет:

sudo add-apt-repository ppa: mraa/mraa && sudo apt-ge; t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

Python үшін opencv орнату үшін тек мына пәрменді орындау қажет:

sudo apt-get install python-opencv

PyAudio орнату үшін мына пәрменді орындау қажет:

sudo apt-get python-pyaudio python3-pyaudio орнатыңыз

WAVE және AudioOp libs тақтаға орнатылған. Numpy орнату үшін пәрменді іске қосу қажет:

sudo apt-get python-numpy python-scipy орнатыңыз

Орнату керек соңғы lib - бұл scikit, оны орнату үшін pip орнатылған болуы керек. Сіз тек пәрменді іске қосуыңыз керек:

pip scikit-lear орнатыңыз

5 -қадам: Bluetooth протоколы

Bluetooth протоколы
Bluetooth протоколы
Bluetooth протоколы
Bluetooth протоколы
Bluetooth протоколы
Bluetooth протоколы

Bluetooth арқылы Arduino -мен DragonBoard байланысы

Bluetooth модулі (HC-06) бастапқыда Arduino Nano-ға келесі мысалға сәйкес қосылды:

Linaro (амалдық жүйе DragonBoard бағдарламасында қолданыстағы жобада пайдаланылады) графикалық интерфейсін қолданып, төменгі жолақтың оң жағында Bluetooth белгісін нұқыңыз, содан кейін «Жаңа құрылғыны орнату» түймесін басып, Bluetooth модулімен жұпта қалдырыңыз. Bluetooth белгісін қайта басу арқылы модульдің шынымен қосылғанын тексеріңіз, «Құрылғылар …» түймесін басып, құрылғыңыздың атауы тізімге қосылғанын тексеріңіз. Енді «Bluetooth құрылғылары» экранында құрылғыны таңдап, оны тінтуірдің оң жақ түймесімен басып, Bluetooth модулі қосылған портқа назар аударыңыз (мысалы: «rfcomm0»). Ескерту: Құрылғы қосылған порт атауы деректер алмасуды қосу үшін келесі қадам үшін маңызды болады.

DragonBoard деректер алмасуы мен Bluetooth орнату

Негізінде біз сілтеме бойынша қадам бойынша жүреміз: https://www.uugear.com/portfolio/bluetooth-communi…, бірақ біз жұптастыру бөлігін тек python кодтары мен Arduino орындауды орындаған жоқпыз. Питонда bluetooth қосылған портта инициализацияланған сериялық кітапхана пайдаланылды, сондықтан питон коды bluetooth модулі арқылы arduino -ға қосылған сенсорлардың мәліметтерін оқиды.

6 -қадам: DragonBoard 410c -те Mezzanine пайдалану

DragonBoard 410c -те Mezzanine пайдалану
DragonBoard 410c -те Mezzanine пайдалану

Айдаһар тақтасы мен компоненттер арасында байланыс орнату үшін біз 96 тақталар жасаған Mezannine деп аталатын қалқан түрін қолданамыз.

Бұл қалқанның көмегімен сыртқы құрылғыларды қосу әлдеқайда жеңіл болады.

Коннекторлар тоғайдың даму жиынтығынан алынған, сондықтан ол екі жолды да қосатын especif кабелін қолданады.

Барлық бөліктерді осы веб-сайтта оңай табуға болады:

Біз бұл жинақтарды төменде қолданамыз:

  • Гроув эстафетасы
  • Grove күн сәулесінің сенсоры
  • Гроув светодиод
  • Grove температурасы мен гуми сенсоры
  • Grove Buzzer

7 -қадам: DragonBoard 410c бағдарламасы

DragonBoard бағдарламасының бөлігі Python -да кодталған, ал Arduino -да қолданылатын бағдарлама C ++ тілінде жасалған. Әр 2 минут сайын Arduino өзіне бекітілген барлық сенсорды оқиды. Arduino -ға қарағанда оқуды Bluetooth арқылы DragonBoard -қа жіберіңіз. DragonBoard Arduino -дан алынған оқуды дыбыстық және бейне үлгілерінің ерекшеліктері бар мезанин қалқаны жасаған оқумен біріктіреді.

Деректер басқармасы төтенше жағдай туындағанын болжауға тырысады. Басқарма Amazon веб -қызметіне Phant көмегімен шикізат деректерін және ол жасаған болжамды жібереді. Егер тақта біртүрлі жағдай орын алатынын болжаса, ол қолданушыға мезанинада светодиод пен сигналды жыпылықтаған пайдаланушыға ескерту жасауға тырысады және веб -қосымшада көрсетеді. Веб -қосымшадан осы салада не болып жатқанын түсіну үшін шикі деректерді көруге болады.

Ұсынылған: