Funkcja odczytu wartości różnych liczników

Użytkownicy tworzą, zmieniają.
maly_13
Posty: 416
Rejestracja: śr sie 27, 2014 6:09 pm

Re: Funkcja odczytu wartości różnych liczników

Post autor: maly_13 » czw maja 25, 2017 2:38 pm

mysle że to też ma coś wspólnego z tym że jak mam ustawione gipo chwilowe (otwieranie bramy) to się wiesza gipo nie rozłącza go i jest zablokowane i tym samym cały czas wysterowane w stanie wysokim, pomaga reboot.

Awatar użytkownika
pimowo
Betatester
Posty: 4685
Rejestracja: czw lut 19, 2015 9:17 am
Lokalizacja: Wołów

Re: Funkcja odczytu wartości różnych liczników

Post autor: pimowo » wt paź 24, 2017 11:20 am

Mamy jakiś w pełni działający kod dla ESP gdzie podłączamy licznik impulsowy który obliczy "Current'?
Potrzebuję coś takiego ponieważ licznik mam podpięty pod malinę, ale główny NT jest na innej maszynie i podrzędny NT nie przesyła informacji z licznika. Pomyślałem, że przejdę na ESP + licznik i dane polecą wprost do głównego NT
[email protected] HP MicroServer N54L, Raspberry Pi 3B, Raspberry Pi B+

ryba_ns
Posty: 83
Rejestracja: sob gru 24, 2016 2:31 pm

Re: Funkcja odczytu wartości różnych liczników

Post autor: ryba_ns » śr lis 01, 2017 11:01 am

Witam...

czy kombinowal ktos cos z takim zestawem ?

Obrazek

Obrazek

Pozdrawiam Wojtek
Pozdrawiam Wojtek

[email protected], WeatherStation [email protected], Raspberry Pi 3B

Awatar użytkownika
pimowo
Betatester
Posty: 4685
Rejestracja: czw lut 19, 2015 9:17 am
Lokalizacja: Wołów

Re: Funkcja odczytu wartości różnych liczników

Post autor: pimowo » czw lis 02, 2017 10:52 am

Jakie dane muszę posłać z licznika (ESP) do receiver.php aby mieć wszystkie dane?

Jak zrobię tak:

Kod: Zaznacz cały

http://192.168.1.2/receiver.php?key=1q2w3e&type=elec&value=1&device=ip&ip=192.168.1.222&name=prad
Tym sposobem zlicza mi impulsy, ale jak zrobić aby mieć "All" (tu nie jest nic dodawane) i również chciałbym mieć "Current"
Ostatnio zmieniony czw lis 02, 2017 11:37 am przez pimowo, łącznie zmieniany 1 raz.
[email protected] HP MicroServer N54L, Raspberry Pi 3B, Raspberry Pi B+

Awatar użytkownika
pimowo
Betatester
Posty: 4685
Rejestracja: czw lut 19, 2015 9:17 am
Lokalizacja: Wołów

Re: Funkcja odczytu wartości różnych liczników

Post autor: pimowo » czw lis 02, 2017 11:00 am

ryba_ns pisze:czy kombinowal ktos cos z takim zestawem ?
Może być trochę ciężko-zobacz TUTAJ jest opis producenta.
Ty masz coś takiego czy chcesz dopiero kupić?
[email protected] HP MicroServer N54L, Raspberry Pi 3B, Raspberry Pi B+

ryba_ns
Posty: 83
Rejestracja: sob gru 24, 2016 2:31 pm

Re: Funkcja odczytu wartości różnych liczników

Post autor: ryba_ns » czw lis 02, 2017 12:42 pm

pimowo pisze:
ryba_ns pisze:czy kombinowal ktos cos z takim zestawem ?
Może być trochę ciężko-zobacz TUTAJ jest opis producenta.
Ty masz coś takiego czy chcesz dopiero kupić?
Mam zdobyczne ;)

Pozdrawiam Wojtek

Wysłane z mojego myPhone_AXE_LTE przy użyciu Tapatalka

Pozdrawiam Wojtek

[email protected], WeatherStation [email protected], Raspberry Pi 3B

swiezak
Posty: 1540
Rejestracja: ndz maja 04, 2014 12:19 pm
Lokalizacja: śląskie

Re: Funkcja odczytu wartości różnych liczników

Post autor: swiezak » czw lis 02, 2017 1:57 pm

a dasz rady zrobic zdjęcie "nadajnika" od środka- co tam zlicza impulsy- kontrakton? ja tez szukam nowego wodomierza zeby miał możliwość podłaczenia kontraktronu. Jak pytałem u producentów to cena 170netto...

edyta
doczytałem w specyfikacji- transoptor odbiciowy

ryba_ns
Posty: 83
Rejestracja: sob gru 24, 2016 2:31 pm

Re: Funkcja odczytu wartości różnych liczników

Post autor: ryba_ns » czw lis 02, 2017 3:32 pm

Witam.

od srodka wyglada to tak

Obrazek
Pozdrawiam Wojtek

[email protected], WeatherStation [email protected], Raspberry Pi 3B

swiezak
Posty: 1540
Rejestracja: ndz maja 04, 2014 12:19 pm
Lokalizacja: śląskie

Re: Funkcja odczytu wartości różnych liczników

Post autor: swiezak » czw lis 09, 2017 7:08 pm

@ryba_ns dzięki za zdjęcia. idąc tym tropem znalazłem cos ciekawego
licznik impulsów wodomierza na esp

swiezak
Posty: 1540
Rejestracja: ndz maja 04, 2014 12:19 pm
Lokalizacja: śląskie

Re: Funkcja odczytu wartości różnych liczników

Post autor: swiezak » śr kwie 18, 2018 4:08 pm

cześć. Czy możecie zerknąć na te kody do zlicznia impulsów na adc.
kod powstał w 2016 ale nie chce mi coś działać.
energy.lua

Kod: Zaznacz cały

-- =========Zmienne===========
licznik=0
stan = 0
wyslano = 0
wyslij = 0
wspolczynnik = 0.12
zuzycieImp = 0
zuzycieKwh = 0
czas = tmr.now()
odstep = 0

-- ============================

-- =========NETTEMP===========
   NettempIP="10.10.10.200"
   NettempKey = "XXXXXX"
   SensorType = "elec"
   SensorIp = "10.10.10.216"
   SensorDevice = "wireless"
-- ============================

-- ========Obsługa Analogu============================
function Dioda()
--print("Funkcja dioda")
--print(adc.read(0))
--print("")
    if (adc.read(0)>1000) then 
    stan = 1
    end 
end

function DiodaTest ()
if (adc.read(0)<1000 and stan==1) then
licznik=round(licznik+(1*wspolczynnik),4)
print("Zaliczylem impuls nr: " .. licznik*1000)
odstep = round(((tmr.now()-czas)/1000000),4) -- tmr.now podaje czas w mikrosekundach
print ("Odstep miedzy mrugnieciami = " .. odstep .. " sekund")
czas = tmr.now()

stan=0
else
end
end

-- ===================================================
function round(what, precision)
return math.floor(what*math.pow(10,precision)+0.5) /
math.pow(10,precision)
end

function Zuzycie()

zuzycieImp = licznik - zuzycieImp

if zuzycieImp>0 then zuzycieKwh = round(((1/odstep)*3.6),4) end
print ("Zuzycie na podstawie czasu: " .. zuzycieKwh )

zuzycieKwh = round((zuzycieImp * 120),4) -- 120 ponieważ wywołujemy funkcje co 15 sekund

print ("Licznik          = " .. licznik)
print ("Zuzycie Impulsy  = " .. zuzycieImp)
print ("Zuzycie Kwh      = " .. zuzycieKwh)

zuzycieImp = licznik
end


function Wydruk ()
print ("Licznik= " .. licznik)
print ("ZuzycieKwh= " .. zuzycieKwh)
print ("ZuzycieImp= " .. zuzycieImp)



end

-- ========Obsługa wysyłki========
function Wysylka()
print ("Wyslij= " .. wyslij)
print ("ZuzycieKwh= " .. zuzycieKwh)
print ("ZuzycieImp= " .. zuzycieImp)

conn=net.createConnection(net.TCP, 0)   
conn:connect(3000,NettempIP)
   
wyslij = licznik - wyslano
  
 conn:send("GET /receiver.php?key=".. NettempKey .. "&type=".. SensorType .. "&value=" .. wyslij .. "&ip=" .. SensorIp 
         .. "&device=" .. SensorDevice .. "&current=" .. zuzycieKwh .. " HTTP/1.1\r\nHost: NettempIP\r\n"
    .."Connection: keep-alive\r\nAccept: */*\r\n\r\n")
    
   
   conn:on("receive", function(conn, payload) print(payload)          

        if string.find(payload,"ok") ~= nil then    
        wyslano = wyslano + wyslij 
        print("Wysylka powiodla sie")
        else 
        wyslano = wyslano
        print("Wysylka nie powiodla sie")
        end
   
                          
   
end)
end
-- ============================

-- ==========PROGRAM===========

tmr.alarm(0, 20, tmr.ALARM_AUTO, function() Dioda() end)
tmr.alarm(1,25, tmr.ALARM_AUTO, function() DiodaTest() end)
tmr.alarm(2,1000, 1, function() Wydruk() end)
tmr.alarm(3, 60010,1, function() Wysylka() end)
tmr.alarm(4,30000, tmr.ALARM_AUTO, function() Zuzycie() end)
-- ============================
init.lua

Kod: Zaznacz cały

--Connecting to network
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","WIFIPASSWORD")
wifi.sta.setip({ip="10.10.10.216",netmask="255.255.255.0",gateway="10.10.10.1"})
ip = wifi.sta.getip()
print(ip)

tmr.alarm(0, 1000, 1, function() 
if (wifi.sta.getip() == nil) then 
print("Connecting to Network...") 
else 
tmr.stop(0)
print("Connected  (ip: ".. wifi.sta.getip() ..")")
dofile("energy.lua")
end
end)
Jak wgram kod to zlicza impulsy ale nie może wysłać do NT, NT nie widzi licznika.
Przy próbie wysłania wyskakują krzaczki i restart esp.

Kod: Zaznacz cały

ZuzycieKwh= 57.6
ZuzycieImp= 0.48
Licznik= 1.08
ZuzycieKwh= 57.6
ZuzycieImp= 0.48
Zuzycie na podstawie czasu: 0.6864
Licznik          = 1.08
Zuzycie Impulsy  = 0.6
Zuzycie Kwh      = 72
?3�ÔŽTť˙�nş
ĘâF'h¦Ć�îbő

NodeMCU 0.9.6 build 20150704  powered by Lua 5.1.4
10.10.10.216
> Connected  (ip: 10.10.10.216)
Licznik= 0
ZuzycieKwh= 0
ZuzycieImp= 0

ODPOWIEDZ