Mục lục:

Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star: 5 bước (có hình ảnh)
Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star: 5 bước (có hình ảnh)

Video: Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star: 5 bước (có hình ảnh)

Video: Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star: 5 bước (có hình ảnh)
Video: Chuyến bay mà Boeing không bao giờ quên được😱 2024, Tháng bảy
Anonim
Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star
Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star
Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star
Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star
Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star
Máy ảnh Raspberry PI và Điều khiển ánh sáng Death Star

Như mọi khi, tôi luôn tìm cách xây dựng các thiết bị hữu ích, hoạt động mạnh mẽ và thường là những cải tiến thậm chí so với các giải pháp hiện tại.

Đây là một dự án tuyệt vời khác, ban đầu có tên là Shadow 0f Phoenix, một lá chắn Raspberry PI kết hợp với các điều khiển ánh sáng và phát hiện chuyển động dựa trên Arduino.

Bước 1: Trạng thái của các camera IP thương mại

Tình trạng của các camera IP thương mại
Tình trạng của các camera IP thương mại
Tình trạng của các camera IP thương mại
Tình trạng của các camera IP thương mại
Tình trạng của các camera IP thương mại
Tình trạng của các camera IP thương mại

Bên cạnh việc xây dựng hệ thống camera / giám sát của riêng bạn thú vị hơn, hãy xem tại sao đây là một cải tiến so với giải pháp không có sẵn.

Tôi sẽ so sánh nó với dòng Camera IP không dây NEO COOLCAM Full HD 1080P vì tôi đã sở hữu rất nhiều mẫu camera tân coolcams (ONVIF) khác nhau. Chúng có nhiều hình dạng và kích thước khác nhau, ở ngoài trời và trong nhà, hầu hết chúng đều được tích hợp hỗ trợ wifi nhưng chúng ta hãy xem những lưu ý của chúng:

  • Các nhà sản xuất Trung Quốc bán những chiếc máy ảnh này hầu như luôn nói dối về độ phân giải của cảm biến hình ảnh được tích hợp sẵn, khi bạn mua một chiếc máy ảnh 5MP / 8MP trên Ebay, bạn có thể kết thúc với một chiếc máy ảnh 2MP giá rẻ với chất lượng hình ảnh kém. Khi bạn mua máy ảnh Raspberry PI v2 8MP từ nhà bán lẻ ban đầu, bạn sẽ nhận được những gì bạn phải trả và cảm biến 8MP thực tế với độ phân giải 3280 × 2464 pixel =>
  • Từ quan điểm bảo mật, những chiếc máy ảnh này (ngay cả những chiếc Dlink đắt tiền hơn và những kiểu máy khác) rất khủng khiếp, chúng sử dụng mật khẩu mặc định như 123456 hoặc được tích hợp sẵn cho những người dùng như admin / admin / nhà điều hành mà bạn thậm chí có thể sẽ không thể thay đổi hoặc thay đổi sẽ biến mất sau khi khởi động lại. Ưu tiên hàng đầu với nhiều máy ảnh này về nhà (kết nối với máy chủ của họ ở Trung Quốc, một số thậm chí phát trực tiếp video / hình ảnh mà không yêu cầu bạn chỉ để giúp bạn dễ dàng hơn trong trường hợp một ngày nào đó bạn quyết định cài đặt ứng dụng Android / Iphone của họ để kiểm tra Trang Chủ). Ngay cả khi bạn đặt các thiết bị này sau một bộ định tuyến thì nó vẫn chưa đủ tốt, tốt nhất là nếu bạn không đặt cổng mặc định cho chúng, hãy tường lửa cho chúng hoặc đặt chúng vào một VLAN để chúng không thể đi ra ngoài. Internet hoặc thậm chí tốt hơn: hoàn toàn không sử dụng chúng.
  • Chúng có đáng tin cậy hơn không? không, rất nhiều trong số họ thậm chí các DLINK đắt tiền hơn có tùy chọn khởi động lại máy ảnh hàng ngày / hàng tuần, v.v. Tùy chọn đó là có lý do, vì sau X ngày, họ thường mất kết nối Wifi hoặc hoạt động sai theo các cách khác. Chỉ cần nghĩ về chúng như những hộp Win95 cũ tốt cần được khởi động lại thường xuyên hơn không:) Tôi không nói rằng phần cứng dựa trên Raspi vững chắc đến mức bạn có thể xây dựng chúng thành các nhà máy điện hạt nhân điều khiển nhưng với phần cứng / phần mềm phù hợp cấu hình, bộ tản nhiệt, quạt làm mát tự động và hoạt động RW giảm thiểu trên SDCARD, chúng có thể dễ dàng đạt được thời gian hoạt động hơn 100 ngày mà không gặp vấn đề gì. Tại thời điểm viết bài DeathStar của tôi đã chạy từ 34 ngày, hơn 100 nhưng đôi khi tôi bị hack vào nguồn cấp điện đang cấp nguồn cho một số mạch khác của tôi nên phải tắt nó đi:(
  • Phần cứng được nhắm mục tiêu: chúng được tạo ra cho 1 mục đích cụ thể, thường đi kèm với một khu vực nvram nhỏ và hộp bận rộn nhưng một số kiểu máy làm cho việc truy cập trình bao này không thể thực hiện được, vì vậy tất cả những gì bạn có thể sử dụng chúng là những gì chúng có nghĩa là được sử dụng trong khi bạn có thể sử dụng máy ảnh dựa trên Raspi của bạn cho bất kỳ tác vụ nào khác: máy chủ tệp, máy chủ tftp / dhcp, máy chủ web, máy chủ quake… các tùy chọn là không giới hạn.
  • Không gian lưu trữ: chúng hoặc không có hoặc chúng sử dụng thẻ microsd với hệ thống tệp FAT32 VS trên mâm xôi pis, bạn thậm chí có thể gắn ổ cứng 2 TB nếu muốn.
  • Điều khiển đèn: một số có đầu ra ALARM nơi bạn có thể kết nối một rơ le nhỏ để kích hoạt đèn. Như tôi sẽ chỉ cho bạn trong hướng dẫn sử dụng camera hồng ngoại này hoàn toàn lãng phí thời gian vì bạn sẽ không thể xác định được bất kỳ ai trên ảnh hồng ngoại do chất lượng quá tệ. Nếu bạn cần quay video trong bóng tối, cách tốt nhất để làm như vậy là bật một số ánh sáng trước rồi quay video.

Vì vậy, bạn có thể hỏi có bất kỳ CHUYÊN GIA nào về việc sử dụng máy ảnh rời không? Có đối với các doanh nghiệp nơi mà giờ làm việc để thiết lập nó sẽ đắt hơn so với việc mày mò với Raspberry pis (dù sao cũng không phải đối với tôi:)) và vâng, có những máy ảnh hàng đầu (500 đô la + với độ phân giải tốt hơn máy ảnh pi của món ăn). Như một lợi thế khác, tôi có thể nói rằng các máy ảnh tuân theo tiêu chuẩn ONVIF giúp cấp phép tập trung dễ dàng hơn. Điều này cung cấp một giao diện tiêu chuẩn có thể được sử dụng để gửi lệnh tới camera để đặt IP / Mặt nạ mạng / Cổng vào của nó và những thứ khác. Đối với điều này, bạn có thể tải xuống trình quản lý thiết bị Onvif từ Sourceforge. Rất nhiều thiết bị này đi kèm với giao diện web bị hỏng, chẳng hạn như nó không cho phép bạn đặt ip hoặc netmask một cách chính xác vì javascript xác thực các trường này đang bị trục trặc và cách duy nhất của bạn để đặt các thông số này một cách chính xác là thông qua ONVIF.

Bước 2: Kế hoạch của Death Star

Kế hoạch của Death Star
Kế hoạch của Death Star
Kế hoạch của Death Star
Kế hoạch của Death Star
Kế hoạch của Death Star
Kế hoạch của Death Star

Bạn có thể tạo thiết bị này với bất kỳ Raspberry PI nào bắt đầu từ 1 đến 3B +. Ngay cả số 0 cũng có cổng camera, nhưng vì có rất nhiều loại máy cũ khác nhau trên thị trường, bạn có thể tự hỏi cái nào là lý tưởng nhất cho phiên bản này.

Câu trả lời tùy thuộc vào nơi bạn muốn xử lý luồng video.

Có hai sự lựa chọn:

1, Xử lý cục bộ video có chuyển động và chuyển tiếp luồng video khi phát hiện có chuyển động (lưu ý: chuyển động chuyển tiếp một luồng chậm liên tục đến máy chủ, điều này có thể tùy thuộc vào độ phân giải và tốc độ khung hình bạn sử dụng từ một vài hàng trăm megabyte đến nhiều gigabyte mỗi ngày, chỉ là lời nhắc nếu bạn muốn thiết lập trên kết nối được đo lường). Ở đây vấn đề là CPU và rất tiếc là chuyển động (tại thời điểm viết bài) không tận dụng được nhiều lõi, tuy nhiên hệ điều hành sẽ cố gắng cân bằng tải một chút. Bạn sẽ luôn có một trong các lõi khi sử dụng 100%.

2, Xử lý video trên máy chủ trung tâm: ở đây bạn chỉ cần chuyển tiếp luồng video thô từ máy ảnh sang máy chủ phát trực tuyến bên ngoài (như iSpy chạy trên máy tính x86 hoặc MotionEyeOS chạy trên máy tính mini chuyên dụng khác). Vì không có xử lý cục bộ nên mô hình PI bạn sử dụng không quan trọng, PI1 sẽ gửi cùng một luồng với PI3B +.

Trong hướng dẫn này, tôi sẽ đi với lựa chọn đầu tiên.

Quy tắc chung ở đây là CPU bạn chuyển động càng nhanh thì kết quả bạn sẽ nhận được càng tốt. Ví dụ, máy ảnh dựa trên Raspi 2 của tôi nhìn hành lang đôi khi không bắt được nó khi ai đó đi nhanh và khi nó đang ghi, quá trình ghi chậm, giảm nhiều khung hình so với kiểu 3. Kiểu 3 cũng có 802.11 abgn wifi rất tiện dụng để có thể phát video chất lượng cao hơn, nó hoạt động hiệu quả và khá đáng tin cậy. Tại thời điểm viết rằng mô hình 3B + đã ra mắt, tôi chỉ khuyên bạn nên sử dụng nó với CPU Quad Core 1,4 Ghz.

Danh sách nguyên liệu

  • 30 cm nhựa DeathStar:)
  • Raspberry Pi 3 B +
  • PiCam v2 (8MP)
  • Arduino Pro Micro 5.5v
  • 2x SIP-1A05 Chuyển tiếp công tắc Reed
  • 1x PCS HC-SR501 Mô-đun cảm biến cảm biến chuyển động IR PIR hồng ngoại nhiệt điện
  • 1x điện trở 10kohm cho LDR
  • 1x LDR
  • Bộ chuyển đổi DC 1x12V 4A
  • 1xWarm White LED 5050 SMD Dải đèn linh hoạt 12V DC
  • Bộ điều chỉnh điện áp 1xBuck

Như bạn có thể thấy trên sơ đồ, dự án này ban đầu được thiết kế để điều khiển một đèn duy nhất với một rơ le vì tôi không có kế hoạch bổ sung ánh sáng bên trong (khá tuyệt) nên tôi chỉ nối dây tiếp điện thứ hai cho Arduino. Điều tuyệt vời về SIP-1A05 là nó có diode flyback bên trong và mức tiêu thụ tính bằng mA nằm trong giới hạn công suất trên mỗi chân của Arduino.

Lý do tại sao PIR lại nằm trên tấm chắn trên các bức ảnh vì ngay từ đầu S0P đã được lên kế hoạch đặt trong một hộp nhựa IP đơn giản thay vì DeathStar. Như bạn có thể đoán máy ảnh nằm ngay trong súng laser, PIR và LDR cần một lỗ khoan khác và chúng được bắn keo vì tôi không định tháo chúng ra.

Một lỗ được khoan ở dưới cùng của DeathStar, nơi tôi dán một chốt lớn bằng keo 2 thành phần mạnh. Điều này có thể được vặn vào chân đế Neo Coolcams ban đầu (nó là tốt cho một cái gì đó:)). Để được hỗ trợ thêm, tôi sử dụng dây đồng cứng để giữ trên đỉnh của ngôi sao.

Lưu ý quan trọng về nguồn điện: vì cùng một nguồn cung cấp sẽ cấp nguồn cho cả PI, Arduino và dải LED nên nó phải đủ mạnh để có thể xử lý tất cả chúng, vì vậy nó sẽ dựa trên dải LED bạn chọn cho dự án. Một dải LED 5050 12v 3met thông thường thoát ra khoảng 2A, đó là rất nhiều. Đối với PI và Arduino, bạn phải tính bằng + 2A (mặc dù điều này là quá kích thước nó sẽ không ảnh hưởng gì). Sử dụng dải đèn LED trên bóng đèn halogen tiêu chuẩn, đèn neon hoặc ánh sáng công suất cao khác là bạn có thể đặt toàn bộ mạch điện này vào một pin axit chì 12V @ 10Ah đẹp làm dự phòng để nó thậm chí sẽ hoạt động trong trường hợp mất điện.

Buck sẽ giảm điện áp xuống từ 12-> 5V để cấp nguồn cho Arduino và PI trong khi nguồn cấp trực tiếp 12V được nối dây trên rơ le để bật dải LED.

Bước 3: Phần mềm Arduino

Phần mềm Arduino
Phần mềm Arduino

Bạn có thể tìm thấy mã nguồn đầy đủ bên dưới được nhận xét tốt nhưng đây là giải thích ngắn gọn về cách hoạt động của nó: Ở đầu mỗi vòng lặp, hàm xcomm () thông thường được gọi để xem có lệnh nào đến từ Raspberry PI không. có thể là LIGHT_ON / OFF để BẬT đèn hành lang hoặc DS_ON / TẮT để BẬT / TẮT đèn nền DeathStar, tôi đã thực hiện những điều này chỉ vì mục đích hoàn hảo hơn vì nếu ai đó đi ngang qua PIR nên nhấc nó lên và bật đèn nhưng có thể bạn muốn nhìn vào nơi này vì lý do nào đó ngay cả khi không có ai ở đó.

Sau đó, giá trị tế bào quang điện được đọc vào và chốt chuyển động được kiểm tra chuyển động. Nếu có chuyển động, mã sẽ kiểm tra xem nó có đủ tối hay không, sau đó nó sẽ kiểm tra xem chúng ta có đang bị giữ hay không. Nếu tất cả điều này trôi qua thì nó chỉ cần bật đèn hành lang và gửi lại PHOENIX_MOTION_DETECTED đến Raspberry PI, nếu nó không đủ tối, nó vẫn báo hiệu trở lại máy tính nhưng không bật đèn. Sau khi phát hiện chuyển động, bộ hẹn giờ giữ 5 phút sẽ bắt đầu.

Ngay sau phần này, phần mã tiếp theo sẽ kiểm tra xem liệu chúng ta có đang bị giữ hay không (trường hợp này xảy ra nếu chỉ có một sự kiện chuyển động, vì vậy hãy giả sử 5 phút đã trôi qua để kiểm tra này có thể xác nhận). Mã kiểm tra xem có chuyển động nữa không, nếu không thì tắt đèn. Như bạn có thể thấy nếu không có chuyển động, chức năng này sẽ tự lặp đi lặp lại, hãy tiếp tục cố gắng tắt đèn để không có phản hồi đến PC.

Chúng tôi có một bộ đếm thời gian giữ khác cho ánh sáng bên trong DeathStar hoàn toàn phụ thuộc vào tế bào quang điện <dark_limit.

Mặc dù 2 quy trình không biết về nhau, nhưng chúng sẽ hoạt động hoàn hảo với nhau vì khi đèn hành lang bật sáng, nó cung cấp nhiều ánh sáng đến mức LDR sẽ nghĩ lại là ban ngày và nó sẽ tắt đèn bên trong. Tuy nhiên, có một số cảnh báo về quá trình này được giải thích trong mã nếu bạn quan tâm, nếu không thì hãy lấy câu trả lời của Nvidia rằng "nó chỉ hoạt động!".

Bước 4: Phần mềm Raspberry PI

Phần mềm Raspberry PI
Phần mềm Raspberry PI
Phần mềm Raspberry PI
Phần mềm Raspberry PI
Phần mềm Raspberry PI
Phần mềm Raspberry PI

Raspbian mới nhất phù hợp với tôi:

Raspbian GNU / Linux 9.4 (kéo dài)

Linux Phoenix 4.9.35-v7 + # 1014 SMP Thứ sáu, ngày 30 tháng 6 14:47:43 BST 2017 armv7l GNU / Linux ii motion 4.0-1 armhf Chương trình chụp V4L hỗ trợ phát hiện chuyển động

Mặc dù bạn có thể sử dụng các bản phân phối khác, nhưng nếu bạn gặp bất kỳ sự cố nào với máy ảnh, bạn sẽ chỉ nhận được sự hỗ trợ từ nhóm nếu bạn đang sử dụng hệ điều hành chính thức của họ. Loại bỏ bloatware không mong muốn như systemd cũng rất được khuyến khích.

Chuyển động cũng có thể được xây dựng từ nguồn một cách dễ dàng:

apt-get -y install autoconf automake pkgconf libtool libjpeg8-dev build-Essential libzip-dev apt-get install libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev

apt-get -y install libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev apt-get -y install git git clone https://github.com/Motion-Project/motion cd motion/ autoreconf-fiv. / config --prefix = / usr / motion make && make install / usr / motion / bin / motion -v

Tôi đề xuất iSpy làm máy chủ thu / ghi video. Thật không may tại thời điểm viết bài này, không có lựa chọn thay thế tốt nào cho Linux. Máy ảnh có thể được thêm vào với url MJPEG https:// CAMERA_IP: 8081 cổng mặc định.

Xử lý chuyển động có thể hữu ích, chẳng hạn như bạn không phải nhìn vào máy chủ iSpy của mình cả ngày, bạn có thể nhận được email trong trường hợp có chuyển động. Mặc dù iSpy có chức năng này để cảnh báo trong email trong trường hợp chuyển động, nhưng thỉnh thoảng nó vẫn bật ghi âm đối với các sự kiện linh tinh như một số ánh sáng được phản chiếu tới khu vực. Với tính năng phát hiện chuyển động PIR, tôi chưa bao giờ có một lần báo động giả nào. Các cảnh báo có thể được xử lý cục bộ:

Đã phát hiện sự kiện chuyển động Pir trên cảm biến> Cảnh báo Arduino> Raspberry pi nhận trên bảng điều khiển> Chương trình xử lý C> Ứng dụng thư bên ngoài

Tuy nhiên, tôi thích xử lý cả nhật ký và video từ xa vì vậy trong trường hợp này, tôi đã thêm một phần vào chương trình điều khiển C để trong khi nó ghi nhật ký cục bộ vào một tệp văn bản thuần túy, cũng ghi nhật ký đó vào nhật ký hệ thống và được chuyển tiếp vào một SIEM cho tiếp tục xử lý.

void logger (char * text) {

FILE * f = fopen ("phoenix.log", "a"); if (f == NULL) {printf ("Lỗi khi mở tệp nhật ký! / n"); trở lại; } fprintf (f, "% s =>% s / n", cur_time (0), text); fclose (f); #ifdef SYSLOG char log [500]; sprintf (loggy, "% s =>% s / n", cur_time (0), text); setlogmask (LOG_UPTO (LOG_NOTICE)); openlog ("DeathStar", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_USER); // syslog (LOG_NOTICE, "Chương trình do Người dùng% d bắt đầu", getuid ()); nhật ký hệ thống (LOG_NOTICE, loggy); Closeelog (); #endif trở lại; }

Ở đầu nhận, syslog-ng có thể tách các sự kiện này khỏi luồng nhật ký chính:

lọc f_phx {

trận đấu ("DeathStar"); }; đích d_phx {file ("/ var / log / phoenix / deathstar.log"); }; log {source (s_net); bộ lọc (f_phx); đích (d_phx); };

và nó có thể được chuyển đến một công cụ khác (motion.php xem đính kèm) để phân tích và cảnh báo.

Trong tập lệnh này, bạn có thể chỉ cần đặt thời gian bình thường trong tuần khi bạn không ở nhà:

$ opt ['alert_ after'] = '09:00:00'; // Buổi sáng $ opt ['alert_before'] = '17:00:00'; // Buổi tối

Chương trình php sử dụng tiện ích logtail tuyệt vời để phân tích cú pháp các bản ghi.

$ cmd = "logtail -o". $ offsetfile. ' '. $ logfile.'> '. $ logfile2;

Logtail theo dõi vị trí trong một tệp offset để chương trình chính không phải biết thời điểm bắt đầu xem nhật ký, nó sẽ được cung cấp dữ liệu chưa xử lý mới nhất.

Motion.php có thể được chạy từ crontab với một thủ thuật nhỏ cho những ngày cuối tuần, khi nó sẽ đi qua các bản ghi, nhưng không cần xử lý thêm.

* / 5 * * * 1-5 / usr / local / bin / php ~ / motion.php &> / dev / null * / 5 * * * 6-7 / usr / local / bin / php ~ / motion.php cuối tuần &> / dev / null

Bước 5: Vấn đề và danh sách việc cần làm

Sự cố và danh sách việc cần làm
Sự cố và danh sách việc cần làm
Sự cố và danh sách việc cần làm
Sự cố và danh sách việc cần làm

Nếu bạn đang sử dụng Raspberry pi 3 hoặc mới hơn, bạn có thể bỏ qua phần này, rất có thể bạn sẽ không gặp phải những vấn đề này nữa.

Trong nhiều năm, tôi đã gặp một số vấn đề với bo mạch dựa trên Raspberry pi 2, những thứ có thể chạy cùng một ngăn xếp phần mềm nhưng được mua vào những thời điểm khác nhau từ những nơi khác nhau. Sau một khoảng thời gian nhất định có thể là 2 ngày hoặc 20 ngày khi SSH vào thiết bị, SSH sẽ bị treo, do đó, cả trình nền chuyển động và mã C cục bộ nói chuyện với Arduino đều được nạp vào ram do đó thiết bị hoạt động nhưng không thể làm gì khác với nó nữa trong trạng thái này.

Sau nhiều lần khắc phục sự cố, tôi đã đưa ra giải pháp:

homesync.sh

#! / bin / sh -e

### BEGIN INIT INFO # Cung cấp: homesync # Bắt buộc-Bắt đầu: mountkernfs $ local_fs # Bắt buộc-Dừng: camera Phoenix # Mặc định-Khởi động: S # Mặc định-Dừng: 0 6 # Mô tả ngắn gọn: Bộ đồng bộ hóa gia đình # Mô tả: Bộ đồng bộ hóa gia đình bởi NLD ### END INIT INFO NAME = home DESC = "Ramdisk Home Synchronizer" RAM = "/ home /" DISK = "/ realhome /" set -e case "$ 1" in start | going) echo -n "Bắt đầu từ $ MÔ TẢ: "rsync -az --numeric-id --delete $ DISK $ RAM &> / dev / null echo" $ NAME. ";; dừng | quay lại) echo -n "Đang dừng $ DESC:" rsync -az --numeric-id --xóa $ RAM $ DISK &> / dev / null echo "$ NAME.";; *) echo "Cách sử dụng: $ 0 {start | stop}" thoát ra 1;; esac thoát 0

Tập lệnh đi cùng với một sửa đổi fstab:

tmpfs / home tmpfs rw, size = 80%, nosuid, nodev 0 0

Phân vùng chính được gắn kết dưới dạng đĩa ram sẽ mang lại khoảng 600 MB dung lượng trống trên Raspberry pi 2, quá đủ để lưu trữ một số tệp nhị phân và tệp nhật ký nhỏ:

tmpfs 690 triệu 8,6 triệu 682 triệu 2% / nhà

Hóa ra là lỗi treo PI được cho là do các hoạt động ghi trên thẻ SD, mặc dù tôi đã thử các thẻ khác nhau (Samsung EVO, Sandisk) đã được quét lỗi nhiều lần trước và sau đó và chúng không gặp vấn đề gì trong các máy tính xách tay khác. sắp diễn ra. Tôi đã không gặp vấn đề tương tự (chưa) với Raspberry PI 3 và phần cứng cao hơn, đó cũng là lý do tại sao tôi đề xuất chúng trong hướng dẫn này.

Mặc dù chuyển động hiện tại trên Raspberry PI 3 chỉ đủ tốt đối với tôi, nhưng đây là một số ý tưởng đáng để khám phá:

  1. Không sử dụng chuyển động, nhưng sử dụng luồng riêng lẻ qua mạng và để một máy chủ mạnh mẽ thực hiện việc phát hiện chuyển động và mã hóa video (ví dụ: iSpy). -> Vấn đề: làm tắc nghẽn băng thông mạng liên tục.
  2. Sử dụng chuyển động và để ffmpeg thực hiện mã hóa video. -> Vấn đề: CPU không thể xử lý độ phân giải cao hơn
  3. Sử dụng chuyển động, quay video thô và để một máy chủ mạnh mẽ thực hiện mã hóa. -> Mức sử dụng CPU trên RPi thấp và băng thông mạng bị giới hạn khi có chuyển động thực tế. Đối với trường hợp này, chúng tôi có thể ghi vào thẻ SD / đĩa ram để có thông lượng tối đa và sau đó crontab sao chép video sang một máy chủ khác.

Tôi cũng xin lưu ý rằng có thể xây dựng dự án này mà không cần Arduino. Tất cả các thành phần (rơ le, LDR, PIR) có thể được kết nối với pi raspberry theo một cách nào đó nhưng tôi thích các bộ vi điều khiển thời gian thực tương tác với các cảm biến và thiết bị đầu ra. Ví dụ, trong trường hợp raspberry pi của tôi bị treo hoặc gặp sự cố, điều khiển ánh sáng do Arduino chạy vẫn hoạt động tốt.

Nếu bạn thích có hướng dẫn này, hãy chú ý theo dõi vì tôi sẽ tiếp tục loạt bài này với máy ảnh mâm xôi pi zero dome 360 độ ngoài trời của mình vào năm sau.

Đề xuất: