PHPでLチカ(PHPカンファレンス2018 懇親会)

PHPでLチカ(PHPカンファレンス2018 懇親会)

PHP+物理のセッションが一つもなくて悲しかったので自分でやりました。
デモ動画:https://twitter.com/tomotomobile/status/1074131194567045121
ソースコード:https://github.com/tomotomo/php-led-chika

9c5189b33ab575b7f8b155f7f7a0fa60?s=128

Tomoyuki Sugita

December 15, 2018
Tweet

Transcript

  1. 1)1Ͱ-νΧ 4BU 1)1ΧϯϑΝϨϯε࠙਌ձ-5 ਿా஌ࢸ !UPNPUPNPCJMF

  2. ਿా஌ࢸ!UPNPUPNPCJMF w *TBBYͷ$IJFG1SPEVDU0⒏DFS w *P5ͷ࢓ࣄ΍ͬͯ·͢ɻ ࣗݾ঺հ ஶॻ
 ʮΤϯδχΞͷͨΊͷ8PSE1SFTT։ൃೖ໳ʯ
 ૿࡮͠·ͨ͠ʂ

  3. JTBBY ΞΠβοΫε ஌ͬͯΔਓʁ IUUQTJTBBYJP

  4. JTBBYΛ࢖͏ͱ*P5σόΠεͷ։ൃ͕؆୯ 8FCϥΠΫʹ *P5σόΠεʹσϓϩΠʂ ։ൃ؀ڥͰ্ख͘ ಈ͍ͨ΋ͷΛ1VTI .255 .255

  5. ࠓ೔ͷλΠϜςʔϒϧ

  6. None
  7. ηογϣϯ

  8. 1)1 ෺ཧ 

  9. IUUQTIUNMFYQFSUTKQZPVUPZΑΓ

  10. ͳΜͰʁ

  11. 1)1Ͱ෺ཧͷૢ࡞͸ "Ͱ͖Δ #Ͱ͖ͳ͍ ࣭໰

  12. 1)1Ͱ෺ཧͷૢ࡞͸ "Ͱ͖Δ #Ͱ͖ͳ͍ ࣭໰

  13. PHPͰLνΧ (LEDνΧνΧ) 5%%ΑΓ%%%ΑΓ-&%Ͱ͠ΐʂ

  14. ࢖͏΋ͷ 3BTQCFSSZ1J Ұࣜ ϒϨουϘʔυ -&% δϟϯύʔ ϫΠϠʔ ఍߅

  15. ഑ઢ͠·͢ IUUQXXXIPXJTJUKQqJDLFSJOHMFEΑΓ

  16. ϥζύΠʹϩάΠϯ͠·͢ SBTQCFSSZQJMPHJOQJ 1BTTXPSESBTQCFSSZ

  17. ઀ଓ֬ೝ͠·͢ $ echo 4 > /sys/class/gpio/export $ ls -1 /sys/class/gpio/gpio4

    active_low device direction edge power subsystem uevent value
  18. ઀ଓ֬ೝʢଓ͖ʣ͠·͢ # GPI4Λग़ྗϞʔυʹ $ echo out > /sys/class/gpio/ gpio4/direction #

    ஋ΛHIGH=1ʹઃఆ $ echo 1 > /sys/class/gpio/gpio4/ value
  19. ޫͬͨ

  20. Φϑʹ͠·͢ # ஋ΛLOW=0ʹઃఆ $ echo 0 > /sys/class/gpio/gpio4/ value #

    ΫϦʔϯΞοϓ͠·͢ $ echo 4 > /sys/class/gpio/ unexport
  21. ͜ΕΛ 1)1Ͱ΍ͬͯΈ·͢

  22. w TZTDMBTTHQJPFYQPSUϑΝΠϧ ʹzzΛॻ͖ࠐΉ w TZTDMBTTHQJPHQJPEJSFDUJPO ϑΝΠϧʹzPVUzΛॻ͖ࠐΉ w TZTDMBTTHQJPHQJPWBMVFϑΝ ΠϧʹzzΛॻ͖ࠐΉ 1)1Ͱ΍Γ͍ͨ͜ͱ

  23. ϑΝΠϧʹॻ͖ࠐΉͱ͍͑͹ɺ

  24. 1)1࣮ߦ؀ڥΛ༻ҙ $ sudo apt update $ sudo apt upgrade $

    sudo apt install php $ php -v PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS )
  25. MFEQIQ <?php define('GPIO', '/sys/class/gpio'); define('GPIO4', GPIO.'/gpio4'); file_put_contents(GPIO.'/export', 4); file_put_contents(GPIO4.'/direction','out'); file_put_contents(GPIO4.'/value',

    1); sleep(5); file_put_contents(GPIO4.'/value', 0); file_put_contents(GPIO.'/unexport', 4);
  26. ࣮ߦͩʂ $ sudo php led.php

  27. 5ඵޫͬͯফ͑ͨʂʂʂ ಈըɿIUUQTUXJUUFSDPNUPNPUPNPCJMFTUBUVT

  28. 1)1Ͱ-νΧͰ͖ͨʙʂ

  29. ࠷৽ͷΞϧΰϦζϜ͸JTBBY͕͓ಧ͚ ˞Πϝʔδ ͢΂ͯΛ࠷৽ʹʂ

  30. JTBBY๨೥ձ΍Γ·͢ !ޒ൓ా IUUQTJTBBYVHDPOOQBTTDPNFWFOU

  31. "QQFOEJY

  32. ࢀߟʹͨ͠αΠτ w 1)1Ͱͷ(1*0ૢ࡞c'FJKPBKQ
 IUUQXXXGFJKPBKQMBCPSBUPSZQSPHSBNNJOH HQJP8JUI1IQ w 1)1pMF@QVU@DPOUFOUT.BOVBM
 IUUQQIQOFUNBOVBMKBGVODUJPOpMFQVU DPOUFOUTQIQ w

    3BTQCFSSZ1JʢϥζϕϦʔύΠʣɿ-νΧʢ-&%Λ ఺໓ͤ͞Δిࢠ޻࡞ʣʛಈը෇͖ʛ*5اըݚڀॴ
 IUUQXXXIPXJTJUKQqJDLFSJOH MFE
  33. զʑͷಇ͖Ͱɺզʑͷੜ׆Λվળ͠ ੈքΛΑΓࣗ༝ʹ͠·͠ΐ͏ɻ *P5ΤϯδχΞཆ੒Ωοτ I U U Q T  

     Y T I F M M  J P  J T B B Y  J P U  F O H J O F F S L J U