このポストをクリックしていただきありがとうございます。私のカメラIP用のウィジェットを追加したRPI 3にはDashingのダッシュボードがあります-link DSC 4201)。実は、私の仕事は(@ oldFile1、@ newFile1で)のみ最初の2枚の画像を表示した後カメラIP(D-LINK DSC 4201)のsnapshot.jpgがダッシュでリフレッシュされない
require 'net/http'
@cameraDelay = 1 # Needed for image sync.
@fetchNewImageEvery = '3s'
@camera1Host = "192.168.0.20" ## CHANGE
@camera1Port = "80" ## CHANGE
@camera1Username = 'admin' ## CHANGE
@camera1Password ='*****'
@camera1URL = "/dms?nowprofileid=1&"
@newFile1 = "assets/images/cameras/snapshot1_new.jpg"
@oldFile1 = "assets/images/cameras/snapshot1_old.jpg"
def fetch_image(host,old_file,new_file, cam_user, cam_pass, cam_url)
`rm #{old_file}`
`mv #{new_file} #{old_file}`
Net::HTTP.start(host) do |http|
req = Net::HTTP::Get.new(cam_url)
if cam_user != "None" ## if username for any particular camera is set to 'None' then assume auth not required.
req.basic_auth cam_user, cam_pass
end
response = http.request(req)
open(new_file, "wb") do |file|
file.write(response.body)
end
end
new_file
end
def make_web_friendly(file)
"/" + File.basename(File.dirname(file)) + "/" + File.basename(file)
end
SCHEDULER.every @fetchNewImageEvery do
new_file1 = fetch_image(@camera1Host,@oldFile1,@newFile1,@camera1Username,@camera1Password,@camera1URL)
if not File.exists?(@newFile1)
warn "Failed to Get Camera Image"
end
send_event('camera1', image: make_web_friendly(@oldFile1))
sleep(@cameraDelay)
send_event('camera1', image: make_web_friendly(new_file1))
end
:
私のカメラのsnapshot.jpegをキャッチルビーの求人があります彼は私のダッシュのダッシュボードにキャッチする最初の2つの画像だけを表示するループの在庫だった。
私は/ assetsを見て、自分の仕事のようにリアルタイムで2つのsnapshots.jpgを更新しましたが、ダッシュのダッシュボードには表示されません。
なぜ、ダッシュボードはリフレッシュイメージを取っていないのですか?
おかげでたくさんのスクリプトが見つけ働いたがimage.jpegは時々開始時に、多分、すべての5枚の画像のようなダッシュボードに表示されていなかった未知の理由のために、私は彼らがあまりにも重いですが、明らかにそれはだからだと思います事実ではありません。同じ問題がありましたか? – Thibz