Google рд╕рд╣рд╛рдпрдХ рдХреЗ рд╕рд╛рде рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕реЗрдВрд╕рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛

рдирдорд╕реНрдХрд╛рд░, рдЗрд╕ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рд╣рдХрд░реНрдореА рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ Google рд╕рд╣рд╛рдпрдХ рдФрд░ mqtt рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕реЗрдВрд╕рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ESP8266 рдмреЛрд░реНрдб рдФрд░ рдПрд▓рдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рд╣рдо рд▓рд╛рдареА рдФрд░ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдРрдк рднреА рдмрдирд╛рдПрдВрдЧреЗред рдореИрдВ рд╕рднреА рд╕реЗ рдмрд┐рд▓реНрд▓реА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдИрдПрд╕рдкреА 8266 рдирд┐рдпрдВрддреНрд░рдХ, рдпрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рд╡реИрдз рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░реНрд╡рд░ (рдПрдХ рд╡реИрдз рдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╣реИ) рдФрд░ рдПрдХ рдПрдордХреНрдпреВрдЯреАрдЯреА рд╕рд░реНрд╡рд░ (рдмреНрд░реЛрдХрд░)ред

Google рд╕рд╣рд╛рдпрдХ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо Google рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕реЗрд╡рд╛ рдФрд░ рд╕рдВрд╡рд╛рдж рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рддреЛ, рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


Google рдПрдХреНрд╢рди рдХрдВрд╕реЛрд▓


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕реЗрд╡рд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдФрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдПрдХ рднрд╛рд╖рд╛ рдФрд░ рдХреНрд╖реЗрддреНрд░ рдЪреБрдиреЗрдВред

рдЫрд╡рд┐

рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рд╕реНрдХреЛрдк рдЪреБрдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореИрдВрдиреЗ рдмрдЪреНрдЪреЛрдВ рдФрд░ рдкрд░рд┐рд╡рд╛рд░ рдХреЛ рдЪреБрдирд╛ред рдХрд┐рд╕реА рдФрд░ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдкреВрдЫреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╢реНрд░реЗрдгреА рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗрд╡рд▓ Google рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реЗрдВрд╕рд░ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╢реНрд░реЗрдгреА рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдЫрд╡рд┐

рд╣рдо рд╕рдордЭреМрддреЗ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдХреНрд╡рд┐рдХ рд╕реЗрдЯрдЕрдк рд╢реНрд░реЗрдгреА рдореЗрдВ, рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдПрдВ рдХрд┐ рдЖрдкрдХрд╛ рдПрдХреНрд╢рди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдкрд▓рдмреНрдз рд▓реЛрдЧреЛрдВ рд╕реЗ рдПрдХ рдЖрд╡рд╛рдЬ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЗрд╕реЗ рдмрдЪрд╛рдПрдВред

рдЫрд╡рд┐

рдХреНрд░рд┐рдпрд╛ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рдПрдХ рдХрд╕реНрдЯрдо рдЙрджреНрджреЗрд╢реНрдп рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝реЗрдВ

рдЫрд╡рд┐

Dialogflow


рдмрд┐рд▓реНрдб рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдбрд╛рдпрд▓реЙрдЧрдлрд╝реНрд▓реЛ рд╕рдВрд╕рд╛рдзрди рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рднреА рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ:

  1. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднрд╛рд╖рд╛ рдФрд░ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдЪреБрдиреЗрдВред
  2. Fulfillment Webhook. ( , ) Dialogflow POST .

    рдЫрд╡рд┐
  3. 3. .

    intets . . + Intents. .

рдЫрд╡рд┐

рдкреГрд╖реНрда рдХреЛ рд╕реНрд╡рдпрдВ рддреАрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдРрд╕реЗ рд╢рдмреНрдж рд╣реИрдВ рдЬреЛ рд╕рд╣рд╛рдпрдХ рдЯреАрдо рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдПрдХ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рдмреНрджреЛрдВ рдХреЛ рдЪрдордХрд╛рдПрдВ, рдкреНрд░рдХрд╛рд╢ рдХреЛ рдХрд╛рдЯреЗрдВ, рджреАрдкрдХ рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ, рдЖрджрд┐

рдЫрд╡рд┐

рдХреНрд░рд┐рдпрд╛ - рдХреНрд░рд┐рдпрд╛, рдпрд╛ рд╡рд╣ рд╢рдмреНрдж рдЬрд┐рд╕реЗ рд╕реЗрдВрд╕рд░ рд╕рдордЭреЗрдЧрд╛, рд╡рд╣ рдПрдХ рдФрд░ рдареЛрд╕ рд╣реИред

рдЙрддреНрддрд░ рд╕рд╣рд╛рдпрдХ рдХреЗ рдЬрд╡рд╛рдм рдХреЗ рдмрд╛рдж рдЖрджреЗрд╢ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд░рдЪрдирд╛рддреНрдордХрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдХреНрд╖реЗрддреНрд░ рд╣реИред

рдЫрд╡рд┐

рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрдЯрдЕрдк


рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ ($ 5) рдЫреЛрдЯреА рдмреВрдВрдж рдЦрд░реАрджреА рдФрд░ рдЙрд╕ рдкрд░ рдбреЗрдмрд┐рдпрди 10.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдЖрдк рдХреМрди рд╕реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЪреБрдирддреЗ рд╣реИрдВ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред

рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдбреАрдПрдирдПрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╣реИ рддреЛ рдЖрдк рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

Cloudflare рд╕реЗрд╡рд╛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдирд╛рдо рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЛ рдЪрд░рдг 4 рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ www ***, https // www *** (*** рдЖрдкрдХрд╛ рдбреЛрдореЗрди рд╣реИ) рдХреЗ рдЖрдЧреЗ рд╕рд╛рдордЧреНрд░реА рдХреЙрд▓рдо рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдХ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдЖрдИрдкреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред ред

Dialogflow рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВрдиреЗ рдбреАрдПрдирдПрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ (рдореБрдХреНрдд - рдореВрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Cloudflare рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рдЦрд░реАрджрд╛ рд╣реБрдЖ рдбреЛрдореЗрди рдирд╛рдо рдЬреЛрдбрд╝ рд▓рд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХрд╛ IP рдкрддрд╛ рдЙрд╕рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ (рд╕рд╛рдордЧреНрд░реА рд╕реНрддрдВрдн)ред рдирд╛рдо рдкреНрд░рджрд╛рддрд╛ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рджреЛ рдП рд░рд┐рдХреЙрд░реНрдбреНрд╕ (рдЪрд┐рддреНрд░ рдореЗрдВ рдпрд╣ рдорд╛рди рд╣реИ) рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдирд╛ рд╕реЗрдХрдВрдб рдХрд╛ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХрдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рджрд┐рди рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди


1. рдкрд╣рд▓реА рдмрд╛рд░ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдмрд╛рдд, рдкреИрдХреЗрдЬ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ

apt update
, рдФрд░ рдлрд┐рд░ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрдХреБрд▓ рдХреЛ рдЕрджреНрдпрддрди рдХрд░реЗрдВ
apt upgrade

2. рд╣рдо LAMP

Apache рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж

apt install apache2 

Php / mysql

apt-get install php libapache2-mod-php php-mcrypt php-mysql

Apache2.conf рдореЗрдВ рд╕рд░реНрд╡рд░ рдПрдбреНрд░реЗрд╕ рдЬреЛрдбрд╝реЗрдВред рдпрд╣ рдХрдорд╛рдВрдб рдиреИрдиреЛ /etc/apache2/apache2.conf рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдлрд╝рд╛рдЗрд▓ ServerName *** рдХреЗ рдЕрдВрдд рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рддрд╛рд░рд╛рдВрдХрди рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ IP рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рдкреБрди: рдкреНрд░рд╛рд░рдВрдн Apach рд╕реЗрд╡рд╛ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ рдпрд╣рд╛рдБ ред

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрд╛рд░ рдореЗрдВ рдЕрдкрдирд╛ рдбреЛрдореЗрди рдирд╛рдо рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЪрд░рдгреЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ Apache2 рд╕реНрд╡рд╛рдЧрдд рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдЫрд╡рд┐

рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХрдорд╛рдВрдб рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЧрдИ рдереА, рдФрд░ рдХреНрдпрд╛ рдкреГрд╖реНрда рдЕрд╕реБрд░рдХреНрд╖рд┐рдд HTTP рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рд╕рдВрднрд╡рддрдГ рдкреЛрд░реНрдЯ 80 рдкрд░ рд╕реБрди рд░рд╣рд╛ рд╣реИ, рдкреЛрд░реНрдЯ 443 рдкрд░ рдирд╣реАрдВред рдпрд╛ рдХреБрдЫ рд╕реЗрд╡рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкрд░ рдЪрд▓ рд░рд╣реА рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ ред

4. PHP рдХреЗ рд▓рд┐рдП рдореЙрд╕реНрдХрд┐рдЯреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

IoT рдбрд┐рд╡рд╛рдЗрд╕ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдРрд╕рд╛ рдПрдордХреНрдпреВрдЯреАрдЯреА рдЬреЛ рдПрдХ рдкреНрд░рдХрд╛рд╢рдХ-рдЧреНрд░рд╛рд╣рдХ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЧреНрд░рд╛рд╣рдХ рдХрдИ рдкреНрд░рдХрд╛рд╢рдХреЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗрд╡рд▓ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдирд╡рд░реНрдЯрд░ (рдмреНрд░реЛрдХрд░) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред

5. рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ PECL рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

apt install pecl

рд╣рдо рджрд▓рд╛рд▓ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж

pecl install Mosquitto-alpha

рдлрд┐рд░ рдЕрдкрдиреЗ php.ini рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди = mosquitto.so рдЬреЛрдбрд╝реЗрдВред рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдордд рднреВрд▓рдирд╛

apt install mosquitto mosquitto-clients

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ ред

рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛, PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕реНрдерд╛рдкрдирд╛


рджрд░рдЕрд╕рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реАред рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдбрд╛рдпрд▓реЙрдЧрдлрд╝реНрд▓реЛ рд╕реЗ рдПрдХ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рд╡рд┐рд╖рдп рдореЗрдВ рдмреНрд░реЛрдХрд░ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрдирд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рд╡реИрд╕реЗ, рдпрд╣ рд╡рд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкреВрд░реНрддрд┐ рдЯреИрдм рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ / var / www / html

рд╡рд┐рд╖рдп рдкрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рд╖рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

mosquitto_sub -h localhost - t /test/light

рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдХреЛрдИ рдЕрдиреНрдп рдкрддрд╛ рдпрд╛ рдбреЛрдореЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдЖрдк рдкреНрд░рдХрд╛рд╢рдХ (рдкрдм) рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

/ рдкрд░реАрдХреНрд╖рдг / рдкреНрд░рдХрд╛рд╢ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдХрд┐рд╕реА рднреА рд╡рд┐рд╖рдп рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд╢рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╕рдВрджреЗрд╢ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

mosquitto_pub -h localhost - t /test/light -m тАЬlightтАЭ

рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рдХ (рдкрдм) рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рд╣реЛрдЧрд╛ред рдпреЛрдЬрдирд╛ рдпрд╣ рд╣реИ, рдЬрдм рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рдПрдХ рдЖрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд░реЛрдХрд░ рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рдмреНрд░реЛрдХрд░ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ (esp8266) рдХреЗ рд▓рд┐рдП рд╣реИред

рд╣рдо рдЯреЗрд╕реНрдЯ рдПрдХреНрд╢рди рдХрдВрд╕реЛрд▓ рдЯреИрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред

рдЫрд╡рд┐

рдЫрд╡рд┐

Php рд╕реНрдХреНрд░рд┐рдкреНрдЯ
<?php


//Make sure that it is a POST request.
if(strcasecmp($_SERVER['REQUEST_METHOD'], 'POST') != 0){
    throw new Exception('Request method must be POST!');
}

//Make sure that the content type of the POST request has been set to application/json
$contentType = isset($_SERVER["CONTENT_TYPE"]) ? trim($_SERVER["CONTENT_TYPE"])                                                                                                              : '';
if(strcasecmp($contentType, 'application/json') != 0){
    throw new Exception('Content type must be: application/json');
}

//Receive the RAW post data.
$content = trim(file_get_contents("php://input"));

//Attempt to decode the incoming RAW post data from JSON.
$decoded = json_decode($content);

//file_put_contents($filename, $data);
var_dump($decoded);

echo $decoded->queryResult->action;

define('BROKER', 'localhost');
define('PORT', 1883);
define('CLIENT_ID',  getmypid());
  
$client = new Mosquitto\Client(CLIENT_ID);
$client->connect(BROKER, PORT, 60);

        $message = $decoded->queryResult->action;
        $client->publish('/test/light', $message, 0, false);
        $client->loop();
?>


рдлрд░реНрдорд╡реЗрдпрд░ ESP8266


рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рд╣рдо Arduino IDE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рдХреЛрдИ рдкрд╣рд▓реА рдмрд╛рд░ рдЖрдИрдбреАрдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛, рддреЛ ch340 рдЪрд╛рд▓рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, arduino рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рднреБрдЧрддрд╛рди рдирд╣реАрдВ рд╣реИред рдлрд╝рд╛рдЗрд▓ >> рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдмреЛрд░реНрдбреЛрдВ рдХрд╛ рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛: arduino.esp8266.com/stable/package_esp8266com_index.jsonред рдЯреВрд▓реНрд╕ >> рдмреЛрд░реНрдб >> рдмреЛрд░реНрдб рдореИрдиреЗрдЬрд░ рдореЗрдВ рдЖрдкрдХреЛ esp8266 рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

Const char * ssid рдХреЗ рдмрд╛рдж рд╕реНрдХреЗрдЪ рдореЗрдВ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╡рд╛рдИ-рдлрд╛рдИ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдирд╛рдо рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред Const * рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд╛рдж, рдЙрд╕рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдбред Const char * mqtt_server рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред

рд╕реНрдХреЗрдЪ Arduino IDE
#include <ESP8266WiFi.h>
#include <PubSubClient.h>

// Update these with values suitable for your network.

const char* ssid = "***";
const char* password = "********";
const char* mqtt_server = "**.**.*.*";

WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;
char msg[50];
int value = 0;

int led = D5;

void setup_wifi() {

  delay(10);
  // We start by connecting to a WiFi network
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  randomSeed(micros());

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void callback(char* topic, byte* payload, unsigned int length) {
  String msg="";
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
    msg+=(char)payload[i];
  }
  Serial.println();

  // Switch on the LED if an 1 was received as first character
//  if ((char)payload[0] == '1') {
  if (msg == "light") {
    digitalWrite(led, HIGH);   // Turn the LED on 
  } else {
    digitalWrite(led, LOW);  // Turn the LED off 
  }

}

void reconnect() {
  // Loop until we're reconnected
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    // Create a random client ID
    String clientId = "ESP8266Client-";
    clientId += String(random(0xffff), HEX);
    // Attempt to connect
    if (client.connect(clientId.c_str())) {
      Serial.println("connected");
      // ... and resubscribe
      client.subscribe("/test/light");
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      // Wait 5 seconds before retrying
      delay(5000);
    }
  }
}

void setup() {
  pinMode(led, OUTPUT);     // Initialize the led pin as an output
  Serial.begin(115200);
  setup_wifi();
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
}

void loop() {

  if (!client.connected()) {
    reconnect();
  }
  client.loop();

}

рдкрд░рд┐рдгрд╛рдо


рдирддреАрдЬрддрди, рд╕реНрдХреЗрдЪ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ Google рд╕рд╣рд╛рдпрдХ рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реЗрдВрд╕рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ - рдкрд░рд┐рдгрд╛рдо рд╕рдорд╛рди рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХрд╣рдирд╛ рди рднреВрд▓реЗрдВ: "рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░реЗрдВ ***"ред

рдЫрд╡рд┐

рдЫрд╡рд┐


All Articles