Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

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

Tomoyuki Sugita

December 15, 2018
Tweet

More Decks by Tomoyuki Sugita

Other Decks in Technology

Transcript

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

    View Slide

  2. ਿా஌ࢸ!UPNPUPNPCJMF
    w *TBBYͷ$IJFG1SPEVDU0⒏DFS
    w *P5ͷ࢓ࣄ΍ͬͯ·͢ɻ
    ࣗݾ঺հ
    ஶॻ

    ʮΤϯδχΞͷͨΊͷ8PSE1SFTT։ൃೖ໳ʯ

    ૿࡮͠·ͨ͠ʂ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. View Slide

  7. ηογϣϯ

    View Slide

  8. 1)1෺ཧ

    View Slide

  9. IUUQTIUNMFYQFSUTKQZPVUPZΑΓ

    View Slide

  10. ͳΜͰʁ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. ഑ઢ͠·͢
    IUUQXXXIPXJTJUKQqJDLFSJOHMFEΑΓ

    View Slide

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

    View Slide

  17. ઀ଓ֬ೝ͠·͢
    $ echo 4 > /sys/class/gpio/export
    $ ls -1 /sys/class/gpio/gpio4
    active_low
    device
    direction
    edge
    power
    subsystem
    uevent
    value

    View Slide

  18. ઀ଓ֬ೝʢଓ͖ʣ͠·͢
    # GPI4Λग़ྗϞʔυʹ
    $ echo out > /sys/class/gpio/
    gpio4/direction
    # ஋ΛHIGH=1ʹઃఆ
    $ echo 1 > /sys/class/gpio/gpio4/
    value

    View Slide

  19. ޫͬͨ

    View Slide

  20. Φϑʹ͠·͢
    # ஋ΛLOW=0ʹઃఆ
    $ echo 0 > /sys/class/gpio/gpio4/
    value
    # ΫϦʔϯΞοϓ͠·͢
    $ echo 4 > /sys/class/gpio/
    unexport

    View Slide

  21. ͜ΕΛ
    1)1Ͱ΍ͬͯΈ·͢

    View Slide

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

    View Slide

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

    View Slide

  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 )

    View Slide

  25. MFEQIQ
    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);

    View Slide

  26. ࣮ߦͩʂ
    $ sudo php led.php

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    IUUQTJTBBYVHDPOOQBTTDPNFWFOU

    View Slide

  31. "QQFOEJY

    View Slide

  32. ࢀߟʹͨ͠αΠτ
    w 1)1Ͱͷ(1*0ૢ࡞c'FJKPBKQ

    IUUQXXXGFJKPBKQMBCPSBUPSZQSPHSBNNJOH
    HQJP8JUI1IQ
    w 1)[email protected]@DPOUFOUT.BOVBM

    IUUQQIQOFUNBOVBMKBGVODUJPOpMFQVU
    DPOUFOUTQIQ
    w 3BTQCFSSZ1JʢϥζϕϦʔύΠʣɿ-νΧʢ-&%Λ
    ఺໓ͤ͞Δిࢠ޻࡞ʣʛಈը෇͖ʛ*5اըݚڀॴ

    IUUQXXXIPXJTJUKQqJDLFSJOH
    MFE

    View Slide

  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

    View Slide