Skocz do zawartości

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.

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.

  • 2 lata później...

Wiem że temat stary, ale w czym kolega pisał kod? Ogólnie pytam bo potrzebuję zrobić właściwie to most WIFI<>RS485 Modbus RTU, aby odczytać licznik energii w SCADA ostatecznie NODERED.

  • 2 tygodnie później...

Wiesz co, dobrze przed wrzuceniem kodu usunąć dane WiFi oraz klucz do Cayenne 😉

Nie to, żebym miał zamiar sie włamywać i sterować Twoimi urzadzeniami...

(edytowany)

Zgadza się, z ciekawości sprawdzę czy coś z tego programu jest jeszcze używane 😅👍

Wifi to nie problem - (bez lokalizacji nie da sie wykorzystać a za testowy router robi u mnie komórka) a cayenne sprawdze bo miałem kanał testowy i chyba to poszło na fora 😁.

Chyba 🤣🤣🤣

Jakby co koledze włączy się ogrzewanie gazowe w lecie 😅😅😅😅

Edytowano przez lukaszd82

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