рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯрд░ рдкрд░ $ 9, 000 рд╕реЗ рдЕрдзрд┐рдХ рд▓рд┐рдирдХреНрд╕ рдХрдВрдкреНрдпреВрдЯрд░
рдХреИрд╕реЗ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкрд╣рд▓реЗ рд╣реА Geektimes рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдбрд╝ рдЪреБрдХреА рд╣реИ ред рдореИрдВрдиреЗ рдзрди рдЙрдЧрд╛рд╣реА рдХреЗ рд╕рдордп рднреА рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдФрд░ рджреВрд╕рд░реЗ рджрд┐рди рдЗрд╕ рдЙрдкрдХрд░рдг рдХреА рдореЗрд░реА рдкреНрд░рддрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдбрд╝ рдЧрдИрдпрд╣ рдХрдВрдкреНрдпреВрдЯрд░ 1 GHz, 512 рдПрдордмреА рд░реИрдо, 4 рдЬреАрдмреА рдХреА рдЖрдВрддрд░рд┐рдХ рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдЖрд░рдПрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдПрдХ рдСрд▓рд╡рд┐рдирд░ рдЖрд░ 8 рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рд▓реИрд╕ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдмреА / рдЬреА / рдПрди рдорд╛рдирдХреЛрдВ рдФрд░ рдСрди-рдмреЛрд░реНрдб рдмреНрд▓реВрдЯреВрде 4.0 рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд╛рдИ-рдлрд╛рдИ рднреА рд╣реИред рдпрд╣рд╛рдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдПрдХ рдпреВрдПрд╕рдмреА рдкреЛрд░реНрдЯ, рдПрдХ рдЯреАрд╡реА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордЧреНрд░ рдПрд╡реА рдЖрдЙрдЯрдкреБрдЯ рдпрд╛ рдХрд┐рд╕реА рднреА рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрдкреЛрдЬрд┐рдЯ рд╡реАрдбрд┐рдпреЛ рдЗрдирдкреБрдЯ, рдкрд╛рд╡рд░ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛ-рдпреВрдПрд╕рдмреА рдФрд░ рдЦреБрдж рд╕реАрдПрдЪрдЖрдИрдкреА рдХреА рдлрд░реНрдорд╡реЗрдпрд░, рдПрдХ рдмрд╛рд╣рд░реА рдмреИрдЯрд░реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдиреЗрдХреНрдЯрд░ рдФрд░ рдЬреАрдкреАрдЖрдИрдУ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдкреИрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдЪрдбреАрдПрдордЖрдИ рдпрд╛ рд╡реАрдЬреАрдП рдПрдбреЗрдкреНрдЯрд░ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХреНрд░рдорд╢рдГ 15 рдбреЙрд▓рд░ рдФрд░ 10 рдбреЙрд▓рд░ рдХреА рдХреАрдордд рдкрд░ рдЕрд▓рдЧ рд╕реЗ рдЦрд░реАрджреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдкреЙрдХреЗрдЯрд╕реА.рдЖрдИрдкреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рднреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдмреИрдЯрд░реА рдФрд░ рдХреАрдмреЛрд░реНрдб рдХреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдорд┐рдиреА рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рдЙрдкрдХрд░рдг рдореЗрдВ рдПрдХ рдХрд╛рдЧрдЬ рд▓рд┐рдлрд╛рдлрд╛, рдЕрдВрджрд░ рдЬреЛ рд╡рд░реНрдЧ рдЧрддреНрддреЗ рдХреЗ рдмрдиреЗ рдмреЙрдХреНрд╕ simpotnaya рдореЗрдВ рдкреИрдХ рдЖрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдорд┐рдиреА рдХрдВрдкреНрдпреВрдЯрд░
рдпрд╣рд╛рдБ рд╣реИ рдмреЙрдХреНрд╕ рдХреА рд╕рд╛рдордЧреНрд░реА
рдХреА рдЖрдкреВрд░реНрддрд┐ рдП рд╡реА рдХреЗрдмрд▓ рдЧреНрд▓реИрдорд░рд╕ рдЧреБрд▓рд╛рдмреА рдХреА рдореЗрд░реЗ рдкреНрд░рддрд┐
рдЦрдбрд╝реЗ рдкрд╛рд░рджрд░реНрд╢реА рд╕реАрдкреАрдпреВ рдХреЛ рдХрд╡рд░ рд╢рд░реАрд░ рдХреЗ рдкреАрдЫреЗ рдПрдХ
рдпрд╣ рд╕рдм рдПрдХ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдбреЗрдмрд┐рдпрди рдХреЗ рд╕рдВрд╢реЛрдзрди рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рдмрдврд╝рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИред рдмреНрд▓реВрдЯреВрде рдФрд░ рд╡рд╛рдИ-рдлрд╛рдИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, iMac рд╕реЗ рд╡рд╛рдпрд░рд▓реЗрд╕ рдХреАрдмреЛрд░реНрдб рдФрд░ рдорд╛рдЙрд╕ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдЬреБрдбрд╝реЗ рдереЗ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЬреБрдбрд╝реЗ рдереЗред USB рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдПрдХ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡, рдПрдХ рдорд╛рдЙрд╕, рд╕рд╛рде рд╣реА рдПрдХ рд╡рд╛рдпрд░рд▓реЗрд╕ Logitech F710 рдЧреЗрдордкреИрдб рд╕реЗ рдПрдХ рдЫрдбрд╝реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рдФрд░ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╡реИрд╕реЗ, рдЦреЗрд▓реЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЧреЗрдорд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдПрдХ рд▓рдШреБ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдореЗрдбрдирдлреЗрди рдПрдореБрд▓реЗрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдЬреЛ рдХрдИ рдкреБрд░рд╛рдиреЗ рдЧреЗрдорд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рд╕реЗ рдореЗрдбрдирд╛рдл рдЬреАрдпреВрдЖрдИ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ ред рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИредрдЦреИрд░, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╣рдо GPIO рдкреЛрд░реНрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдПрд▓рдИрдбреА рдХреЛ рдмреНрд▓рд┐рдВрдХ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо U13 рдмреНрд▓реЙрдХ рдХреЗ 5 рд╡реЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдб рдХреЗ рд╕рд╛рде 100-200 рдУрдо рдЕрд╡рд░реЛрдзрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд▓рдИрдбреА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпреВ 14 рдмреНрд▓реЙрдХ рдХреЗ 13 рд╡реЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдХреИрдереЛрдб рдХреЛ рдЖрд░реЗрдЦ рдореЗрдВ
рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рд╣реИред
рд╕рднреА рдЖрдЧреЗ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реАрдзреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдХреЗ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдЪрд┐рдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИредssh chip@192.168.1.109
PCF8574A рдирд┐рдпрдВрддреНрд░рдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд░реНрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЗрд╕реЗ / sys / class / gpio / gpio408 рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗрд╡рд▓ рд░реВрдЯ рдХреЗ рдиреАрдЪреЗ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИsu
рдЖрдЗрдП рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдХрдВрд╕реЛрд▓ рд╕реЗ рдПрд▓рдИрдбреА рдХреЛ рдЭрдкрдХрд╛рддреЗ рд╣реИрдВред / Sys / рд╡рд░реНрдЧ / gpio рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВcd /sys/class/gpio
GPIO рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдкреЛрд░реНрдЯ рд╕рдВрдЪрд╛рд▓рди рд╕рдХреНрд╖рдо рдХрд░реЗрдВecho 408 > export
echo out > gpio408/direction
рдЕрдм рд╣рдо рдкреЛрд░реНрдЯ рдореЗрдВ рдорд╛рди gpio408 / value рдкрд░ рд╡реИрд▓реНрдпреВ рд▓рд┐рдЦрдХрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВecho 1 > gpio408/value
echo 0 > gpio408/value
рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░, GPIO рдХреЗ рд╕рд╛рде рдЕрд╡рд┐рд╕реНрдорд░рдгреАрдп рдХрд╛рд░реНрдп рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░реЗрдВecho in > gpio408/direction
echo 408 > unexport
рдФрд░ рдЕрдм рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕реА рднрд╛рд╖рд╛ рдореЗрдВред рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдмреНрд▓рд┐рдВрдХ рдХрд░реЗрдВредcd ~/
mkdir projects
cd projects
mkdir blink
cd blink
рдиреИрдиреЛ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдЪрд▓рд╛рдПрдВ рдФрд░ main.c, рдпрд╛рдиреА рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдлрд╛рдЗрд▓ (ctrl + o) рдмрдирд╛рдПрдВред рддреБрд░рдВрдд рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВредnano
рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
int fd;
fd = open("/sys/class/gpio/export", O_WRONLY);
if (fd < 0)
{
return -1;
}
write(fd, "408", 3);
close(fd);
fd = open("/sys/class/gpio/gpio408/direction", O_RDWR);
if (fd < 0)
{
return -1;
}
write(fd, "out", 4);
close(fd);
fd = open("/sys/class/gpio/gpio408/value", O_RDWR);
if (fd < 0)
{
return -1;
}
int i;
for (i = 0; i < 1000; ++i)
{
write(fd, "1", 2);
sleep(3);
write(fd, "0", 2);
sleep(3);
}
fd = open("/sys/class/gpio/unexport", O_WRONLY);
if (fd < 0)
{
return -1;
}
write(fd, "408", 3);
close(fd);
return 0;
}
рдЕрдЧрд▓рд╛, рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ рдФрд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВgcc main.c -o blink
./blink
рдпрд╣ рдЫреЛрдЯреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреА рдЫреЛрдЯреА рд╕рдореАрдХреНрд╖рд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд╣реИрдВред рдЕрдкрдиреА рдХреНрд╖рдорддрд╛рдУрдВ рдФрд░ рдЗрддрдиреА рдХрдо рдХреАрдордд рдХреЗ рд╕рд╛рде, рдпрд╣ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдареЛрд╕ рдкреНрд░рддрд┐рдпреЛрдЧреА рдмрди рдЧрдпрд╛