рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ, рдореИрдВрдиреЗ Arduino рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХреЛрдб рд▓рд┐рдЦреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рд╛рде рдХрдИ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдмрджрд▓ рджрд┐рдП рд╣реИрдВред рд▓реЗрдЦ рдореЗрдВ рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдереА рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рдореИрдВрдиреЗ рд░реЛрдХрд╛ рдерд╛ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗред рдпрд╣ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрдЧрд╛ рдЬрдм> рд╡рд┐рднрд┐рдиреНрди рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП 10 рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛редрд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг
рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рд╕рдВрднрд╡рддрдГ рдХреНрдпреЛрдВрдХрд┐ Arduino рдкреЗрд╢реЗрд╡рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рдорд╛рдирдХ IDE рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдЯреВрд▓ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдЕрд▓рдЧ рд╣реИ:- рдХреЗрд╡рд▓ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рдмрдВрдзрди рджрд┐рдЦрд╛рдИ рджрд┐рдП, рдЕрдм рддрдХ рдЬреЗрдордлрд╛рдЗрд▓ / рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдХреЗ рдмрд┐рдирд╛ ред.txt / package.json, рдЕрд░реНрдерд╛рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
- git рдпрд╛ рдЕрдиреНрдп vcs рдХреЗ рд╕рд╛рде рдХреЛрдИ рдПрдХреАрдХрд░рдг рдирд╣реАрдВ
- рдПрдХ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмреЛрд░реНрдб рдХреЗ рдЪрдпрди рдХреЛ рдмрдЪрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ
- рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрддреНрдкрд╛рджрди
Arduino рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ ред рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдРрд╕реЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Atmel рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ CE рдиреЗ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдПрдХ рдЯреВрд▓ рд╕рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрд╛рдо рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛редрдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХреА
Ino
Ino - рд░реВрд╕реА рдХрдВрдкрдиреА Amperka, Arduino рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛редрдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдп рдереА,> 200 рдХрд╛рдВрдЯреЗред рдЖрдЦрд┐рд░реА рдкреНрд░рддрд┐рдмрджреНрдз рдЕрдкреНрд░реИрд▓ 2014 рдореЗрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрдИрдбреАрдИ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ 1.5 рдХреЗ рдмрд╛рдж рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ)ред рдЖрд░реНрдЯреБрд░реЛрдХрд╛ рдПрдХ рдЬреАрд╡рд┐рдд рдХрд╛рдВрдЯрд╛ рд╣реИ , рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╡рд┐рджреЗрд╢реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВредArduino-Makefile
Arduino-Makefile - рд╕рдВрдХрд▓рди рдХрд░реЗрдВ рдФрд░ рдореЗрдХ рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред Arduino рджреЗрдп, рд╢реВрдиреНрдп рдФрд░ рдЕрдиреНрдп 32-рдмрд┐рдЯ рдмреЛрд░реНрдб рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдорд╛рдирдХ рдЖрдИрдбреАрдИ рд╕реЗ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рд╕рдорд╛рдкреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рдпрд╛рдж рд╣реИ, рддреЛ рдореИрдВ Arduino-Makefile рдФрд░ SparkFun Pro Micro рдХреЗ рд╕рд╛рде рджреЛрд╕реНрддреА рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛редрдореИрдВ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ?
PlatformIO
PlatformIO рдпреВрдХреНрд░реЗрди рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдХрдИ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдФрд░ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (Atmel AVR, Atmel SAM, ST STM32, TI MSP430 рдФрд░ рдЕрдиреНрдп)ред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдЯреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдорд┐рдпреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ): рдЕрд░реБрдбрд┐рдиреЛ, рдПрдирд░реНрдЬрд┐рдпрд╛, рдореАрдб, рд╕рд╛рде рд╣реА рдПрдЯрдо рдПрд╡реАрдЖрд░, рдПрд╕реНрдкреНрд░реЗрд╕рд┐рдл, рдПрдордПрд╕рдкреА 430 рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рдХреЛрдбредрдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╢реБрд░реВ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдореБрдЦ рдерд╛, рдкрд╛рда рд╕рдВрдкрд╛рджрдХреЛрдВ рдФрд░ IDEs рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рднреА рд╣реИрдВ: рдПрдЯрдо, рдХреНрд▓реЗрдпрди, рдПрдХреНрд▓рд┐рдкреНрд╕, рдПрдордПрд╕реАрдПрд╕, рдиреЗрдЯрдмреАрдиреНрд╕, рдХреНрдпреВрдЯреА рдХреНрд░рд┐рдПрдЯрд░, рдЙрджрд╛рддреНрдд рдкрд╛рда, рд╡рд┐рдо рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛPlatformIO рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ:- рдХрдИ рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЕрд░реНрдерд╛рддреН рдПрдХ рд╣реА рдХреЛрдб рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
- , .. ,
- ssh, PlatformIO Raspberry Pi

Arduino
рдореИрдВ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рдпрд╣рд╛рдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ , рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рддреНрд╡рд░рд┐рдд рдкреНрд░рд╛рд░рдВрдн рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВредPlatformIO рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ Arduino IDE рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ platformio.ini рдлрд╝рд╛рдЗрд▓ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ рд╕рд╣реА рдмреЛрд░реНрдб рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИредрдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рдореИрдВ Arduino рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп PlatformIO рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рджреЛ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ PlatformIO рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред Platformio.ini рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ рдЙрди рд╕рднреА рдмреЛрд░реНрдбреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИ рдЬрд┐рди рдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЪрд▓рдиреА рдЪрд╛рд╣рд┐рдП:[env:nanoatmega328]
platform = atmelavr
framework = arduino
board = nanoatmega328
[env:sparkfun_promicro16]
platform = atmelavr
framework = arduino
board = sparkfun_promicro16
[env:due]
platform = atmelsam
framework = arduino
board = due
[env:teensy31]
platform = teensy
framework = arduino
board = teensy31
[env:nodemcu]
platform = espressif
framework = arduino
board = nodemcu
[env:uno]
platform = atmelavr
framework = arduino
board = uno
рдЖрдк рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рднреА рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:platformio run
рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗрд╡рд▓ рдпреВрдиреЛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:platformio run -e uno
Uno рдкрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:platformio run --target upload -e uno
рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдореЙрдирд┐рдЯрд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:platformio serialports monitor
рдЙрдкрдирд╛рдореЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .zshrc рдореЗрдВ рдЙрдкрдирд╛рдо рдЬреЛрдбрд╝реЗ:alias compile="platformio run"
alias upload="platformio run --target upload"
alias serial="platformio serialports monitor"
рдЙрдирдХреЗ рд╕рд╛рде рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдХреНрд░рдо:compile
compile -e uno
upload -e uno
serial
рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдФрд░ рдЕрдиреНрдп рд╕реАрдЖрдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рднреА рд╣реИ, рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг редрджрд░рдЕрд╕рд▓, Arduino IDE рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХрджрдо рд╕рд╣реА рд╣реИредрдкреНрд▓реЗрдЯрдлрд╛рд░реНрдорд┐рдпреЛ рдиреВрддрди
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдореЛ рдиреЗ рдХрд╛рдо рдХреЛ рдЧрддрд┐ рджреА, рдпрд╣ Arduino IDE рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдЙрдкрдХрд░рдг рд╣реИ рдФрд░ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд┐рдВрджреБ рд╣реИрдВ:- рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдореЛ рдореЗрдВ рд╕рдВрдХрд▓рди рд╣рдореЗрд╢рд╛ Arduino IDE рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, PlatformIO рдореЗрдВ рдЬреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд╡рд╣ Arduino IDE рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ Arduino IDE рдХреЗ рд▓рд┐рдП рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА
- рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ platformio lib рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ
Serial.print ("рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ");
рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдорд╛рдирдХ Serial.print () рдереЛрдбрд╝рд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛрдЪрд░ рдХреЗ рдирд╛рдо рдФрд░ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП "pin_2 = <рд░рд╛рдЬреНрдп рдкрд┐рди 2>, pin_3 = <рд░рд╛рдЬреНрдп рдкрд┐рди 3>" рдЖрдкрдХреЛ рдпрд╣ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:Serial.print("pin_2 = ");
Serial.print(digitalRead(2));
Serial.print(", pin_3 = ");
Serial.println(digitalRead(3));
рдлрд┐рд░ рднреА рдХрднреА-рдХрднреА рдореИрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП Serial.print () рдХреЛ рдХреЙрд▓ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╡рд┐рдХрд▓реНрдк рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛редрдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХреА
arduinoLogging
рдпрд╣ lib рдореБрджреНрд░рдг рдХреЗ рд▓рд┐рдП printf- рдЬреИрд╕реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ LOGLEVEL рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреБрдЫ рдпрд╛ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрддрд╛ рд╣реИред рд╕рдВрджреЗрд╢ рддреНрд░реБрдЯрд┐, рдЬрд╛рдирдХрд╛рд░реА, рдбреАрдмрдЧ рдФрд░ рд╡рд░реНрдмреЛрдЬрд╝ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВредрдПрдХ рдЙрджрд╛рд╣рд░рдг: #include "Logging.h"
#define LOGLEVEL LOG_LEVEL_INFOS
void setup() {
Serial.begin(9600);
Log.Init(LOGLEVEL, &Serial);
Log.Info("pin_2 = %d, pin_3 = %d"CR, digitalRead(2), digitalRead(3));
Log.Debug(" , LOGLEVEL = LOG_LEVEL_INFOS");
}
рдЙрдкрд▓рдмреНрдз рд╕рдВрд╢реЛрдзрдХ
рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб | рдЯрд┐рдкреНрдкрдгреА | рдЙрджрд╛рд╣рд░рдг |
---|
% s | replace with an string (char*) | Log.Info("String %s", myString); |
%c | replace with an character | Log.Info("use %c as input", myChar) |
%d | replace with an integer value | Log.Info("current value %d",myValue); |
%l | replace with an long value | Log.Info("current long %l", myLong); |
%x | replace and convert integer value into hex | Log.Info ("as hex %x), myValue); |
%X | like %x but combine with 0x123AB | Log.Info ("as hex %X), myValue); |
%b | replace and convert integer value into binary | Log.Info ("as bin %b), myValue); |
%B | like %x but combine with 0b10100011 | Log.Info ("as bin %B), myValue); |
%t | replace and convert boolean value into "t" or "f" | Log.Info ("is it true? %t), myBool); |
%T | like %t but convert into "true" or "false" | Log.Info ("is it true? %T), myBool); |
advancedSerial
ArduinoLogging рдореЗрдВ рддреНрд░реБрдЯрд┐, рдЬрд╛рдирдХрд╛рд░реА, рдбреАрдмрдЧ, рдФрд░ Verbose рд╕рдВрджреЗрд╢ рд╕реНрддрд░реЛрдВ рдХреЗ рдирд╛рдо рддрдЯрд╕реНрде рдирд╣реАрдВ рд╣реИрдВред рддреНрд░реБрдЯрд┐ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдВрджреЗрд╢ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА LOGLEVEL (NOOUTPUT рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИредрдкреНрд░рд┐рдВрдЯрдл рдХреА рдХреБрдЫ рдЕрд╕реБрд╡рд┐рдзрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦрд╛, рдЙрдиреНрдирдд рд╕рдВрд╕реНрдХрд░рдг редрджрд░рдЕрд╕рд▓, рдПрдбрд╡рд╛рдВрд╕реНрдб рджреЛ рдЪреАрдЬреЗрдВ рд╣реИрдВ: рдЪреЗрди рдФрд░ рдореИрд╕реЗрдЬ рдХреЗ рд╕реНрддрд░ рдореЗрдВ рдкреНрд░рд┐рдВрдЯ () рдФрд░ рдкреНрд░рд┐рдВрдЯрд▓рд╛рдЗрди () рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред int a = 1;
int b = 2;
aSerial.print("a = ").print(a).print("b = ").println(b);
aSerial.p("a = ").p(a).p("b = ").pln(b);
Basic.ino
рдХрд╛ рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдгрдЪреВрдВрдХрд┐ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рдорд╛рдирдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ Serial.print () рдФрд░ Serial.println (), рдЖрдк рдмрд╕ рд╕реНрд░реЛрдд рдореЗрдВ рд╕реАрд░рд┐рдпрд▓ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВредрд╕рдВрджреЗрд╢ рд╕реНрддрд░реЛрдВ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ v, vv, vvv, vvv рдХреЛ рдЪреБрдирд╛, рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕реНрддрд░реЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛, рдЖрдорддреМрд░ рдкрд░ рдЭрдВрдбреЗ -v, -vv, рдЖрджрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдРрд╕реЗ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрддрд░ рд╕реЗ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП vv -> vvv, рдЗрдиреНрдлреЛ -> рдбреАрдмрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред #include "advancedSerial.h"
void setup() {
Serial.begin(9600);
aSerial.setPrinter(Serial);
aSerial.setFilter(Level::vv);
}
void loop() {
aSerial.l(Level::vv).pln(" ");
aSerial.l(Level::vvv).pln(" ");
delay(3000);
}
Advanced.ino
рдХрд╛ рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдгрдореЗрдореЛрд░реА рдХреА рдмрдЪрдд
рдпрджрд┐ рдЖрдк рдореИрдХреНрд░реЛ рдПрдл () рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдореЗрдореЛрд░реА (рдПрд╕рдЖрд░рдПрдПрдо) рдореЗрдВ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдл () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: aSerial.print(F(" 16 "));
рдмреЗрд╢рдХ, рдПрдбрд╡рд╛рдВрд╕реНрдб рд╕реЗрд░рд┐рдпрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдирдХ рд╕реАрд░рд┐рдпрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдХреМрди рд╕рд╛ рд╣реИред рдиреАрдЪреЗ рдореИрдВ Arduino Uno рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕реНрдореГрддрд┐ рдХрд╛ 2KB рд╣реИ рдФрд░ рдпрд╣ рдЙрди рдмреЛрд░реНрдбреЛрдВ рдореЗрдВ рдиреНрдпреВрдирддрдо рд╣реИ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВредрд╕рд╛рдорд╛рдиреНрдп рд╢реНрд░реГрдВрдЦрд▓рд╛, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ: void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("test");
Serial.println("test");
}
рднрдВрдбрд╛рд░рдг рд╕реНрдерд╛рди: 5%рдЧрддрд┐рд╢реАрд▓ рдореЗрдореЛрд░реА: 9%рдЙрдиреНрдирдд: #include <advancedSerial.h>
void setup() {
Serial.begin(9600);
aSerial.setPrinter(Serial);
aSerial.setFilter(Level::vv);
}
void loop() {
aSerial.print("test").println("test");
}
рд╕рдВрдЧреНрд░рд╣рдг рд╕реНрдерд╛рди: 5%рдбрд╛рдпрдирд╛рдорд┐рдХ рдореЗрдореЛрд░реА: 10%рдЙрджрд╛рд╣рд░рдг / рдПрдбрд╡рд╛рдВрд╕реНрдб.рдЗрдирд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдкреЗрд╕: 9%рдбрд╛рдпрдирд╛рдорд┐рдХ рдореЗрдореЛрд░реА: 26%рдЙрджрд╛рд╣рд░рдг / рдПрдбрд╡рд╛рдВрд╕реНрдб.рдЗрди рдПрдл () рдореИрдХреНрд░реЛрд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП : 9%рдбрд╛рдпрдирд╛рдорд┐рдХ рдореЗрдореЛрд░реА: 10%рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдереЛрдбрд╝рд╛ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЙрдиреНрдирдд рд╕рдВрд╕рд╛рдзрди рдПрдХ рдЗрд╖реНрдЯрддрдо рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧ редрдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдерд╛рдкрдирд╛
рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Arduino IDE рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреЗрдЪ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (#include рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ) рдФрд░ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдгред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рджреВрд╕рд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдХреЗрдЪ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реИ, рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реНрдХреЗрдЪ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдиреАрдЪреЗ Arduino IDE рдФрд░ PlatformIO рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВредArduino IDE
рдореИрдВ рд╢рд╛рдпрдж рд╣реА рдХрднреА Arduino IDE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд╢рд╛рдпрдж рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИред рд╡рд┐рдзрд┐ рдпрд╣ рд╣реИ: рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рд▓рд╛рдпрдмреНрд░реЗрд░реА рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╣рд╛рдВ Arduino IDE рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ) рдореЗрдВ рд▓рд╛рдпрдмреНрд░реЗрд░реА (рд╢реЙрд░реНрдЯрдХрдЯ?) рд░рдЦреЗрдВредрд╡реИрд╕реЗ, рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рд╕реЗ рдпрд╛рдж рд╣реИ, рддреЛ Arduino IDE рдХрд┐рд╕реА рднреА рд╕реНрдХреЗрдЪ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛрдиреЗ рдкрд░ рд╕рдВрдХрд▓рди рд╕рдордп рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рдХрд╛рд░рдг Arduino IDE рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИредPlatformIO
рд╣рд░ PlatformIO рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рд▓рд┐рдм рдЙрдк рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рд░рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред Platformio рдореЗрдВ рднреА platformio lib рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдХрдорд╛рдВрдб рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд▓рд╛рдпрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ lib рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ platformio.ini рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:[platformio]
lib_dir = ./lib
рдкреНрд▓реЗрдЯрдлреЙрд░реНрдорд┐рдпреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рджрд╕реНрддрд╛рд╡реЗрдЬ рджреЗрдЦреЗрдВ ред