Readme update, dodana slika
parent
3854ffd54e
commit
e03009c2e4
|
@ -1,9 +1,10 @@
|
|||
#+TITLE: Galerija BOT
|
||||
|
||||
* Je?
|
||||
[[file:observatorij.jpg]]
|
||||
|
||||
ESP32-CAM mikrokrmilnik, ki ga je možno upravljati po galeriji.
|
||||
ESP32-CAM mikrokrmilnik, ki omogoča premikanje visečega objekta.
|
||||
|
||||
Pelje ga [[https://tasmota.github.io/docs/][Tasmota firmware]], s pomočjo katerega dobimo sliko kamere in poganjamo motorčke.
|
||||
|
||||
Z [[https://ffmpeg.org/][FFMPEG]] orodjem sliko kamere pretvorimo MJPEG videopretok v VP8 RTP obliko, ki jo [[https://janus.conf.meetecho.com/][Janus WebRTC strežnik]] z nizko zakasnitvijo pripelje v brskalnike. Sliko kamere spreljajo gumbi za navigacijo in poseben vmesnik za nastavljanje parametrov premikanja.
|
||||
Ker se mikrokrmilnik sesuje, če več ljudi spremlja sliko, na bližnjem RockiPI 4 računalniku teče [[https://github.com/OliverF/mjpeg-relay][mjpeg-relay]], ki posreduje sliko obiskovalkam in obiskovalcem spletnega mesta https://observatorij.rhiz0.me/.
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 140 KiB |
|
@ -1,18 +1,18 @@
|
|||
# Kompenzacija propelerjev
|
||||
kompenzacija = 0.5
|
||||
var kompenzacija = 0.5
|
||||
|
||||
# Kako dolgo cakam med ukazi (ms)?
|
||||
cakaj = 3000
|
||||
var cakaj = 3000
|
||||
var dolzina = 6000
|
||||
|
||||
# Kako pogosto grem kar ravno (ms)?
|
||||
kar_naprej_cas = 1.5 * 60 * 1000
|
||||
var kar_naprej_cas = 60 * 1000
|
||||
|
||||
zadnji = 0
|
||||
var zadnji = 0
|
||||
|
||||
def nic()
|
||||
print('ja, nic')
|
||||
end
|
||||
tasmota.add_cmd('KarNaprej', nic)
|
||||
def kar_naprej() end
|
||||
|
||||
tasmota.add_cmd('KarNaprej', kar_naprej)
|
||||
|
||||
def ugasni_levo()
|
||||
tasmota.set_power(0, false)
|
||||
|
@ -24,7 +24,7 @@ end
|
|||
|
||||
def posodobi_zadnji(cas)
|
||||
zadnji = tasmota.millis() + cas
|
||||
tasmota.cmd('KarNaprej')
|
||||
#tasmota.cmd('KarNaprej')
|
||||
end
|
||||
|
||||
# payload = kako dolgo naj bo vklopljen, v milisekundah
|
||||
|
@ -37,7 +37,6 @@ def pojdi_levo(cmd, idx, payload, payload_json)
|
|||
tasmota.set_timer(cas, ugasni_levo)
|
||||
|
||||
posodobi_zadnji(cas)
|
||||
#kar_naprej()
|
||||
end
|
||||
|
||||
# payload = kako dolgo naj bo vklopljen, v milisekundah
|
||||
|
@ -73,22 +72,40 @@ def pojdi_ravno(cmd, idx, payload, payload_json)
|
|||
posodobi_zadnji(cas)
|
||||
end
|
||||
|
||||
def auto_naprej()
|
||||
pojdi_ravno(nil, nil, 1000)
|
||||
def odkimaj()
|
||||
tasmota.set_power(2, false)
|
||||
end
|
||||
def pokimaj()
|
||||
tasmota.set_power(2, true)
|
||||
tasmota.set_timer(20, odkimaj)
|
||||
end
|
||||
|
||||
def kar_naprej()
|
||||
tasmota.remove_timer("auto_naprej")
|
||||
tasmota.set_timer(kar_naprej_cas, auto_naprej, "auto_naprej")
|
||||
def auto_naprej()
|
||||
if tasmota.millis() > zadnji + kar_naprej_cas * 0.9
|
||||
pokimaj()
|
||||
var n = tasmota.millis() % 3
|
||||
|
||||
if n == 0
|
||||
pojdi_ravno(nil, nil, dolzina * 2)
|
||||
elif n == 1
|
||||
pojdi_levo(nil, nil, dolzina * 1.5)
|
||||
else
|
||||
pojdi_desno(nil, nil, dolzina)
|
||||
end
|
||||
end
|
||||
|
||||
tasmota.set_timer(kar_naprej_cas, auto_naprej)
|
||||
end
|
||||
|
||||
tasmota.add_cmd('PojdiLevo', pojdi_levo)
|
||||
tasmota.add_cmd('PojdiDesno', pojdi_desno)
|
||||
tasmota.add_cmd('PojdiRavno', pojdi_ravno)
|
||||
tasmota.add_cmd('UgasniVse', ugasni_vse)
|
||||
tasmota.add_cmd('KarNaprej', kar_naprej)
|
||||
tasmota.add_cmd('KarNaprej', auto_naprej)
|
||||
|
||||
def inicializiraj()
|
||||
tasmota.cmd('WcInit')
|
||||
end
|
||||
tasmota.set_timer(5000, inicializiraj)
|
||||
tasmota.set_timer(5000, inicializiraj)
|
||||
|
||||
tasmota.set_timer(kar_naprej_cas, auto_naprej)
|
Loading…
Reference in New Issue