logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Odbieranie danych z serwera MQTT i wyświetlanie na stronie internetowej

matej1410 23 Maj 2020 09:22 1305 5
REKLAMA
  • #1 18712123
    matej1410
    Poziom 25  
    Posty: 1085
    Pomógł: 115
    Ocena: 219
    Witam serdecznie Kolegów.

    Jestem kompletnie początkujący jeśli chodzi o kwestie tworzenia stron internetowych i chciałbym zasięgnąć wiedzy teoretycznej na początek.
    Otóż wysyłam sobie dane modemem GSM to Brokera MQTT.
    Zamierzam stworzyć coś na kształt strony internetowej na której będzie dashboard i który będzie posiadał umiejętność odczytywania danych z Brokera MQTT. Super by było gdyby można było stworzyć tam elementy takie jak Buttony, Radiobuttony itp. których użycie spowoduje ukształtowanie w pewien sposób danych oraz wypychanie ich w drugą stronę do Brokera.
    Super by było gdyby istniała możliwość tworzenia konta użytkownikowi z zabezpieczeniem hasłem.

    Czy środowiska programistyczne do tego są darmowe?
    W czym się to programuje w ogóle?

    Programuje biegle w C, C++ oraz Javie.
  • REKLAMA
  • Pomocny post
    #2 18712253
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1463
    Co Ci odpowiedzieć, jak jesteś totalnie początkujacy w webie?
    Jakiego typu doświadczenie masz w Javie?

    Trzeba się weba naumieć, i tyle. To i owo Ci podpowiem, zależnie od odpowiedzi na pierwsze pytanie.
    Narzędzia są darmowe. Gdyby myśleć o publicznym hostingu, to już nie.
  • REKLAMA
  • #3 18712915
    matej1410
    Poziom 25  
    Posty: 1085
    Pomógł: 115
    Ocena: 219
    Java: tworzę aplikacje na Androida. Przykładowo do tworzenia aplikacji używam Android Studio ponadto kompilatory, środowiska programowania uC np. Atmel Studio, Eclipse, Atollic TrueStudio.
    Mam na myśli środowisko w jakim się tworzy takie strony i np. język. Jaki się wykorzystuje do tworzenia stron. Który jest przystępniejszy w przyswajaniu? Który jest profesjonalniejszy i bardziej zaawansowany.
    I o takie informacje mi chodzi.
    Mechanizm jest taki, że potrzebuje odczytywać dane z MQTT i agregować je na serwerze (jakim? nie wiem dlatego pytam).
    Na próbę może być to jakaś wirtualna przestrzeń w chmurze o ile taka istnieje (tak jak np. są darmowe Brokery MQTT i można ta pompować dane z pewnymi ograniczeniami w wersjach darmowych), lub np. stworzyć serwer na komputerze (Linux czy Windows?) i wykorzystywać przestrzeń dysku do agregacji tych danych.
  • REKLAMA
  • Pomocny post
    #4 18714082
    JacekCz
    Poziom 42  
    Posty: 8670
    Pomógł: 760
    Ocena: 1463
    Więc o webie. Trudna ta moja mowa do Ciebie ....

    1. w Javie
    a) Klasyczny sposób developmentu aplikacji webowy to kontener servletów (jako standard) na przykład implementacja Apache Tomcat.

    a1) Dla środowiska kontenera servletów pisze się aplikacje w jakiś frameworkach (można surowym kodem, ale to przeszłość). Ja bardzo lubię Apache Wicket, jest bdb do apliakcji zawierających wiele form, dialogów, tabel. Pewnego rodzaju nurtem korporacyjnym jest Spring Framework MVC.
    W punkcie a) jest mowa, że HTML jest generowany na serwerze. Frameworków server-side'owych jest więcej niż tu napisałem.

    a2) nowsze trendy to w Javie się implementuje tzw backend (coś, co "zasila" stronę danymi) , a "to co widać" w przeglądarce robi się w Angular albo Vue.JS, we framewrokach JavaScript. Inaczej mówiąc HTML jest generowany w przeglądarce.

    b) serwery HTTP nie będące w koncepcji servletów. Na przykład projekt RatPack. W praktyce na wszystkich tzreba mieć podstawy programowania funkcyjnego w Javie, wyobraźnię, jak to rozszyć na zdarzeniach (model asynchroniczny) itd. RatPack jest kompatybilny z językiem Groovy (też z ekosystemu JVM)

    w a) i b) Możesz użyć Eclipse, Netbeans, i innych.

    2. Poza Javą.
    Krzywa wejścia w to, jak nie dotykałeś tych zagadnień, będzie problemem. Od zera do dobrej produktywności to i rok może być. Hosting Javy będzie nieco droższy.
    a) Masówka, która widzisz w internecie, jest realizowana w PHP. Język o dość szybkim starcie, uchodzi z nieelegancki, rozwijany chaotyczne, i z wieloma złymi nawykami w "community". Hosting tego jest za grosze. NIE WIEM czy jakoś zintegrujesz z brokerem.

    b) Niektóre projekty są w Pythonie (też na tanich hostingach). Język już rzadszy od PHP, ale bardziej elegancki, przemyślany przez twórców.

    W każdej z tych technologii musisz mieć bazową wiedzę z HTML/CSS, bo w tym się projektuje wygląd strony.
    Nie wymieniasz C# i .NET, klimat podobny do ekosystemu Javy

    Dużo , niestety

    ps. W szczegółowych kwestach polecam https://4programmers.net/
  • REKLAMA
  • Pomocny post
    #5 18716700
    szelus
    Poziom 34  
    Posty: 1508
    Pomógł: 315
    Ocena: 53
    Na szybko to może Node-RED i jego dashboard? Ten dashboard pozwala stworzyć tego typu stronę bez programowania, z kolei sam Node-RED ma wiele wtyczek pozwalających na odbiór i wysyłanie wiadomości z różnych źródeł/protokołów, w tym MQTT.
    Korzystałem z tego do prostego demo, ale chyba nadaje się też do bardziej zaawansowanych rzeczy. Wprawdzie do tego demo nie interesowały mnie względy bezpieczeństwa, ale zakładam, że jest to do ogarnięcia - w końcu ludzie jednak dość intensywnie z tego korzystają.
    Szukajka pokazuje sporo różnych tutoriali, nie pamiętam z czego sam korzystałem.
    Poza tym jest to oprogramowanie otwarte, więc jak coś nie pasuje, zawsze można sobie przerobić. O ile ma się czas... :wink:
  • #6 18718557
    matej1410
    Poziom 25  
    Posty: 1085
    Pomógł: 115
    Ocena: 219
    Działałem z node red, ale z tego co pamiętam to nie można tam tworzyć osobnych kont a jedynie odbierać dane z danego topica. Jest to proste, ale zarazem zbyt mało zaawansowane.
REKLAMA