Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 8488|Vastaus: 0

Useita EMQTT-tietopisteitä

[Kopioi linkki]
Julkaistu 15.2.2019 10.25.09 | | |
Ennen tekstin aloittamista haluan kiittää nettikäyttäjä "Xiaolongia" ja emqtt.io-ryhmän nettikäyttäjiä avusta, olen juuri alkanut käyttää MQTT:tä. On paljon asioita, joita en ymmärrä, kun kysyin ratkaisusta emqtt.io-ryhmässä, "Xiaolong" antoi minulle yksityiskohtaisen selityksen joistakin MQTT-tietopisteistä ja tarjosi ratkaisuja, kiitos paljon. Uskon, että jotkut siinä mainituista asioista ovat edelleen erittäin hyödyllisiä aloittelijoille, joten tässä on yhteenveto keskusteluhistoriastani "Xiaolongin" kanssa viitteeksi.

Kysymys 1: Jos MCU:ssa on rajallinen välimuisti ja rajallinen laskentateho, viestejä ei voi lähettää kerralla, miten tässä tapauksessa julkaista viestejä MQTT:n kautta?
Ensin koota julkaisuprotokollan otsikko, kirjoita siihen hyötykuorman pituus, lähetä se TCP:n kautta ja sitten lähetä hyötykuorma vähitellen. Jos et saa kokonaiskuorman pituutta, tämä on vaikeaa. Koska lähetät julkaisuprotokollaraportin, palvelin lukee pään kuorman pituuden, ja se jatkaa lukemista, kunnes saavuttaa vaaditun pituuden, ja sitten julkaisu lasketaan. Siksi sinun täytyy ensin varmistaa julkaisemasi sisällön pituus, sitten ryhmitellä julkaisupaketin otsikon, täyttää payloadin pituus, tcp:send(head), ja lähettää payload yksi kerrallaan, esimerkiksi 1k kerrallaan, tai lähettää data normaalin tcp:n mukaisesti ja lähettää se kokonaan, vaikka julkaisu olisi ohi. Seuraava lähetys kuuluu TCP-kerrokseen, eikä sinun tarvitse puuttua asiaan. Jos TCP-kerroksessa lähetys epäonnistuu, socketissa täytyy olla ongelma, yhteys on rikki, sinun täytyy yhdistää uudelleen MQTT-palvelimeen, jos se ei ole valmis, palvelinistunto päättyy myös, eli palvelin ei ole vastaanottanut dataa. Yhdistä uudelleen, viesti täytyy lähettää uudelleen, kunhan yhteys on katkaistu, sinun täytyy yhdistää uudelleen, haluatko lähettää datan uudelleen, riippuu siitä, oletko tallentanut aiemmat tiedot. Jos viesti on tärkeä, voit käyttää qos=1 tai 2 varmistaaksesi, että palvelin vastaanottaa viestin, qos=1 vaatii yhden edestakaisen matkan, qos=2 neljä edestakaista matkaa, qos=0 on hyvin yksinkertainen, kunhan lähetät viestin, sillä ei ole väliä.

Kysymys 2: Onko MQTT:lle paljon avoimen lähdekoodin resursseja?

Hyperlinkin kirjautuminen on näkyvissä.Niitä on paljon

Kysymys 3: Miksi MQTT ei yleensä tarjoa pysyvyysfunktioita?

MQTT-protokolla on suunniteltu laitteen online-suunnittelun mukaisesti, ja data tallennetaan muistiin

Kysymys 4: Kuluttaako MQTT muistia?

MQTT kuluttaa enemmän muistia, ja emqtt:n mitattu data on: 38W, muisti kattaa 14G, CPU 15 %

Kysymys 5: Mikä on suhde istunnon ja asiakkaan välillä?

Esimerkiksi, jos sinulla on piirilevy, asiakkaana käynnistää MQTT-yhteyspyyntö yhdistääkseen MQTT-palvelimeen, esimerkiksi se on EMQTT-palvelu, ja kun EMQTT-palvelin vastaanottaa tämän kortin yhteyspyynnön, se muodostaa TCP-yhteyden piirilevyyn TCP-kerroksella, ja EMQTT:n sisällä luodaan prosessi kommunikoimaan tämän kortin kanssa, ja lisäksi luodaan prosessi, jota kutsutaan istunnoksi. Tämä sessoin on teema, joka on erikoistunut tämän laudan tilauksen hallintaan, ja muut lautakunnat lähettävät sen myös kyseisen foorumin vastaavaan istuntoon, jos ne julkaisevat kyseisen foorumille kiinnostavan aiheen, jos sessio vastaanottaa tilatun aiheen ja huomaa, että asiakas on yhä elossa, se lähettää tiedot tämän asiakkaan kautta TCP:n kautta tälle taululle, jos todetaan, että asiakas ei enää ole paikalla, eli lauta ja palvelin ovat rikki. Sitten sessio tallentaa vastaanotetun tilausaiheen ensin istuntoon, ja seuraavalla kerralla kun lauta on yhdistetty, ja cleansession=false, istuntoa ei tyhjennetä, ja kun yhdistät tällä kertaa, aiemmin vastaanotettu tilausviesti lähetetään taululle, mikä todennäköisesti tarkoittaa sitä.

Kysymys 6: Miten emqtt tietää, että yhdistetty asiakas on sama?

Kun yhdistät, sinun täytyy asettaa asiakas-ID, tämä ID voidaan jättää asettamattomaksi, jos sitä ei ole asetettu, ainutlaatuinen ID luodaan automaattisesti emqtt-palvelinpuolella. Jos haluat käyttää istuntoa, sinun täytyy olla yksilöllinen ID, voit käyttää IMEI:tä. Jos sinun täytyy vastaanottaa offline-viestejä, sinun täytyy käyttää tarkkaa tunnistetta.

Kysymys 7: Voidaanko emqtt:n istuntoaikaa muuttaa?

Voit muuttaa istuntoaikaa, nyt se on 48 tuntia, voit muuttaa sen viikoksi, jos haluat sen pysyväksi, pelkään, että EMQTT ei ole sopiva.

Kysymys 8: Onko emqtt:n käyttöoikeus kirjoitettu konfiguraatiotiedostoon?

etc/acl.config

Kysymys 9: Mikä on emqtt:n jakauma?

Hajautettu tarkoittaa yksinkertaisesti useiden palvelimiesi yhdistämistä, yhden tai useamman niistä, kunhan kaikki eivät ole rikki, emqtt voi toimia normaalisti. EMQTT-data jaetaan useiden solmujen kesken, ja jos solmussa ilmenee ongelma, data ei katoa, mutta solmun istuntotiedot katoavat.









Edellinen:Ensimmäinen tutustuminen EMQX (EMQTTD) -viestijonoon
Seuraava:jQuery-tutkimusmuistiinpanot
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com