Skocz do zawartości

Protokół BACnet na Arduino


Pomocna odpowiedź

Napisano

Witam,
orientuje się ktoś może jaka jest możliwość zaimplementowania na Arduino protokołu BACnet (najlepiej wersja BACnet IP). Czy jest jakaś biblioteka? Czy ktoś miał z tym styczność... W sieci nic nie mogę znaleźć :->

Spróbuj tego:

https://www.google.pl/search?q=bacnet+protocol+implementation+in+c

Wyniki są obiecujące. Arduino jest trochę małe jak na trochę bardziej zaawansowane protokoły sieciowe, ale może ograniczona implementacja (proste urządzenie z niewielką ilością dostępnych od strony sieci zasobów) zmieści się w którejś ATmedze. Czuję, że głównym ograniczeniem może być RAM. Po jakim interfejsie chcesz to puszczać? Bo to może być kolejny problem. Ethernet do Arduino jest często zastanawiająco drogi lub tragicznie wolny. Najprościej wygląda warstwa łącza danych typu PTP (Point-to-Point) zrobiona na UART, ale też jest najbardziej ograniczona i brak w tym "sieciowości" - z definicji tylko dwa urządzenia na dwóch końcach drutu. To już RS485 (MS/TP - z przekazywaniem tokena) powinien być pod tym względem bardziej elastyczny, choć musisz wtedy dospawać transceiver pary różnicowej 485.

EDIT:

Tu masz porty stosu BACnet na różne platformy. Widzę AVRy i nawet Arduino;

https://github.com/stargieg/bacnet-stack/tree/master/ports

  • Lubię! 1

marek1707, dzięki za szybkie info. Przy systemie rozproszonym UART nie wchodzi w grę. Z Ethernet na Arduino jeszcze nie miałem styczności. Dziwi mnie, że piszesz że jest tragicznie wolny. RS485 wydaje się najbardziej rozsądny.

Jasne, po stronie skrętki masz 10 lub 100Mbit/s bo same ramki muszą być wysyłane zgodnie ze standardem kodowania obowiązującym w kablu, tylko że Arduino (i inne małe procesorki) podłączane jest do takich scalaków po SPI albo co gorsza przez UART. No i robi się w najlepszym razie kilkanaście kbit/s efektywnego transferu. Z tego co widzę, implementacja na Arduino wskazanego stosu "ethernetuje" przez moduł Wiznet na kontrolerze W5100 a ten, o ile pamiętam, ma SPI więc jeszcze nie tak najgorzej.

https://www.tme.eu/pl/details/w5100/uklady-scalone-interfejs-ethernet/wiznet/

A moduły na tym tanie nie są, czyli: wolno i drogo.

RS485 jest chyba optymalny, bo łatwo daje się zaimplementować na naturalnych UARTach Arduino. Pytanie tylko, czy znajdziesz taki gotowy soft. Tu jest coś obiecującego:

https://github.com/stargieg/bacnet-stack/tree/master/ports/xplained

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...