FormerMazda skrev: ↑30 mars 2021, 07:21:49
Jag har googlat en himla massa nu, och detta förstår jag inte..
Inte ens aliexpress eller liknande har dessa IR-USB/RS kablar till ett rimligt pris!?
Det är ju inte direkt nåt avancerat eller exotiskt vi pratar om, en fotodiod och en IR-diod. Mot nån form av RS/TTL signalnivå är det ju knappt en några kringkomponenter att tala om.
Men allt jag hittar är helt konstigt dyrt.
Om jag citerar mig själv:
"Helst vill jag ha nåt som läser optiskt, och ger mig iallafall mätarställningen via MBUS"
Så då är inte en lösning som skapar en websida via ett WiFi en bättre lösning.
Men tack för tipset.
Re: Läsa av elmätare optiskt
Postat: 12 augusti 2021, 08:17:59
av guckrum
Jag byggde en gång en sådan för en Kamstrup energimätare på en
fjärrvärmeväxlare. Elektroniken var trivial, men protokollet var dels
förvånande komplext och dels svårt att hita på nätet. Har för mig
att det var sju databitar och att det var olika hastighet i upplänk och
nedlänk. Vete sjutton om de inte ändrade hastigheten on-the-fly
också. Det blev två generationer, först med Arduino och senare
med RPi. Jag kan plocka fram detaljerna om du är intresserad.
Re: Läsa av elmätare optiskt
Postat: 12 augusti 2021, 11:34:43
av FormerMazda
Jag kan gärna kika på ditt projekt, detta är väl inte helt utagerat än.
Men ja, det verkar hopplöst krångligt gjort, uppenbart nån med för mycket tid på jobbet som invecklat lösningen..
Re: Läsa av elmätare optiskt
Postat: 12 augusti 2021, 11:50:53
av guckrum
Såhär pratade jag med mätaren från en RPi. Jag hade fototransistor, IRdiod
och kanske en BC547 och något motstånd till själva sensorn.
# 300, 1+7+E+1 (1start, 7data, evenparity, 1stop)
# /?![CR][LF]
# skicka i 300 bps: 2f 23 31 0d 0a
# ta emot 1200 bps
import serial
import time
class KamstrupReader:
header = ('MWh', 'cm', 'hrs', 'tin', 'tout', 'tdelta', 'kW', 'lph', 'Plph', 'info',)
scaling = {'kW': 10, 'tin': 100, 'tout': 100, 'tdelta':100, 'MWh':1000, 'cm':100,}
def __init__(self):
self.mc401 = serial.Serial(port='/dev/ttyAMA0', bytesize=serial.SEVENBITS, parity=serial.PARITY_EVEN, stopbits=serial.STOPBITS_ONE, timeout=2)
def readall(self):
self.mc401.baudrate = 300
time.sleep(0.1)
self.mc401.write("/#1")
self.mc401.flush()
time.sleep(0.1)
self.mc401.baudrate = 1200
self.mc401.flushInput()
data = self.mc401.read(100).split()
self.mc401.baudrate = 300
if not data:
return []
data = (int(x) for x in data)
data = dict(zip(self.header, data))
for key, div in self.scaling.items():
data[key] = float(data[key])/div
return data
Re: Läsa av elmätare optiskt
Postat: 12 augusti 2021, 12:05:59
av rvl
Säkert intressant att kika på. Minnesbillden om ändring av baudraten verkar stämma. Man kan ju testa med terminal först, som denhär snubben.
Google hittade standarden, som man säkert får läsa litet närmare, om man tar sig an ett eget projekt.
Re: Läsa av elmätare optiskt
Postat: 12 augusti 2021, 13:37:16
av FormerMazda
BAUD-ändringen är väldigt intressant!
Men gissa vem som slarvat bort sitt interface..
Har ju lite mer ställen att vända upp och ner på, men den borde legat nånstans där jag redan letat.
Re: Läsa av elmätare optiskt
Postat: 17 september 2021, 06:53:18
av FormerMazda
Gissa vem som hittade sitt interface, det låg överst, och därför helt osynlig!
Jag fick iallafall svar från mätaren nu!
Använde samma program som i videon, med dom inställningarna också.
Det tråkiga är att jag minns inte vad jag labbade med sist, så om det var nåt med inställningar eller programmet, vet jag inte..
Så nu skulle jag egentligen "bara" slänga ihop detta med en arduino, maska ut värdet vid 1.8.0, klämma dit ett MBUS-interface och slänga ut det där.
Imorgon. Kanske.
Re: Läsa av elmätare optiskt
Postat: 17 september 2021, 07:53:12
av rvl
Såg inte nämnt i tråden vad det blev för interface. Hembygge, eller det någorlunda humant prissatta, som K.K. föreslog, eller nåt annat?
Re: Läsa av elmätare optiskt
Postat: 17 september 2021, 08:14:27
av FormerMazda
Interfacet var ett jag köpt sen tidigare, ser i princip exakt ut som det KK länkade: