Mục lục:
- Bước 1: Các thành phần bắt buộc
- Bước 2: Tạo thiết bị từ xa
- Bước 3: Phần mềm và Thư viện
- Bước 4: Sử dụng SSH và cài đặt Libs
- Bước 5: Giao thức Bluetooth
- Bước 6: Sử dụng Mezzanine trên DragonBoard 410c
- Bước 7: Phần mềm DragonBoard 410c
Video: Phát hiện các tình huống khẩn cấp - Qualcomm Dragonboard 410c: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
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
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
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
Để 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:
Nâng cấp DSO mini DIY thành một máy hiện sóng thực với các tính năng tuyệt vời: 10 bước (có hình ảnh)
Nâng cấp DSO Mini Tự làm thành Máy hiện sóng thực với các tính năng tuyệt vời: Lần trước tôi đã chia sẻ cách tạo Mini DSO với MCU. Để biết cách xây dựng từng bước, vui lòng tham khảo tài liệu hướng dẫn trước đây của tôi: https://www.instructables. com / id / Make-Your-Own-Osc … Vì có nhiều người quan tâm đến dự án này, tôi đã dành một ít
Ngân hàng điện khẩn cấp - Hộp công cụ tự làm Năng lượng mặt trời: Đài + Bộ sạc + Đèn cho trường hợp khẩn cấp !: 4 bước
Ngân hàng điện khẩn cấp - Hộp công cụ tự làm Năng lượng mặt trời: Đài + Bộ sạc + Đèn cho trường hợp khẩn cấp!: Ngày 28 tháng 3 năm 2015: Tôi đã tạo hộp công cụ của mình cho những trường hợp khẩn cấp và sử dụng bây giờ khi thành phố của tôi đã bị chôn vùi trong bùn. Theo kinh nghiệm, tôi có thể nói rằng tôi đã phục vụ cho việc sạc điện thoại và nghe đài. một loa máy tính cũ? pin 12 volt chưa sử dụng? Bạn có thể tạo ra
Đo các tín hiệu nhỏ bị nhiễu trên máy hiện sóng của bạn (Phát hiện nhạy pha): 3 bước
Đo tín hiệu cực nhỏ bị nhiễu trên máy hiện sóng của bạn (Phát hiện nhạy pha): Hãy tưởng tượng bạn muốn đo một tín hiệu nhỏ bị chôn vùi trong tiếng ồn mạnh hơn nhiều. Xem video để biết nhanh cách thực hiện hoặc tiếp tục đọc để biết chi tiết
Phát triển ứng dụng bằng cách sử dụng các ghim GPIO trên DragonBoard 410c với hệ điều hành Android và Linux: 6 bước
Phát triển ứng dụng bằng cách sử dụng chân GPIO trên DragonBoard 410c Với Hệ điều hành Android và Linux: Mục đích của hướng dẫn này là hiển thị thông tin cần thiết để phát triển các ứng dụng sử dụng chân GPIO trên DragonBoard 410c mở rộng tốc độ thấp. Hướng dẫn này trình bày thông tin để phát triển các ứng dụng bằng cách sử dụng các chân GPIO với SYS trên Andr
Guardian V1.0 --- Nâng cấp Camera nhìn trộm cửa với Arduino (Tính năng ghi hình phát hiện chuyển động & sốc điện): 5 bước
Guardian V1.0 ||| Nâng cấp Camera nhìn trộm ở cửa với Arduino (Tính năng ghi hình phát hiện chuyển động & tính năng sốc điện): Tôi đã đặt hàng một camera nhìn trộm nhưng khi sử dụng thì nhận ra rằng không có chức năng ghi hình tự động (được kích hoạt bằng cách phát hiện chuyển động). Sau đó, tôi bắt đầu tìm hiểu xem nó hoạt động như thế nào. Để quay video, bạn nên nhấn nút nguồn gần 2 giây