Мазмуну:

Жаңы кырдаалдарды аныктоо - Qualcomm Dragonboard 410c: 7 кадам
Жаңы кырдаалдарды аныктоо - Qualcomm Dragonboard 410c: 7 кадам

Video: Жаңы кырдаалдарды аныктоо - Qualcomm Dragonboard 410c: 7 кадам

Video: Жаңы кырдаалдарды аныктоо - Qualcomm Dragonboard 410c: 7 кадам
Video: @ Мыйзам ченемдүүлүктү аныктоо. 5 үлгү сабак 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 (нымдуулук жана температура сенсору)
  • CO Sensor (Carbon Monoxide Sensor)
  • Ызы-чуу сенсору

Аткаруучулар:

  • мотор сервосу
  • ызы-чуу

Байланыш:

Bluetooth модулу HC-06

Dragonboard 410c үчүн бизде бардык маалыматтарды киргизүү үчүн кээ бир сенсорлор жана программалар болот:

Сенсорлор:

  • DHT 11
  • Күн нуру сенсору

Аткаруучулар:

  • Эстафета
  • Led абалы
  • Buzzer

2 -кадам: Алыскы түзмөктү жасоо

Алыстан түзмөк жасоо
Алыстан түзмөк жасоо

Эми төмөнкү компоненттердин бардыгын 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 Sensor 4 казыкка ээ (бирок 3 гана колдонууда):

  • Сигнал -> санарип пинге туташтырылган
  • VCC -> 5v менен туташкан
  • GND

PIR сенсорунда 3 төөнөгүч бар:

  • Сигнал -> санарип пинге туташкан
  • VCC -> 5v менен туташкан
  • GND

Газ сенсорунун (MQ) 4 казыгы бар:

  • Digital OUT -> санарип пинге туташтырылган (эгер сиз санариптик маалыматты кааласаңыз)
  • Analog OUT -> биздин учурда, биз аны аналог пинге туташтырып колдонуп жатабыз
  • VCC -> 5v менен туташкан
  • GND

Ызы-чуу сенсорунда (KY-038) 3 төөнөгүч бар:

  • Сигнал -> аналогдук пинге туташкан
  • VCC -> 5v менен туташкан
  • GND

Ардуино алыскы түзмөгүнүн коду:

/ * * Arduino Blutooth аркылуу маалыматтарды жөнөтөт * * Сенсорлордун мааниси окулат, бириктирилет * Stringде жана сериялык порт аркылуу жөнөтүлөт. */ #"DHT.h" кошуу #DHTPIN 3 аныктоо #DHTTYPE DHT22 аныктоо #PIRPIN 9 #аныктоо COPIN A6 DHT dht (DHTPIN, DHTTYPE); нымдуулук, температура; логикалык пир = 0; int co, mic; String msg = ""; char nome [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 = "#;" + String (humidaty) + ";" + Сап (температура)+ ";"+ Сап (микрофон)+ ";"+ Сап (пир)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); кечигүү (2000); }

Коддун түшүндүрмөсү:

Ардуинодо колдонулган бардык казыктар коддун башында келтирилген жана сенсорлордун иштеши үчүн керектүү китепканалар инициализацияланган. Бардык маалыматтар ар бир сенсордон 2000 миллисекундта алынган баалуулуктарды ала турган тиешелүү өзгөрмөлөргө өткөрүлүп берилет, андан кийин алардын баары сапка бириктирилет, андан кийин ал сериялуу түрдө жазылат. Ал жерден мындай маалыматтарды тартуу үчүн DragonBoardдо жайгашкан питон коду абдан оңой.

3 -кадам: Программалар жана китепканалар

Бардык алынган маалыматтарды иштетүү жана коопсуздук системасын көзөмөлдөө үчүн Qualcomm DragonBoard 410cтогу кээ бир программаларды жана китепканаларды колдонуу зарыл.

Бул өзгөчө долбоордо биз колдонуп жатабыз:

Программалар:

  • Python
  • Arduino

Plataforms:

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

Китепканалар:

  • OpenCV-Видео иштетүү (https://opencv-python-tutroals.readthedocs.io/en/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 дарегин Dragonboardдон алышыңыз керек, ал үчүн чычкан, клавиатура жана HDMI монитору менен байланышкан DragonBoard күйгүзүлүшү керек. Такта күйгүзүлгөндө, сиз терминалга барып, буйрукту иштеткенден көрө, тармакка туташышыңыз керек:

sudo ifconfig

андан кийин сиз IP дарегин ала аласыз.

IP дареги менен сиз Dragonboardго SHH аркылуу кире аласыз, ал үчүн такта менен бир тармакка туташкан компьютердеги терминалды ачуу керек. Терминалда сиз төмөнкү буйрукту иштете аласыз:

ssh linaro@{IP}

(сиз {IP} дарегин Dragonboardдо алган 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 python-opencv орнотуңуз

PyAudio орнотуу үчүн сиз төмөнкү буйрукту иштетишиңиз керек:

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

WAVE жана AudioOp либдери тактага мурунтан эле орнотулган. Numpy орнотуу үчүн сиз төмөнкү буйрукту иштетишиңиз керек:

sudo apt-get python-numpy python-scipy орнотуу

Сиз орнотушуңуз керек болгон акыркы lib - бул скикит, аны орнотуу үчүн пип орнотулушу керек. Мындан тышкары, сиз буйрукту иштетишиңиз керек:

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 гана аткарган жокпуз. Pythonдо блютузга туташкан портто инициализацияланган сериялык китепкана колдонулган, демек, питон коду Bluetooth модулу аркылуу arduino менен туташкан сенсорлордун маалыматын окуйт.

6 -кадам: DragonBoard 410cде Mezzanine колдонуу

DragonBoard 410cде Mezzanine колдонуу
DragonBoard 410cде Mezzanine колдонуу

Dragonboard жана компоненттердин ортосундагы байланышты түзүү үчүн, биз 96boards тарабынан иштелип чыккан Mezannine деп аталган калкан түрүн колдонуп жатабыз.

Бул калканы колдонуп, перифериялык түзүлүштөрдү туташтыруу бир топ жеңил болот.

Коннекторлор Гроувдун өнүктүрүү комплектинен колдонулат, ошондуктан ал эки жолду байланыштыруучу especif кабелин колдонуп жатат, Бардык бөлүктөрдү бул веб-сайттан оңой табууга болот:

Биз бул комплекттерди төмөндө колдонобуз:

  • Grove Relay
  • Grove Күн нурунун сенсору
  • Grove жетектелген розетка
  • Grove температурасы жана humi сенсору
  • Grove Buzzer

7 -кадам: DragonBoard 410c программасы

Программанын DragonBoardдагы бөлүгү Pythonдо коддолгон жана Arduinoдо колдонулган программа C ++ тилинде иштелип чыккан. Ар 2 мүнөт сайын Arduino ага тиркелген бардык сенсорду окуйт. Arduino караганда окуусун Bluetooth аркылуу DragonBoardго жөнөтөт. DragonBoard окуусун Arduinoдон келген окуу менен бирге Mezzanine калканынын аудио жана видео үлгүлөрүнүн өзгөчөлүктөрү менен окууну бириктирет.

Бул маалыматтар менен Башкармалык өзгөчө кырдаал болуп жаткандыгын алдын ала айтууга аракет кылат. Башкармалык Amazon веб сервисине Phant чийки маалыматтарды жана анын божомолун колдонуп жөнөтөт. Эгерде такта кызыктай жагдай болуп жатканын алдын ала айтса, анда ал колдонуучуга Мезанинде лед жана зумбукту жаркылдатып эскертип, веб -тиркемеде көрсөтүүгө аракет кылат. Желе тиркемесинде бул чөйрөдө эмне болуп жатканын түшүнүү үчүн чийки маалыматтарды көрүүгө болот.

Сунушталууда: