Giao diện ứng dụng Win32DiskImager trên Windows 10

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống thông minh giám sát điều kiện môi trường và an ninh phòng máy quy mô lớn (Trang 51)

- Bước 1: Đưa thẻ micro SD vào máy tính Windows, đợi máy tính nhận thẻ. - Bước 2: Tại khung nhập Image File, chuyển đường dẫn đến file ảnh Pi OS. - Bước 3: Chọn thẻ microSD tại mục Device (ở đây thẻ của tôi được ánh xạ vào

thiết bị tên F).

- Bước 4: Bấm nút Write để bắt đầu ghi Pi OS vào thẻ.

- Bước 5: Sau khi ghi xong đưa thẻ nhớ vào board mạch Raspberry Pi và cấp nguồn cho board.

Để làm việc với Pi, ta có thể làm việc trực tiếp hoặc từ xa, qua giao diện desktop hoặc dòng lệnh (giao diện được hỗ trợ ở hầu hết các hệ điều hành Like-Unix). Với một màn hình kết nối với Pi qua cổng HDMI cùng chuột và bàn phím USB, khi đó ta sẽ làm

việc với Pi trên giao diện desktop như trên một máy tính thông thường hoặc có thể sử dụng dịch vụ VNC (Virtual Network Computing, một dịch vụ điều khiển từ xa qua giao diện tương tự như Teamviewer, Anydesk, Ultraview… cài sẵn theo Pi OS) (Hình 3.17). Và một lựa chọn khác là ta có thể làm việc thông qua giao diện câu lệnh từ xa thông qua dịch vụ ssh (cũng được tích hợp sẵn trên Pi OS, nhưng cần phải kích hoạt lần đầu).

Hình 3.17: Giao diện desktop của Pi OS

Làm việc với Pi từ xa qua giao diện dòng lệnh cần một máy tính có phần mềm hỗ trợ giao thức ssh như putty, địa chỉ IP của Pi và tài khoản truy cập Pi (mặc định là

pi/raspberry) (Hình 3.18).

Hình 3.18: Giao diện tương tác dòng lệnh thông qua giao thức ssh với Putty

Sau khi truy cập được Pi cần thực hiện các cấu hình cơ bản thông qua tiện ích Software Configuration (Hình 3.19) bằng lệnh:

- Đổi mật khẩu mặc định cho an toàn; cấu hình IP tĩnh/wireless để dễ dàng truy cập cục bộ đến Pi hoặc nếu cần thực hiện định tuyến cho router chuyển hướng truy cập ra các mạng khác.

Hình 3.19: Tiện ích cấu hình Raspberry Pi đính kèm trong Pi OS

- Thực hiện mở rộng bộ nhớ của Pi OS trên toàn dung lượng thẻ nhớ; tùy chỉnh lại dung lượng chia sẻ Ram với GPU tối ưu với mục đích sử dụng trong tùy chọn

Advanced Options – Software Configuration (Hình 3.20).

Hình 3.20: Cấu hình nâng cao mở rộng bộ nhớ

- Kích hoạt giao tiếp 1-wire với cảm biến nhiệt DS18B20 bằng lệnh:

$modprobe w1-gpio $modprobe w1-therm

- Sau khi thiết lập một số cấu hình liên quan đến hệ thống, nếu cần, Pi OS sẽ yêu cầu khởi động lại.

Thiết lập ftp server để nhận file ghi chuyển động từ camera:

Khi hệ thống camera giám sát phát hiện chuyển động sẽ thực hiện đẩy sự kiện ghi hình thông qua giao thức ftp. Ta thực hiện thiết lập máy chủ ftp trên Pi như sau: - Bước 1: Cài đặt

$sudo apt-get install vsftpd

- Cấu hình trong file /etc/vsftpd.conf

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022

chroot_local_user=YES

- Tạo user phục vụ công tác xác thực:

$useradd camera -d /home/camera -s /usr/sbin/nologin $passwd camera

$mkdir /home/camera/files/

Chọn và thiết lập môi trường lập trình trên Pi OS:

Python là ngôn ngữ lập trình chính thức của Raspberrry Pi (và hầu hết các hệ Linux OS hiện nay), điều này được thể hiện ở các bài giảng lập trình trực tuyến trên trang chủ của tổ chức này ở địa chỉ https://www.raspberrypi.org/training/online/ đều sử dụng ngôn ngữ Python, bên cạnh đó là việc cài đặt sẵn Python trên mọi phiên bản Pi OS (ngoài C và C++ cũng luôn có trên các hệ Linux).

Một số đặc điểm chính của Python như sau:

- Là ngôn ngữ thông dịch, tức lúc chạy code dạng text mới được xử lý tuần tự từng dòng như PHP, Javascript chứ không dịch toàn bộ code dạng text thành mã máy trước rồi chạy sau như C, C++...

- Là ngôn ngữ tương tác, ta có thể viết các mã lệnh trực tiếp trong Python Shell để trình thông dịch thực hiện lệnh ngay lập tức.

- Là ngôn ngữ hướng đối tượng, python là ngôn ngữ lập trình bậc cao hỗ trợ phong cách lập trình hướng đối tượng.

- Là ngôn ngữ dễ học, trở thành ngôn ngữ lập trình thông dụng nhất hiện nay và có cộng đồng hỗ trợ rất mạnh (Hình 3.21). Với python người phát triển có thể thực hiện các tác vụ đơn giản như xử lý text, các ứng dụng tự động hóa hệ thống trong, các ứng dụng web cho đến các công tác phân tích dữ liệu, thử nghiệm các giải thuật, mô hình dự đoán dữ liệu...

Hình 3.21: Mức độ quan tâm các ngôn ngữ lập trình dựa trên từ khóa tìm kiếm Google trends 01/2016-01/2021

Trong bài luận tôi cũng sẽ sử dụng ngôn ngữ lập trình Python để lập trình các module dịch vụ giám sát lẫn ứng dụng web để thiết lập các thông số ngưỡng cảnh báo cũng như cấu hình hệ thống.

Để lập trình python trên Pi OS, ta có thể sử dụng Python Shell viết code trực tiếp vào trình biên dịch hoặc sử dụng trình soạn thảo như vi hoặc nano để soạn thảo toàn bộ code vào file có phần mở rộng là py.

Ta thực hiện cài đặt thêm các thư viện khác phục vụ phát triển các module sau này. Bao gồm gói mqtt server và các gói thư viện python mqtt (cho client) cùng thư viện phát triển ứng dụng web django, bằng các lệnh lần lượt:

$apt-get install mosquitto $pip install paho-mqtt $pip install django

3.2.1.2 Khối Giám sát ra vào – Hệ thống kiểm soát cửa ra vào F18:

Hệ thống kiểm soát cửa ra vào phòng máy F18 có thể hoạt động độc lập, bao gồm các thành phần chính:

- Thiết bị điều khiển độc lập F18. - Nút Exit.

Và các thành phần phụ mở rộng như: Chuông, máy tính cài đặt phần mềm chấm công, bộ xác thực vân tay mở rộng, USB để truyền thông local như Hình 3.22.

Hình 3.22: Sơ đồ kết nối hệ thống kiểm soát cửa ra vào

Trong đó thiết bị điều khiển F18 là bộ não của hệ thống kiểm soát ra vào có đặc tính kỹ thuật như Bảng 3.3:

Bảng 3.3. Thông số kỹ thuật bộ điều khiển F18

Thông số Giá trị

Vi xử lý ZK 6001, 400 Mhz

Bộ nhớ 64M Flash, 32MSDRAM

Cảm biến vân tay Cảm biến quang

Dung lượng vân tay 3.000 mẫu

Dung lượng giao dịch 100.000

Màn hình LCD 2.4 inch

Kết nối Ethernet (10/100 M), RS485, USB-Host

Tín hiệu wiegand Ngõ vào và ra

Tốc đô nhận dạng ≤ 2 giây

Nhiệt độ vận hành 0-45 oC

Độ ẩm vận hành 20-80%

Ngôn ngữ Đa ngôn ngữ

Nguồn cấp 12V DC, tối thiểu 3A

Giao diện truy cập Khóa điện, alarm, nút đi ra, chuông dây Để thực hiện được chức năng của Khối giám sát ra vào, hệ thống kiểm soát cửa F18 cần thực hiện kết nối với Khối Giám sát và xử lý cục bộ thông qua kết nối Ethernet (ta có thể kết nối trực tiếp, hoặc thông qua các thiết bị trung gian như switch hoặc router IP).

3.2.1.3 Khối Giám sát an ninh, chuyển động – Hệ thống camera Analog:

Thay vì sử dụng cảm biến hồng ngoại để phát hiện có chuyển động trong phòng máy, tôi sử dụng tính năng phát hiện chuyển động tích hợp sẵn của đầu ghi camera để phát hiện chuyển động đồng thời cho người xem thấy được hình ảnh chuyển động mà camera ghi nhận được. Đầu ghi, sử dụng ở đây là loại đầu ghi Analog DVR H264 (Hình 3.23) phổ thông có thông số kỹ thuật như Bảng 3.4.

Bảng 3.4. Thông số kỹ thuật đầu ghi H264

Thông số Giá trị

Chuẩn nén H.264

Định dạng Video 720P/1080P AHD hoặc Analog 960H/D1

Ngõ ra hiển thị VGA, HDMI (max 1920x1080)

Độ phân giải ghi hình 120fps @1280x720P/ 48 fps@ 1920x1080P

Tỉ lệ khung hình chiếu lại 120fps @1280x720P/ 48 fps@ 1920x1080P

Các chế độ ghi hình Continuous / Schedule / Sensor / Motion

Số ngõ vào âm thanh 4

Số ngõ ra âm thanh 1

Dạng nén âm thanh G711A

Hỗ trợ dung lượng ổ cứng

lưu trữ tối đa 1 HDD x 4 TB

Lưu trữ dự phòng USB, External HDDs, qua mạng thông qua CMS

Các giao thức mạng HTTP, DDNS, NTP, SMTP,RTP, RTSP, RTCP

Giao diện mạng Ethernet 10/100 Mbps

Phân quyền quản lý 4 nhóm: Admin, users 1,2,3

Điều khiển Camera PTZ 1-RS485

Xem trực tiếp từ xa Hai luồng chính và phụ

Nhiệt độ vận hành -5-70 oC

Ngôn ngữ Đa ngôn ngữ

Nguồn tiêu thụ 12V DC, tối đa 24 W

NTP Server

Hình 3.23: Sơ đồ kết nối hệ thống camera analog

TCP/IP

Analog

Đầu ghi AHD Camera

Tương tự như Khối giám sát ra vào, để thực hiện chức năng của Khối giám sát an ninh, chuyển động thì đầu ghi của hệ thống camera cần thực hiện kết nối với Khối Giám

sát và xử lý cục bộ , giao diện kết nối hỗ trợ của đầu ghi là chuẩn Ethernet. 3.2.1.4 Khối Giám sát Nhiệt độ - Cảm biến nhiệt độ DS18B20:

Cảm biến nhiệt độ DS18B20 giao tiếp với vi xử lý thông qua giao thức truyền thông nối tiếp chỉ sử dụng 1 dây để truyền dữ liệu, ứng dụng của DS18B20 có thể dùng trong các hệ thống điều khiển môi trường HVAC, các hệ thống giám sát nhiệt độ trong tòa nhà, thiết bị, máy móc (Hình 3.24).

Hình 3.24: Sơ đồ chân các dòng IC DS18B20

DS18B20 có bộ nhớ chỉ đọc 64 bit lưu trữ chuỗi sê-ri duy nhất của thiết bị được hiểu như địa chỉ của thiết bị để phân biệt nó với thiết bị khác. Điều này cho phép bộ xử lý như Raspberry Pi nhận dữ liệu nhiệt độ từ nhiều cảm biến trên cùng 1 chân GPIO sử dụng giao thức Dallas 1-wire. Một vài thông số kỹ thuật và tính năng của cảm biến [13]:

- Nguồn hoạt động: 3.0 - 5.5 V DC - Khoảng đo: -55 oC đến +125 oC

- Đô chính xác ±0.5 oC trong khoảng đo -10oC đến +85 oC - Chu kỳ lấy mẫu: 750 ms

3.2.1.5 Khối Giám sát Độ ẩm - Cảm biến nhiệt độ, độ ẩm DHT22:

DHT22 (Hình 3.25) là loại cảm biến nhiệt độ và độ ẩm (đầy đủ là độ ẩm tương đối) với dữ liệu được truyền trên 1 dây (nhưng giao thức khác với Dallas 1-wire của

DS18B20), kích thước nhỏ và giá thành thấp. Ta điểm qua một số đặc tính kỹ thuật của cảm biến này như Bảng 3.5.

Bảng 3.5. Thông số kỹ thuật DHT22 Đặc điểm Giá trị Đặc điểm Giá trị Điện áp làm việc 3.3 – 6 V DC Dòng tiêu thụ Trạng thái nghỉ: 40 – 50 μA Trạng thái làm việc: 1 – 1.5 mA Tín hiệu ngõ

ra Tín hiệu số trên 1 chân

Thành phần

cảm biến Cảm biến điện dung

Khoảng đo Độ ẩm: 0 đến 100% RH; Nhiệt độ: -40 đến +80 oC Độ chính xác Độ ẩm: ±2 % RH (Có thể lên đến ±5 % RH); Nhiệt độ: ± 0.5 oC Độ phân giải thang đo Độ ẩm: 0.1 %RH; Nhiệt độ: 0.1 oC

Tuổi thọ cao Sai số thay đổi: ± 0.5 %RH/năm Chu kì lấy mẫu 2s Kích thước (mm) 14*18*5.5 Khoảng cách truyền tín hiệu

Tối đa 100 m, tùy thuộc chất lượng dây dẫn và mối nối

Cảm biến này cũng có một số khuyến cáo không nên dùng cho các ứng dụng liên quan đến an toàn thiết bị hay các hệ thống đòi hỏi độ chính xác và an toàn cao. Đối với phạm vi ứng dụng của hệ thống là Giám sát điều kiên môi trường phòng máy để cảnh báo giảm thiểu rủi ro hao mòn thiết bị thì việc xảy ra lỗi là có thể chấp nhận được nhưng cũng cần có cảnh báo khi lỗi xảy ra để thực hiện tác vụ kiểm tra xử lý [14].

Chi tiết về hoạt động giao thức 1-wire của cảm biến DHT22: Nguồn điện và chân:

Khi nguồn điện được cấp (áp 3.3 – 5.5 VDC), trong giây đầu tiên không gửi bất kỳ tín hiệu nào đến sensor để bỏ qua trạng thái khởi động. Nên chèn 1 cảm tụ 100nF giữa VCC và GND để lọc hài.

Tín hiệu truyền thông và giao tiếp:

Dữ liệu truyền thông giữa vi xử lý (MCU) và DHT22 là dữ liệu trên một bus, cấu trúc dữ liệu DHT22 gửi về cho MCU có độ dài 40 bit có cấu trúc như sau:

DATA = 16 bit RH + 16 bit nhiệt độ + 8 bit check-sum

Ví dụ:

- Data = 0000 00101000 1100 0000 0001 0101 1111 1110 1110

- Khi đó ta chuyển bin sang dec với hệ số 0.1 là được giá trị thực:  RH = 0000 0010 1000 1100 = 652/10 = 65.2%

 Nhiệt độ = 0000 0001 0101 1111 = 351/10 = 35.1 oC

 Check-sum = 0000 0010 + 1000 1100 + 0000 0001 + 0101 1111 = 1110 1110

Khi MCU gửi tín hiệu khởi động, DHT22 chuyển trạng thái nghỉ sang làm việc. Khi MCU ngưng gửi tín hiệu khởi động, DHT22 sẽ gửi dữ liệu về độ ẩm và nhiệt độ 40-bit về cho MCU. Nếu MCU không gửi tín hiệu khởi động, DHT22 sẽ chuyển về trạng thái nghỉ. Sau đây là minh họa chi tiết giao thức truyền thông giữa MCU và DHT22 (Hình 3.26, 3.27):

- Bước 1: MCU gửi tín hiệu khởi động cho DHT22 và DHT22 gửi tín hiệu

phản hồi cho MCU.

Ở trạng thái tự do, bus dữ liệu được thả ở mức cao, MCU sẽ kéo mức tín hiệu xuống thấp khoảng dưới 20 ms để đảm bảo DHT22 nhận được tín hiệu sau đó MCU đẩy mức tín hiệu lên cao và đợi 20-40μs để chờ DHT22 phản hồi.

Khi DHT22 nhận được tín hiệu khởi động, DHT22 sẽ kéo mức tín hiệu xuống 80μs để phản hồi, sau đó kéo lên mức cao 80μs nữa để chuẩn bị gửi dữ liệu.

Hình 3.26: Minh họa quá trình chuẩn bị gửi dữ liệu giữa MCU với DHT22 giữa MCU với DHT22

- Bước 2: DHT22 gửi dữ liệu cho MCU

Khi DHT22 đang gửi dữ liệu cho MCU, mỗi bit truyền đi đều bắt đầu bằng mức tín hiệu thấp kéo dài 50μs và mức tín hiệu đi sao sẽ quyết định bit dữ liệu này là "0" hay "1" tùy vào độ dài của mức tín hiệu (26-28 μs sẽ là bit "0", đối với bit "1" là 50μs).

Hình 3.27: Minh họa toàn bộ quá trình truyền dữ liệu giữa MCU và DHT22 giữa MCU và DHT22

3.2.1.6 Khối Giám sát khói – Module cảm biến khí MQ2:

Module cảm biến khí MQ2 cho phép phát hiện khói, khí gây cháy trong phạm vi rộng, thời gian đáp ứng và độ nhạy cao được ứng dụng nhiều trong công nghiệp và dân dụng trong việc phát hiện các khí gây cháy hóa lỏng (LPG), propane, methano, cồn, hydro và khói (Hình 3.28).

Điểm qua một số thông số kỹ thuật và tính năng của module: - Nguồn hoạt động: 5V DC

- Giá trị dữ liệu trả về: Analog, Digital

- Có biến trở điều chỉnh độ nhạy cảm biến, thay đổi ngưỡng cảnh báo cho giá trị mức tín hiệu chân Digital.

Do mức điện áp tín hiệu chân dữ liệu của cảm biến MQ2 trả về là mức điện áp 5V, để không làm hỏng board mạch Pi ta cần thực hiện chuyển mức điện áp này về mức điện áp 3V3 (mức điện áp cao nhất mà chân GPIO của Pi chấp nhận).

Sơ lược một vài thông số kỹ thuật và tính năng của module chuyển mức điện áp AMS1117 3V3 như sau (Hình 3.29):

- Điện áp vào: 4.5 – 12 V DC - Điện áp ra: 3.3V, 800 mA - Sử dụng chip AMS1117

3.2.1.7 Khối Giám sát điện lưới – Adapter 5V DC:

Khối này có chức năng giám sát điện lưới có mất. Khối bao gồm: Một adapter chuyển từ 220V xuống 5 VDC bất kỳ, và một rờ le thường đóng (điện áp kích 5VDC) đóng ngắt tiếp điểm kết nối mức tín hiệu vào một chân GPIO của PI (hoạt động ở chế độ Input) để giám sát (Hình 3.30).

Thông số kỹ thuật yêu cầu của Adapter 5V: - Điện áp vào: 220V AC

- Điện áp ra: 5V DC

Thông số kỹ thuật yêu cầu của Rơ le sử dụng: - Điện áp nuôi: 5 V DC

- Điện áp kích: 5V DC

- Loại tiếp điểm: Thường đóng và thường mở.

3.2.2 Kết nối các giao diện phần cứng, thiết bị:

3.2.2.1 Kết nối các khối qua giao diện Ethernet:

Kết nối Ethernet được thực hiện giữa khối Giám sát và xử lý cục bộ với khối Giám

sát ra vào, khối Giám sát an ninh và chuyển động thông qua Ethernet switch (thiết bị

chuyển mạch IP lớp 2).

3.2.2.2 Kết nối khối Giám sát cục bộ với nhóm Cảm biến:

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống thông minh giám sát điều kiện môi trường và an ninh phòng máy quy mô lớn (Trang 51)

Tải bản đầy đủ (PDF)

(80 trang)