Мазмуну:
- 1 -кадам: Керектүү компоненттер
- 2 -кадам: Алыскы түзмөктү жасоо
- 3 -кадам: Программалар жана китепканалар
- 4 -кадам: SSH колдонуу жана Libs орнотуу
- 5 -кадам: Bluetooth протоколу
- 6 -кадам: DragonBoard 410cде Mezzanine колдонуу
- 7 -кадам: DragonBoard 410c программасы
Video: Жаңы кырдаалдарды аныктоо - Qualcomm Dragonboard 410c: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Өзгөчө кырдаалдарды көзөмөлдөө үчүн иштеген коопсуздук системаларын издеп жатып, жазылган маалыматты иштетүү өтө кыйын экенин байкоого болот. Муну ойлонуп, биз билимибизди аудио/сүрөттөрдү иштетүүдө, сенсорлордо жана кыймылдаткычтарда адамдардын өмүрүнө коркунуч туудурган жагдайларды алдын ала айтууга мүмкүндүк берген бир тутумду түзүүнү чечтик.
Бул долбоор жергиликтүү сенсорлорду жана алыскы түзүлүштөрдү чогултуп, алынган маалыматтан маанилүү маалыматты алууга жөндөмдүү иштетүүчү күчкө ээ болгон ажыдаарга жөнөтөт.
Алыскы түзмөк-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 аркылуу 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 жана компоненттердин ортосундагы байланышты түзүү үчүн, биз 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 чийки маалыматтарды жана анын божомолун колдонуп жөнөтөт. Эгерде такта кызыктай жагдай болуп жатканын алдын ала айтса, анда ал колдонуучуга Мезанинде лед жана зумбукту жаркылдатып эскертип, веб -тиркемеде көрсөтүүгө аракет кылат. Желе тиркемесинде бул чөйрөдө эмне болуп жатканын түшүнүү үчүн чийки маалыматтарды көрүүгө болот.
Сунушталууда:
Piezoelectric Shock Tap Sensor Module менен дирилдөөнү аныктоо: 6 кадам
Piezoelectric Shock Tap Sensor Module менен дирилдөөнү аныктоо: Бул үйрөткүчтө биз жөнөкөй пьезоэлектрдик сенсор Vibration модулун жана Visuino аркылуу шок термелүүлөрдү кантип аныктоону үйрөнөбүз
Кантип тийбөөчү эшик коңгуроосун жасоо керек, дене температурасын аныктоо, GY-906, 433MHz Arduino менен: 3 кадам
Тийбеген эшиктин коңгуроосун кантип жасоо керек, Дене температурасын аныктоо, GY-906, 433MHz Arduino менен: Бүгүн биз сенсордук эмес эшик коңгуроосун жасайбыз, ал сиздин дене температураңызды аныктайт. Азыркы кырдаалда, кимдир бирөө тепкенде, кимдир бирөөнүн дене температурасы нормадан жогору экенин билүү абдан маанилүү
Объекттерди аныктоо W/ Dragonboard 410c же 820c OpenCV жана Tensorflow аркылуу .: 4 кадам
OpenCV жана Tensorflowтун жардамы менен W/ Dragonboard 410c же 820c объектилерин аныктоо: Бул көрсөтмөлөр объектилерди аныктоо тиркемесин иштетүү үчүн Python 3.5 үчүн OpenCV, Tensorflow жана машина үйрөнүү алкактарын кантип орнотууну сүрөттөйт
Жаңы X10 үчүн жаңы X10 орнотуу: 7 кадам
Жаңы X10 үчүн жаңы X10ду орнотуу: Жарыгыңызды алыскы пультту күйгүзүү жана өчүрүү чындыгында көрүнгөн жана угулганда оңой жана арзан. Бул ыкма x10 пультун 2 жарык үчүн кантип конфигурациялоону көрсөтөт. Ошондой эле пультту белгилөө үчүн этикетка жасоочу машинаны колдонууну көрсөтөт
Жаңы күйөрмандардын музыкасын өчүрүү (жаңы XP): 5 кадам
Музыканы күйөрманыңыздын жаңы Ipodsунан өчүрүү (Windows XP): Ошентип, мен эжелеримден 8gig 3rd gen nano музыкасын алуу ыкмасын колдонуп көрдүм, ал иштейт. менин компьютерим ipodду диск катары көрсөтмөк, алма муну таап, оңдойт деп ойлойм. бирок чындыгында эле айдоочулар менен чаташуу керек