สารบัญ:
- ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
- ขั้นตอนที่ 2: การสร้างอุปกรณ์ระยะไกล
- ขั้นตอนที่ 3: ซอฟต์แวร์และไลบรารี
- ขั้นตอนที่ 4: การใช้ SSH และการติดตั้ง Libs
- ขั้นตอนที่ 5: โปรโตคอล Bluetooth
- ขั้นตอนที่ 6: การใช้ Mezzanine บน DragonBoard 410c
- ขั้นตอนที่ 7: ซอฟต์แวร์ DragonBoard 410c
วีดีโอ: การตรวจจับสถานการณ์ฉุกเฉิน - Qualcomm Dragonboard 410c: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
มองหาระบบรักษาความปลอดภัยที่ทำงานเพื่อติดตามสถานการณ์ฉุกเฉิน อาจสังเกตได้ว่ายากเกินไปที่จะประมวลผลข้อมูลทั้งหมดที่บันทึกไว้ เมื่อคิดถึงเรื่องนี้ เราจึงตัดสินใจใช้ความรู้ของเราในการประมวลผลเสียง/ภาพ เซ็นเซอร์ และแอคทูเอเตอร์เพื่อสร้างระบบที่สมบูรณ์หนึ่งระบบที่ทำให้สามารถคาดการณ์สถานการณ์ที่ชีวิตของผู้คนตกอยู่ในอันตรายได้
โปรเจ็กต์นี้มีเซ็นเซอร์ในพื้นที่และอุปกรณ์ระยะไกลเพื่อรวบรวมข้อมูลและส่งไปยังกระดานมังกรซึ่งมีกำลังประมวลผลที่สามารถดึงข้อมูลสำคัญจากข้อมูลที่ได้รับ
อุปกรณ์ระยะไกลคือบอร์ด Arduino ที่มีโมดูล HC-06 ที่สามารถเปลี่ยนข้อมูลทั้งหมดได้ และเน็ตกว้างต้นทุนต่ำที่สามารถประมวลผลข้อมูลจำนวนมากได้
ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
ก่อนอื่น คุณต้องตัดสินใจว่าจะใช้เซ็นเซอร์และแอคทูเอโทตัวใด และสร้างภาพร่างสถาปัตยกรรม
ในกรณีของเรา เรากำลังใช้เซ็นเซอร์เหล่านี้ที่เชื่อมต่อกับ ARDUINO Pro Mini ตามรายการด้านล่าง:
- PIR (Passive Infrared -- เซ็นเซอร์แสดงตน)
- DHT 11 (เซนเซอร์วัดความชื้นและอุณหภูมิ)
- CO Sensor (เซนเซอร์คาร์บอนมอนอกไซด์)
- เซ็นเซอร์เสียงรบกวน
แอคทูเอเตอร์:
- มอเตอร์เซอร์โว
- ออด
การสื่อสาร:
โมดูลบลูทูธ HC-06
สำหรับ Dragonboard 410c เราจะมีเซ็นเซอร์และซอฟต์แวร์บางตัวเพื่อประมวลผลอินพุตข้อมูลทั้งหมด:
เซนเซอร์:
- DHT 11
- ซันไลต์เซนเซอร์
แอคทูเอเตอร์:
- รีเลย์
- สถานะไฟ LED
- Buzzer
ขั้นตอนที่ 2: การสร้างอุปกรณ์ระยะไกล
ตอนนี้ได้เวลาเชื่อมต่อส่วนประกอบทั้งหมดต่อไปนี้กับบอร์ด Arduino สร้างอุปกรณ์ที่จะรับข้อมูลจากบรรยากาศ (เสียง ความชื้น อุณหภูมิ ฯลฯ) และส่งไปที่ Dragonboard โดยใช้โมดูลบลูทูธ HC-06
จำเป็นต้องให้ความสนใจกับส่วนเชื่อมต่อ เนื่องจากเซ็นเซอร์ทั้งหมดมีจุดเชื่อมต่อเฉพาะ
ในระบบ เป็นไปได้ที่จะมีอุปกรณ์มากกว่าหนึ่งเครื่องในการรวบรวมข้อมูล ยิ่งคุณติดตั้งอุปกรณ์ในสภาพแวดล้อมมากเท่าไหร่ การวินิจฉัยที่สร้างโดยการประมวลผลข้อมูลก็ยิ่งแม่นยำมากขึ้นเท่านั้น เนื่องจากจะสามารถดึงข้อมูลที่หลากหลายซึ่งอาจเป็นประโยชน์ได้
เราตัดสินใจใช้บอร์ด Arduino เพราะมีเซ็นเซอร์ที่เข้ากันได้มากกว่า และเป็นไปได้ที่จะติดตั้งอุปกรณ์ระยะไกลนี้ในที่ต่างๆ เพื่อรวบรวมข้อมูลเพิ่มเติม
อุปกรณ์ในพื้นที่คือ DragonBoard 410c ซึ่งประมวลผลข้อมูลเสียง วิดีโอ ดิจิตอลและแอนะล็อกด้วยโปรเซสเซอร์ SnapDragon 410 อันทรงพลังของคุณ
การจัดวางส่วนประกอบ (Remote Devide)
ชิ้นหนึ่งมีหมุดบางตัวที่ต้องต่อเข้ากับหมุดด้านขวาบนบอร์ด Arduino pro mini
โมดูลบลูทูธ HC-06 มี 4 พิน:
- TX (Transmissor) -> เชื่อมต่อกับพิน RX Arduino
- RX (ตัวรับ) -> เชื่อมต่อกับพินของ TX Arduino
- VCC -> เชื่อมต่อกับ5v
- GND
DHT 11 Sensor มี 4 พิน (แต่ใช้งานเพียง 3 อัน):
- สัญญาณ -> เชื่อมต่อกับพินดิจิทัล
- VCC -> เชื่อมต่อกับ5v
- GND
PIR Sensor มี 3 ขา:
- สัญญาณ -> เชื่อมต่อกับพินดิจิตอล
- VCC -> เชื่อมต่อกับ5v
- GND
เซ็นเซอร์ก๊าซ (MQ) มี 4 พิน:
- Digital OUT -> conected บนพินดิจิทัล (ถ้าคุณต้องการข้อมูลดิจิทัล)
- Analog OUT -> ในกรณีของเราเราใช้สิ่งนี้เชื่อมต่อกับพินอะนาล็อก
- VCC -> เชื่อมต่อกับ5v
- GND
เซ็นเซอร์เสียงรบกวน (KY-038) มี 3 พิน:
- สัญญาณ -> เชื่อมต่อกับพินอะนาล็อก
- VCC -> เชื่อมต่อกับ5v
- GND
รหัสสำหรับอุปกรณ์ระยะไกล Arduino:
/* * Arduino ส่งข้อมูลผ่าน Blutooth * * ค่าของเซ็นเซอร์ถูกอ่าน ต่อกันที่ * String และส่งผ่านพอร์ตอนุกรม */ #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht(DHTPIN, DHTTYPE); ความชื้นลอย อุณหภูมิ; บูลีน pir = 0; int co, ไมค์; ข้อความสตริง = ""; ชื่อถ่าน [40]; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); dht.begin(); } วงเป็นโมฆะ () { ความชื้น = dht.readHumidity(); อุณหภูมิ = dht.readTemperature(); pir = digitalRead (PIRPIN); co = analogRead (COPIN); ไมค์ = analogRead (A0); msg = "#;" +สตริง(ความชื้น) + ";" + สตริง (อุณหภูมิ) +";"+ สตริง (ไมโครโฟน) +";"+ สตริง (pir)+ ";" + สตริง(co) + ";#" +"\n"; Serial.print(msg); ล่าช้า (2000); }
คำอธิบายรหัส:
พินทั้งหมดที่ใช้ใน Arduino ถูกยกมาที่จุดเริ่มต้นของโค้ด และไลบรารีที่เกี่ยวข้องที่จำเป็นสำหรับการทำงานของเซ็นเซอร์จะถูกเตรียมข้อมูลเบื้องต้น ข้อมูลทั้งหมดจะถูกส่งไปยังตัวแปรที่เกี่ยวข้อง ซึ่งจะได้รับค่าที่อ่านจากเซ็นเซอร์แต่ละตัวทุกๆ 2,000 มิลลิวินาที จากนั้นทั้งหมดจะถูกต่อกันเป็นสตริง จากนั้นจึงเขียนเป็นอนุกรม จากที่นั่น มันง่ายมากที่รหัสไพทอนที่มีอยู่ใน DragonBoard ในการเก็บข้อมูลดังกล่าว
ขั้นตอนที่ 3: ซอฟต์แวร์และไลบรารี
ในการประมวลผลข้อมูลทั้งหมดที่ได้รับและควบคุมระบบรักษาความปลอดภัย จำเป็นต้องใช้ซอฟต์แวร์และไลบรารีบางตัวใน Qualcomm DragonBoard 410c
ในโครงการนี้เราใช้:
โปรแกรม:
- Python
- Arduino
แพลตฟอร์ม:
- Amazon AWS -> เซิร์ฟเวอร์ออนไลน์
- แฟน -> บริการข้อมูลโฮสต์
ห้องสมุด:
- 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 - ใช้เพื่อสื่อสารกับอุปกรณ์บลูทูธแบบอนุกรม (https://pythonhosted.org/pyserial/)
ขั้นตอนที่ 4: การใช้ SSH และการติดตั้ง Libs
ก่อนอื่นคุณต้องรับที่อยู่ IP จาก Dragonboard เพื่อที่จะทำอย่างนั้นได้ คุณต้องเปิด DragonBoard ที่เชื่อมต่อด้วยเมาส์ คีย์บอร์ด และจอภาพ HDMI เมื่อบอร์ดเปิด คุณต้องเชื่อมต่อกับเครือข่าย กว่าที่คุณไปที่เทอร์มินัลแล้วรันคำสั่ง:
sudo ifconfig
หลังจากนั้นคุณจะได้รับที่อยู่ IP
ด้วยที่อยู่ IP คุณสามารถเข้าถึง Dragonboard ผ่าน SHH ได้ คุณต้องเปิดเทอร์มินัลในคอมพิวเตอร์ที่เชื่อมต่อในเครือข่ายเดียวกันกับบอร์ด ในเทอร์มินัลคุณสามารถเรียกใช้คำสั่ง:
ssh linaro@{IP}
(คุณควรแทนที่ {IP} ด้วยที่อยู่ IP ที่คุณได้รับใน Dragonboard)
lib แรกที่คุณต้องติดตั้งคือ mraa lib ในการทำเช่นนั้น คุณต้องเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล:
sudo add-apt-repository ppa:mraa/mraa && sudo apt-ge;t อัปเดต && sudo apt-get ติดตั้ง libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa
ในการติดตั้ง opencv สำหรับ python คุณจะต้องเรียกใช้คำสั่งเท่านั้น:
sudo apt-get ติดตั้ง python-opencv
ในการติดตั้ง PyAudio คุณต้องเรียกใช้คำสั่ง:
sudo apt-get ติดตั้ง python-pyaudio python3-pyaudio
libs WAVE และ AudioOp ได้รับการติดตั้งในบอร์ดแล้ว ในการติดตั้ง numpy คุณต้องเรียกใช้คำสั่ง:
sudo apt-get ติดตั้ง python-numpy python-scipy
lib สุดท้ายที่คุณต้องติดตั้งคือ scikit ในการติดตั้ง คุณต้องติดตั้ง pip กว่าคุณจะต้องรันคำสั่ง:
pip ติดตั้ง scikit-lear
ขั้นตอนที่ 5: โปรโตคอล Bluetooth
การเชื่อมต่อ DragonBoard กับ Arduino โดยใช้ Bluetooth
โมดูล Bluetooth (HC-06) เริ่มแรกเชื่อมต่อกับ Arduino Nano ตามตัวอย่างต่อไปนี้:
การใช้อินเทอร์เฟซกราฟิก Linaro (ระบบปฏิบัติการที่ใช้ในโปรเจ็กต์ปัจจุบันใน DragonBoard) ที่ด้านขวาของแถบด้านล่าง ให้คลิกที่สัญลักษณ์ Bluetooth จากนั้นคลิกที่ "ตั้งค่าอุปกรณ์ใหม่" และกำหนดค่าด้วยโมดูล Bluetooth ของคุณโดยปล่อยให้จับคู่ ตรวจสอบว่าโมดูลของคุณเชื่อมต่ออยู่จริงโดยคลิกที่สัญลักษณ์ Bluetooth อีกครั้ง คลิก "อุปกรณ์…" และดูว่าชื่ออุปกรณ์ของคุณอยู่ในรายการและเชื่อมต่อหรือไม่ ตอนนี้ เลือกอุปกรณ์ของคุณในหน้าจอ "อุปกรณ์บลูทูธ" และคลิกขวาบนมัน แล้วสังเกตพอร์ตที่โมดูล Bluetooth ของคุณเชื่อมต่ออยู่ (เช่น "rfcomm0") หมายเหตุ: ชื่อพอร์ตที่อุปกรณ์ของคุณเชื่อมต่อจะมีความสำคัญสำหรับขั้นตอนต่อไปเพื่อเปิดใช้งานการแลกเปลี่ยนข้อมูล
การสร้าง DragonBoard Data Exchange และ Bluetooth
โดยพื้นฐานแล้วเราทำตามขั้นตอนของลิงก์ทีละขั้นตอน: https://www.uugear.com/portfolio/bluetooth-communi… แต่เราไม่ได้ดำเนินการในส่วนของการจับคู่เฉพาะการดำเนินการของรหัสหลามและ Arduino ใน python มีการใช้ไลบรารีอนุกรมที่เริ่มต้นในพอร์ตที่เชื่อมต่อกับบลูทู ธ ดังนั้นรหัส python จะอ่านข้อมูลของเซ็นเซอร์ที่เชื่อมต่อกับ Arduino ผ่านโมดูลบลูทู ธ
ขั้นตอนที่ 6: การใช้ Mezzanine บน DragonBoard 410c
เพื่อสร้างความเชื่อมโยงระหว่างกระดานมังกรและส่วนประกอบต่างๆ เราใช้โล่ประเภทหนึ่งที่ Mezannine พัฒนาขึ้นโดย 96boards
การใช้โล่นี้ การเชื่อมต่ออุปกรณ์ต่อพ่วงจะง่ายขึ้นมาก
ตัวเชื่อมต่อใช้มาจากชุดพัฒนาของ Grove ดังนั้นจึงใช้สายเคเบิลเฉพาะที่เชื่อมต่อทั้งสองทาง
ชิ้นส่วนทั้งหมดสามารถพบได้ง่ายในเว็บไซต์นี้:
เรากำลังใช้ชุดนี้ร้อง:
- โกรฟ รีเลย์
- เซ็นเซอร์แสงแดดโกรฟ
- ซ็อกเก็ตนำโกรฟ
- เซ็นเซอร์อุณหภูมิและความชื้นของ Grove
- Grove Buzzer
ขั้นตอนที่ 7: ซอฟต์แวร์ DragonBoard 410c
ส่วนหนึ่งของโปรแกรมใน DragonBoard ถูกเข้ารหัสด้วย Python และโปรแกรมที่ใช้ใน Arduino ได้รับการพัฒนาใน C++ ทุกๆ 2 นาที Arduino จะอ่านเซ็นเซอร์ทั้งหมดที่ต่ออยู่ กว่า Arduino ส่งการอ่านไปยัง DragonBoard โดย Bluetooth DragonBoard ผสมผสานการอ่านที่มาจาก Arduino กับการอ่านที่สร้างขึ้นโดย Mezzanine Shield พร้อมคุณสมบัติจากเสียงและวิดีโอตัวอย่าง
ด้วยข้อมูลนี้ คณะกรรมการพยายามคาดการณ์ว่ากำลังเกิดสถานการณ์ฉุกเฉินหรือไม่ คณะกรรมการส่งไปยัง Amazon Web Service โดยใช้ข้อมูลดิบของ Phant และการคาดการณ์ที่สร้างขึ้น หากคณะกรรมการคาดการณ์ว่าจะเกิดสถานการณ์แปลก ๆ จะพยายามเตือนผู้ใช้ให้กะพริบไฟ LED และออดใน Mezzanine และแสดงที่เว็บแอปพลิเคชัน ในเว็บแอปพลิเคชัน ยังสามารถดูข้อมูลดิบเพื่อทำความเข้าใจว่าเกิดอะไรขึ้นในพื้นที่นี้
แนะนำ:
แอปพลิเคชัน Remotamente Para a Dragonboard 410c Usando IDE Eclipse: 17 ขั้นตอน
ดาวน์โหลด Remotamente Para a Dragonboard 410c Usando IDE Eclipse: O objetivo deste documento é ส่วนใหญ่จำเป็นสำหรับการกำหนดค่า o สภาพแวดล้อมของ desenvolvimento, การปรับแต่ง o HostPC (คอมพิวเตอร์ / โน้ตบุ๊ก), IDE Eclipse คอมไพล์ระบบปฏิบัติการและส่งออกสำหรับ Alvo (ลาก
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 ขั้นตอน
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: DESCRIÇÃOO ใช้งานง่าย é ดาร์ autonomia para deficientes visuais se locomoverem em Ambientes ในร่ม como casas ou ศูนย์การค้า e aeroportos.A locomoço สภาพแวดล้อม j´ mapeados pode ou n&o s
การสื่อสาร Serial Com a Dragonboard 410c Usando Mezzanine 96boards เซนเซอร์: 7 ขั้นตอน
การสื่อสาร Serial Com a Dragonboard 410c Usando Mezzanine 96boards Sensors: O objetivo desse tutorial é Mostrar as etapas needÃÃ'ias para configurar o Ambiente de desenvolvimento, de modo que seja possível comunicar com a Dragonboard 410c คอมพิวเตอร์ คอมพิวเตอร์ / notebook usando comunica&ccedi
Google Assistant บน DragonBoard™ 410c: 57 ขั้นตอน
Google Assistant บน DragonBoard™ 410c: คำแนะนำนี้จะสอนให้คุณเรียกใช้ Google Assistant ใน DragonBoard และตั้งค่าสภาพแวดล้อมของบ้านอัจฉริยะด้วยอุปกรณ์บางตัว สิ่งที่ต้องมี:-DragonBoard™ 410c (พร้อมการติดตั้ง linaro-alip ใหม่)-12V/ แหล่งจ่ายไฟแจ็ค 1A 5.5 มม. -CC2531 โมดูล zigbee
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow.: 4 ขั้นตอน
การตรวจจับวัตถุด้วย Dragonboard 410c หรือ 820c โดยใช้ OpenCV และ Tensorflow: คำแนะนำนี้จะอธิบายวิธีติดตั้ง OpenCV, Tensorflow และเฟรมเวิร์กการเรียนรู้ของเครื่องสำหรับ Python 3.5 เพื่อเรียกใช้แอปพลิเคชัน Object Detection