Skocz do zawartości

Raspberry Pi ZeroW RS485 Modbus


QBIC

Pomocna odpowiedź

Witam, 

moj pierwszy post na tym forum wiec pozdrawiam wszystkich 🙂

Przy okazji instalacji fotowoltaniki w gospodarstwie domowym stwierdziłem, ze fajnie by było monitorować bilans energetyczny. W tym celu zakupiłem licznik, po pierwszych nieudanych próbach połączenia z NodeMcu stwierdziłem ze wygodniej będzie postawić tam jakieś Raspberry - licznik jest w trudno dostępnym miejscu, Arduino OTA się nie sprawdziło, wiec postawiłem na wygodę czyli SSH. Zakupiłem Raspberry Pi Zero oraz nakładkę z interfejsem RS485 https://botland.com.pl/pl/raspberry-pi-hat-komunikacja/11722-rs485-pi-sn65hvd72-interfejs-rs485-dla-raspberry-pi-7426787870163.html?search_query=RS485+hat&results=3. Przygotowałem raspberry tak jak jest napisane tutaj http://minimalmodbus.readthedocs.io/en/master/installation.html i napisalem spkrypt:

 

import minimalmodbus

SLAVE_ADDRESS = 1
REGISTER_ADDRES = 0 # przykladowo

minimalmodbus.BAUDRATE = 9600
minimalmodbus.PARITY = 'E'

ins = minimalmodbus.Instrument('/dev/ttyAMA0' SLAVE_ADDRESS)

print(ins.read_register(REGISTER_ADDRESS))

Problem w tym, ze skrypt zachowuje się losowo, czasem zadziała czasem wyrzuci IOError (No connection with module), kiedy np dla rejestru 32 bitowego używam read_long() lub dla floata read_float() wyrzuca albo IOError lub ValueError.

Czy ktoś ma doświadczenie w tej materi i wie co posprawdzać, co może byc nie tak?

Jak będę w domu wrzucę pełne opisy błędów.

z gory dzięki 🙂

Edytowano przez QBIC
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.