Merci de cliquer sur ce post, j'ai un tableau de bord alimenté par Dashing sur mon RPI 3 où j'ai ajouter un widget pour mon appareil photo IP (D -link DSC 4201).snapshot.jpg de caméra IP (D-LINK DSC 4201) pas actualiser dans Dashing
Il y a les emplois de rubis qui attrapent la snapshot.jpeg de mon appareil photo:
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
En fait, mes emplois affichent uniquement les deux premières images (en @ oldFile1, @ newFile1) et après il était en stock dans une boucle où il n'affiche que les deux premières images attrapées sur mon tableau de bord fringant.
Donc, j'ai regardé dans le/assets et je vois mes deux snapshots.jpg actualiser en temps réel comme mes travaux comme l'a fait, mais le tableau de bord en pointillés ne l'affiche pas.
Alors pourquoi le tableau de bord ne prend pas l'image de rafraîchissement ..?
Merci beaucoup travaillé votre script trouver, mais pour une raison inconnue, le image.jpeg parfois n'a pas été afficher sur le tableau de bord comme peut-être toutes les 5 images, au début, je pense que c'est parce qu'ils sont trop lourds, mais il est évidemment pas le fait, une idée? avez-vous eu le même problème? – Thibz