Sự cố khi chạy kịch bản python từ chuyển động


7

Tôi đang cố gắng thiết lập pi mâm xôi với webcam của mình dưới dạng chuyển động phát hiện cctv tải video lên ổ google bằng kịch bản của Jeremy Blythe

Tôi có chuyển động hoạt động chính xác và kịch bản python chạy khi tôi kiểm tra nó từ thiết bị đầu cuối.

Tuy nhiên, tập lệnh không chạy khi tôi thêm nó vào tùy chọn on_movie_end trong motion.conf.

Kịch bản tôi đang sử dụng trong tệp là

On_Movie_End /etc/motion/uploader.py /etc/motion/uploader.cfg %f

Tôi cũng đã thử dùng on_movie_end để chạy tập lệnh bash chạy tập lệnh python và điều này cũng không hoạt động. Tôi chưa quen với linux mặc dù vậy không hoàn toàn chắc chắn rằng tôi đã sửa nó.

Kịch bản là:

#!/bin/bash
VIDEO=$1 
/etc/motion/uploader.py /etc/motion/uploader.cfg VIDEO

Trong chuyển động.conf /etc/motion/uploaderscript.sh% f


Có lẽ bạn nên làm /usr/bin/python /etc/motion/uploader.py /etc/motion/uploader.cfg VIDEO. Hoặc kiểm tra xem nhị phân python được cài đặt trong thư mục khác và thay đổi dòng trên.
Luis

1
trong bash, bạn nên sử dụng biến như/etc/motion/uploader.py /etc/motion/uploader.cfg $VIDEO
Rahul Patil

không ai trong số những giải pháp làm việc nhưng tôi nghi ngờ on_movie_end không được gọi là tôi đã cố gắng để làm cho nó chỉ cần mở Leafpad để xem nếu điều đó đang làm việc và nó đã làm không
DanBrum

Câu trả lời:


1

Kiểm tra các điểm sau:

  1. Tất cả các ví dụ tôi thấy sử dụng on_movie_endthay vì On_Movie_End. Vì vậy, hãy thử sử dụng phiên bản chữ thường đầu tiên.

  2. Kiểm tra nếu cả hai tập lệnh có quyền thực thi. Nếu không thêm nó:

    sudo chmod +x /etc/motion/uploader.py
    sudo chmod +x /etc/motion/uploaderscript.sh
  3. Chuyển hướng stderr của tập lệnh python vào một tập tin. Điều đó có thể giúp bắt lỗi. Chỉnh sửa tệp .sh để khớp với điều này (lưu ý $VIDEO: đây là cách chính xác để tham chiếu một biến trong bash):

    #!/bin/bash
    VIDEO=$1 
    /etc/motion/uploader.py /etc/motion/uploader.cfg $VIDEO &> /tmp/on_movie_end.log

0

Tôi vẫn chưa thể tìm ra cách phát kịch bản python từ chuyển động. Thay vào đó, tôi chỉ chạy một tập lệnh bash tạo tệp văn bản. Khi khởi động, tôi có tập lệnh python thực tế đang chạy một vòng lặp while, kiểm tra xem liệu tập tin văn bản có tồn tại không và sẽ chạy phần còn lại của tập lệnh một khi nó thực hiện.


0

Cấu hình này hoạt động với tôi:

on_movie_end /usr/bin/python /home/myuser/Scripts/MyScript.py

Tất nhiên, tập lệnh phải có quyền chính xác để được thực thi bởi quá trình chuyển động. Thông tin chi tiết về cấu hình có thể được tìm thấy trong Tài liệu chuyển động:

https://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.