Mục lục:

Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c: 7 bước
Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c: 7 bước

Video: Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c: 7 bước

Video: Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c: 7 bước
Video: Mẹo Sơ Cứu Trong Những Tình Huống Khẩn Cấp Cho Các Cô Gái Từ T-STUDIO VIỆT NAM 2024, Tháng bảy
Anonim
Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c
Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c
Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c
Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c
Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c
Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c

Tìm kiếm các hệ thống an ninh hoạt động để giám sát các tình huống khẩn cấp, có thể nhận thấy rằng quá khó để xử lý tất cả thông tin được ghi lại. Suy nghĩ về điều đó, chúng tôi quyết định sử dụng kiến thức của mình về xử lý âm thanh / hình ảnh, cảm biến và thiết bị truyền động để tạo ra một hệ thống hoàn chỉnh có thể dự đoán các tình huống mà cuộc sống của con người đang gặp nguy hiểm.

Dự án này sử dụng cảm biến cục bộ và các thiết bị từ xa để thu thập dữ liệu và gửi đến bảng rồng, có sức mạnh xử lý có khả năng trích xuất thông tin quan trọng từ dữ liệu nhận được.

Thiết bị từ xa là một bảng Arduino với mô-đun HC-06 có thể chuyển để chuyển tất cả các thông tin và một mạng lưới rộng chi phí thấp có khả năng xử lý lượng lớn dữ liệu.

Bước 1: Các thành phần bắt buộc

Trước hết, bạn phải quyết định loại cảm biến và bộ truyền động nào mà bạn sẽ sử dụng, đồng thời tạo bản phác thảo kiến trúc.

Trong trường hợp của chúng tôi, chúng tôi đang sử dụng các cảm biến này được bảo vệ trong ARDUINO Pro Mini, được liệt kê bên dưới:

  • PIR (Hồng ngoại thụ động - Cảm biến hiện diện) https://www.dx.com/p/pyro Electrical-infrared-pir-mot…
  • DHT 11 (Cảm biến độ ẩm và nhiệt độ)
  • Cảm biến CO (Cảm biến Carbon Monoxide)
  • Cảm biến tiếng ồn

Bộ truyền động:

  • động cơ servo
  • buzzer

Liên lạc:

Mô-đun Bluetooth HC-06

Đối với Dragonboard 410c, chúng tôi sẽ có một số cảm biến và phần mềm để xử lý tất cả các đầu vào dữ liệu:

Cảm biến:

  • DHT 11
  • Cảm biến ánh sáng mặt trời

Bộ truyền động:

  • Chuyển tiếp
  • Trạng thái được dẫn dắt
  • Buzzer

Bước 2: Tạo thiết bị từ xa

Tạo thiết bị từ xa
Tạo thiết bị từ xa

Bây giờ đã đến lúc kết nối tất cả các thành phần sau với Bo mạch Arduino, tạo ra một thiết bị sẽ nhận dữ liệu từ môi trường xung quanh (tiếng ồn, độ ẩm, nhiệt độ, v.v.) và gửi đến Dragonboard bằng mô-đun bluetooth HC-06.

Cần phải chú ý đến các hình nón, bởi vì tất cả các cảm biến đều có các vị trí cụ thể để hình nón.

Trên hệ thống, có thể có nhiều thiết bị để thu thập dữ liệu. Bạn càng cài đặt nhiều thiết bị trong môi trường, thì chẩn đoán được tạo ra bởi quá trình xử lý dữ liệu càng chính xác. Vì nó sẽ có thể trích xuất một loạt các thông tin có thể hữu ích.

Chúng tôi quyết định sử dụng bảng arduino vì có nhiều cảm biến tương thích hơn và có thể cài đặt thiết bị từ xa này ở những nơi khác nhau, thu thập nhiều thông tin hơn.

Thiết bị cục bộ là DragonBoard 410c, xử lý thông tin âm thanh, video, kỹ thuật số và tương tự với bộ xử lý SnapDragon 410 mạnh mẽ của bạn.

Vị trí của các thành phần (Phát triển từ xa)

Wich one piece có một số chân cắm phải được kết nối vào các chân bên phải trên bảng mạch arduino pro mini.

Mô-đun Bluetooth HC-06 có 4 chân:

  • TX (Transmissor) -> được kết nối trên chân của RX Arduino
  • RX (Bộ thu) -> được kết nối trên chân của TX Arduino
  • VCC -> kết nối trên 5v
  • GND

Cảm biến DHT 11 có 4 chân (nhưng chỉ có 3 chân được sử dụng):

  • Tín hiệu -> hình nón được kết nối trên một chân kỹ thuật số
  • VCC -> kết nối trên 5v
  • GND

Cảm biến PIR có 3 chân:

  • Tín hiệu -> được kết nối trên chân kỹ thuật số
  • VCC -> kết nối trên 5v
  • GND

Cảm biến khí (MQ) có 4 chân:

  • Digital OUT -> hình nón được kết nối trên một chân kỹ thuật số (nếu bạn muốn có thông tin kỹ thuật số)
  • Analog OUT -> trong trường hợp của chúng tôi, chúng tôi đang sử dụng kết nối này trên một chân analog
  • VCC -> kết nối trên 5v
  • GND

Cảm biến tiếng ồn (KY-038) có 3 chân:

  • Tín hiệu -> được kết nối trên chân analog
  • VCC -> kết nối trên 5v
  • GND

Mã cho thiết bị điều khiển từ xa Arduino:

/ * * Arduino gửi dữ liệu qua Blutooth * * Giá trị của cảm biến được đọc, nối trên * Chuỗi và gửi qua cổng nối tiếp. * / #include "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); nổi ẩm ướt, nhiệt độ; boolean pir = 0; int co, mic; Chuỗi msg = ""; char nome [40]; void setup () {Serial.begin (9600); dht.begin (); } void loop () {humaty = dht.readHumidity (); nhiệt độ = dht.readTempentic (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + Chuỗi (ẩm ướt) + ";" + Chuỗi (nhiệt độ) + ";" + Chuỗi (mic) + ";" + Chuỗi (pir) + ";" + String (co) + "; #" + "\ n"; Serial.print (msg); chậm trễ (2000); }

Giải thích mã:

Tất cả các chân được sử dụng trong Arduino được trích dẫn ở đầu mã và các thư viện tương ứng cần thiết cho hoạt động của cảm biến được khởi tạo. Tất cả dữ liệu sẽ được chuyển đến các biến tương ứng, các biến này sẽ nhận các giá trị được đọc từ mỗi cảm biến sau mỗi 2000 mili giây, sau đó tất cả chúng được nối thành một chuỗi, sau đó nó được viết thành Serial. Từ đó, rất dễ dàng mã pyton có trong DragonBoard để thu thập dữ liệu như vậy.

Bước 3: Phần mềm và Thư viện

Để xử lý tất cả dữ liệu nhận được và kiểm soát hệ thống bảo mật, cần sử dụng một số phần mềm và thư viện trong Qualcomm DragonBoard 410c.

Trong dự án đặc biệt này, chúng tôi đang sử dụng:

Phần mềm:

  • Python
  • Arduino

Plataforms:

  • Amazon AWS -> máy chủ trực tuyến
  • Phant -> Dịch vụ dữ liệu máy chủ

Thư viện:

  • OpenCV - Xử lý video (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - Xử lý âm thanh (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 - Đào tạo và dự đoán học máy (https://scikit-learn.org/stable/install.html)
  • cPickle - Lưu các thông số máy học (https://pymotw.com/2/pickle/)
  • MRAA - Sử dụng GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM - Sử dụng GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - Sử dụng để giao tiếp nối tiếp với thiết bị Bluetooth (https://pythonhosted.org/pyserial/)

Bước 4: Sử dụng SSH và cài đặt Libs

Trước hết bạn cần lấy địa chỉ IP từ Dragonboard, để làm được điều đó, bạn cần bật DragonBoard được kết nối với chuột, bàn phím và màn hình HDMI. Khi bảng được bật, bạn cần kết nối với mạng, sau đó bạn đi đến thiết bị đầu cuối và chạy lệnh:

sudo ifconfig

sau đó bạn có thể lấy địa chỉ IP.

Với địa chỉ IP, bạn có thể truy cập Dragonboard thông qua SHH, để làm điều đó, bạn cần mở một thiết bị đầu cuối trong máy tính được kết nối trong cùng một mạng với bảng. Trong terminal, bạn có thể chạy lệnh:

ssh linaro @ {IP}

(bạn nên thay thế {IP} bằng địa chỉ IP mà bạn nhận được trong Dragonboard).

Lib đầu tiên bạn cần cài đặt là mraa lib. Để làm điều đó, bạn cần chạy lệnh sau trong terminal:

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

Để cài đặt opencv cho python, bạn chỉ cần chạy lệnh:

sudo apt-get install python-opencv

Để cài đặt PyAudio, bạn cần chạy lệnh:

sudo apt-get install python-pyaudio python3-pyaudio

Các libs WAVE và AudioOp đã được cài đặt sẵn trong bảng. Để cài đặt numpy, bạn cần chạy lệnh:

sudo apt-get install python-numpy python-scipy

Lib cuối cùng mà bạn phải cài đặt là scikit, để cài đặt nó, bạn cần phải cài đặt pip. Hơn là bạn chỉ cần chạy lệnh:

pip cài đặt scikit-learning

Bước 5: Giao thức Bluetooth

Giao thức Bluetooth
Giao thức Bluetooth
Giao thức Bluetooth
Giao thức Bluetooth
Giao thức Bluetooth
Giao thức Bluetooth

Kết nối DragonBoard với Arduino bằng Bluetooth

Mô-đun Bluetooth (HC-06) ban đầu được kết nối với Arduino Nano theo ví dụ sau:

Sử dụng giao diện đồ họa Linaro (Hệ điều hành được sử dụng trong dự án hiện tại trong DragonBoard), ở phía bên phải của thanh dưới cùng, nhấp vào biểu tượng Bluetooth, sau đó nhấp vào "Thiết lập thiết bị mới" và định cấu hình với mô-đun Bluetooth của bạn để nó được ghép nối. Xác minh rằng mô-đun của bạn thực sự được kết nối bằng cách nhấp lại vào biểu tượng Bluetooth, nhấp vào "Thiết bị…" và xem tên thiết bị của bạn có được liệt kê và kết nối hay không. Bây giờ hãy chọn thiết bị của bạn trong màn hình "Thiết bị Bluetooth" và nhấp chuột phải vào thiết bị đó và lưu ý cổng mà mô-đun Bluetooth của bạn được kết nối (ví dụ: "rfcomm0"). Lưu ý: Tên cổng mà thiết bị của bạn được kết nối sẽ rất quan trọng đối với bước tiếp theo để kích hoạt trao đổi dữ liệu.

Thiết lập trao đổi dữ liệu DragonBoard và Bluetooth

Về cơ bản, chúng tôi làm theo từng bước của liên kết: https://www.uugear.com/portfolio/bl Bluetooth-communi… nhưng chúng tôi không thực hiện phần ghép nối mà chỉ thực thi mã python và Arduino. Trong python đã được sử dụng thư viện nối tiếp được khởi tạo trong cổng kết nối với bluetooth, do đó mã python đọc dữ liệu của các cảm biến được kết nối với arduino thông qua mô-đun bluetooth.

Bước 6: Sử dụng Mezzanine trên DragonBoard 410c

Sử dụng Mezzanine trên DragonBoard 410c
Sử dụng Mezzanine trên DragonBoard 410c

Để làm cho các kết nối trở nên chắc chắn hơn giữa bảng rồng và các bộ kết nối, chúng tôi đang sử dụng một loại lá chắn được gọi là Mezannine, được phát triển bởi 96boards.

Sử dụng tấm chắn này, việc kết nối các thiết bị ngoại vi trở nên dễ dàng hơn rất nhiều.

Các đầu nối sử dụng là từ bộ công cụ phát triển của lùm cây, vì vậy nó chỉ sử dụng cáp especif kết nối cả hai cách, Bạn có thể dễ dàng tìm thấy tất cả các bộ phận trong trang web này:

Chúng tôi đang sử dụng bộ dụng cụ này dưới đây:

  • Grove Relay
  • Cảm biến ánh sáng mặt trời Grove
  • Ổ cắm dẫn Grove
  • Cảm biến nhiệt độ & tiếng ồn Grove
  • Grove Buzzer

Bước 7: Phần mềm DragonBoard 410c

Một phần của chương trình trong DragonBoard được mã hóa bằng Python và chương trình được sử dụng trên Arduino được phát triển bằng C ++. Cứ sau 2 phút Arduino đọc tất cả các cảm biến được gắn vào nó. Hơn Arduino gửi bài đọc đến DragonBoard bằng Bluetooth. DragonBoard kết hợp phép đọc đến từ Arduino với phép đọc mà nó tạo ra bởi lá chắn Mezzanine với các tính năng từ các mẫu âm thanh và video.

Với dữ liệu này, Hội đồng cố gắng dự đoán nếu nó đang xảy ra một tình huống khẩn cấp. Hội đồng quản trị gửi cho Amazon Web Service bằng cách sử dụng Phant dữ liệu thô và dự đoán mà nó đã đưa ra. Nếu bảng dự đoán rằng nó đang xảy ra một tình huống kỳ lạ, nó sẽ cố gắng cảnh báo người dùng nhấp nháy đèn led và còi trong Tầng lửng và hiển thị trên ứng dụng web. Trong ứng dụng web, bạn cũng có thể xem dữ liệu thô để hiểu điều gì đang xảy ra trong khu vực này.

Đề xuất: