рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдорд┐рдиреАрдХрдВрдкреНрдпреВрдЯрд░ рдореЗрд░реЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛ред рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдХрднреА рд▓рд┐рдирдХреНрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рджрд░рд╛рдЬ рдореЗрдВ рдЖрдВрджреЛрд▓рди рдХреЗ рдмрд┐рдирд╛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди, рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдЭреВрда рдмреЛрд▓рд╛ ... рдореИрдВрдиреЗ рдЗрд╕рдХреА рдорджрдж рд╕реЗ рдХрд┐рдП рдЧрдП рдЕрдВрддрд┐рдо рдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдлреЛрдЯреЛрдЧреНрд░рд╛рдлрд░ рдХреЗ рд░реЛрдмреЛрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдерд╛ - рдПрдХ рд╕реНрд╡-рдЪрд╛рд▓рд┐рдд рдордВрдЪ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред рд╡реАрдбрд┐рдпреЛ рдФрд░ рдлреЛрдЯреЛрдЧреНрд░рд╛рдлреА
рд░реЛрдмреЛрдЯ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп:
- рд╡рд╛рдИрдлрд╝рд╛рдИ рдирд┐рдпрдВрддреНрд░рдг
- рдЖрдВрджреЛрд▓рди рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ, рдмрд╛рдПрдВ рдФрд░ рджрд╛рдПрдВ рдореБрдбрд╝рддрд╛ рд╣реИ
- рдЖрдВрджреЛрд▓рди рдХреЗ рджреМрд░рд╛рди рд╡реАрдбрд┐рдпреЛ рд╢реВрдЯрд┐рдВрдЧ рдФрд░ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛
- рдирд┐рдпрдВрддреНрд░рдг рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХрдорд╛рдВрдб рдкрд░ рдЙрдЪреНрдЪ-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдлрд╝реЛрдЯреЛ рд▓реЗрдирд╛ рдФрд░ рдЗрд╕ рдЫрд╡рд┐ рдХреЛ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ред

рдмреЗрд╢рдХ, рд░реЛрдмреЛрдЯ рдХреЛ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдмрд╣реБрдд рдХрдо рд╡рд┐рджреЗрд╢реА рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдкрд░реНрджреЗ, рд░реЛрд╢рдиреА, рд╣реАрдЯрд░ ... рдпрд╛рдиреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╕реЗ, рдЖрдк рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ
рд╡реЗрдмрд┐рдпреЛрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ php, apache, рдЖрджрд┐ рдХреЗ рд╢реВрдиреНрдп рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЬрд▓реНрджреА рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдоред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдЕрдЬрдЧрд░ (рдЬреНрдЮрд╛рди рдХрд╛ рд╕реНрддрд░ рдирд┐рдпреЛрдЬрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ)
- рдПрдЪрдЯреАрдПрдордПрд▓
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, jquery
- рдареАрдХ рд╣реИ, рдЖрдкрдХреЛ рд░рд╛рд╕реНрдкрд┐рд░реЛрдмреЛрдЯ рдмреЛрд░реНрдб рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЛрд▓реНрдбрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдм рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡реЗрдмрд┐рдпреЛрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж:
WebIOPi рдПрдХ рдкреВрд░реНрдг рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ I / O рдврд╛рдВрдЪрд╛ рд╣реИ
WebIOPi рдЖрдкрдХреЛ рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдФрд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╛ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдпрд╛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╕рднреА GPIO рдкреЛрд░реНрдЯ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
тАв HTTP рдФрд░ CoAP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ REST API рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде
тАв рд╕рд░реНрд╡рд░ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ
тАв GPIO, рд╕реАрд░рд┐рдпрд▓, I2C, SPI, 1-рд╡рд╛рдпрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
тАв DAC, ADC, рд╕реЗрдВрд╕рд░ рд╕рд╣рд┐рдд 30 рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд░реНрдерди ...
тАв рдкрд╛рдпрдерди 2 рдФрд░ 3 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд
тАв рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдХрд▓реНрдк
тАв рдкрд╛рд╕рд╡рд░реНрдб-рд▓реЙрдЧрд┐рди рд╕реБрд░рдХреНрд╖рд╛
тАв рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг
WebIOPi рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдкрд╛рдпрдерди, 2.7 рдпрд╛ 3.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕реНрдерд╛рдкрдирд╛ рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдЪрд╛рд░ рдХрдорд╛рдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рд╕реНрдерд╛рдиреАрдп рдпрд╛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ:
$ wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz $ tar xvzf WebIOPi-0.6.0.tar.gz $ cd WebIOPi-0.6.0 $ sudo ./setup.sh
рдЕрдм рдЖрдк рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░ рд╡реЗрдмрд┐рдпреЛрдкреА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$ sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port] Options: -h, --help Display this help -c, --config file Load config from file -l, --log file Log to file -s, --script file Load script from file -d, --debug Enable DEBUG Arguments: port Port to bind the HTTP Server
рд╕рдЪ рд╣реИ, рдЬреИрд╕реЗ рд╣реА рдЖрдк Ctrl-C рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреВрд░реА рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗрдмрд┐рдпреЛ рд╕рд░реНрд╡рд░ рдФрд░ GPIO рдкреЛрд░реНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдЦреЛ рдЬрд╛рдПрдЧреАред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЗрдмрд┐рдпреЛрдкреА рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ:
$ sudo /etc/init.d/webiopi start $ sudo /etc/init.d/webiopi stop
рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрд░рдкреАрдЖрдИ рд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рдЖрдк рд╡реЗрдмрд┐рдпреЛрдкреА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ sudo update-rc.d webiopi defaults
рдХреЛрд╢рд┐рд╢
рдЕрдм рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЖрдк рдХрд┐рд╕реА рднреА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ http: // [IP]: 8000 рдбрд╛рдпрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ RPI рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред [рдЖрдИрдкреА] рдЖрдИрдкреА рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реЙрдЧрд┐рди "webiopi" рд╣реИ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб "рд░рд╛рд╕реНрдкрдмреЗрд░реА" рд╣реИред
рд╕рдЪ рд╣реИ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓реЗрдЦрдХ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдХреЛрдб рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдХреНрд░реЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА I / O рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЖрдк рдХрд┐рд╕реА рднреА рдкреИрд░ рдХреЗ рдСрдкрд░реЗрд╢рди рдореЛрдб рдХреЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдорд╛рди рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
WebCamBot - рд░реЛрдмреЛрдЯ рдлреЛрдЯреЛрдЧреНрд░рд╛рдлрд░
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреБрдЫ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде
рдХрдВрдмреЛрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рдореЛрдЯрд░ рдЪрд╛рд▓рдХ рдХреЛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд░рд╛рд╕реНрдкрд┐рд░реЛрдмреЛрдЯ рдмреЛрд░реНрдб рдкрд░, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдЗрд╕ рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╡реЗрдм-рдХреИрдорд░рд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм-рдмрдЯрди рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗред рд░рд╛рд╕реНрдкрд┐рд░реЛрдмреЛрдЯ рдмреЛрд░реНрдб рдкрд░, рд░реИрдЦрд┐рдХ рдирд┐рдпрд╛рдордХ рдХреЛ рдПрдХ рдирд╛рдбрд╝реА рдирд┐рдпрд╛рдордХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд░рд╛рд╕реНрдкрд┐рд░реЛрдмреЛрдЯ рдмреЛрд░реНрдб рд╕реЗ рдЬреБрдбрд╝реЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ рдореЛрдЯрд░реНрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд╛рд░ рдЖрд░рдкреАрдЖрдИ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рд╡реЗрдм рдХреИрдорд░рд╛ рджреЛ рдореЛрдб рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ - mjpg-streamer рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреНрдпреВрдирддрдо рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдФрд░ рдЕрдзрд┐рдХрддрдо рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рдлрд╝реЛрдЯреЛ рд▓реЗрдирд╛ред рдХрд┐рд╕реА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдХрд░ рдореЛрдб рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: stream.sh, stream_stop.sh, photo.shред
рдЖрдк рд╢рд╛рдпрдж рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ mjpg-streamer рдФрд░ fswebcam рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм-рдХреИрдорд░рд╛ рдХреЛ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХреАред
рдлрд╝реЛрдЯреЛрдЧреНрд░рд╛рдлрд╝рд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
рд╡реЗрдм рдХреИрдорд░рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:
рдХреИрдорд░рд╛ рдмрдВрдж рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕
WebIOPi рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрдирд╛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реЗрдмрд┐рдпреЛрдкреА рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦреЗ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрд░рдкреАрдЖрдИ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВред рдлрд┐рд░ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЗрдЬ рдХреЗ HTML рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
button = webiopi().createButton("bt_up", "/\\", go_forward, stop);
Go_forward рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
function go_forward() { webiopi().callMacro("go_forward"); }
рдпрд╛рдиреА рдпрд╣ рд╕рд┐рд░реНрдл go_forward рдореИрдХреНрд░реЛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рдмрдЯрди рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЖрдк рдХреАрдмреЛрд░реНрдб рдирд┐рдпрдВрддреНрд░рдг рдХреА рдирдХрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$(document).keydown(function(e) { switch(e.which) { case 37:turn_left(); break;
рдореИрдХреНрд░реЛ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдФрд░ рдлрд╝реЛрдЯреЛ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд div рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
function camera() { $("#vid").html(''); webiopi().callMacro("camera"); $("#vid").html('<img width="320" height="240" src="http://raspberrypi.local:8001/?action=stream">'); } function photo() { $("#ph").html(''); webiopi().callMacro("photo"); $("#ph").html('<img src="Raspirobot/ph.jpg">'); }
WebIOPi рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓
/ etc / webiopi / рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ
рдЗрд╕рдореЗрдВ рдХрдИ рдмреНрд▓реЙрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреИрд╕реЗ ini windows рдлрд╛рдЗрд▓реНрд╕, рдореИрдХреНрд░реЛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдмреНрд▓реЙрдХ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдмреНрдпрд╛рдЬ рдХрд╛ рд╣реИ:
[SCRIPTS]
рдЗрд╕ рдмреНрд▓реЙрдХ рдореЗрдВ, macros рд╡рд╛рд▓реЗ python рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде format
name = sourcefile рдореЗрдВ рдПрдХ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВред
рдФрд░ рдмреНрдпрд╛рдЬ рдХрд╛ рджреВрд╕рд░рд╛ рдмреНрд▓реЙрдХ рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рдЗрд╕рдореЗрдВ, рдЖрдк рдЙрд╕ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╕рд░реНрд╡рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдкрд╛рд╕рд╡рд░реНрдб рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред
[HTTP]
рдкрд╛рдЗрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ
WebIOPi рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реЗрдЯрдЕрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрдм рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдпреЗ рдлрд╝рдВрдХреНрд╢рди I / O рдкреЛрд░реНрдЯ рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ @ webiopi.macro рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ go_forward рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд░реНрдгрди рд╣реИ рдЬреЛ рд░реЛрдмреЛрдЯ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ:
@webiopi.macro def go_forward(): left_forward() right_forward()
рд╡реЗрдмрдХреИрдо рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрд▓ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ:
def camera_start(): return_code = call("/usr/share/webiopi/htdocs/app/Raspirobot/stream.sh", shell=True)
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдорд┐рд▓рд╛:

рдЖрд╡реЗрджрди рдбрд┐рдмрдЧрд┐рдВрдЧ
рдпрджрд┐ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рд▓рд╛ рд╕рд░реНрд╡рд░ рдХрд╛ рдкреЗрдЬ рдирд╣реАрдВ рдЦреБрд▓рддрд╛ рд╣реИ, рддреЛ рд╕рдВрднрд╡рдд: рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИред рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
sudo python ./cambot.py рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣
/ var / folder
/ рдореЗрдВ рд╕реНрдерд┐рдд webiopi log рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рднреА рд╣реИред
log / webiopiрдпрджрд┐ рдкреЗрдЬ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡реЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рд╡реАрдбрд┐рдпреЛ - рд░реЛрдмреЛрдЯ рдХрд╛ рдХрд╛рдо
рд╕рдВрдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ
рд╣реИрдВред