рд╣рд╛рд▓ рд╣реА рдореЗрдВ,
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдЬрд╛рд╡рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ habrahabr рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рджреЗрдЦрдХрд░ рдмрд╣реБрдд рдЙрдореНрдореАрджреЗрдВ рдереАрдВ, рдФрд░ рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдПрдХ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдерд╛!
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рд╕рд┐рд░реНрдл рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдпрд╛ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:
1. рд░рд╛рд╕реНрдкрдмреЗрд░реА рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЬрд╛рд╡рд╛ рдХреА рдЧрддрд┐ рддреБрд▓рдиреАрдп рд╣реИ?
2. рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рдЬрд╛рд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ?
3. рдХреНрдпрд╛ GPIO рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ?
рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ: рдХрдЯреМрддреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ (рдирдЧреНрди рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдФрд░ рдлреЛрдЯреЛ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ)
рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рдореВрд▓ рд▓реИрдкрдЯреЙрдк рд╕реЗ тАЛтАЛрдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреНрдп рд▓рд┐рдирдХреНрд╕ рдорд╢реАрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред
рдЗрд╕рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд░рд╛рд╕реНрдкрдмреЗрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╣рдо ssh-keygen рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдбрд╝реА рдмрдирд╛рддреЗ рд╣реИрдВред
рдлрд┐рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
$ scp /home/user1/.ssh/id_rsa.pub pi@raspberry_server:~/ $ ssh pi@raspberry_server $ mkdir .ssh $ cat ~/id_rsa.pub >> ~/. ssh /authorized_keys
рд╕рддреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП Ctrl-D рджрдмрд╛рдПрдБред рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ - рд▓рд╛рднред рдкрд╛рд╕рд╡рд░реНрдб рдорд╛рдВрдЧреЗ рдмрд┐рдирд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ред
рд╣рдо рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рджреЗрдЦрддреЗ рд╣реИрдВ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдг рдорд┐рд▓реЗред рдмреЗрд╢рдХ, рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдкреВрд░реА рд╕рдЪреНрдЪрд╛рдИ рдирд╣реАрдВ рдмрддрд╛рдПрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ
$ cat /proc/cpuinfo
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ: swp рдЖрдзрд╛ рдЕрдВрдЧреВрдареЗ fastmult vfp edsp рдЬрд╛рд╡рд╛ tls
рд╡реИрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдореБрдЭреЗ рдЦреБрд╢ рдХрд░ рджреЗрдЧрд╛ред
рдЬрд╛рд╡рд╛ рдПрд╕рдИ рдПрдВрдмреЗрдбреЗрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдУрдкрдирдЬреЗрдбрдХреЗ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ - рджреЗрдЦреЛред
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдУрд░реЗрдХрд▓ рд╕реЗ рдЬрд╛рд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА (рд╡реИрд╕реЗ рднреА, рдореИрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЖрдИрдбреАрдИ рдореЗрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд▓реИрдкрдЯреЙрдк рдкрд░ рдЬрд╛рд╡рд╛ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ), рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛:
рддреЛ, рд╣рдо Oracle рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд╛рд╡рд╛ рд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рдкреИрдХреЗрдЬ (ARMv6 / 7 Linux - Headless - Client Compiler EABI, VFP, HardFP ABI, Little Endian) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ / home / pi рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднрд░рддреЗ рд╣реИрдВред
рд╣рдо рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░
1. рд╕рдВрдЧреНрд░рд╣ рдХреЛ / рдСрдкреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
$ sudo tar -xvf ejre-7u45-fcs-b15-linux-arm-vfp-hflt-client_headless-26_sep_2013.tar.gz -C /opt
2. рдЖрдЧреЗ, рдкрд╛рде рдЪрд░ рдореЗрдВ рдЬрд╛рд╡рд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрде рдЬреЛрдбрд╝реЗрдВ рдФрд░ JAVA_HOME рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
$ sudo chmod a+w /etc/profile $ echo 'export PATH=/opt/ejre1.7.0_45/bin:$PATH' >> /etc/profile $ echo 'export JAVA_HOME=/opt/ejre1.7.0_45' >> /etc/profile $ sudo chmod aw /etc/profile
Ssh рдФрд░ рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдмреВрдЯ
$ java -version
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
рдХрд╛рдо рдХреА рдЧрддрд┐ рдХрд╛ рдкрд░реАрдХреНрд╖рдг
рдЕрдм рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рдЬрд╛рд╡рд╛ рдХрд┐рддрдирд╛ рдзреАрдорд╛ / рддреЗрдЬ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рдкрдХ рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЗрд╡рд▓ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреА рдЧрддрд┐ рдореЗрдВ рдЕрдВрддрд░ рдХреЗ рдЕрдиреБрдорд╛рдирд┐рдд рдХреНрд░рдо рдХреЛ рджрд┐рдЦрд╛рдирд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рдиреЗрдЯрдмреБрдХ рдХреЛ рдПрдПрдордбреА рдИ -300 рдПрдкреАрдпреВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде 1.3 рд╣рд░реНрдЯреНрдЬ рдХреА рдШрдбрд╝реА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЪреБрдирд╛ (рдпрд╛рдиреА, рд▓рдЧрднрдЧ рджреЛ рдмрд╛рд░ рдЬрд┐рддрдирд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдХрд╛)ред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдПрд░рд╛рдЯреЛрд╕реНрдердиреАрдЬ рдХреА рдЫрд▓рдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрднрд╛рдЬреНрдп рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдХреЛрдИ рднреА рд░реБрдЪрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ: public class RaspTest { public static void main(String[] args) { int maxPrimesCount = 40000; int currentPrimesCount = 1; long prevTime, execTime; prevTime = System.currentTimeMillis(); long[] primes = new long[maxPrimesCount]; long currentNumber = 3; boolean isPrime = false; primes[0]=2; while (currentPrimesCount < maxPrimesCount) { isPrime = true; for (int i = 0; i < currentPrimesCount; i++) { if (currentNumber % primes[i] == 0) { isPrime = false; break; } } if (isPrime) { primes[currentPrimesCount] = currentNumber; currentPrimesCount++; } currentNumber++; } execTime = System.currentTimeMillis() - prevTime; System.out.println(execTime); System.out.print(currentNumber-1); } }
рдХреБрд▓:
рдиреЗрдЯрдмреБрдХ рдиреЗ 89 рд╕реЗрдХрдВрдб рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА - 444 рд╕реЗрдХрдВрдб рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдпрд╛ред
рдХреБрд▓: рдПрдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд░ рд▓рдЧрднрдЧ рдкрд╛рдВрдЪ рдмрд╛рд░ рдзреАрдорд╛ред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдХрд╛рдлреА рдЕрдкреЗрдХреНрд╖рд┐рдд, рдШрдбрд╝реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдЕрдВрддрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред
рдЕрдЧрд░ рд╣рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд▓рдВрдмреЗ рд╕реЗ рдЗрдВрдЯ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрдЧрд╛ред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдиреЗрдЯрдмреБрдХ рдиреЗ 38 рд╕реЗрдХрдВрдб, рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА - 65 рд╕реЗрдХрдВрдб рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдпрд╛ред
рдореБрдЭреЗ рд╕реБрдЦрдж рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖред
рдирд┐рд╖реНрдХрд░реНрд╖: рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди
рдХреА рдЧрддрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣реИред
GPIO рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдЬреЛрдХрд░ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдПрдХ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдореЗрдВ, рд╡рдХреНрддрд╛рдУрдВ рдиреЗ рдЬрд╛рд╡рд╛ рдПрдВрдмреЗрдбреЗрдб рдПрдордИ (рдорд╛рдЗрдХреНрд░реЛ рд╕рдВрд╕реНрдХрд░рдг) рдореЗрдВ рдЬреАрдкреАрдЖрдИрдУ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ред
рд╕реНрдЯреИрдВрдбрдЖрд░реНрдЯ рд╕рдВрд╕реНрдХрд░рдг, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕рдХреЗ рдЕрдиреБрд░реВрдк рдХрдХреНрд╖рд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ Google рдХреА рдУрд░ рд░реБрдЦ рдХрд┐рдпрд╛ рдФрд░ рдкрд╛рдИ 4 рдЬреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ (www.pi4x.com) рдХреЛ рдкрд╛рдпрд╛ред рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдЕрдм 0.0.5 рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 1 рдХреЛ рдлрд┐рд▓рд╣рд╛рд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдлрд┐рд░ рднреА, рдореИрдВ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1 рдкрд░, рдореЗрд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдорд╛рдирдХ рд▓реЛрдЧреЛрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк Pi4J рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВред
рдореИрдВ рдкрд╣рд▓реЗ рдкреЛрд░реНрдЯ рдкрд░ рдПрд▓рдИрдбреА рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реВрдВ, рджреВрд╕рд░реЗ рдмрдЯрди рдкрд░, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реВрдВ:
public class Test1 { public static void main(String[] args) throws InterruptedException { GpioController gpioController = GpioFactory.getInstance(); GpioPinDigitalOutput gpioPinDigitalOutput = gpioController.provisionDigitalOutputPin(RaspiPin.GPIO_01, "MyLED", PinState.HIGH); GpioPinDigitalInput gpioPinDigitalInput = gpioController.provisionDigitalInputPin(RaspiPin.GPIO_02,PinPullResistance.PULL_DOWN); gpioPinDigitalInput.addListener(new GpioPinListenerDigital() { @Override public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent gpioPinDigitalStateChangeEvent) { System.out.println("GPIO Pin changed" + gpioPinDigitalStateChangeEvent.getPin() + gpioPinDigitalStateChangeEvent.getState()); System.out.println("Sleeping 5s"); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Unsleep"); } }); while (true) { gpioPinDigitalOutput.toggle(); Thread.sleep(500); } } }
рдореИрдВ рдкреИрдХреЗрдЬ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ ... рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ I / O рдкреЛрд░реНрдЯ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЯреАрдо рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
$ sudo java
/ рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рд╡рд╛ рдорд╢реАрди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдмрдирд╛рдПрдВ:
ln -s /opt/ejre1.7.0_45/bin/java /bin/java
рд╣рдо рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджреАрдкрдХ рдЭрдкрдХрд╛рддрд╛ рд╣реИ, рдЬрдм рдЖрдк рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдзрд╛рд░рд╛ рд╕реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рджреАрдкрдХ рдЭрдкрдХреА рд▓реЗрддрд╛ рд░рд╣рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдмрдЯрди рд╕реЗ рдШрдЯрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖:
1. рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдПрдХ рдЦрд┐рд▓реМрдирд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдХреНрд╖рдорддрд╛рдУрдВ рд╡рд╛рд▓рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИред
2. рдЬрд╛рд╡рд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рд╣рдж рддрдХ рдХрдо рд╣реИред
3. рдЬрд╛рд╡рд╛ рдФрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп рд╣реИ (рдЬреЛ рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ)ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред