Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ϋϜελʔΛࢹ͢ΔγεςϜΛ Raspberry Pi ͱ PHP ͷ Swoole Ͱ࡞ͬͨ 2019/04/24 PHPษڧձ@౦ژ ΊΓʙ
Slide 2
Slide 2 text
ͩΕʁ
Slide 3
Slide 3 text
ΊΓʙ (@m3m0r7) גࣜձࣾ GameWith Ͱ αʔόʔαΠυ݉ϑϩϯτΤϯυΤϯδχΞ ͱͯ͠ಇ͍ͯ·͢ɻ ϐʔΤΠνϐʔνϣοτσΩϧ 2019 ͷ 5 ݄ʹΊ·͢ɻస৬׆ಈதͰ͢ɻ
Slide 4
Slide 4 text
͏ͪͷϋϜελʔͷ͝հ
Slide 5
Slide 5 text
Lily (ϦϦΟ) ੑผɿঁͷࢠ ੜɿ2018 11 ݄ ͖ͳ৯ɿ Ϗεέοτ, Ϧϯΰͷ͔͡Γ ݏ͍ͳ৯ɿསͷ͔͡Γ झຯɿڅਫثͷϊζϧΛΨδΨδ͢Δ͜ͱɻΔΑΓ͖Έ͍ͨͰ͢
Slide 6
Slide 6 text
Έͳ͞ΜɺSwoole Λͬͨ͜ͱ͋Γ·͔͢ʁ
Slide 7
Slide 7 text
ͦͯ͠ɺRaspberry Pi Λͬͨ͜ͱ͋Γ·͔͢ʁ
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
ϊʔϚϧΧϝϥϞδϡʔϧ ؒ༻ΧϝϥϞδϡʔϧ
Slide 10
Slide 10 text
͏ͪͷ Raspberry Pi Ͱ͢
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
͏ͪͷϋϜελʔઐ༻ͷϥοΫͰ͢
Slide 13
Slide 13 text
͜ͷ͕ࠓճͷ Raspberry Pi Λ ͓͍ͯΔͱ͜ΖʹͳΓ·͢
Slide 14
Slide 14 text
ٕज़ελοΫ
Slide 15
Slide 15 text
- Raspbian (Raspberry Pi) - PHP 7.3 - Swoole v4 - Python 3 - React.js (+ Gulp) ओʹ͜ͷ 5 ͭ
Slide 16
Slide 16 text
අ༻͍͘Βͩͬͨͷ͔ʁ
Slide 17
Slide 17 text
- Raspberry Pi 3 Model B * 2 ≒ 5,200 * 2 ≒ 10,000 ԁ - ΧϝϥϞδϡʔϧ * 2 ≒ 5,000 * 2 ≒ 10,000 ԁ - VPS (ࠓճ ConoHa) ≒ 2,500/m ԁ - ϧʔλʔ ≒ 15,000 ԁ Πχγϟϧίετ ≒ 37,500 ԁ ϥϯχϯάίετ ≒ 2,500 ԁ
Slide 18
Slide 18 text
ׂͱ͍͍ஈ͠·͢
Slide 19
Slide 19 text
ϨΠςϯγʁ
Slide 20
Slide 20 text
ମײ 0.5 ඵ͘Β͍
Slide 21
Slide 21 text
αʔόʔͷߏ
Slide 22
Slide 22 text
ࣗ LAN VPS (ConoHa) PiCamera Ϟδϡʔϧ 4 byte ͷunsigned long ͳαΠζσʔλ + picamera.start_recording (mjpeg) ϊʔϚϧΧϝϥ ͔Β TCP Ͱૹ৴ φΠτΧϝϥ͔Β TCP Ͱૹ৴
Slide 23
Slide 23 text
ࣗ LAN ଆͲ͏ͳ͍ͬͯΔͷ͔ʁ
Slide 24
Slide 24 text
- ͦͦࣗͷωοτϫʔΫͷϙʔτ։͚ͨ͘ͳ͔ͬͨ - தܧαʔόʔ͓͚ສࣄղܾʂ͘͞Βͷ VPS ͷ౦ژϦʔδϣϯ͕ۭ͍ͯ ͳ͔ͬͨͷͰɺࠓճಅͷ ConoHa ΛνϣΠε - ϧʔλʔΛ৽ௐͯ͠࠷ߴͷڥʹͨ͠ - Python3 ͷ picamera Λͬͯແݶʹ VPS (ConoHa) ʹૹΓ͚͍ͭͯ·͢
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
VPS ଆͲ͏ͳ͍ͬͯΔͷ͔ʁ
Slide 27
Slide 27 text
- PHP ͷ Swoole ͷ Coroutine Λͬͯ Raspberry Pi ͔Βͷσʔλͷड৴ ༻αʔόʔ, ConoHa σʔλΛૹΔͨΊͷૹ৴༻αʔόʔΛ༻ҙ - ͨͬͨ͜Ε͚ͩʂ Simple is best.
Slide 28
Slide 28 text
※ Ұ෦ͷίʔυ
Slide 29
Slide 29 text
࣮ࡍͷϓϩμΫτͷը໘
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
ετϦʔϛϯάͷςετ
Slide 32
Slide 32 text
Ͳ͏͔ͬͨʁ
Slide 33
Slide 33 text
ΧϝϥͷԼͰखΛৼΓͭͭϐʔεΛ͢Δ
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
- mjpeg Motion JPEG ͷུɻ - H.264ݕ౼ͨ͠ͷͰ͕͢ɺ ffmpeg Λ௨͢ͱϨΠςϯγ͕ 5 ඵ͘Β͍૿͑Δ ͕͋Γ, mjpeg ΛνϣΠε - MIME type multipart/x-mixed-replace Ͱৗ࣌ίωΫγϣϯΛషΔ - (ͳͷͰɺϒϥβͷλϒϩʔσΟϯάதͷ··) - ϨΠςϯγ ମײ 0.5 ඵ͘Β͍ɻͦ͜ΒΜͷͷΑΓૣ͍ - ΊͬͪΌ͵Δ͵Δʹಈ͘
Slide 36
Slide 36 text
Swoole ΛͬͯΈͯͷײ
Slide 37
Slide 37 text
- PHP Ͱඇಉظॲཧ͑Δͷਆʂ - Ϗϧυ࣌ʹ —enable-maintainer-zts Λ͠ͳ͍͍ͯ͘ͷͰɺಋೖͷϋʔυ ϧ͕͍ ( phpize ͚ͩͰ͍͚Δ ) - Atomic ͕ͤΊͯ serializable ͳͷ͑ΔΑ͏ʹͳΔͱͳ͓خ͍͠ - ݱঢ়Ͱ͖ͳ͍ͷͰɺ Channel ͰແཧΓ Coroutine ؒͷσʔλͷड͚ ͠Λ͍ͯ͠·͢ɻ
Slide 38
Slide 38 text
՝
Slide 39
Slide 39 text
ೋޙʹεΫϦϓτ͕མͪΔ
Slide 40
Slide 40 text
ϩάऔͬͯͳ͍ͷͰམͪͨ ݪҼ͕Θ͔Βͳ͍ʗ(^o^)ʘ
Slide 41
Slide 41 text
Ҏ্Ͱ͢
Slide 42
Slide 42 text
THANK YOU FOR YOUR LISTENING !!