Node-RED: MQTT serveris

Kaip prijungti Node-RED prie Mosquitto MQTT serverio

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Node-RED cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įtrauktas MQTT serveris (Mosquitto).
  • Pilna prieiga prie Node-RED administravimo sąsajos.
  • Įtrauktas Node-RED Dashboard.
  • Įtrauktas neribotas ir dedikuotas SMTP el. pašto serveris.
  • Lengvi atnaujinimai vienu paspaudimu.
  • Pritaikomas domeno vardas, apsaugotas HTTPS (pavyzdžiui, https://node-red.jusu-imone.com).
  • Optimali veikla ir tvirta sauga, užtikrinta privačia ir dedikuota VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių, kad išbandytumėte Stackhero Node-RED cloud hosting sprendimą!

Stackhero Node-RED paslauga turi integruotą MQTT serverį, todėl lengva prijungti savo IoT įrenginius naudojant saugius ir patikimus komunikacijos kanalus.

Norėdami pradėti, tiesiog eikite į Stackhero valdymo skydelį, suraskite savo Node-RED paslaugą ir paslaugos konfigūracijos nustatymuose įjunkite parinktį „MQTT Server“.

Kai serveris įjungtas, galite prie jo jungtis per 8883 prievadą. Visos jungtys yra apsaugotos TLS šifravimu, todėl jūsų duomenys išlieka saugūs.

Jei dar tik pradedate naudoti MQTT su Node-RED, pateikiame paprastą pavyzdį, kuris padės greitai pradėti. Šiame pavyzdyje parodyta, kaip išsiųsti žinutę į temą (topic) ir gauti žinutes iš jos. Galite atsisiųsti srauto pavyzdį ir importuoti jį į savo Node-RED instanciją naudodami meniu „Import“.

Paprastas MQTT prijungimo prie Node-RED pavyzdysPaprastas MQTT prijungimo prie Node-RED pavyzdys

Jei jūsų MQTT mazgai lieka „connecting“ būsenoje, verta patikrinti, ar MQTT authentication srautas vis dar yra. Jei jo trūksta, galite jį atsisiųsti čia: mqttAuthenticationFlow.json. Importuokite šį srautą į savo Node-RED instanciją, atnaujinkite Users mazgą su norimais slaptažodžiais ir, jei reikia, pašalinkite nereikalingus komentarus.

MQTT naudotojų autentifikavimą lengva valdyti naudojant dedikuotą srautą Node-RED aplinkoje. „MQTT Authentication“ srautą rasite tiesiogiai Node-RED administravimo panelėje.

MQTT autentifikavimo srautasMQTT autentifikavimo srautas

Šiame autentifikavimo sraute suraskite Users šablono mazgą. Šiame mazge yra masyvas, kuriame galite apibrėžti kiekvieno naudotojo prisijungimo duomenis. Galite pridėti tiek naudotojų, kiek reikia jūsų projektui.

Pastaba: node-red naudotojas yra būtinas, kad Node-RED galėtų prisijungti prie MQTT serverio. Nešalinkite šio naudotojo iš savo konfigūracijos.

MQTT naudotojų mazgasMQTT naudotojų mazgas

Galite jungtis prie Mosquitto MQTT serverio tiek naudodami MQTT protokolą, tiek per WebSockets.

MQTT protokolas yra lengvas ir puikiai tinka IoT įrenginiams, tačiau jis nėra natyviai palaikomas naršyklėse. Jei norite sąveikauti su savo MQTT serveriu iš naršyklės, rekomenduojama naudoti WebSockets. Šis metodas leidžia MQTT srautą apgaubti WebSocket protokolu ir puikiai veikia su Stackhero paslaugomis.

Norėdami įjungti WebSocket palaikymą, tiesiog aktyvuokite „WebSocket Support“ parinktį savo Stackhero valdymo skydelyje. Kai ši funkcija įjungta, konfigūruokite savo klientą naudoti WebSocket URL: wss://<XXXXXX>.stackhero-network.com:443/mqtt. Būtinai pakeiskite numatytąjį mqtts://<XXXXXX>.stackhero-network.com į šį WebSocket URL, jei jungiatės iš naršyklės.

Kuriant sprendimus, ypač naudinga „MQTT.js“ biblioteka. Tai patikima JavaScript biblioteka, suderinama tiek su Node.js, tiek su naršyklės aplinka. Daugiau informacijos rasite jos oficialiame repozitoriume.

Jei ieškote praktinio pavyzdžio, kaip iš naršyklės prisijungti prie MQTT serverio naudojant WebSockets, galite peržiūrėti šį repozitoriumą: https://github.com/stackhero-io/mqttWebSocketGettingStarted. Galite laisvai redaguoti src/index.html failą, įrašydami savo serverio url, username ir password, kad pritaikytumėte savo aplinkai.

MQTT WebSocket pavyzdysMQTT WebSocket pavyzdys

Prieš bandydami šią konfigūraciją, įsitikinkite, kad WebSocket palaikymas yra įjungtas jūsų Stackhero valdymo skydelyje. Tai užtikrins sklandų naršyklės jungčių veikimą.