Mục lục:

Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi: 7 bước (có hình ảnh)
Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi: 7 bước (có hình ảnh)

Video: Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi: 7 bước (có hình ảnh)

Video: Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi: 7 bước (có hình ảnh)
Video: “Người Ngoài Hành Tinh” ở Pháp👽😱 2024, Tháng bảy
Anonim
Image
Image
Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi
Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi
Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi
Hệ thống bảo mật nhận dạng khuôn mặt cho tủ lạnh với Raspberry Pi

Duyệt qua internet, tôi phát hiện ra rằng giá cho các hệ thống an ninh thay đổi từ 150 đô la đến 600 đô la trở lên, nhưng không phải tất cả các giải pháp (ngay cả những giải pháp rất đắt tiền) đều có thể được tích hợp với các công cụ thông minh khác tại nhà của bạn! Ví dụ: bạn không thể thiết lập camera an ninh ở cửa trước để nó tự động mở cửa cho bạn hoặc bạn bè của bạn!

Tôi đã quyết định tạo ra một giải pháp đơn giản, rẻ và mạnh mẽ, mà bạn có thể sử dụng ở mọi nơi! Có rất nhiều sách hướng dẫn về cách tạo các hệ thống an ninh giá rẻ và tự chế, tuy nhiên tôi muốn chứng minh ứng dụng thực sự không hề nhỏ của những hệ thống đó - hệ thống bảo mật cho tủ lạnh với tính năng nhận dạng khuôn mặt!

Làm thế nào nó hoạt động? Camera IP đặt trên nóc tủ lạnh, cảm biến (hai nút) phát hiện khi có người mở cửa tủ lạnh, sau đó Raspberry Pi chụp ảnh người đó (bằng camera IP), sau đó gửi đến Microsoft Face API để phân tích hình ảnh và nhận được tên của người đó. Với thông tin này, Raspberry Pi sẽ quét “danh sách truy cập”: nếu người đó không có quyền truy cập vào tủ lạnh, Raspberry sẽ thông báo cho chủ sở hữu qua email, tin nhắn văn bản và twitter! (Xem hình trên)

Tại sao? Hệ thống cho phép bạn kiểm soát các thành viên trong gia đình mình, đặc biệt là khi họ đang ăn kiêng, hoặc đấu tranh với việc không ăn sau nửa đêm! Hoặc sử dụng nó chỉ cho vui!

Hơn nữa, bạn thực sự có thể cài đặt camera ở cửa trước của mình và định cấu hình hệ thống để mở cửa khi bạn, các thành viên trong gia đình hoặc bạn bè của bạn đang đến gần. Và đây không phải là kết thúc! Khả năng của ứng dụng là vô tận!

Hãy bắt đầu nào!

Bước 1: Chuẩn bị

Sự chuẩn bị
Sự chuẩn bị

Bạn sẽ cần:

  • Raspberry Pi 3 (bạn có thể dùng các phiên bản cũ hơn nhưng thế hệ thứ ba có Wi-Fi nên rất tiện lợi)
  • nút
  • Dây điện
  • Điện thoại thông minh cũ hoặc máy ảnh Raspberry Pi

Điều đầu tiên bạn phải làm là định cấu hình Raspberry Pi của mình. Hướng dẫn chi tiết về cách thực hiện mà bạn có thể tìm thấy ở đây và ở đây, nhưng chúng tôi sẽ trình bày các bước quan trọng nhất trong hướng dẫn này.

  1. Tải xuống Win32 DiskImager từ đây (nếu bạn sử dụng Windows)
  2. Tải xuống SD Formatter từ đây
  3. Chèn thẻ SD vào máy tính của bạn và định dạng nó bằng SD Formatter
  4. Tải xuống Hình ảnh Raspbian từ đây (Chọn "Raspbian Jessie với pixel")
  5. Chạy Win32 DiskImager, chọn thẻ SD của bạn, chỉ định đường dẫn đến hình ảnh Raspbian, nhấp vào "Viết"
  6. Cắm thẻ SD vào Raspberry Pi của bạn và bật nguồn!

Ngoài ra, bạn cần phải định cấu hình Raspberry Pi của mình để có quyền truy cập vào hệ thống thông qua SSH. Có rất nhiều hướng dẫn trên internet, chẳng hạn như bạn có thể sử dụng cái này, hoặc bạn có thể gắn màn hình và bàn phím.

Bây giờ Pi của bạn đã được cấu hình và bạn đã sẵn sàng để tiếp tục!

Bước 2: Tạo cảm biến

Tạo cảm biến
Tạo cảm biến
Tạo cảm biến
Tạo cảm biến
Tạo cảm biến
Tạo cảm biến

Mô tả bước: Trong bước này, chúng ta sẽ tạo một cảm biến phát hiện khi có người mở cửa tủ lạnh và kích hoạt Raspberry Pi.

Để thiết lập nó, bạn sẽ cần 2 nút mà bạn đã chuẩn bị ban đầu. Nút đầu tiên sẽ phát hiện khi cửa được mở, nút thứ hai sẽ phát hiện khi cửa được mở cho đến khi chúng ta đang chụp ảnh một người.

  1. Hàn dây vào các nút.
  2. Gắn nút đầu tiên vào cửa tủ lạnh để nó được đẩy khi đóng cửa (xem hình trên)
  3. Gắn nút thứ hai vào cửa tủ lạnh như trong hình trên. Nút này phải được nhả ra mọi lúc, ngoại trừ khi cửa đạt điểm khi hệ thống chụp ảnh. Để thiết lập nó, bạn cần gắn một thứ gì đó vào tủ lạnh để nút này được nhấn khi cửa được mở ở mức độ mong muốn (xem ảnh ở trên).
  4. Gắn dây từ các nút vào Raspberry Pi: nút đầu tiên với GPIO 23 và nối đất, nút thứ hai với GPIO 24 và tiếp đất (Xem sơ đồ kết nối).

Lưu ý: Tôi sử dụng sơ đồ chân BCM (không phải Board), đọc thêm về sự khác biệt ở đây.

Sau khi kết nối với Raspberry Pi của bạn qua SSH, để chạy trình bao python, hãy nhập vào thiết bị đầu cuối:

python3

Nếu bạn đang gắn màn hình và bàn phím vào Raspberry Pi, chỉ cần chạy “Python 3 IDLE” từ menu.

Bước tiếp theo là làm cho Raspberry Pi hoạt động với các nút. Chúng tôi sẽ gắn các bộ nghe đặc biệt vào các chân GPIO 23 và 24, các chân này sẽ lắng nghe sự kiện “cạnh lên” và sự kiện “cạnh giảm” trên các chân đó. Trong trường hợp xảy ra sự kiện, người nghe sẽ gọi các hàm mà chúng tôi đã xác định. “Cạnh nhô lên” có nghĩa là nút đã được nhấn và bây giờ được thả ra (nút đầu tiên - cửa đã mở), “cạnh rơi” có nghĩa là nút đã được thả và bây giờ được nhấn (nút thứ hai - cửa đã đạt đến điểm cụ thể). Thông tin thêm về chức năng của các nút - tại đây.

Đầu tiên, nhập thư viện cung cấp cho chúng tôi quyền truy cập vào các chân:

nhập RPi. GPIO dưới dạng GPIO

Bây giờ hãy xác định các hàm đặc biệt sẽ được gọi khi sự kiện được kích hoạt:

def sensor1 (channel): print (“sensor 1 trigger”) def sensor2 (channel): print (“sensor 2 trigger)

Đặt loại sơ đồ chân:

GPIO.setmode (GPIO. BCM)

Định cấu hình chân:

GPIO.setup (23, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (24, GPIO. IN, pull_up_down = GPIO. PUD_UP)

Đính kèm người nghe:

GPIO.add_event_detect (23, GPIO. RISING, callback = sensor1, bouncetime = 300) GPIO.add_event_detect (24, GPIO. FALLING, callback = sensor2, bouncetime = 300)

Bây giờ bạn có thể kiểm tra nó! Nếu bạn nhấn nút 1, bạn sẽ thấy thông báo trong thiết bị đầu cuối “cảm biến 1 được kích hoạt”, nút 2 cho bạn thông báo “cảm biến 2 được kích hoạt”.

Lưu ý: Khi bạn hoàn thành thử nghiệm, đừng quên gọi hàm sau: GPIO.cleanup ().

Hãy thiết lập một chức năng nữa được gọi khi cửa đến điểm chúng ta chụp ảnh! Bạn có thể tự làm hoặc sử dụng triển khai của tôi mà tôi đã đính kèm ở đây (sensor.py)

Lưu ý: sensor.py chỉ được sử dụng cho mục đích thử nghiệm, các tệp có đầy đủ chức năng mà tôi đã đính kèm ở bước cuối cùng.

Bước 3: Định cấu hình Camera IP

Định cấu hình Camera IP
Định cấu hình Camera IP
Định cấu hình Camera IP
Định cấu hình Camera IP
Định cấu hình Camera IP
Định cấu hình Camera IP

Mô tả bước: Bây giờ chúng ta sẽ cấu hình điện thoại thông minh cũ làm camera IP.

Sử dụng điện thoại thông minh làm camera IP được thực hiện thông qua ứng dụng. Có các ứng dụng khác nhau cho Android, iOS, Windows Phone mà bạn có thể sử dụng. Tôi đã chọn một cái gọi là "IP Webcam" cho Android. Đây là một ứng dụng miễn phí và nó rất dễ cấu hình.

Chạy ứng dụng, vào "Tùy chọn video" để thiết lập độ phân giải của ảnh mà ứng dụng sẽ cung cấp. Sau đó chạm vào "Khởi động máy chủ" (Hình ảnh đầu tiên ở trên). Ở cuối màn hình, bạn phải xem địa chỉ ip của cam (Xem hình thứ hai ở trên). Trong trình duyệt, bạn có thể gõ https://cam_ip_address/photo-j.webp

Cuối cùng, gắn camera vào tủ lạnh (Hình cuối bên trên).

Bước 4: API khuôn mặt

API khuôn mặt
API khuôn mặt

Mô tả bước: Trong bước này, chúng ta sẽ nói về Face API của Microsoft có chức năng nhận dạng khuôn mặt và xác định mọi người.

Face API của Microsoft là một dịch vụ nhận dạng khuôn mặt, qua đó chúng tôi có thể phân tích ảnh và xác định những người trên đó.

Trước tiên, bạn cần có Tài khoản Microsoft Azure. Nếu chưa có, bạn có thể tạo miễn phí tại đây.

Thứ hai, truy cập https://portal.azure.com, nhấp vào "Mới" ở phía bên trái, nhập vào biểu mẫu "API dịch vụ nhận thức", chọn nó và nhấp vào "Tạo". Hoặc bạn có thể mở liên kết này. Bây giờ, bạn cần nhập Tên dịch vụ của mình, chọn loại đăng ký, loại API mà bạn cần (trong trường hợp của chúng tôi là Face API), vị trí, mức giá, nhóm tài nguyên và đồng ý Điều khoản pháp lý (xem ảnh chụp màn hình được thêm vào bước này).

Thứ ba, nhấp vào "Tất cả tài nguyên", chọn dịch vụ Face API của bạn và xem thống kê sử dụng, thông tin đăng nhập, v.v.

Thông tin chi tiết về Face API có thể được tìm thấy tại đây, các ví dụ bằng các ngôn ngữ lập trình khác nhau được cung cấp. Đối với dự án này, chúng tôi đang sử dụng python. Bạn có thể đọc tài liệu và tạo bộ chức năng của riêng mình hoặc bạn có thể sử dụng bộ chức năng được cung cấp tại đây (đây không phải là bộ chức năng đầy đủ do Microsoft cung cấp, chỉ là những điểm cần thiết cho dự án này). Các tệp python của tôi được đính kèm vào bước này.

Hãy chuyển sang cấu trúc công việc với Face API. Để sử dụng chức năng "Nhận dạng", chúng tôi phải tạo một thư viện gồm những người sử dụng dịch vụ Face API sẽ nhận dạng các ảnh đang được ứng dụng chụp. Để thiết lập, vui lòng làm theo các bước:

  1. Tạo một nhóm
  2. Thêm người vào nhóm này
  3. Thêm khuôn mặt cho những người này
  4. Đoàn tàu
  5. Gửi ảnh với người bạn muốn xác định (bạn phải cung cấp ảnh và id nhóm mà dịch vụ sẽ tìm kiếm ứng viên)
  6. Kết quả: Để trả lời, bạn sẽ nhận được một danh sách các ứng cử viên có thể có mặt trên bức ảnh bạn đã gửi.

Tôi đã tạo ba tệp với chức năng cụ thể cho phép làm việc với nhóm, người đơn lẻ và ảnh đơn lẻ:

  • PersonGroup.py - chứa các tính năng cho phép: tạo nhóm, nhận thông tin về nhóm, nhận danh sách tất cả các nhóm của bạn, đào tạo nhóm và nhận trạng thái đào tạo
  • Person.py - chứa các tính năng cho phép: tạo người, lấy thông tin người, liệt kê tất cả những người trong nhóm được chỉ định, thêm khuôn mặt cho người được chỉ định
  • Face.py - chứa các tính năng cho phép: phát hiện khuôn mặt trên hình ảnh, nhận dạng người, lấy tên của người được nhận dạng

Trong tệp có tên "Recognition.py", tôi cung cấp các tính năng cho phép bạn kiểm tra xem hình ảnh có chứa khuôn mặt hay không và thêm khuôn mặt cho người được chỉ định (tự động thêm khuôn mặt từ nhiều hình ảnh từ thư mục được chỉ định).

Tải xuống tệp đính kèm ở bước này, giải nén, thay đổi biến toàn cục 'KEY' trong ba tệp sau: PersonGroup.py, Person.py và Face.py thành khóa riêng mà bạn có thể tìm thấy: portal.azure.com> tất cả các tài nguyên > dịch vụ khuôn mặt api (hoặc cách bạn gọi nó)> tab phím. Bạn có thể sử dụng bất kỳ phím nào trong hai phím.

Lưu ý: ở đây chúng tôi sẽ đào tạo dịch vụ Face API để nhận dạng mọi người, vì vậy các hành động sau có thể được thực hiện từ bất kỳ máy tính nào (không cần dùng Raspberry Pi) - các thay đổi được lưu trên máy chủ của Microsoft.

Sau khi thay đổi KEY, hãy chạy Recognition.py và nhập lệnh sau vào python shell:

PersonGroup.create ("family", 'fff-fff')) // bạn có thể sử dụng tên và id của riêng mình cho

nhóm printResJson (PersonGroup.getPersonGroup ('fff-fff'))

Bạn phải xem dữ liệu về nhóm bạn vừa tạo. Bây giờ hãy nhập:

printResJson (Person.createPerson ('fff-fff', 'name of person'))

Bây giờ bạn nhận được ID người. Tạo thư mục có hình ảnh của người này để tất cả các hình ảnh có khuôn mặt của người này. Bạn có thể sử dụng chức năng DetFaceOnImages trong Recognition.py để hiển thị cho bạn khuôn mặt của ảnh nào được phát hiện. Bây giờ, chạy lệnh:

addFacesToPerson ('thư mục có hình ảnh', 'ID người bạn nhận được sau lệnh trước', 'fff-fff')

Sau đó, chúng tôi phải đào tạo dịch vụ của mình bằng cách nhập như sau:

PersonGroup.trainPersonGroup ('fff-fff') printResJson (PersonGroup.getPersonGroupTrainingStatus ('fff-fff'))

Bây giờ nhóm của chúng tôi đã được đào tạo và sẵn sàng để xác định một người.

Để kiểm tra người trên hình ảnh, bạn có thể:

Face.checkPerson (hình ảnh, 'fff-fff')

Để trả lời, bạn sẽ nhận được danh sách các ứng cử viên và xác suất ai có mặt trong bức ảnh.

Lưu ý: mỗi khi bạn thêm khuôn mặt cho một người hoặc một người vào một nhóm, bạn phải đào tạo nhóm!

Bước 5: Cấu hình Node-Red

Cấu hình Node-Red
Cấu hình Node-Red

Bước Mô tả: Ở bước này, chúng ta sẽ tạo luồng Node-Red sẽ thông báo cho bạn về việc vi phạm quyền truy cập vào tủ lạnh của bạn =)

Nếu Raspberry Pi của bạn chạy trên phiên bản Raspbian Jessie tháng 11 năm 2015 trở lên, bạn không cần cài đặt Node-Red vì nó đã được cài đặt sẵn. Bạn chỉ cần cập nhật nó. Vui lòng sử dụng hướng dẫn sử dụng ở đây.

Bây giờ, chúng ta phải cài đặt nút Twilio vào Node-Red, vì vậy chúng ta có thể kích hoạt một tin nhắn văn bản. Mở thiết bị đầu cuối và nhập:

cd ~ /.node-rednpm cài đặt node-red-node-twilio

Thông tin thêm về nút Twilio tại đây. Sau đó, chạy Node-Red bằng cách nhập vào thiết bị đầu cuối:

nút đỏ

Sau đó, truy cập: https://127.0.0.1:1880/ - nếu bạn mở trình duyệt trên Raspberry Pihttps:// {raspberry_pi_ip}: 1880 / - nếu bạn muốn mở trình chỉnh sửa Node-Red từ máy tính khác

Để biết địa chỉ ip của raspberry pi, hãy sử dụng hướng dẫn này.

Bây giờ bạn phải tìm nút Twilio trong danh sách các nút trong trình chỉnh sửa Node-Red của bạn (thường nó xuất hiện sau nhóm 'xã hội').

Đã đến lúc tạo ra dòng chảy!

Lưu ý: bạn có thể sử dụng quy trình của tôi đính kèm với bước này, nhưng đừng quên định cấu hình các nút: email, twitter và twilio. Đọc về điều đó sau.

Luồng của chúng tôi bắt đầu với nút "thông báo" chấp nhận yêu cầu ĐĂNG từ chương trình chính của chúng tôi với một số dữ liệu về vi phạm quyền truy cập (ví dụ về dữ liệu có thể được tìm thấy trong nút nhận xét "về đối tượng nhận"). Nút này ngay lập tức phản hồi bằng thông báo "Ok", do đó chương trình chính biết rằng dữ liệu đã được nhận (Luồng: / thông báo> phản hồi với Ok> phản hồi). Nút màu xanh lá cây ở dưới cùng với tên msg.payload ở đó cho mục đích gỡ lỗi: nếu một cái gì đó không hoạt động, bạn có thể sử dụng nó.

Từ nút nắm tay (/ thông báo) dữ liệu được truyền đến "Chủ đề dữ liệu" và "Chủ đề hình ảnh" trong đó các chủ đề "dữ liệu" và "hình ảnh" được thêm tương ứng.

Trong nút "biên dịch", chúng tôi nhận dữ liệu (mà chúng tôi nhận được trong bước đầu tiên) với chủ đề "dữ liệu" và một hình ảnh với chủ đề "hình ảnh" (hình ảnh được lấy từ /home/pi/image.jpg). Hai thông điệp này nên được biên dịch thành một đối tượng, nhưng hai đối tượng được nhận vào thời điểm khác nhau! Để xử lý điều này, chúng tôi sẽ sử dụng tính năng "ngữ cảnh" cho phép chúng tôi lưu trữ dữ liệu giữa các lần gọi hàm.

Bước tiếp theo là kiểm tra xem người trong danh sách truy cập của chúng ta hay người lạ (nút checkConditions). Có trường "Người đáng tin cậy" trong dữ liệu mà chúng tôi nhận được: "đúng" có nghĩa là chúng tôi biết người này, nhưng anh ấy / cô ấy đã vi phạm quyền truy cập, "false" có nghĩa là người đó là người lạ.

Khi kết quả là "true", chúng tôi gửi thông báo đến twitter, twilio và email; khi kết quả là "false" - chỉ email và twilio. Chúng tôi tạo một đối tượng cho email với một thông điệp, hình ảnh đính kèm và chủ đề email, một đối tượng cho twilio với một thông điệp. Đối với twitter, chúng tôi thêm dữ liệu vào một đối tượng nếu "TrustPerson" là đúng. Sau đó gửi ba đối tượng này đến ba nút khác nhau.

Lưu ý: Nếu nút sau không nhận được thông báo, chúng tôi chỉ gửi "null" cho nó.

Đã đến lúc cấu hình các nút để nhận thông báo!

Twitter Thêm nút "twitter" vào luồng. Mở nó bằng cách nhấp đúp. Nhấp vào bút chì bên cạnh "Twitter ID". Sau đó bấm vào "Bấm vào đây để xác thực với Twitter". Nhập vào tài khoản twitter của bạn và cấp cho Node-Red các quyền cần thiết.

Email Thêm nút "email" vào quy trình. Nếu bạn không sử dụng Gmail, bạn sẽ cần thay đổi dữ liệu trong các trường sau - "Máy chủ" và "Cổng" (bạn có thể tìm thấy máy chủ và cổng nào bạn nên sử dụng trên Trang trợ giúp của tác nhân email của bạn) nếu không, đừng thay đổi các trường này lĩnh vực.

  • Tới> địa chỉ email mà tin nhắn sẽ được gửi đến
  • Userid> đăng nhập từ email của bạn (có thể giống với trường "Tới")
  • Mật khẩu> mật khẩu từ tài khoản email của bạn
  • Tên> tên cho nút này

Twilio Truy cập https://www.twilio.com/try-twilio và đăng ký tài khoản. Xác minh điều đó. Truy cập https://www.twilio.com/console. Nhấp vào "Số điện thoại" (biểu tượng # lớn) và tạo số điện thoại miễn phí. Nếu bạn ở bên ngoài Hoa Kỳ, bạn phải thêm quyền GEO, hãy truy cập https://www.twilio.com/console/sms/settings/geo-pe… và thêm quốc gia của bạn.

Bây giờ, đi tới trình chỉnh sửa Node-Red, thêm nút Twilio, nhấp đúp vào nó để định cấu hình và điền vào tất cả các trường:

  • Thông tin đăng nhập> Sử dụng thông tin đăng nhập cục bộ
  • Twilio> chỉnh sửa
    • SID tài khoản> lấy từ đây
    • Từ> nhập số ảo mà bạn đã tạo
    • Mã thông báo> lấy từ đây
    • Tên> Twilio
  • Đầu ra> SMS
  • Tới> số điện thoại của bạn
  • Tên> tên cho nút này.

Nhấp vào Triển khai

Bây giờ quy trình của bạn đã sẵn sàng! Bạn có thể kiểm tra nó bằng cách gửi yêu cầu POST với đối tượng được chỉ định!

Bước 6: Biên soạn toàn bộ dự án

Biên soạn toàn bộ dự án
Biên soạn toàn bộ dự án
Biên soạn toàn bộ dự án
Biên soạn toàn bộ dự án

Mô tả bước: Trong bước này, chúng tôi sẽ đặt tất cả các bộ phận lại với nhau và làm cho chúng hoạt động như một hệ thống riêng biệt.

Đến bước này, bạn phải:

  1. Định cấu hình điện thoại thông minh cũ thành camera ip
  2. Có cảm biến hoạt động
  3. Đã đào tạo API khuôn mặt của Microsoft
  4. Đã định cấu hình Node-Red flow

Bây giờ chúng ta phải cải thiện mã mà chúng ta đã viết ở bước 2. Cụ thể hơn, hàm process () được gọi khi có người mở cửa. Trong chức năng này, chúng ta sẽ làm như sau:

  1. Lấy hình ảnh từ camera ip và lưu vào “/ home / pi /” với tên “image.jpg” (chức năng “fromIpCam” trong tệp “getImage”)
  2. Lấy tên của người trên hình ảnh đó (chức năng “checkPerson” trong tệp “công nhận”)
  3. Kiểm tra quyền truy cập cho người đó (chức năng “kiểm tra” trong tệp “truy cập”)
  4. Dựa trên kết quả của chức năng "kiểm tra", soạn tin nhắn
  5. Gửi tin nhắn đã soạn tới Node-Red (chức năng “toNodeRed” trong tệp “sendData”)

Lưu ý: để xem mã đầy đủ của các chức năng đã đề cập, vui lòng tải xuống tệp zip đính kèm ở bước này.

Giới thiệu về chức năng “fromIpCam”. Chức năng này thực hiện yêu cầu GET tới camera ip của bạn, nhận hình ảnh tiêu điểm theo phản hồi và lưu nó vào đường dẫn do bạn chỉ định. Bạn phải cung cấp địa chỉ ip camera cho chức năng này.

Giới thiệu về chức năng “checkPerson”. Hàm lấy đường dẫn đến hình ảnh và nhóm mà bạn muốn tìm người từ ảnh dưới dạng tham số. Thứ nhất, nó phát hiện một khuôn mặt trên hình ảnh được cung cấp (tệp Face.py, chức năng “phát hiện”). Đáp lại, nó sẽ nhận được id nếu khuôn mặt được phát hiện. Sau đó, nó gọi chức năng “nhận dạng” (tệp Face.py) để tìm những người tương tự trong nhóm được chỉ định. Đáp lại, nó nhận được một id người nếu người đó được tìm thấy. Sau đó, gọi hàm “person” (file Person.py) với ID người làm tham số, hàm “person” trả về người có ID được chỉ định, chúng tôi lấy tên của người đó và trả về.

Về chức năng “kiểm tra”. Hàm này được đặt trong tệp “access”, nơi cũng đặt “danh sách truy cập” như một biến toàn cục (bạn có thể sửa đổi nó theo ý muốn). Lấy tên người từ chức năng trước, chức năng “kiểm tra” so sánh người này với danh sách truy cập và trả về kết quả.

Lưu ý: toàn bộ dự án được đính kèm ở bước tiếp theo.

Bước 7: Kết luận

Trong bước này, tôi đã đính kèm toàn bộ dự án mà bạn nên giải nén và đặt vào Raspberry Pi của mình.

Để làm cho dự án này hoạt động, hãy chạy tệp “main.py”.

Nếu bạn điều khiển Raspberry Pi thông qua SSH, bạn phải chạy hai chương trình từ một trình bao: chương trình python và Node-Red. Nhập vào thiết bị đầu cuối như sau:

nút đỏ

Đặt trước “Ctrl + Z” và nhập:

việc làm

Bạn đã xem quá trình Node-Red. Nhìn vào ID của quy trình và nhập:

bg

Bây giờ Node-Red phải bắt đầu hoạt động ở chế độ nền. Sau đó đi đến thư mục có dự án của bạn và chạy chương trình chính:

python3 main.py

Lưu ý: đừng quên thay đổi KEY trong tệp python (bước 4) và thông tin đăng nhập trong luồng Node-Red (bước 5)

Xong! Tủ lạnh của bạn an toàn!

Tôi hy vọng bạn thích điều này khó chữa! Hãy để lại tâm trí của bạn trong bình luận.

Tôi sẽ đánh giá cao nếu bạn bình chọn cho dự án của tôi =)

Cảm ơn bạn!

Đề xuất: