PHP+物理のセッションが一つもなくて悲しかったので自分でやりました。 デモ動画:https://twitter.com/tomotomobile/status/1074131194567045121 ソースコード:https://github.com/tomotomo/php-led-chika
1)1Ͱ-νΧ4BU1)1ΧϯϑΝϨϯε࠙ձ-5ਿాࢸ !UPNPUPNPCJMF
View Slide
ਿాࢸ!UPNPUPNPCJMFw *TBBYͷ$IJFG1SPEVDU0⒏DFSw *P5ͷࣄͬͯ·͢ɻࣗݾհஶॻ ʮΤϯδχΞͷͨΊͷ8PSE1SFTT։ൃೖʯ ૿͠·ͨ͠ʂ
JTBBY ΞΠβοΫεͬͯΔਓʁIUUQTJTBBYJP
JTBBYΛ͏ͱ*P5σόΠεͷ։ൃ͕؆୯8FCϥΠΫʹ*P5σόΠεʹσϓϩΠʂ։ൃڥͰ্ख͘ಈ͍ͨͷΛ1VTI.255.255
ࠓͷλΠϜςʔϒϧ
ηογϣϯ
1)1ཧ
IUUQTIUNMFYQFSUTKQZPVUPZΑΓ
ͳΜͰʁ
1)1Ͱཧͷૢ࡞"Ͱ͖Δ#Ͱ͖ͳ͍࣭
PHPͰLνΧ(LEDνΧνΧ)5%%ΑΓ%%%ΑΓ-&%Ͱ͠ΐʂ
͏ͷ3BTQCFSSZ1JҰࣜ ϒϨουϘʔυ -&%δϟϯύʔϫΠϠʔ߅
ઢ͠·͢IUUQXXXIPXJTJUKQqJDLFSJOHMFEΑΓ
ϥζύΠʹϩάΠϯ͠·͢SBTQCFSSZQJMPHJOQJ1BTTXPSESBTQCFSSZ
ଓ֬ೝ͠·͢$ echo 4 > /sys/class/gpio/export$ ls -1 /sys/class/gpio/gpio4active_lowdevicedirectionedgepowersubsystemueventvalue
ଓ֬ೝʢଓ͖ʣ͠·͢# GPI4Λग़ྗϞʔυʹ$ echo out > /sys/class/gpio/gpio4/direction# ΛHIGH=1ʹઃఆ$ echo 1 > /sys/class/gpio/gpio4/value
ޫͬͨ
Φϑʹ͠·͢# ΛLOW=0ʹઃఆ$ echo 0 > /sys/class/gpio/gpio4/value# ΫϦʔϯΞοϓ͠·͢$ echo 4 > /sys/class/gpio/unexport
͜ΕΛ1)1ͰͬͯΈ·͢
w TZTDMBTTHQJPFYQPSUϑΝΠϧʹzzΛॻ͖ࠐΉw TZTDMBTTHQJPHQJPEJSFDUJPOϑΝΠϧʹzPVUzΛॻ͖ࠐΉw TZTDMBTTHQJPHQJPWBMVFϑΝΠϧʹzzΛॻ͖ࠐΉ1)1ͰΓ͍ͨ͜ͱ
ϑΝΠϧʹॻ͖ࠐΉͱ͍͑ɺ
1)1࣮ߦڥΛ༻ҙ$ sudo apt update$ sudo apt upgrade$ sudo apt install php$ php -vPHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 201811:36:49) ( NTS )
MFEQIQdefine('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);
࣮ߦͩʂ$ sudo php led.php
5ඵޫͬͯফ͑ͨʂʂʂಈըɿIUUQTUXJUUFSDPNUPNPUPNPCJMFTUBUVT
1)1Ͱ-νΧͰ͖ͨʙʂ
࠷৽ͷΞϧΰϦζϜJTBBY͕͓ಧ͚˞Πϝʔδͯ͢Λ࠷৽ʹʂ
JTBBYձΓ·͢!ޒాIUUQTJTBBYVHDPOOQBTTDPNFWFOU
"QQFOEJY
ࢀߟʹͨ͠αΠτw 1)1Ͱͷ(1*0ૢ࡞c'FJKPBKQ IUUQXXXGFJKPBKQMBCPSBUPSZQSPHSBNNJOHHQJP8JUI1IQw 1)[email protected]@DPOUFOUT.BOVBM IUUQQIQOFUNBOVBMKBGVODUJPOpMFQVUDPOUFOUTQIQw 3BTQCFSSZ1JʢϥζϕϦʔύΠʣɿ-νΧʢ-&%Λ໓ͤ͞Δిࢠ࡞ʣʛಈը͖ʛ*5اըݚڀॴ IUUQXXXIPXJTJUKQqJDLFSJOHMFE
զʑͷಇ͖Ͱɺզʑͷੜ׆Λվળ͠ੈքΛΑΓࣗ༝ʹ͠·͠ΐ͏ɻ*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