Мазмұны:
- 1 -қадам: Қажетті компоненттер
- 2 -қадам: Қашықтағы құрылғыны жасау
- 3 -қадам: бағдарламалық қамтамасыз ету мен кітапханалар
- 4 -қадам: SSH пайдалану және Libs орнату
- 5 -қадам: Bluetooth протоколы
- 6 -қадам: DragonBoard 410c -те Mezzanine пайдалану
- 7 -қадам: DragonBoard 410c бағдарламасы
Бейне: Төтенше жағдайларды анықтау - Qualcomm Dragonboard 410c: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Төтенше жағдайларды бақылау үшін жұмыс істейтін қауіпсіздік жүйелерін іздей отырып, барлық ақпаратты өңдеу өте қиын екенін байқауға болады. Бұл туралы ойлана отырып, біз өз білімімізді адамдардың өміріне қауіп төніп тұрған жағдайларды болжауға мүмкіндік беретін біртұтас жүйені құру үшін аудионы/суретті өңдеу, сенсорлар мен жетектерді қолдануды шештік.
Бұл жоба жергілікті сенсор мен қашықтағы құрылғыларды жинап, алынған мәліметтерден маңызды ақпаратты алуға қабілетті өңдеу қуаты бар айдаһар тақтасына жібереді.
Қашықтағы құрылғы-бұл 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 арқылы 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 пайдалану
Айдаһар тақтасы мен компоненттер арасында байланыс орнату үшін біз 96 тақталар жасаған Mezannine деп аталатын қалқан түрін қолданамыз.
Бұл қалқанның көмегімен сыртқы құрылғыларды қосу әлдеқайда жеңіл болады.
Коннекторлар тоғайдың даму жиынтығынан алынған, сондықтан ол екі жолды да қосатын especif кабелін қолданады.
Барлық бөліктерді осы веб-сайтта оңай табуға болады:
Біз бұл жинақтарды төменде қолданамыз:
- Гроув эстафетасы
- Grove күн сәулесінің сенсоры
- Гроув светодиод
- Grove температурасы мен гуми сенсоры
- Grove Buzzer
7 -қадам: DragonBoard 410c бағдарламасы
DragonBoard бағдарламасының бөлігі Python -да кодталған, ал Arduino -да қолданылатын бағдарлама C ++ тілінде жасалған. Әр 2 минут сайын Arduino өзіне бекітілген барлық сенсорды оқиды. Arduino -ға қарағанда оқуды Bluetooth арқылы DragonBoard -қа жіберіңіз. DragonBoard Arduino -дан алынған оқуды дыбыстық және бейне үлгілерінің ерекшеліктері бар мезанин қалқаны жасаған оқумен біріктіреді.
Деректер басқармасы төтенше жағдай туындағанын болжауға тырысады. Басқарма Amazon веб -қызметіне Phant көмегімен шикізат деректерін және ол жасаған болжамды жібереді. Егер тақта біртүрлі жағдай орын алатынын болжаса, ол қолданушыға мезанинада светодиод пен сигналды жыпылықтаған пайдаланушыға ескерту жасауға тырысады және веб -қосымшада көрсетеді. Веб -қосымшадан осы салада не болып жатқанын түсіну үшін шикі деректерді көруге болады.
Ұсынылған:
Төтенше USB қуат көзі (3D басып шығарылған): 4 қадам (суреттермен)
Төтенше USB қуат көзі (3D басып шығарылған): Бұл жоба 12 В батареяны қолданады, мысалы, көлік құралында, электр қуаты өшкенде немесе саяхат кезінде USB құрылғыларын зарядтау үшін. Аккумуляторға USB автокөлік зарядтағышын бекіту сияқты қарапайым. Сэнди дауылынан кейін мен қуатсыз қалдым
Өз қолыңызбен төтенше жағдайдағы Powerbank жасаңыз: 4 қадам (суреттермен)
Өз қолыңызбен төтенше жағдай жасайтын Powerbank жасаңыз: Бұл жобада мен сізге қолмен кранды генераторды қалай өзгерту керектігін көрсетемін. Осылайша сіз төтенше жағдайда қуат банкін розеткасыз зарядтай аласыз. Жолда мен сізге BLDC mot -нің неліктен екенін айтамын
COVID-19 төтенше жағдайына арналған UVC стерилизаторы: 3 қадам
Төтенше жағдайға арналған UVC стерилизаторы: UVC стерилизатор қорабын қалай жасауға болады. Бірінші заттар бірінші. Электр қауіпті! Егер сіз сенімді болмасаңыз және төменде айтылған нәрсені жасамаңыз. UVC (253.7nm) жарығы күшті, ол сізді соқыр етеді және сізге тері қатерлі ісігін береді
Қайта зарядталатын төтенше жарқыл: 7 қадам
Қайта зарядталатын төтенше жарқыл: Сәлеметсіз бе! Менің бірінші нұсқаулығыма қош келдіңіз … Бүгін мен сізге ерекше фонарь әкелдім, ол тек елестерді қорқытатындай жарқын, сонымен қатар өте портативті. Сіз бұл шамды осы сценарийлерде қолдана аласыз, мысалы, сіз кептеліп қаласыз
OpenCV мен Tensorflow көмегімен Dragonboard 410c немесе 820c нысандарын анықтау: 4 қадам
OpenCV мен Tensorflow көмегімен Dragonboard 410c немесе 820c нысандарын анықтау: Бұл нұсқаулықта объектілерді анықтау қосымшасын іске қосу үшін Python 3.5 үшін OpenCV, Tensorflow және машиналық оқыту жүйелерін орнату әдісі сипатталған