Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Programm: Tank-Füllstand auslesen und über Modem senden
- -- Voraussetzungen:
- -- 1. ComputerCraft Tweaked installiert.
- -- 2. Ein Modem (z. B. Wireless Modem) am Computer angebracht und aktiviert.
- -- 3. Der Tank befindet sich direkt hinter dem Computer.
- -- Konfiguration
- local modemSide = "right" -- Seite, an der das Modem angebracht ist
- local tankSide = "back" -- Seite, an der der Tank angeschlossen ist
- local channel = 1 -- Kanal, auf dem die Daten gesendet werden
- -- Funktionen
- local function readTankLevel()
- local tank = peripheral.wrap(tankSide)
- if not tank then
- error("Kein Tank an der Seite '" .. tankSide .. "' gefunden!")
- end
- if not tank.tanks then
- error("Das angeschlossene Peripheriegerät unterstützt keine Fluid-Storage-Operationen!")
- end
- local tanks = tank.tanks()
- if #tanks == 0 then
- return {
- capacity = 0,
- amount = 0,
- fluid = "empty"
- }
- end
- local firstTank = tanks[1]
- return {
- capacity = firstTank.capacity,
- amount = firstTank.amount,
- fluid = firstTank.name or "empty"
- }
- end
- local function sendData(data)
- if not peripheral.isPresent(modemSide) then
- error("Kein Modem an der Seite '" .. modemSide .. "' gefunden!")
- end
- local modem = peripheral.wrap(modemSide)
- modem.open(channel)
- modem.transmit(channel, channel, textutils.serialize(data))
- modem.close(channel)
- end
- -- Hauptprogramm
- print("Starte Tank-Monitor...")
- while true do
- local success, data = pcall(readTankLevel)
- if success then
- sendData(data)
- print("Daten gesendet: ", textutils.serialize(data))
- else
- print("Fehler beim Auslesen des Tanks: " .. data)
- end
- sleep(5) -- Pause zwischen den Übertragungen
- end
Advertisement
Add Comment
Please, Sign In to add comment