рдПрдХ рдЖрдзреБрдирд┐рдХ рдХрд╛рд░ рди рдХреЗрд╡рд▓ рдкрд░рд┐рд╡рд╣рди рдХрд╛ рдПрдХ рд╕рд╛рдзрди рд╣реИ, рдмрд▓реНрдХрд┐ рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдиреНрдирдд рдЧреИрдЬреЗрдЯ рдФрд░ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдФрд░ рд╕реЗрдВрд╕рд░ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рднреА рд╣реИред рдХрдИ рдХрд╛рд░ рдирд┐рд░реНрдорд╛рддрд╛ рдПрдХ рдЯреЗрд▓реАрдлреЛрди рд╕реЗ рдЧрддрд┐ рд╕рд╣рд╛рдпрдХреЛрдВ, рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╕рд╣рд╛рдпрдХреЛрдВ, рдХрд╛рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрд╛рд░ рдореЗрдВ рдХреИрди рдмрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ: рдЗрдВрдЬрди, рдмреНрд░реЗрдХ рд╕рд┐рд╕реНрдЯрдо, рд╕реНрдЯреАрдпрд░рд┐рдВрдЧ рд╡реНрд╣реАрд▓, рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛, рдЬрд▓рд╡рд╛рдпреБ, рдЖрджрд┐редрдореЗрд░реА рдХрд╛рд░ 2011 рд╕реНрдХреЛрдбрд╛ рдСрдХреНрдЯреЗрд╡рд┐рдпрд╛ рд╣реИред рдпрд╣ рдлреЛрди рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдЦрд╛рдореА рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрд╡рд╛рдЬ рдирд┐рдпрдВрддреНрд░рдг рдлрд╝рдВрдХреНрд╢рди рднреА рдЬреЛрдбрд╝рд╛ред CAN рдмрд╕ рдФрд░ рдлреЛрди рдХреЗ рдмреАрдЪ рдПрдХ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рд░рд╛рд╕рдмреЗрд░реА рдкрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ CAN рдврд╛рд▓ рдФрд░ рдЯреАрдкреА-рд▓рд┐рдВрдХ рд╡рд╛рдИрдлрд╛рдИ рд░рд╛рдЙрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдСрдЯреЛ рд╕рдореБрдЪреНрдЪрдп рдХрд╛ рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдВрдж рд╣реИ, рдФрд░ рд╡реЛрдХреНрд╕рд╡реИрдЧрди рдиреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд╕рднреА рдкрддреНрд░реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛рд░реЛрдВ рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрддреЗ рд╣реИрдВ, VW рдмрд╕ рдХреЗ CAN рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдЙрд▓реНрдЯрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдореИрдВрдиреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЕрднрд┐рдирдп рдХрд┐рдпрд╛:- рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд▓рд┐рдП рдХреИрди рдврд╛рд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕
- CAN рдмрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛
- рдХрд╛рд░ рдХреЗ рдХреИрди рдмрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди
- рдПрдХ рд╕реНрдирд┐рдлрд░ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдФрд░ CAN рдмрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЕрдзреНрдпрдпрди
- рдлреЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╛рд╕
- рд╣реЛрдордХрд┐рдЯ рдФрд░ рд╕рд┐рд░реА рдХреЗ рд╕рд╛рде рд╡реЙрдпрд╕ рдХрдВрдЯреНрд░реЛрд▓
рд╡реАрдбрд┐рдпреЛ рд╡реЙрдпрд╕ рдХрдВрдЯреНрд░реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрдВрдд рдореЗрдВредрд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд▓рд┐рдП рдХреИрди рдврд╛рд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕
рдпрд╣рд╛рдБ, рдврд╛рд▓ рд╕реНрдХреАрдо lnxpps.de/rpie рджреНрд╡рд╛рд░рд╛ рд▓реА рдЧрдИ рдереА , рдЗрд╕рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рднреА рд╣реИ, 2 рдорд╛рдЗрдХреНрд░реЛрдХреНрд░рд┐рд╕реНрдХрд┐рдЯреНрд╕ MCP2515 рдФрд░ MCP2551 рдХреИрди рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред 2 рддрд╛рд░ CAN-High рдФрд░ CAN-Low рдврд╛рд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред SprintLayout 6 рдореЗрдВ рдореИрдВ рдмреЛрд░реНрдб рдлреИрд▓рд╛рддрд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдХреЛрдИ рднреА CANBoardRPi.lay ( рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рд╢реАрд▓реНрдб рдХрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдлреЛрдЯреЛ рд╢реАрд░реНрд╖рдХ рдореЗрдВ) рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ ред

CAN рдмрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛
2-рд╡рд░реНрд╖реАрдп рд░рд╕реНрдкрд┐рдпрди рдкрд░, рдореБрдЭреЗ CAN рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП bcm2708.c рдХреЛ рдкреИрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рд╢рд╛рдпрдж рдЕрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред CAN рдмрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ github.com/linux-can/can-utils рд╕реЗ can-utils рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдлрд┐рд░ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдХреИрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдврд╝рд╛рдПрдБ:
insmod spi-bcm2708
insmod can
insmod can-dev
insmod can-raw
insmod can-bcm
insmod mcp251x
ip link set can0 type can bitrate 125000 loopback on
ifconfig can0 up
рд╣рдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ ifconfig рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде CAN рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдврд╝ рдЧрдпрд╛ рд╣реИ :
рдЖрдк рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрдорд╛рдВрдб рднреЗрдЬрдХрд░ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИредрдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╣рдо рд╕реБрдирддреЗ рд╣реИрдВ:root@raspberrypi ~
рджреВрд╕рд░реЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ, рд╣рдо рднреЗрдЬрддреЗ рд╣реИрдВ:root@raspberrypi ~
рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╣реИ lnxpps.de/rpie редрдХрд╛рд░ рдХреЗ рдХреИрди рдмрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди
рд╡реАрдбрдмреНрд▓реНрдпреВ рдХреИрди рдмрд╕ рдкрд░ рдЦреБрд▓реЗ рдкреНрд░рд▓реЗрдЦрди рдХреЗ
рдереЛрдбрд╝реЗ рдЕрдзреНрдпрдпрди рдХреЗ рдмрд╛рдж , рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВ 2 рдмрд╕реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВредрдкрд╛рд╡рд░ рдпреВрдирд┐рдЯ рдХреА рдХреИрди рдмрд╕ , 500 kbit / s рдХреА рдЧрддрд┐ рд╕реЗ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ, рдЗрд╕ рдпреВрдирд┐рдЯ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреЛ рдПрдХ рдмрд┐рдЬрд▓реА рдЗрдХрд╛рдИ рдХреЗ CAN рдмрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:- рдЗрдВрдЬрди рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ
- ABS рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ
- рдкрд╛рдареНрдпрдХреНрд░рдо рд╕реНрдерд┐рд░реАрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ,
- рдЧрд┐рдпрд░рдмреЙрдХреНрд╕ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ,
- рдПрдпрд░рдмреИрдЧ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ,
- рд╕рд╛рдзрди рдХреНрд▓рд╕реНрдЯрд░ред
рдХрдореНрдлрд░реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕реВрдЪрдирд╛ рдХрдорд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреА рдХреИрди рдмрд╕ , рдЬреЛ рдЗрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдмреАрдЪ 100 kbit / s рдХреА рдЧрддрд┐ рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдХрдореНрдлрд░реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕реВрдЪрдирд╛ <рдХрдорд╛рдВрдб рд╕рд┐рд╕реНрдЯрдо рдХреА рдмрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ :- Climatronic рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдпрд╛ рдПрдпрд░ рдХрдВрдбреАрд╢рдирд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо,
- рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рдХрд╛рд░ рджрд░рд╡рд╛рдЬреЗ,
- рдХрдореНрдлрд░реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреНрд░реЛрд▓ рдпреВрдирд┐рдЯ,
- рд░реЗрдбрд┐рдпреЛ рдФрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИред
рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛рдВрддреНрд░рд┐рдХреА рдкрд░ рдореЗрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЖрдк рдХрдо рд╕реЗ рдХрдо рдХреНрд░реВрдЬрд╝ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рджреВрд╕рд░реЗ рддрдХ рдкрд╣реБрдБрдЪ рд╣реЛрдиреЗ рд╕реЗ рдЖрдк рд░реЗрдбрд┐рдпреЛ, рдЬрд▓рд╡рд╛рдпреБ, рд╕реЗрдВрдЯреНрд░рд▓ рд▓реЙрдХрд┐рдВрдЧ, рдкрд╛рд╡рд░ рд╡рд┐рдВрдбреЛ, рд╣реЗрдбрд▓рд╛рдЗрдЯреНрд╕ рдЖрджрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрджреЛрдиреЛрдВ рд╣реА рдЧреЗрдЯрд╡реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдЬреЛ рд╕реНрдерд┐рдд рд╣реИред рд╕реНрдЯреАрдпрд░рд┐рдВрдЧ рд╡реНрд╣реАрд▓ рдХреЗ рддрд╣рдд рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ OBD2 рдХрдиреЗрдХреНрдЯрд░ рдЧреЗрдЯрд╡реЗ рд╕реЗ рднреА рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рджреЛрдиреЛрдВ рдмрд╕реЛрдВ рд╕реЗ рдпрд╛рддрд╛рдпрд╛рдд OBD2 рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рд╕реБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдХрдорд╛рдВрдб рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ рдХрдореНрдлрд░реНрдЯ рдмрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реВрдВрдЧрд╛, рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рджрд░рд╡рд╛рдЬреЗ рдореЗрдВ рд▓рдЧреЗ рдХрдиреЗрдХреНрдЯрд░ рдмрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЬрдЧрд╣ рдмрди рдЧрдПред
рдЕрдм рдореИрдВ рдХрдореНрдлрд░реНрдЯ рдХреИрди рдкрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдмрд╛рдд рдХреЛ рд╕реБрди рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдХрдорд╛рдВрдб рднреЗрдЬ рд╕рдХрддрд╛ рд╣реВрдВредрдПрдХ рд╕реНрдирд┐рдлрд░ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдФрд░ CAN рдмрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЕрдзреНрдпрдпрди
рдХреИрди рдмрд╕ рдореЗрдВ рд╕реБрдирдиреЗ рдХреА рдкрд╣реБрдБрдЪ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдпрд╣ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рдХрд┐рд╕рд╕реЗ рдФрд░ рдХреНрдпрд╛ рдЧреБрдЬрд░рддрд╛ рд╣реИред рдХреИрди рдкреИрдХреЗрдЯ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреИрди-рдмрд░реНрддрдиреЛрдВ рд╕реЗ рд╕реНрд╡рдпрдВ рдХреА рд╕рднреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреИрди рдкреИрдХреЗрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН:- рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
- рдбреЗрдЯрд╛ рдХреА рд▓рдВрдмрд╛рдИ
- рдбреЗрдЯрд╛
рдбреЗрдЯрд╛ рдХреЛ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдзреНрдпрдпрди рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛрддреА рд╣реИред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрд╛ рдерд╛ рдЬреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдВрдбрдореНрдк рд╕реЗ рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА рддрдХ рдбреЗрдЯрд╛ рдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИредMacOS рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрддреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдмрд▓реЗрдЯ рдореЗрдВ рдПрдХ рд╕реЗрд▓ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕реЗрд▓ рдореЗрдВ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛ рдХреНрдпрд╛ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рдкрд╛рд╡рд░ рд╡рд┐рдВрдбреЛ рдмрдЯрди рджрдмрд╛рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдПрдХ рд╕реЗрд▓ рдорд┐рд▓реА рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рдмрджрд▓рддрд╛ рд╣реИ, рдлрд┐рд░ рдореИрдВрдиреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдкреНрд░реЗрд╕ рдХрд░рдиреЗ, рджрдмрд╛рдиреЗ, рдКрдкрд░ рд░рдЦрдиреЗ, рдиреАрдЪреЗ рд░рдЦрдиреЗ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИредрдЖрдк рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрдорд╛рдВрдб рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рднреЗрдЬрдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдПрдВ рдЧреНрд▓рд╛рд╕ рдХреЛ рдКрдкрд░ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб:cansend can0 181
VAG рдХрд╛рд░реЛрдВ (рд╕реНрдХреЛрдбрд╛ рдСрдХреНрдЯреЗрд╡рд┐рдпрд╛ 2011) рдореЗрдВ CAN рдмрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЯреАрдореЗрдВ, рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рд╣реИрдВ:
181#0200
181#0800
181#2000
181#8000
181#0002
181#0008
181#0020
181#0080
291#09AA020000
291#0955040000
291#0900000000
рдореИрдВ рдЕрдиреНрдп рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рдерд╛ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдерд╛редрдлреЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╛рд╕
рдкреНрд░рд╛рдкреНрдд рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ iPhone рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрд╛ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЛ рдЦреЛрд▓рддрд╛ / рдмрдВрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрдВрджреНрд░реАрдп рд▓реЙрдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИредрд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдореИрдВрдиреЗ 2 рдЫреЛрдЯреЗ рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдП, рдкрд╣рд▓рд╛ рдХреИрдВрдбрдореНрдк рд╕реЗ рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдЖрдИрдлреЛрди рд╕реЗ рдХрдорд╛рдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрдВрд╕реЗрдВрдб рднреЗрдЬрддрд╛ рд╣реИред
IOS рдХреЗ рд▓рд┐рдП рдСрдЯреЛ рдХрдВрдЯреНрд░реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд░реЛрдд
#import "FirstViewController.h"
#import "DataConnection.h"
#import "CommandConnection.h"
@interface FirstViewController () <DataConnectionDelegate>
@property (nonatomic, strong) DataConnection *dataConnection;
@property (nonatomic, strong) CommandConnection *commandConnection;
@property (weak, nonatomic) IBOutlet UILabel *Door_1;
@property (weak, nonatomic) IBOutlet UILabel *Door_2;
@property (weak, nonatomic) IBOutlet UILabel *Door_3;
@property (weak, nonatomic) IBOutlet UILabel *Door_4;
@property (weak, nonatomic) IBOutlet UIButton *CentralLock;
- (IBAction)lockUnlock:(UIButton *)sender;
@end
@implementation FirstViewController
- (void)viewDidLoad {
self.dataConnection = [DataConnection new];
self.dataConnection.delegate = self;
[self.dataConnection connectToCanBus];
self.commandConnection = [CommandConnection new];
[self.commandConnection connectToCanBus];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)doorStatusChanged:(char)value {
if (value & 1) {
self.Door_1.backgroundColor = [UIColor yellowColor];
self.Door_1.text = @"";
NSLog(@"1");
}
else {
self.Door_1.backgroundColor = [UIColor lightGrayColor];
self.Door_1.text = @"";
}
if (value & 2) {
self.Door_2.backgroundColor = [UIColor yellowColor];
self.Door_2.text = @"";
NSLog(@"2");
}
else {
self.Door_2.backgroundColor = [UIColor lightGrayColor];
self.Door_2.text = @"";
}
if (value & 4) {
self.Door_3.backgroundColor = [UIColor yellowColor];
self.Door_3.text = @"";
NSLog(@"4");
}
else {
self.Door_3.backgroundColor = [UIColor lightGrayColor];
self.Door_3.text = @"";
}
if (value & 8) {
self.Door_4.backgroundColor = [UIColor yellowColor];
self.Door_4.text = @"";
NSLog(@"8");
}
else {
self.Door_4.backgroundColor = [UIColor lightGrayColor];
self.Door_4.text = @"";
}
}
BOOL firstStatusChange = YES;
BOOL lastStatus;
-(void) centralLockStatusChanged:(BOOL)status {
if (firstStatusChange) {
firstStatusChange = NO;
lastStatus = !status;
}
if (!(lastStatus == status)) {
if (status) {
[self.CentralLock setBackgroundImage:[UIImage imageNamed:@"lock_close"] forState:UIControlStateNormal];
}
else {
[self.CentralLock setBackgroundImage:[UIImage imageNamed:@"lock_open"] forState:UIControlStateNormal];
}
lastStatus = status;
}
}
- (IBAction)frontLeftUp:(UIButton *)sender {
[self.commandConnection sendMessage:@"cansend can0 181#0200"];
}
- (IBAction)frontLeftDown:(id)sender {
[self.commandConnection sendMessage:@"cansend can0 181#0800"];
}
- (IBAction)frontRightUp:(UIButton *)sender {
[self.commandConnection sendMessage:@"cansend can0 181#2000"];
}
- (IBAction)frontRightDown:(id)sender {
[self.commandConnection sendMessage:@"cansend can0 181#8000"];
}
- (IBAction)backLeftUp:(UIButton *)sender {
[self.commandConnection sendMessage:@"cansend can0 181#0002"];
}
- (IBAction)backLeftDown:(id)sender {
[self.commandConnection sendMessage:@"cansend can0 181#0008"];
}
- (IBAction)backRightUp:(UIButton *)sender {
[self.commandConnection sendMessage:@"cansend can0 181#0020"];
}
- (IBAction)backtRightDown:(id)sender {
[self.commandConnection sendMessage:@"cansend can0 181#0080"];
}
- (IBAction)lockUnlock:(UIButton *)sender {
if (lastStatus) {
[self.commandConnection sendMessage:@"cansend can0 291#09AA020000"];
int64_t delayInSeconds = 1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self.commandConnection sendMessage:@"cansend can0 291#0900000000"];
});
}
else {
[self.commandConnection sendMessage:@"cansend can0 291#0955040000"];
int64_t delayInSeconds = 1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self.commandConnection sendMessage:@"cansend can0 291#0900000000"];
});
}
}
@end
рдлреЛрди рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдорд╛рд░реНрдЯ рдШрд░реЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд▓рд╛рдн рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХрдорд╛рдВрдб рдкрд░ рдЬреЗрдб-рд╡реЗ рдСрдЯреЛрдореЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :wget -q -O - razberry.z-wave.me/install | sudo bash
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдкрдиреЗ CAN рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ Z-Way рдСрдЯреЛрдореЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдФрд░ рд╣рдо рд╡рд┐рдВрдбреЛ
рд░реЗрдЧреНрдпреБрд▓реЗрдЯрд░ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд╡рд┐рдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ: Z-Way: ZWay Home Control рдФрд░ ZWay Control рдХреЗ рд▓рд┐рдП рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рдиредрд╣реЛрдордХрд┐рдЯ рдФрд░ рд╕рд┐рд░реА рдХреЗ рд╕рд╛рде рд╡реЙрдпрд╕ рдХрдВрдЯреНрд░реЛрд▓
рдЕрдкрдиреЗ рдПрдХ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЬреЗрдб-рд╡реЗ рд╣реЛрдо рдСрдЯреЛрдореЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреА рдЖрд╡рд╛рдЬ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рд╣реЛрдордмреНрд░рд┐рдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ ред рд╣реЛрдордмреНрд░рд┐рдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рд┐рд░реА рдХреЗ рд╕рд╛рде рдЖрд╡рд╛рдЬ рдирд┐рдпрдВрддреНрд░рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВ рдЬреЛ рдЬреЗрдб-рд╡реЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTTP рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╛рдЬ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВредрдореИрдВ рд╡реАрдбрд┐рдпреЛ рдХреЛ рд╡рд┐рдВрдбреЛ рд░реЗрдЧреБрд▓реЗрдЯрд░ рдХреЗ рд╡реЙрдпрд╕ рдХрдВрдЯреНрд░реЛрд▓ рд╕реЗ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред