Skocz do zawartości
lukaszd82

ESP8266 jako bramka Modbus do IoT MyDevices Cayenne

Pomocna odpowiedź

Napisano (edytowany)

IMG_20180424_120854.thumb.jpg.72f938393151e5416ceef4d84092503c.jpg

Opis konstrukcji
Projekt powstał z myślą udostępnienia danych ze sterownika PLC przez internet. Wymieniony sterownik posiada port komunikacyjny RS232 oraz wykorzystuje protokół komunikacyjny Modbus RTU. Podczas wykonywania prac uznałem, iż miłym dodatkiem będzie możliwość zdalnego załączania urządzeń. Całość oparłem o uniwersalną płytkę stworzoną jakiś czas temu dla ESP8266. Schemat płytki uniwersalnej ESP8266:

1.thumb.png.c49340b95cb4541ccbdcd7ecbc3c54a4.png

Oczywiście można skorzystać z płytki zamieszczonej w moim projekcie o stacji pogodowej. Jest ona niejako kolejną wersją powyższej (ale brak na niej dzielnika napięcia dla A0). A poniżej wygląd PCB z programu EAGLE:

2.thumb.png.d32215443e4537f4c3a11d320223a569.png

Oczywiście pliki Eagle i wszystko co niezbędne do powielenia projektu w załącznikach. Nie będę wymieniał wszystkich elementów, ponieważ od tego jest schemat. Nadmienię tylko, iż na płytce znajduje się stabilizator AMS1117 3.3V, z tego względu max napięcie zasilania to 12V (najlepiej niższe ze względu na grzanie się wspomnianego stabilizatora). Esp jest wpinane na PCB na adapterze (by zapewnić modułową konstrukcję).Uzupełnieniem konstrukcji jest konwerter RS232-TTL.

1.thumb.png.46fc13d3f68f7b457cea2e309fe27cd6.pngIMG_20180318_200610.thumb.jpg.2fd84a054b76127cfc0084f980a9d183.jpg

Konwerter RS232-TTL jest zasilony z płytki ESP8266 napięciem 3,3V, natomiast RX i TX zostały wprowadzone na IN1 i IN2 ze schematu.
Całość zaprogramowałem z wykorzystaniem Arduino IDE. Dla własnych potrzeb wprowadziłem odczyt wartości temperatur, potwierdzenia pracy urządzeń oraz rozkazy załączenia dla PLC:
Modbus RTU:

  • Rejestr 40001 - Temperatura kominka
  • Rejestr 40001 - Temperatura w zbiorniku CWU
  • Rejestr 40001 - Temperatura w kolektorze próżniowym
  • Rejestr 40001 - Temperatura wody podłogówka
  • Rejestr 40001 - Napięcie baterii akumulatorów (od paneli fotowoltaicznych)
  • Rejestr 00005 - Potwierdzenie pracy pieca gazowego
  • Rejestr 00007 - Potwierdzenie pracy schładzania instalacji kolektorów próżniowych
  • Rejestr 40020 - Rozkaz na załączenie pieca gazowego
  • Rejestr 40021 - Rozkaz na załączenie instalacji schładzającej

Oczywiście całość oprogramowania sterującego instalacją domową działa autonomicznie na PLC. Przytoczone tutaj zmienne to tylko przykład możliwości wykorzystania wykonanego urządzenia oraz adaptacji zamieszczonych kodów do ESP8266. Jako interface webowy wykorzystuję gotową aplikację Cayenne IoT: https://cayenne.mydevices.com/

2.thumb.png.6e1ed2829559da47570dbc3aef5eb048.png

Konstrukcja nie jest pozbawiona wad:

  • nie jestem programistą, więc kod nie jest optymalny,
  • działanie Cayenne My Devices na PC pozostawia wiele do życzenia (o wiele lepiej działa aplikacja na Android).

W załączniku zamieszczam:

  • Schemat w EAGLE wraz z rysunkiem ścieżek (wersja oryginalna, pierwotna oraz zmodyfikowana ze stacji meteo).
  • Skompilowane pliki źródłowe oprogramowania (oraz wersja edytowalna).
  • Dokładniejszy opis konstrukcji oraz konfiguracji całości.

Bramka Modbus.zip

ESP8266 - Robert - RTUMaster.zip

esp8266_STACJA_METEO (2).zip

esp8266_rs232.zip

Edytowano przez Treker
Poprawiłem formatowanie.

Udostępnij ten post


Link to post
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

@lukaszd82, właśnie zaakceptowałem opis. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 😉

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...