рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ
рдореЛрдбрдмрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рджреЗрдЦрд╛, рдЬреЛ
рдПрдо 2 рдПрдо рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджреНрдпреЛрдЧ рдорд╛рдирдХ рд╣реИред 1979 рдореЗрдВ рд╡рд╛рдкрд╕ рд╡рд┐рдХрд╕рд┐рдд, рдЗрд╕рдореЗрдВ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ MQTT рд╣рд▓ рдХрд░рддреА рд╣реИрдВред
MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рдлреА рдпреБрд╡рд╛ рд╣реИ (рдХреЗрд╡рд▓ 2016 рдореЗрдВ рдорд╛рдирдХреАрдХреГрдд), рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрджреНрдпреЛрдЧ рдФрд░ IoT рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрд╕реНрдерд┐рд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдЪреИрдирд▓реЛрдВ рдФрд░ рдХрдо-рд╢рдХреНрддрд┐ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХреЙрдореНрдкреИрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЖрдкрдХреЛ рдкреИрдХреЗрдЯ рдиреБрдХрд╕рд╛рди рдФрд░ рд╡рд┐рдпреЛрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред
рдПрдордХреНрдпреВрдЯреАрдЯреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
- рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рд╣рд▓реНрдХреЗ - рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдбреЗрдЯрд╛ рдУрд╡рд░рд╣реЗрдбред
- рдиреБрдХрд╕рд╛рди рдХрд╛ рдкреНрд░рддрд┐рд░реЛрдз - рдЕрд╕реНрдерд┐рд░ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рд╢рд░реНрддреЛрдВ рдореЗрдВ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрд╛рд░рдВрдЯреАред
- рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ - рдЖрдкрдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рджреЗрд░реА рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
- QoS рд╕рдорд░реНрдерди - рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
- рдбрд╛рдпрдиреЗрдорд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди - рдлрд╝реАрд▓реНрдб рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рдкреВрд░реНрд╡ рд╕рдордиреНрд╡рдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЗрд╕реЗ рдордХреНрдЦреА рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- NAT рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдХреНрд▓рд╛рдЗрдВрдЯ NAT рдХреЗ рдкреАрдЫреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ (рдмреНрд░реЛрдХрд░) рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рд╡реАрдкреАрдПрди рдФрд░ рдкреЛрд░реНрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрддреЗ - рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкрд╛рда рдирд╛рдо рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдордиреБрд╖реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдбрд┐рдЬрд┐рдЯрд▓ рдкрддреЗ рдФрд░ рдмрд┐рдЯ рдСрдлрд╝рд╕реЗрдЯ рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдПрдордХреНрдпреВрдЯреАрдЯреА рдФрд░ рдореЛрдбрдмрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВрдЧреЗ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд░рдЪрдирд╛, рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЕрд╕реНрдерд┐рд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рдПрдордХреНрдпреВрдЯреАрдЯреА рдмреНрд░реЛрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЗрддрд┐рд╣рд╛рд╕
MQTT рдХреЛ 1999 рдореЗрдВ IBM рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╢реБрд░реВ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдирд╡рдВрдмрд░ 2011 рдореЗрдВ, рдЖрдИрдмреАрдПрдо рдФрд░ рдпреВрд░реЛрдЯреЗрдХ рдиреЗ рдПрдХреНрд▓рд┐рдкреНрд╕ рдПрдо 2 рдПрдо рд╡рд░реНрдХрд┐рдВрдЧ рдЧреНрд░реБрдк рдореЗрдВ рдЕрдкрдиреА рднрд╛рдЧреАрджрд╛рд░реА рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдФрд░ рдПрдордХреНрдпреВрдЯреАрдЯреА рдХреЛрдб рдХреЛ рдПрдХреНрд▓рд┐рдкреНрд╕ рдкрд╛рд╣реЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░ рджрд┐рдпрд╛ред
2013 рдореЗрдВ,
OASIS (рд╕рдВрд░рдЪрд┐рдд рд╕реВрдЪрдирд╛ рдорд╛рдирдХреЛрдВ рдХреА рдЙрдиреНрдирддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдарди) рд╕рдВрдШ рдиреЗ MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдирдХреАрдХрд░рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреАред рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдПрдХ рдирд┐: рд╢реБрд▓реНрдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпреВрд░реЛрдЯреЗрдХ (рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рдЕрд░рдХреЙрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдЬреИрд╕реА рдХрдВрдкрдирд┐рдпрд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред
рдЕрдХреНрдЯреВрдмрд░ 2014 рдореЗрдВ, OASIS рдиреЗ рдкрд╣рд▓рд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдорд╛рдирдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред
2016 рдореЗрдВ, рдорд╛рдирдХреАрдХрд░рдг рдЖрдИрдПрд╕рдУ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рд╕рдВрдЧрдарди рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдорд╛рдирдХреАрдХрд░рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЖрдИрдПрд╕рдУ / рдЖрдИрдИрд╕реА 20922 рдирдВрдмрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред
2014 рдХреЗ рдмрд╛рдж рд╕реЗ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рд░реБрдЪрд┐ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рдиреЗ рд▓рдЧреА рдФрд░, Google рдЯреНрд░реЗрдВрдбреНрд╕ рд╢реЗрдбреНрдпреВрд▓ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдЬ рдпрд╣ рдореЛрдбрдмрд╕ рдореЗрдВ рд░реБрдЪрд┐ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
Google рд░реБрдЭрд╛рди рдмреЗрдВрдЪрдорд╛рд░реНрдХрдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
MQTT рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╣реИред рдореИрд╕реЗрдЬрд┐рдВрдЧ рдПрдХ рдХреЗрдВрджреНрд░реАрдп рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рджрд▓рд╛рд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЧреНрд░рд╛рд╣рдХ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рд╕рдВрд╡рд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рднреА рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдПрдХ рджрд▓рд╛рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рддрд╛ (рдкреНрд░рдХрд╛рд╢рдХ) рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ (рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░) рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░реВрд╕реА рдЕрдиреБрд╡рд╛рдж рдореЗрдВ, рдЗрди рд╢рдмреНрджреЛрдВ рдХреЛ рдЕрдХреНрд╕рд░ рдкреНрд░рдХрд╛рд╢рдХ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рднреНрд░рдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдореВрд▓ рд╢рдмреНрджрд╛рд╡рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕реЗрдВрдЯреНрд░рд▓ рдиреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВрдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрддрд░ рдкрд░, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рд╡реАрдкреАрдПрди рд╕реБрд░рдВрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рджреВрд░рд╕реНрде рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдмреНрд░реЛрдХрд░ рдХреЗ рдкрд╛рд╕ рдЕрд╕рд▓реА рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рд╕рднреА рдЧреНрд░рд╛рд╣рдХ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ NAT рдХреЗ рдкреАрдЫреЗ рд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ рдореЛрдбрдмрд╕ / рдЯреАрд╕реАрдкреА рдореЗрдВ рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди (рдорд╛рд╕реНрдЯрд░) рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ MQTT рдмреНрд░реЛрдХрд░ рдкреЛрд░реНрдЯ
1883 рд╣реИ ред рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдПрд╕рдПрд╕рдПрд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдкреЛрд░реНрдЯ
8883 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред
рджрд▓рд╛рд▓
рдПрдХ рдмреНрд░реЛрдХрд░ рдЧреНрд░рд╛рд╣рдХ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЗрдВрджреНрд░реАрдп MQTT рд╣рдм рд╣реИред рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдХреЗрд╡рд▓ рдПрдХ рджрд▓рд╛рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдмреНрд░реЛрдХрд░ рд╕рд░реНрд╡рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдпрд╛ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрдирдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рднрдВрдбрд╛рд░рдг рдХрд░рдирд╛, рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рдкрд╣реБрдВрдЪрд╛рдирд╛ рдФрд░ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдкреНрд░рдХрд╛рд╢рдХ / рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░
рдкреНрд░рдХрд╛рд╢рдХ рдФрд░ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд▓реЗрддреЗ рд╣реИрдВ: рдПрдХ рдЖрд░реНрджреНрд░рддрд╛ рд╕рдВрд╡реЗрджрдХ рдПрдХ рдХрдорд░реЗ рдореЗрдВ рдЖрд░реНрджреНрд░рддрд╛ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рд╕реЗ рдиреАрдЪреЗ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣реНрдпреВрдорд┐рдбрд┐рдлрд╛рдпрд░ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрд░реНрджреНрд░рддрд╛ рд╕реЗрдВрд╕рд░ рдПрдХ
рдкреНрд░рдХрд╛рд╢рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ: рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рдмреНрд░реЛрдХрд░ рдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реИред рд╣реНрдпреВрдорд┐рдбреАрдлрд╝рд╛рдпрд░ рдПрдХ
рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рд╣реНрдпреВрдорд┐рдбрд┐рдЯреА рдбреЗрдЯрд╛ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдмреНрд░реЛрдХрд░ рд╕реЗ рдЕрдк-рдЯреВ-рдбреЗрдЯ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╣реНрдпреВрдорд┐рдбрд┐рдлрд╛рдпрд░ рд╣реНрдпреВрдорд┐рдбрд┐рдлрд┐рдХреЗрд╢рди рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ, MQTT рдХреНрд▓рд╛рдЗрдВрдЯ, рдпрд╛рдиреА рд╕реЗрдВрд╕рд░ рдФрд░ рд╣реНрдпреВрдорд┐рдбрд┐рдлрд╛рдпрд░, рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рд╕реАрдзреЗ рдмрд╛рддрдЪреАрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдмреНрд░реЛрдХрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдИ рд╕реЗрдВрд╕рд░ рд╕реЗ рдФрд╕рдд рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдбреЗрдЯрд╛ рд▓реМрдЯрд╛рдПрдВред
рдкреНрд░рдХрд╛рд╢рдХ рдмреНрд░реЛрдХрд░ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИ, рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИрдЗрд╕реА рд╕рдордп, рдПрдордХреНрдпреВрдЯреАрдЯреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд┐рдЬрд╝реНрдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реЗрдВрд╕рд░ рдФрд░ рд╣реНрдпреВрдорд┐рдбрд┐рдлрд╛рдпрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдкрд░ рдСрдирд▓рд╛рдЗрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреИрдХреЗрдЯ рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рджреБрд░реНрдЧрдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдмреНрд░реЛрдХрд░ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╕реЗрдВрд╕рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЕрдВрддрд┐рдо рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ рдФрд░ рд╣реНрдпреВрдорд┐рдбрд┐рдлрд╛рдпрд░ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдбрд┐рд▓реАрд╡рд░реА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ред
рд╡рд┐рд╖рдп
MQTT рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд░реВрд╕реА рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЪреИрдирд▓ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рд╖рдп UTF8 рд╡рд░реНрдгреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ UNIX рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдорд╛рди рдПрдХ рдЯреНрд░реА рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдорд╛рдирд╡-рдкрдардиреАрдп рд░реВрдк рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдирд╛рдордХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрдВрддреНрд░ рд╣реИред
MQTT рдореЗрдВ рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреНрдпрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реИ, рдФрд░ рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдкрддреЗ рдХреЛ рдпрд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ рдХреЛрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдореЛрдбрдмрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ UNIX рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдПрдХрд▓-рд╕реНрддрд░реАрдп рдФрд░ рдмрд╣реБ-рд╕реНрддрд░реАрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдПрдХрд▓-рд╕реНрддрд░реАрдп рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдПрдХ
+ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдШрд░ рдХреЗ рд╕рднреА рдХрдорд░реЛрдВ рдореЗрдВ рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╖рдп рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
home/+/temperature
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡рд╣ рдРрд╕реЗ рд╕реЗрдВрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдЧрд╛:
home/kitchen/temperature home/sleeping-room/temperature home/living-room/temperature home/outdoor/temperature
рдПрдХ рдмрд╣реБ-рд╕реНрддрд░реАрдп рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рддреАрдХ "
# " рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдШрд░ рдХреЗ рд╕рднреА рдХрдорд░реЛрдВ рдореЗрдВ рд╕рднреА рд╕реЗрдВрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
home/#
рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╖рдп рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рд╕реЗ рдЖрдк рдРрд╕реЗ рд╕реЗрдВрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
home/kitchen/temperature home/kitchen/humidity home/kitchen/light home/sleeping-room/temperature home/sleeping-room/humidity home/sleeping-room/light ....
рдЧреНрд░рд╛рд╣рдХ рдХреА рдкрд╣рдЪрд╛рди
рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рд▓рд┐рдП, MQTT рдореЛрдбрдмрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
ClientId - (рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб) рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред MQTT 3.1.1 рдорд╛рдирдХ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдЖрдкрдХреЛ рдЦрд╛рд▓реА рдХреНрд▓рд╛рдЗрдВрдЯрдЖрдИрдб рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо - (рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреНрд╖реЗрддреНрд░) рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдпреВрдЯреАрдПрдл -8 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓реЙрдЧрд┐рди рдХрд░реЗрдВред рдЕрдиреЛрдЦрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдПрдХ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдкрд╛рд╕рд╡рд░реНрдб - (рд╡реИрдХрд▓реНрдкрд┐рдХ рдлрд╝реАрд▓реНрдб) рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкрд╛рд╕рд╡рд░реНрдб рдлрд╝реАрд▓реНрдб рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдзрд┐рдХрддрдо 65535 рдмрд╛рдЗрдЯреНрд╕ред рдпрд╣ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдбреЗрдЯрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдкреИрдХреЗрдЬ рд╕рдВрд░рдЪрдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рдореЗрд╢рд╛ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╡реЗ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ (рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░) рд╣реЛрдВ рдпрд╛ рдбреЗрдЯрд╛ рдХреЗ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ (рдкреНрд░рдХрд╛рд╢рдХ)ред рд╣рдо рдЙрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╡рд┐рд░реЗрдЪрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
MQTT рдкреИрдХреЗрдЯ рдПрдХ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЪреИрдирд▓ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИрдЯреАрд╕реАрдкреА рд╣реЗрдбрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреИрдХреЗрдЯ рдХреЛ 1883 рдкреЛрд░реНрдЯ рдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╛рдиреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╣реИрдбрд░
рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд░ рдХрдиреЗрдХреНрдЯ (рдХрдорд╛рдВрдб 0x0001) рд╣реИ, рдЬреЛ рдмреНрд░реЛрдХрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдореБрдЦреНрдп рдЯреАрдореЗрдВ: рдХрдиреЗрдХреНрдЯ, рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ, рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ, рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ, рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред рдкрд╛рд╡рддреА рдЖрджреЗрд╢ рднреА рд╣реИрдВ, рдЬреАрд╡рд┐рдд рд░рдЦреЗрдВ, рдЖрджрд┐ред
рдлрд╝реНрд▓реИрдЧ DUP - рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдлрд┐рд░ рд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд░ PUBLISH, SUBSCRIBE, UNSUBSCRIBE, PUBREL рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрдм рджрд▓рд╛рд▓ рдХреЛ рдкрд┐рдЫрд▓реЗ рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реА рдереАред
QoS рд╕реНрддрд░ - рд╕реЗрд╡рд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдзреНрд╡рдЬред рд╣рдо рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдмрд╛рдж рдореЗрдВ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред
рд░рд┐рдЯреЗрди -
рд░рд┐рдЯреЗрди рдлрд╝реНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рд┐рдд рдбреЗрдЯрд╛ рдмреНрд░реЛрдХрд░ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдмрд╛рдж рдХреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдмрд╛рдж, рджрд▓рд╛рд▓ рддреБрд░рдВрдд рдЗрд╕ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдЧрд╛ред рдХреЗрд╡рд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ рдХреЗ рд╕рдВрджреЗрд╢ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ

рдЕрдм, рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд┐рдпрд╛, рдЪрд▓реЛ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ MQTT рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдо рдЦреБрд▓реЗ
рдореЙрд╕реНрдХрд┐рдЯреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЛрдб рдФрд░ рд╕рд░реНрд╡рд░ (рдмреНрд░реЛрдХрд░) рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ, рдореИрдХрдУрдПрд╕, рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдПрдордХреНрдпреВрдЯреАрдЯреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ рдФрджреНрдпреЛрдЧрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рднреА рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдПрдХ рджреВрд░рд╕реНрде рдХреНрд▓рд╛рдЙрдб рдмреНрд░реЛрдХрд░ рд╕реЗ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдХрдИ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ MQTT рдмреНрд░реЛрдХрд░ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ
Microsoft Azure IoT рд╣рдм ,
Amazon AWS IoT , рдФрд░ рдЕрдиреНрдпред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо Cloudmqtt.com рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкрдВрдЬреАрдХрд░рдг рд╣реИ, рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрдлреНрдд рдЯреИрд░рд┐рдл рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЗ рдЦрд╛рддреЗ рдореЗрдВ рдПрдХ рджрд▓рд╛рд▓ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдиреЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред
рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдореЗрдВ MQTT рдмреНрд░реЛрдХрд░ рдПрдХреНрд╕реЗрд╕ рд╡рд┐рд╡рд░рдгMQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд▓рдЪреАрд▓рд╛рдкрди рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдмреНрд░реЛрдХрд░ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╖рдп рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рдХрд╛рд╢рдХ рдбреЗрдЯрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ, рдХреЛ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдбреЗрдЯрд╛ рдХреЛ
рд╣рд╛рдм / рдкрд░реАрдХреНрд╖рдг / рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рд╖рдп рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдФрд░
рдЙрд╕рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
mosquitto_sub - рдЧреНрд░рд╛рд╣рдХ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛
mosquitto_pub - рдкреНрд░рдХрд╛рд╢рдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЙрдкрдпреЛрдЧрд┐рддрд╛
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдмреНрд░реЛрдХрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдФрд░ рд╡рд┐рд╖рдп рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ
habr / рдкрд░реАрдХреНрд╖рдг / рдпрд╛рджреГрдЪреНрдЫрд┐рдХ ред
mosquitto_sub -d --capath /etc/ssl/certs/ --url mqtts://hwjspxxt:7oYugN7Fa5Aa@postman.cloudmqtt.com:27529/habr/test/random Client mosq/zEPZz0glUiR4aEipZA sending CONNECT Client mosq/zEPZz0glUiR4aEipZA received CONNACK (0) Client mosq/zEPZz0glUiR4aEipZA sending SUBSCRIBE (Mid: 1, Topic: habr/test/random, QoS: 0, Options: 0x00) Client mosq/zEPZz0glUiR4aEipZA received SUBACK
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╕рдлрд▓ рдерд╛, рдФрд░ рд╣рдордиреЗ
рд╣рдмреНрд░ / рдкрд░реАрдХреНрд╖рдг / рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рд╖рдп рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рдереА, рдФрд░ рдЕрдм рд╣рдо рджрд▓рд╛рд▓ рд╕реЗ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЪреВрдВрдХрд┐ рдПрд╕рдПрд╕рдПрд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдкрде рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд░реВрдЯ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рджрд┐рдЦреЗрдЧрд╛ред рдЪреВрдБрдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реЗрд╡рд╛ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд░реВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: - -рдкреИрде / рдЖрджрд┐ / рдПрд╕рдПрд╕рдПрд▓ / рд╕реЗрд░ /
рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕реАрдП рдХреЛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред SSL рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП URI рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдВрддрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - mqtt s : //, рдФрд░ рдЧреИрд░-рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдХрдиреЗрдХреНрд╢рди - mqtt: //ред рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП, рдЖрдк -debug рд╕реНрд╡рд┐рдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрдм рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рд╖рдп рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
mosquitto_pub -d --capath /etc/ssl/certs/ --url mqtt://hwjspxxt:7oYugN7Fa5Aa@postman.cloudmqtt.com:27529/habr/test/random -m " !" Client mosq/sWjh9gf8DRASrRZjk6 sending CONNECT Client mosq/sWjh9gf8DRASrRZjk6 received CONNACK (0) Client mosq/sWjh9gf8DRASrRZjk6 sending PUBLISH (d0, q0, r0, m1, 'habr/test/random', ... (22 bytes)) Client mosq/sWjh9gf8DRASrRZjk6 sending DISCONNECT
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рд╖рдп рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрд╕реА рд╕рдордп, рдкрд╣рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЬрд┐рд╕рдореЗрдВ рдордЪреНрдЫрд░_рд╕реБрдм рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрджреЗрд╢ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпреВрдирд┐рдХреЛрдб рднреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╕рдВрджреЗрд╢ рд░реВрд╕реА рдореЗрдВ рд╣реИред
Client mosq/zEPZz0glUiR4aEipZA received PUBLISH (d0, q0, r0, m0, 'habr/test/random', ... (22 bytes)) !
рдХреНрдпреВрдУрдПрд╕ рдФрд░ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрд╛рд░рдВрдЯреА
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдХрд┐рд╕реА рдХреЛ рднреА рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛
рдПрдирд╕реА рдХреЗ рд╕рд╛рде рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдФрд░ рдкреНрд░реЗрд╖рдХ рдХреЗ рдмреАрдЪ рдПрдХ рдЕрд╕реНрдерд┐рд░ рд╕рдВрдмрдВрдз рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рджреЛрдиреЛрдВ рдЧреНрд░рд╛рд╣рдХ рдЬреАрдкреАрдЖрд░рдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкреИрдХреЗрдЯ рд╣рд╛рдирд┐ рдХреЗ рд╕рд╛рде, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╕рдлрд▓ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рднреА рджреБрд░реНрд▓рдн рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдХ рдкреНрд░реЗрд╖рдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпреВрдУрдПрд╕ рд╡рд┐рдХрд▓реНрдк рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ,
QoS рдзреНрд╡рдЬ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ
рд▓рд┐рдП 0 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛
рдЧрдпрд╛ рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рдЖрдЧ рдФрд░ рднреВрд▓": рдкреНрд░рдХрд╛рд╢рдХ рдмреНрд░реЛрдХрд░ рдкрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдХреА рдЧрд╛рд░рдВрдЯреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдпрд╣ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЬрд┐рд╕рдХрд╛ рдиреБрдХрд╕рд╛рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд░реНрджреНрд░рддрд╛ рдпрд╛ рддрд╛рдкрдорд╛рди рдХреЗ рдирд┐рдпрдорд┐рдд рдорд╛рдк рдХреЗ рд▓рд┐рдПред
рдХреНрдпреВрдУрдПрд╕ 1: рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ - рдХрдо рд╕реЗ рдХрдо рдПрдХ ред рдЗрд╕ рдзреНрд╡рдЬ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЬрдм рддрдХ рдкреНрд░рдХрд╛рд╢рдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╡рд┐рддрд░рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛, рддрдм рддрдХ рдпрд╣ рдкреНрд░рдХрд╛рд╢рди рдмреНрд░реЛрдХрд░ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдпрд╣ рд╕рдВрджреЗрд╢ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
QoS 2: рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдмрд╛рд░ - рдПрдХ рдХреА рдЧрд╛рд░рдВрдЯреА ред QoS рдзреНрд╡рдЬ, рдЬреЛ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ (PUBREC, PUBREL, PUBCOMP) рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдХреА рдЙрдЪреНрдЪрддрдо рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдЬрд╣рд╛рдВ рд╕реЗрдВрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рдХрд┐рд╕реА рднреА рдиреБрдХрд╕рд╛рди рдФрд░ рджреЛрд╣рд░рд╛рд╡ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдХрд┐рд╕реА рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рд╕реЗ рдЕрд▓рд╛рд░реНрдо рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЦрд░рд╛рдм рд╕рдВрдЪрд╛рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдЙрдЪреНрдЪрддрдо QoS рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рд░рд┐рдЯреЗрди рд╡рд┐рдХрд▓реНрдк рднреА рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рднреЗрдЬреЗ рдЧрдП рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рдкрд░ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдПрдВред
mosquitto_pub --retain --qos 2 -d --capath /etc/ssl/certs/ --url mqtt://hwjspxxt:7oYugN7Fa5Aa@postman.cloudmqtt.com:27529/habr/test/random -m " !" Client mosq/Xwhua3GAyyY9mMd05V sending CONNECT Client mosq/Xwhua3GAyyY9mMd05V received CONNACK (0) Client mosq/Xwhua3GAyyY9mMd05V sending PUBLISH (d0, q2, r1, m1, 'habr/test/random', ... (37 bytes)) Client mosq/Xwhua3GAyyY9mMd05V received PUBREC (Mid: 1) Client mosq/Xwhua3GAyyY9mMd05V sending PUBREL (m1) Client mosq/Xwhua3GAyyY9mMd05V received PUBCOMP (Mid: 1, RC:0) Client mosq/Xwhua3GAyyY9mMd05V sending DISCONNECT
рдЕрдм, рдХреБрдЫ рд╕рдордп рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░рд╛ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдЕрдВрдд рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдФрд░ рдмреНрд░реЛрдХрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛:
mosquitto_sub -d --capath /etc/ssl/certs/ -d --url mqtts://hwjspxxt:7oYugN7Fa5Aa@postman.cloudmqtt.com:27529/habr/test/random Client mosq/VAzcLVMB1MiWhYxoJS sending CONNECT Client mosq/VAzcLVMB1MiWhYxoJS received CONNACK (0) Client mosq/VAzcLVMB1MiWhYxoJS sending SUBSCRIBE (Mid: 1, Topic: habr/test/random, QoS: 0, Options: 0x00) Client mosq/VAzcLVMB1MiWhYxoJS received SUBACK Subscribed (mid: 1): 0 Client mosq/r6UwPnDvx8aNInpPF6 received PUBLISH (d0, q0, r1, m0, 'habr/test/random', ... (37 bytes)) !
рдирд┐рд╖реНрдХрд░реНрд╖
MQTT рдПрдХ рдЖрдзреБрдирд┐рдХ, рдЙрдиреНрдирдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдкреВрд░реНрд╡рд╡рд░реНрддрд┐рдпреЛрдВ рдХреА рдХрдИ рдХрдорд┐рдпреЛрдВ рд╕реЗ рд░рд╣рд┐рдд рд╣реИред рдЗрд╕рдХрд╛ рд▓рдЪреАрд▓рд╛рдкрди рдЖрдкрдХреЛ рдмреНрд░реЛрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рдХрд╛рдлреА рдХрдо рд╣реИ, рдФрд░ рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реНрдЯреИрдХ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдЧрд╛рд░рдВрдЯреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ MQTT рдХреЛ рдЙрд╕рдХреЗ рдкреВрд░реНрд╡рд╡рд░реНрддрд┐рдпреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрддрд░ рдкрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЕрдЦрдВрдбрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рддрдВрддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдиреЗ рджреЗрддреА рд╣реИред