Innehållsförteckning:
- Steg 1: Obligatoriska komponenter
- Steg 2: Skapa fjärrenhet
- Steg 3: Programvara och bibliotek
- Steg 4: Använda SSH och installera Libs
- Steg 5: Bluetooth -protokoll
- Steg 6: Använda mezzanine på DragonBoard 410c
- Steg 7: DragonBoard 410c -programvara
Video: Upptäcka nödlägen - Qualcomm Dragonboard 410c: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Letar du efter säkerhetssystem som arbetar med att övervaka nödsituationer, är det möjligt att märka att det är för svårt att behandla all information som spelats in. När vi tänkte på det bestämde vi oss för att använda vår kunskap inom ljud-/bildbehandling, sensorer och ställdon för att skapa ett komplett system som gör det möjligt att förutsäga situationer där människors liv är i fara.
Detta projekt har lokal sensor och fjärranslutna enheter för att samla in data och skicka till dragonboard, som har processorkraft som kan extrahera viktig information från den mottagna data.
Fjärrenheten är ett Arduino-kort med en modul HC-06 som är möjlig att överföra all information och ett billigt nät som kan hantera stora mängder data.
Steg 1: Obligatoriska komponenter
Först och främst måste du bestämma vilka sensorer och ställdon som du ska använda och göra arkitektskissen.
I vårt fall använder vi dessa sensorer anslutna i ARDUINO Pro Mini, listade nedan:
- PIR (passiv infraröd-närvarosensor)
- DHT 11 (fukt- och temperatursensor)
- CO-sensor (kolmonoxidsensor)
- Brusgivare
Ställdon:
- motorservo
- summer
Kommunikation:
Bluetooth-modul HC-06
Till Dragonboard 410c kommer vi att ha några sensorer och mjukvaror för att bearbeta alla datainmatningar:
Sensorer:
- DHT 11
- Solljus sensor
Ställdon:
- Relä
- Led status
- Buzzer
Steg 2: Skapa fjärrenhet
Nu är det dags att ansluta alla följande komponenter till Arduino Board, skapa en enhet som tar emot data från atmosfären (buller, luftfuktighet, temperatur, etc) och skicka till Dragonboard med Bluetooth-modulen HC-06.
Det är nödvändigt att vara uppmärksam på anslutningarna, eftersom all sensor har specifika platser att koppla.
På systemet är det möjligt att ha mer än en enhet för att samla in data. Ju fler enheter du har installerat i miljön, desto mer exakt är diagnostiken som genereras av databehandling. Eftersom det kommer att vara möjligt att extrahera ett bredare spektrum av information som kan vara användbar.
Vi bestämde oss för att använda ett arduino -kort eftersom det har mer kompatibla sensorer, och det är möjligt att installera dessa fjärranslutna enheter på olika platser och samla in mer information.
Den lokala enheten är DragonBoard 410c, som behandlar ljud, video, digital och analog information med din kraftfulla SnapDragon 410 -processor.
Placering av komponenterna (Remote Devide)
Som en bit har några stift som måste anslutas i de högra stiften på arduino pro mini -kortet.
Bluetooth-modul HC-06 har 4 stift:
- TX (sändare) -> ansluten på RX Arduinos stift
- RX (mottagare) -> ansluten på TX Arduinos stift
- VCC -> ansluten på 5v
- GND
DHT 11 -sensorn har 4 stift (men endast 3 används):
- Signal -> ansluten på en digital stift
- VCC -> ansluten på 5v
- GND
PIR -sensor har 3 stift:
- Signal -> ansluten på en digital stift
- VCC -> ansluten på 5v
- GND
Gassensor (MQ) har 4 stift:
- Digital OUT -> ansluten på en digital pin (om du vill ha digital information)
- Analog OUT -> i vårt fall använder vi detta anslutet på en analog pin
- VCC -> ansluten på 5v
- GND
Ljussensor (KY-038) har 3 stift:
- Signal -> ansluten på en analog stift
- VCC -> ansluten på 5v
- GND
Kod för Arduino fjärrenhet:
/ * * Arduino skicka data via Blutooth * * Värdena på sensorer läses, sammanfogas på * String och skickas via seriell port. */ #inkludera "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); flytande luftfuktighet, temperatur; booleska pir = 0; int co, mic; String msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humidaty = dht.readHumidity (); temperatur = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + String (humidaty) + ";" + String (temperatur)+ ";"+ String (mic)+ ";"+ String (pir)+ ";" + String (co) + ";#" + "\ n"; Serial.print (msg); fördröjning (2000); }
Kodförklaring:
Alla stiften som används i Arduino anges i början av koden och de respektive bibliotek som krävs för att sensorerna ska fungera initieras. All data kommer att skickas till respektive variabler som tar emot värdena som läses från varje sensor var 2000 millisekund, sedan sammanfogas alla i en sträng, sedan skrivs det i serie. Därifrån är det mycket enkelt med pytonkoden som finns i DragonBoard att fånga sådana data.
Steg 3: Programvara och bibliotek
För att bearbeta all data som tas emot och styra säkerhetssystemet är det nödvändigt att använda några programvaror och bibliotek i Qualcomm DragonBoard 410c.
I detta specifika projekt använder vi:
Mjukvaror:
- Pytonorm
- Arduino
Plattformar:
- Amazon AWS -> onlineserver
- Phant -> Värddatatjänst
Bibliotek:
- OpenCV-Videobearbetning (https://opencv-python-tutroals.readthedocs.io/en/latest/)
- PyAudio - Ljudbehandling (https://people.csail.mit.edu/hubert/pyaudio/)
- Wave (https://www.physionet.org/physiotools/wave-installation.shtm)
- AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
- Numpy (https://www.numpy.org)
- SciKit1 - Träna och förutsäga maskininlärning (https://scikit-learn.org/stable/install.html)
- cPickle - Spara maskininlärningsparametrarna (https://pymotw.com/2/pickle/)
- MRAA - Använd GPIO: erna (https://iotdk.intel.com/docs/master/mraa/python/)
- UPM-Använd GPIO: erna (https://github.com/intel-iot-devkit/upm)
- PySerial - Används för seriell kommunikation med Bluetooth -enhet (https://pythonhosted.org/pyserial/)
Steg 4: Använda SSH och installera Libs
Först och främst måste du få IP -adressen från Dragonboard, för att göra det måste du slå på DragonBoard anslutet med en mus, ett tangentbord och en HDMI -bildskärm. När kortet är på måste du ansluta till ett nätverk, än du går till terminalen och kör kommandot:
sudo ifconfig
efter det kan du få IP -adressen.
Med IP -adressen kan du komma åt Dragonboard via SHH, för att göra det behöver du öppna en terminal i en dator ansluten i samma nätverk som kortet. I terminalen kan du köra kommandot:
ssh linaro@{IP}
(du bör ersätta {IP} med den IP -adress som du får i Dragonboard).
Den första lib som du behöver installera är mraa lib. För att göra det måste du köra följande kommando i terminalen:
sudo add-apt-repository ppa: mraa/mraa && sudo apt-ge; t uppdatera && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa
För att installera opencv för python behöver du bara köra kommandot:
sudo apt-get install python-opencv
För att installera PyAudio måste du köra kommandot:
sudo apt-get install python-pyaudio python3-pyaudio
Libs WAVE och AudioOp är redan installerade i kortet. För att installera numpy måste du köra kommandot:
sudo apt-get install python-numpy python-scipy
Det sista lib som du måste installera är scikit, för att installera det måste du ha pip installerat. Än du behöver bara köra kommandot:
pip installera scikit-lear
Steg 5: Bluetooth -protokoll
DragonBoard -anslutning med Arduino via Bluetooth
Bluetooth-modulen (HC-06) var ursprungligen ansluten till Arduino Nano enligt följande exempel:
Med hjälp av det grafiska gränssnittet Linaro (operativsystem som används i det aktuella projektet i DragonBoard) klickar du på Bluetooth -symbolen till höger i den nedre fältet och klickar sedan på "Konfigurera ny enhet" och konfigurerar med din Bluetooth -modul så att den lämnas ihopparad. Kontrollera att din modul faktiskt är ansluten genom att klicka på Bluetooth -symbolen igen, klicka på "Enheter …" och se om namnet på din enhet är listat och anslutet. Välj nu din enhet på skärmen "Bluetooth -enheter" och högerklicka på den och notera porten som din Bluetooth -modul är ansluten till (t.ex. "rfcomm0"). Obs! Portnamnet som din enhet är ansluten till kommer att vara viktigt för nästa steg för att möjliggöra datautbyte.
Etablering av DragonBoard Data Exchange och Bluetooth
I grund och botten följer vi steg för steg i länken: https://www.uugear.com/portfolio/bluetooth-communi… men vi utförde inte parningens del bara utförandet av pythonkoderna och Arduino. I python användes det seriella biblioteket som initieras i porten som är ansluten till bluetooth, därav läser pythonkoden data från sensorerna som är anslutna till arduino via Bluetooth -modulen.
Steg 6: Använda mezzanine på DragonBoard 410c
För att göra anslutningarna mellan dragonboard och komponenter använder vi en typ av sköld som kallas av Mezannine, utvecklad av 96boards.
Med denna skärm blir anslutning av kringutrustning mycket enklare.
Anslutningarna använder är från lundens utvecklingssats, så det är bara att använda en speciell kabel som ansluter båda vägarna, Alla delar kan enkelt hittas på denna webbplats:
Vi använder följande kit nedan:
- Grove Relä
- Grove Sunlight sensor
- Grove LED -uttag
- Grove temp & humi sensor
- Grove summer
Steg 7: DragonBoard 410c -programvara
Delen av programmet i DragonBoard kodades i Python och programmet som användes på Arduino utvecklades i C ++. Varannan minut läser Arduino all sensor som är ansluten till den. Skicka avläsningen än Arduino till DragonBoard via Bluetooth. DragonBoard kombinerar läsningen från Arduino med den läsning som den gör av mezzaninskölden med funktionerna från ljud- och videosamplarna.
Med dessa uppgifter försöker styrelsen förutsäga om det uppstår en nödsituation. Styrelsen skickar till Amazons webbtjänst med hjälp av Phanten rådata och förutsägelser som den gjorde. Om tavlan förutspår att det inträffar en konstig situation försöker den varna användaren för att blinka en lysdiod och summer i mezzaninen och visa på webbapplikationen. I webbapplikationen är det också möjligt att se rådata för att förstå vad som händer inom detta område.
Rekommenderad:
Bensinstation för att upptäcka CO: 5 steg
Bensinstation för att upptäcka CO: Kolmonoxid (CO) är mycket farlig gas, eftersom den inte luktar, inte smakar. Du kan inte se det eller upptäcka det med näsan. Mitt mål är att bygga en enkel CO -detektor. För det första upptäcker jag mycket små mängder av den gasen i mitt hus. Det är anledningen,
Använda en radio för att upptäcka blixtnedslag: 4 steg
Använda en radio för att upptäcka blixtnedslag: Små radioapparater kan användas för mer än att lyssna på musik eller sport. Alla radioapparater (även billiga AM -radioer) kan användas för att upptäcka blixtnedslag och andra atmosfäriska fenomen. Med ett övat öra kan man till och med avgöra om blixten rör sig
Enkel men kraftfull statisk elektricitetsdetektor som också kan upptäcka "spöken": 10 steg
Enkel men kraftfull statisk elektricitetsdetektor som också kan upptäcka "spöken": Hej, det här är min första instruerbara så snälla meddela mig om de misstag jag har gjort i denna instruerbara. I denna instruerbara, kommer jag att göra en krets som kan upptäcka statisk elektricitet. En av dess skapare har hävdat att han upptäckte & quot
Att upptäcka morfar ur sängen för länge: 7 steg
Upptäcka farfar ur sängen för länge: Bakgrund Medan det har funnits sänglarmmonitorer i många år som bara är enkla stängningar av sängklockor som ringer ett lokalt larm för vårdgivare när någon går upp ur sängen, har det inte funnits något sätt för fjärrfamilj vårdgivare att spåra en lo
Metoder för att upptäcka vattennivå Arduino med ultraljudssensor och Funduino vattensensor: 4 steg
Metoder för att upptäcka vattennivå Arduino med ultraljudssensor och Funduino vattensensor: I det här projektet visar jag dig hur du skapar en billig vattedetektor med två metoder: 1. Ultraljudssensor (HC-SR04) .2. Funduino vattensensor