Hallo Leute,
ich suche gerade nach einer Möglichkeit in Lua eine Sleep Funktion zu benutzen.
Ich stehe da grade was auf dem Schlauch, da es in Lua ja keine Sleep Funktion gibt.
Wer kann mir da weiter helfen?
Vielen Dank im voraus
Sleep Funktion in Lua
-
petit_miner -
13. März 2015 um 21:42 -
Erledigt
Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
-
-
Sleep Funktion in Lua? Schau mal ob du hier fündig wirst!
-
Ich weiß nicht, worauf Du das Skript laufen lassen möchtest... Aber beim ESP8266 mit NodeMCU kann man die tmr.delay(microseconds)-Methode nutzen.
-
LUA in welchem Zusammenhang?
//EDIT siehe dazu auch hier: https://github.com/nodemcu/nodemc…en#timer-module
-
Ich suche nach einer Möglichkeit wie bei Python (sleep 10) in Lua zu verwenden.
Wenn ihr den gesamten Lua Code braucht sagt bescheid. -
LUA in welchem Zusammenhang :s
Kannst du bitte kurz erwähnen womit du LUA verwendest, oder is das bereits zu viel verlangt?
-
In Lua für Android gibt es den Befehl sleep(). Zwischen den Klammern den Wert in ms übergeben.
-
Heute habe ich Zeit gefunden um was an meinem PI weiter zu arbeiten,
hier ist der Code:
Der Code wird natürlich auf meinem PI ausgeführt, und reagiert auf ankommende Nachrichten von Telegram.Code
Alles anzeigenstarted = 0 our_id = 0 function vardump(value, depth, key) local linePrefix = "" local spaces = "" if key ~= nil then linePrefix = "["..key.."] = " end if depth == nil then depth = 0 else depth = depth + 1 for i=1, depth do spaces = spaces .. " " end end if type(value) == 'table' then mTable = getmetatable(value) if mTable == nil then print(spaces ..linePrefix.."(table) ") else print(spaces .."(metatable) ") value = mTable end for tableKey, tableValue in pairs(value) do vardump(tableValue, depth, tableKey) end elseif type(value) == 'function' or type(value) == 'thread' or type(value) == 'userdata' or value == nil then print(spaces..tostring(value)) else print(spaces..linePrefix.."("..type(value)..") "..tostring(value)) end end print ("HI, this is lua script") function ok_cb(extra, success, result) end function on_msg_receive (msg) if started == 0 then return end if msg.out then return end --Damit der "Gelesen Haken" erscheint if msg.text then mark_read (msg.from.print_name, ok_cb, false) end if (string.lower(msg.text) == 'uptime') then local handle = io.popen("python /home/pi/tg/tg_actions.py uptime") local res = handle:read("*a") handle:close() os.execute("/home/pi/tg/send_script ".. msg.from.print_name .." '"..res.."'") return elseif (string.lower(msg.text) == 'scharf') then send_msg(msg.from.print_name, 'Alarm Anlage wurde scharf gestellt!', ok_cb, false) os.execute("sleep 5 ") os.execute("/home/pi/tinyserial.py") return elseif (string.lower(msg.text) == 'shutdown') then send_msg(msg.from.print_name, 'Pi wird heruntergefahren', ok_cb, false) local handle = io.popen("sudo python /home/pi/tg/tg_actions.py shutdown") local res = handle:read("*a") handle:close() os.execute("/home/pi/tg/send_script "..msg.from.print_name.." '"..res.."'") return elseif (string.lower(msg.text) == 'reboot') then send_msg(msg.from.print_name, 'Neustart wird durchgeführt', ok_cb, false) local handle = io.popen("sudo python /home/pi/tg/tg_actions.py reboot") local res = handle:read("*a") handle:close() os.execute("/home/pi/tg/send_script ".. msg.from.print_name .." '"..res.."'") return elseif (string.lower(msg.text) == 'bild') then send_msg(msg.from.print_name, 'Bild wird versendet (Dies kann etwas dauern)', ok_cb, false) local handle = io.popen("sudo python /home/pi/tg/tg_actions.py Bild") local res = handle:read("*a") handle:close() send_photo(msg.from.print_name, "/home/pi/tg/Bild.jpg", ok_cb, false) return elseif (string.lower(msg.text) == 'vid') then send_msg(msg.from.print_name, 'Video wird erstellt (Dies kann etwas dauern)', ok_cb, false) os.execute("rm /home/pi/video.mp4") os.execute("raspivid -o /home/pi/video.h264 -t 10000 -w 1240 -h 720 -fps 25 -b 1000000 -n") os.execute("MP4Box -fps 25 -add /home/pi/video.h264 /home/pi/video.mp4") send_video(msg.from.print_name, "/home/pi/video.mp4", ok_cb, false) return elseif (string.lower(msg.text) == 'ping') then send_msg(msg.from.print_name, 'pong', ok_cb, false) return elseif (string.lower(msg.text) == 'temp') then send_msg(msg.from.print_name, 'pong', ok_cb, false) return elseif (string.lower(msg.text) == 'help') then send_msg (msg.from.print_name, 'help = Hilfe; reboot = Neustarten; uptime = Laufzeit des PIs; bild = schickt ein Bild zu; vid = schickt ein Video von einer Länge von 10 sek zu; ', ok_cb, false) return else os.execute("/home/pi/tg/send_script ".. msg.from.print_name .." 'Falsches Passwort oder unbekannter Befehl. Um eine Liste von Befehlen zu erhalten geben sie help ein. ' ") end end function on_our_id (id) our_id = id end function on_user_update (user, what) --vardump (user) end function on_chat_update (chat, what) --vardump (chat) end function on_secret_chat_update (schat, what) --vardump (schat) end function on_get_difference_end () end function cron() -- do something postpone (cron, false, 1.0) end function on_binlog_replay_end () started = 1 postpone (cron, false, 1.0) end
Es geht mir genau um diesen Teil:Codeelseif (string.lower(msg.text) == 'scharf') then send_msg(msg.from.print_name, 'Alarm Anlage wurde scharf gestellt!', ok_cb, false) os.execute("sleep 5 ") os.execute("/home/pi/tinyserial.py") return
Das Problem ist das ich dann Telegram doppelt aufrufe einmal hier im LUA Script und im Tinyserial.py Script.
Ich habe es auch schon mit dem Befehl "os.execute("sleep 5 ")" probiert, aber ist natürlich klar warum das nicht geht. ;).
Zudem versuche ich gerade aus einer Datei einen Wert herauszulesen und diesen mir dann per Telegram zuschicken lassen.
Aber wie hole ich den Wert aus der Datei heraus?
Ein Beispiel was in der Datei steht: 22.625 °C
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!