
NodeMCU рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдлрд░реНрдорд╡реЗрдпрд░ рд╣реИ , рдЬреЛ ESP8266 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ ( ESP32 рд╕рдорд░реНрдерди рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИ) рдкрд░ Lua рджреБрднрд╛рд╖рд┐рдпрд╛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕рднреА рдирд┐рдпрдорд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде, рдЗрд╕рдореЗрдВ рд╡рд╛рдИрдлрд╛рдИ рдореЙрдбреНрдпреВрд▓ рдФрд░ SPIFFS рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИред
рдпрд╣ рдЖрд▓реЗрдЦ NodeMCU - sdm рдХреЗ рд▓рд┐рдП рдирдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдПрд╕рдбреАрдПрдо рд╕рд░рд▓ рдЪрд╛рд▓рдХ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕-рдбреНрд░рд╛рдЗрд╡рд░ рдореЙрдбрд▓ рдЕрдореВрд░реНрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣рдо рд╕реНрд╡рдпрдВ рдореЙрдбрд▓ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдХреБрдЫ рдХрдореЗрдВрдЯрд░реА рдХреЗ рд╕рд╛рде sdm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╡реЗрдм рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрдЧрд╛ред
рдЪрд╛рд▓рдХ рдореЙрдбрд▓ рдореВрд▓ рдмрд╛рддреЗрдВ
рдореЙрдбрд▓ рдХреЗ рджреЛ рдкреНрд░рдореБрдЦ рдШрдЯрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВ ред рдбрд┐рд╡рд╛рдЗрд╕ рдХреБрдЫ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдПрдХ рд╕рд╛рд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИред рдпрд╣ рдкреЗрдбрд╝реЛрдВ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╢реАрд░реНрд╖ рдкрд░ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде, рдмреАрдЪ рдореЗрдВ рдмрд╕реЗрдВ рдФрд░ рдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдВрд╕рд░ред
DEVICES + DRIVERS | +-----+ | +-----+ |1WIRE<----------------------+1WIRE| ++-+-++ | +-----+ | | | | +---------+ | +--------+ | +------+ | | | +------+DS1820| +---v----+ +---v----+ +---v----+ | | +------+ |DS1820|0| |DS1820|1| |DS1822|0| | | +---^----+ +---^----+ +---^----+ | | +------+ | | +--------------+DS1822| | | | | +------+ +-----------+------------------+ +
рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рджрд┐рдП рдЧрдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рддрд░реНрдХ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИред рдЪрд╛рд▓рдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡рд┐рдзрд┐рдпрд╛рдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЪрд╛рд▓рдХ рд╕реЗ рдЬреБрдбрд╝реЗ рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпрд╛рдБ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдЕрдВрджрд░ рд░рд╣рддреА рд╣реИрдВред
рдЧреБрдг рдЙрдирдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рджреЛ рдХрд╛рд░реНрдп рд╣реИрдВ: рдЧреЗрдЯрдЯрд░ рдФрд░ рд╕реЗрдЯрд░ рд╣реБрдХред рддреЛ рд╕реБрдкрд░рд╕реЗрдЯ рд╡рд┐рдзрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЧреБрдг рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рднреА рд▓реЗрддреЗ рд╣реИрдВ (рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдореЛрд░реА рджреБрд░реНрд▓рдн рд╣реИ, рдпрд╛рдж рд░рдЦреЗрдВ?)ред
sdm.attr_add(drv,
рдбрд┐рд╡рд╛рдЗрд╕ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ
рдбреНрд░рд╛рдЗрд╡рд░ рдореЙрдбрд▓ рдХрд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣рд┐рд╕реНрд╕рд╛ рдбрд┐рд╡рд╛рдЗрд╕-рдбреНрд░рд╛рдЗрд╡рд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрд▓рдмреНрдз рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдорд┐рд▓рд╛рди рддрдм рддрдХ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рд╡рд╣ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рдХреЗрд╡рд▓ рджреЛ рднрд╛рдЧ рдЧрд╛рдпрдм рд╣реИрдВ - рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдФрд░ рдХреБрдЫ рдбреЗрдЯрд╛ред
_poll()
рдорд┐рд▓рд╛рди рддрд░реНрдХ рдореЗрдВ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдореЗрдВ _poll()
рдирд╛рдо рд╕реЗ _poll()
ред рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВрдбрд▓ рдХреЗ рд╕рд╛рде рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ true
рдпрд╛ false
рдЕрдЧрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреНрд░рдорд╢рдГ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрд▓рдЧреНрди рдпрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
sdm.method_add(drv, "_poll", nil, function(dev, drv, par) local attr = sdm.attr_data(sdm.local_attr_handle(dev, "id"))
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдХреЗрд╡рд▓ рдЪрд╛рд▓рдХ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рддреА рд╣реИрдВред рдЖрдо рддреМрд░ рдкрд░ рдпрд╣ рд╕рдЪ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпреЗ рдЪрд┐рдк рдЖрдИрдбреА, рдкреНрд░рдпреБрдХреНрдд рдкрд┐рди рдЖрджрд┐ рд╣реИрдВред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ sdm - рд╕реНрдерд╛рдиреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реЛрддреА рд╣реИред
рдбреНрд░рд╛рдЗрд╡рд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдмрд╛рдд рдХрд╣рдирд╛ рдмрд╛рдХреА рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдФрд░ рдХреНрд▓реАрдирдЕрдк рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП _init()
рдФрд░ _free()
рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ _init()
рд╡рд┐рдзрд┐ рд╣реИ рддреЛ рдЗрд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред _free()
ред
sdm.method_add(drv, "_init", nil, function(dev, drv, par) sdm.device_rename(dev, sdm.request_name("DS18B20"))
рдЪреМрдХрд╕ рдкрд╛рдардХ рд╢рд╛рдпрдж рдкреВрдЫреЗрдВрдЧреЗ: рдХреНрдпрд╛ рдорддрд▓рдм рдКрдкрд░ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ "рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛" рд╣реИ? рдФрд░ рд╡рд╣ рд╕рд╣реА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддреАрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЕрднреА рддрдХ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХреА рд╣реИ - рдирд┐рдЬреА рд╡рд┐рд╢реЗрд╖рддрд╛ ред рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рдмреАрдЪ рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдбреЗрдЯрд╛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП sdm рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХрд╛ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИред
рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рд╛рд░рд╛рдВрд╢:
- рд╕реНрдерд╛рдиреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдИрдбреА, рдХрдиреЗрдХреНрдЯреЗрдб рдкрд┐рди рдЖрджрд┐ред
- рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдирд┐рдЬреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рдбреЗрдЯрд╛ рдХреЛ рд╣реЛрд▓реНрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рдХрд╛рд░ рд╕рдмрд╕реЗ рдЖрдо рд╣реИред
рд╡реЗрдм рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рд╕рд░реНрд╡рд░ рдХреЛрдб
рд╡рд╣рд╛рдБ рдПрдХ рд╕реБрдВрджрд░ nodemcu-httpserver рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ NudeMCU рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХреЛрдб рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдпрд╣ рдорд░ рдЪреБрдХрд╛ рд╣реИред рдпрд╣ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд░реНрд╡рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ LFS рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рдФрд░ рдлрд┐рд░ рд╣рд░ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рд░ рдкреГрд╖реНрда рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред Vue.js рдЯреЗрдореНрдкрд▓реЗрдЯ рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджрд░реНрд╢ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдлреНрд░рдВрдЯреЗрдВрдб рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ NodeMCU рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, vue.js
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд░рд╣рдиреЗ рдФрд░ NodeMCU рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рд╕рднреА рдЙрдкрдХрд░рдг рдкреЗрдбрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рддрд░рд╣ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: /ESP8266/ESP8266_1W/DS18S20-0
ред рдпрд╣рд╛рдБ /ESP8266
рдПрдХ NodeMCU рдкреЗрдЬ рд╣реИ, /ESP8266/ESP8266_1W
рд╡рд╛рдпрд░ рдмрд╕ рдкреЗрдЬ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ /ESP8266/ESP8266_1W/DS18S20-0
рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕ рдкреГрд╖реНрда рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреЗрдЬ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╣рд░ рдХреЙрд▓ рдкрд░ рдкрд░реЛрд╕рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреГрд╖реНрда рдХреЗ рдЕрдВрджрд░ JS рдХреЛрдб рдЙрд╕реА URL рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рдЬреЛ /api
рд╕рд╛рде prepended рд╣реИред рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЙрд▓ URL /api/ESP8266/ESP8266_1W/DS18S20-0
ред рдРрд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд╕рд░реНрд╡рд░ JSON -encoded рдбрд┐рд╡рд╛рдЗрд╕-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкреЗрдЬ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдмреЗрд╢рдХ, HTML рдкреЗрдЬ рдЕрдиреБрд░реЛрдз рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдХреЗрд╡рд▓ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдЙрдкрдХрд░рдг рдХрд╛ рдкреЗрдбрд╝
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд░рд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдЯреНрд░реА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдЯреНрд░реА рдХреА рддрд░рд╣ рд╣реИ , рд▓реЗрдХрд┐рди рд╕рд░рд▓ рд╣реИред рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдерд╛рдиреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕рд╣рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
local root={
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗрдЯрдЕрдк
рдпрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдкреНрд░рджрд░реНрд╢рдиред рдЗрд╕ рдкреНрд░рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╕реЗрдВрд╕рд░ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ NodeMCU рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛:
1рд╡рд╛рдпрд░ рд╕реЗрдВрд╕рд░ рдПрдХ рд╣реА рдкрд┐рди рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред

рд╡реЗрдм рдкреЗрдЬ рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░
рд░реВрдЯ рдбрд┐рд╡рд╛рдЗрд╕
рд░реВрдЯ рдбрд┐рд╡рд╛рдЗрд╕ (рдЙрд░реНрдл ESP8266) рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдЕрдкрдиреЗ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рддрд░реАрдХреЛрдВ рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдпрд╣рд╛рдВ рд╕реЗ рд╣реИ :
sdm.method_add(drv, "_init", nil, function(dev, drv, par) local attr = sdm.attr_handle(dev, "id")
рдпрд╣ рдХреЛрдб рд╡рд┐рд╢реЗрд╖рддрд╛ float
рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдлрд░реНрдорд╡реЗрдпрд░ рдмрд┐рд▓реНрдб рдкреНрд░рдХрд╛рд░ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорд╛рди _init()
рд╣реБрдХ рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рд╣реИ, рдЬреЛ рдПрдХ рдмрд╛рд░ рддрдм рдЪрд▓рддрд╛ рд╣реИ рдЬрдм рдбреНрд░рд╛рдЗрд╡рд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИред
рдпрд╣ рд░реВрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреЗрдЬ рд╣реИред

рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░реВрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ heap
, рджреЛ рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ float
рдФрд░ id
ред рдЕрдВрдд рдореЗрдВ, рдЗрд╕рдореЗрдВ рджреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ - рдПрд╕рдкреАрдЖрдИ рдФрд░ 1 рд╡рд╛рдпрд░ рдмрд╕реЗрдВред
рдПрд╕рдкреАрдЖрдИ
SPI рдбреНрд░рд╛рдЗрд╡рд░ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл NodeMCU SPI рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдореИрдк рдХрд░рддрд╛ рд╣реИред

MCP3208
MCP3208 рдПрдХ ADC рдЪрд┐рдк рд╣реИред рдпрд╣ 12 рдмрд┐рдЯ рдХреЛрдб рдХреЛ рд░реЗрдлрд░реА рдФрд░ рд░рд┐рдЯрд░реНрди рд╢реВрдиреНрдп рд╕реЗ рд╡реЛрд▓реНрдЯреЗрдЬ рдорд╛рдкрддрд╛ рд╣реИред рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ ref
рдХреЗрд╡рд▓ рддрднреА рдореМрдЬреВрдж рд╣реЛрдЧреА рдЬрдм рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдирд┐рд░рдкреЗрдХреНрд╖ рд╡реЛрд▓реНрдЯреЗрдЬ рдХреЗ рдмрдЬрд╛рдп, рд╡реЛрд▓реНрдЯреЗрдЬ рдХреЛрдб single
рдФрд░ differential
рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред
sdm.method_add(drv, "single", "Single ended measure 0|1|2|3|4|5|6|7", function(dev, channel)

рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдЙрдкрдХрд░рдг рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛ ref
рдХреЛ рдирд┐рдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐ рдЙрдкрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
1wire
1 рдЪрд╛рд▓рдХ рдЪрд╛рд▓рдХ poll
рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ - рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЧрддрд┐рд╢реАрд▓ рдЦреЛрдЬ ред
рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдЦреЛрдЬ рдХреЗ рдареАрдХ рдмрд╛рдж рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓ рдкрд╛рдпрд╛ рд╣реИред рддреЛ рдЗрд╕рдХрд╛ 1 рд╡рд╛рдпрд░ рдЕрджреНрд╡рд┐рддреАрдп рдкрддрд╛ рдПрдХ рдирдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдмрд╛рдЗрдЯреНрд╕ рдХреЛ _
рд╡рд░реНрдг рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
sdm.method_add(drv, "poll", "Poll for devices", function(bus, pin) local children = sdm.device_children(bus) or {}
рдпрд╣ 1Wire рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреГрд╖реНрда рд╣реИред

рддрд░реНрдХ 2
рдФрд░ рддрд╛рдЬрд╝рд╛ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде poll
рдХреЙрд▓ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдмрдЪреНрдЪреЗ рдЕрдиреБрднрд╛рдЧ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмрдЪреНрдЪреЛрдВ рдХреЗ рдирд╛рдо рдорд╛рдирд╡ рдкрдардиреАрдп рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ device_rename()
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрдирдХреЗ _init
рджреМрд░рд╛рди рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

DS18S20
рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░, DS18S20 рдбреНрд░рд╛рдЗрд╡рд░ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ ID 0x10
рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░рд┐рд╡рд╛рд░ рдХреЛрдб рд╣реИред рдЬрдм рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ DS18S20-X
рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ DS18S20
рдПрдХ DS18S20
рд╣реИ рдФрд░ X
рдПрдХ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдирдВрдмрд░ рд╣реИред
sdm.method_add(drv, "_poll", nil, function(dev, drv, par) local attr = sdm.attr_data(sdm.local_attr_handle(dev, "id")) if attr == nil then return false end return (sdm.device_name(par) == "ESP8266_1W") and (attr:byte(1) == 0x10)

рд╕реНрдерд╛рдиреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ id
рдФрд░ datapin
рдФрд░ setter
рд╣реБрдХ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдЙрдирдХреЗ рдирд╛рдо рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред
DS18B20
DS18B20 рдбреНрд░рд╛рдЗрд╡рд░ рд▓рдЧрднрдЧ DS18S20 рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рдорд╛рди рд╣реИред рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ precision
рд╡рд┐рдзрд┐ рд╣реИред рджреЛрдиреЛрдВ DS18; 20 рдбреНрд░рд╛рдЗрд╡рд░ рдкреВрд░реНрдгрд╛рдВрдХ рдмрд┐рд▓реНрдб рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдбрд┐рд╡реАрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
sdm.attr_add(drv, "precision", "Precision (9|10|11|12)", 12, function(dev, precision) local attr = sdm.attr_dev_handle(dev, "precision") return sdm.attr_data(attr) end, function(dev, precision) local par = sdm.device_parent(dev) local attr = sdm.attr_dev_handle(dev, "precision") local ex = sdm.method_func(sdm.method_dev_handle(par, "exchange")) local modes = {[9]=0x1f, [10]=0x3f, [11]=0x5f, [12]=0x7f} if modes[precision] ~= nil then ex(par, dev, {0x4e, 0, 0, modes[precision]}) sdm.attr_set(attr, precision) end end )

рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ
ESP8266 рдореБрдлреНрдд рдореЗрдореЛрд░реА рд▓рдЧрднрдЧ 40k рд╣реИ ред рд╕рд░реНрд╡рд░ рдХреЛрдб рдХреЛ LFS рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд░рдВрднреАрдХрд░рдг рд╕рдордп рдкрд░ рдХреЛрдИ рд░реИрдо рд╕реНрдерд╛рди рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИ ( рдореВрд▓ рдХреЛрдб рд▓рдЧрднрдЧ 10k рд▓рд┐рдпрд╛ рдЧрдпрд╛)ред
рдПрд╕рдбреАрдПрдо 5 рдбрд┐рд╡рд╛рдЗрд╕ рдЪрд╛рд▓рдХреЛрдВ рдФрд░ 5 рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 10k рд▓реЗрддрд╛ рд╣реИред рдЧреИрд░-рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдХрдоред рдЗрд╕рд▓рд┐рдП рд╣рд╛рде рдореЗрдВ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдореГрддрд┐ рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп vue.js
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рд╕реЗрд╡рд╛ vue.js
рд╣реИред

рдХрдЪреНрдЪреЗ JSON -encoded рдбреЗрдЯрд╛ ( curl
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢рд┐рдЦрд░ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХрд╛рдлреА рдХрдо рд╣реЛ рд╕рдХрддреА рд╣реИред

рдПрдХ рдЙрдкрд╕рдВрд╣рд╛рд░ рдХреЗ рдмрдЬрд╛рдп
рдкрд╣рд▓реЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ sdm рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдпрдХрд╛рд░реА рдерд╛
node.restart()
ред
рд╡реЗрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рд╕реЗ рдПрдХ рдЙрддреНрд╕реБрдХ рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рд╣реБрдЖред рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдареАрдХ рдмрд╛рдж, рдЪрд┐рдк рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВрдХрд┐ NodeMCU рдиреЗ HTTP рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХрд╛ рдареАрдХ рд╕реЗ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдиреЗ рдлрд┐рд░ рд╕реЗ рд╡рд╣реА рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЬрдм NodeMCU рд╕рд░реНрд╡рд░ рдкреБрдирдГ рдЖрд░рдВрдн рд╣реБрдЖ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рд╣реБрдЖ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝рд╛, рдЖрдВрддрд░рд┐рдХ рдкреНрд░рдпрд╛рд╕ рдлрд┐рд░ рд╕реЗ рдХрд╛рдЙрдВрдЯрд░ рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ node.restart()
рдХрд╣рд▓рд╛рддрд╛ рд╣реИред