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

実録!ある担当者がみた「謎ガジェット」開発一年史

uzulla
September 07, 2018

 実録!ある担当者がみた「謎ガジェット」開発一年史

at builderscon tokyo 2018 1日目 メインホール
by uzulla

uzulla

September 07, 2018
Tweet

More Decks by uzulla

Other Decks in Programming

Transcript

  1. ࣮࿥ʂ͋Δ୲౰ऀ͕Έͨ
    ʮṖΨδΣοτʯ։ൃ
    Ұ೥࢙
    builderscon tokyo 2018

    View Slide

  2. @uzulla
    PHPer(?)
    ϝʔϧϑΥʔϚʔ
    ౦ژ౎ീԦࢠࢢ

    View Slide

  3. ʮṖΨδΣοτʯͱ͸ʁ
    • ిࢠ໊ࡳ
    • Raspberry pi + e paper display
    • ి஑Λͭͳ͙ͱɺಈ͖ग़໊͢ࡳ
    • https://github.com/builderscon/
    electronic_badge_2018
    • αϙʔλʔϊϕϧςΟ
    • mercari༷ڠࢍʹΑΓ࣮ݱ
    • ໿200ݸ੡଄

    View Slide

  4. USBυϥΠϒʹͳΔ
    • PCͱͭͳ͙ͱɺUSBυϥΠϒͱͯ͠ೝ
    ࣝ͠ɺϑΝΠϧίϐʔՄೳ
    • ʢͪΐͬͱ·͔ͬͯΒʣ
    • PC͔Β͵͍ͯɺిݯΛૠ͠௚͢ͱ
    • ը૾͕εϥΠυγϣʔʂ
    • https://www.youtube.com/watch?
    v=ldZi0VksX1o

    View Slide

  5. Ϋϥ΢υಉظػೳ
    • QRίʔυΛεϚϗͰεΩϟϯ
    • ޷͖ͳը૾ΛΞοϓϩʔυ
    • ໊ࡳΛ࠶ىಈʂ
    • ࣗಈͰ൓өʂʢཁWifiʣIoTͬΆ͍ʂʂ
    • (ձ৔Wifi͸ҰԠॳظઃఆͯ͋͠Γ·͢)
    • (Ϋϥ΢υαʔό͸ޙ೔ऴྃ͠·͢ɺ
    ίʔυ͸ެ։ࡁΈ)
    • https://www.youtube.com/watch?
    v=RRAVv2eyS_Y

    View Slide

  6. Ϗϧίϯ˒ࡾ෼ؒ˒ϋοΩϯά
    • ͦΕ͚ͩ͡Όͳ͍ɺϋοΧϒϧͳ໊ࡳʂ
    • ʢىಈ࣌ؒΛআ͘ʣ

    View Slide

  7. Helloworld
    • NAFUDAΛPCʹͭͳ͗·͢
    • ҎԼͷίʔυΛstartup.shͱͯ͠
    NAFUDAυϥΠϒ௚Լ΁อଘ
    echo "hello NAFUDA world!" | show_txt -
    # ͜ͷαϯϓϧ͸simple-sampleͷதʹ͋Γ·͢
    • (ͪΐͬͱ଴͔ͬͯΒऔΓ֎͠࠶ىಈ)
    • Hello worldʂ
    • ྫ͑͹curlͰσʔλͱ͖ͬͯͯදࣔ΋Ͱ
    ͖Δʂ

    View Slide

  8. show_img
    • ಉ͡ϊϦͰɺը૾΋දࣔͰ͖·͢
    # ը૾ΛDLͯ͠ show_imgͰදࣔ
    curl 'https://builderscon.io/static/images/mrbeacon-001.png' > /tmp/bcon.png
    show_img /tmp/bcon.png

    View Slide

  9. ϋʔυ΋৮Γ΍͍ͧ͢ʂ
    • GPIOΛ࠹͕ͳ͍ߏ଄ʂ
    • ݟ͍ͯͯෆ҆ʹͳΔʁςʔϓΛషΔͳ
    Ͳ͠·͠ΐ͏ʂ

    View Slide

  10. • ϒϨουϘʔυΛ༨നʹ͸Γ͚ͭͨΓ
    • ϘλϯΛ͚ͭͨΓ
    • LEDΛ͚ͭͨΓ͢Δͱ
    • ͜ͷΑ͏ʹՒʑ͘͠ૉఢʹͳΓ·͢

    View Slide

  11. • ޙ͸͍͍ײ͡ʹ΍͍ͬͯͬͯ͘Εʂৄ͘͠͸GithubͷυΩϡϝ
    ϯτͷdocs/FOR_HACKER.mdʹܝࡌ͞ΕͯΔϤʂ
    • NAFUDAυϥΠϒʹεΫϦϓτ௚ஔ͖͸େม͗͢Δ͔Βɺͬ͞
    ͞ͱdocs/HOW_TO_LOGIN.mdΛݟͯɺϩάΠϯͯ͠Ͷʂ
    • όάϨϙͱ͔͸ISSUEʹ͍ͩ͘͞ʂͰ΋·ͣ͸TROUBLESHOOT.md
    Έͯ͘Εʂ

    View Slide

  12. ঺հ΋͓ΘͬͨͷͰɺຊ୊ɻ
    • ͜ΕΛ200୆ͭͬͨ͘ɺͱ͍͏ͷ͕ࠓճͷ͓࿩Ͱ͢

    View Slide

  13. ຊτʔΫͷ໨త
    • (ࣗ෼͕࡞Βͳͯ͘΋)ṖΨδΣοτ͕΄͍͠!!
    • (࡞Δ|αϙʔτ)͢Δ(ਓ|૊৫)͕૿͑ͯ΄͍͠
    • ผͷṖΨδΣοτ͕ొ৔͠ɺ͜ͷṖΨδΣοτ͕དྷ೥ʹ͸
    ʮฏ੒ͷṖΨδΣοτ…ʯͱ͔ݴΘΕΔΑ͏ʹͳͬͯ΄͍͠ʂ
    • ʮٕ͘͢͝ज़͕͍ΔΘ͚Ͱ͸ͳ͍ʂʯ
    • (ࢲ͸ૉਓͰ͢!!ϓϩͷࢦಋΛ͏͚·͠ΐ͏)

    View Slide

  14. ࠷ॳʹ·ͱΊ
    • ҙཉ͕େ੾
    • ͕࣌ؒେ੾
    • ͓͕ۚେ੾
    • ஥͕ؒେ੾
    • ৔͕େ੾

    View Slide

  15. ͋Β͢͡
    ʮ͋Δஉ͸ΠϯλʔωοτͰݟ͔͚ΔʰόοδʱʹಌΕ͍ͯͨʂ
    ͔͜͠͠ͷฏ੒ͷ೔ຊʹ͓͍ͯ͸ͦ͏͍ͬͨϞϊΛ഑෍͍ͯ͠Δ
    ΧϯϑΝϨϯε͸ͳ͔ͬͨʂ͔͠͠ʂஉ͸ఘΊͳ͔ͬͨʂࣗෲΛ
    ͖ΓɺṖͷύʔπΛதࠃ͔Β༌ೖͨ͠Γͯ͠ݽಠʹ༷ʑͳಠࣗݚ
    ڀΛ͓͜ͳ͍ͬͯͨʂʯ

    View Slide

  16. ʮόοδʯͱ͸
    • "electronic badge"౳Ͱݕࡧ
    • ւ֎ͷΧϯϑΝϨϯεͰ͸͋Δ
    ʢΒ͍͠ʣ
    • ిࢠΨδΣοτతͳαϜγϯά
    • ΄͍͠ʂͰ΋ɺΈͨ͜ͱͳ͍
    • ʮΑ͏͠ʂ΍Δ͔ʂʂʯ

    View Slide

  17. ͱ͜ΖͰɺͳʹ͕໘ന͍ʢओ؍ʣͷ͔ʁ
    • ΨδΣοτ͸໘ന͍ʢఆཧʣ
    • ʮେ੎͕͍࣋ͬͯΔʯͷ͕໘ന͍
    • ࣗ෼ͻͱΓͩͱऐ͍͠
    • ࡢ೥ͷʮ͠Ό΋͡ʯ

    View Slide

  18. લ೔ᩀʢ201Xʙ2017 ೥຤ʣ
    • ʮ΍Γͨ͞ʯ͸͋ͬͨ
    • Ͳ͏΍Δ͔ʁ
    • όοδ͸େମͷ৔߹ʮϚΠίϯʯ͕࢖ΘΕ͍ͯΔ
    • ʮϚΠίϯ͔ʙʙʯʢ౎಺ࡏॅPHPerஊʣ
    • όοδΛ࣮ݱ͢Δํ๏ΛɺझຯͰՋͳ࣌ʹ୳͍ͯͨ͠

    View Slide

  19. ྫ͑͹ɺArduino
    • ·͋ɺఆ൪
    • ͔͠͠ɺArduino͸ߴ͍…
    • ͍ͭ͘΋छྨ͕͋Δ͕ɺ༗໊ͳUno
    ͳͲ͸3ʙ4000ԁ͘Β͍
    • ޓ׵඼͸͍͕҆ɺେྔʹ࢓ೖΕΒΕΔ
    ͷ͔Ṗ

    View Slide

  20. 8pino
    • ஸ౓ɺ͋Δ࢓ࣄ(?)Ͱ৮ͬͯΈ͍ͯͨ
    • arduinoޓ׵ʢͷΑ͏ͳ΋ͷʣ
    • 8bit, 8MHz, 8KB, ෯8mm, 888ԁ
    • 8݄8೔ੜ·ΕͷീԦࢠࡏॅʹ͸࠷ߴʂ
    • খͯ͘͞࠷ߴɺ0.5g
    • (ӈͷج൫͸ંͬͯ൒෼͘Β͍ʹͳΔ)

    View Slide

  21. Digisparkʢதԝʣ
    • ͍Θ͹͍҆8pino
    • ͦͦ͜͜খ͍͞͠ɺ
    USBʹͦͷ··ͬͯ͞͞࠷ߴ
    • ΊͪΌ͍҆ ˇ300Ґ
    • αϯϓϧίʔυ͕๛෋ͰɺΩʔϘʔυ
    ΍Ϛ΢εΛΤϛϡϨʔτͰ͖ͯͨͷ͠
    ͍ʢBad USBΈ͍ͨͳͷΛ࡞ͬͯ༡΂
    Δʣ

    View Slide

  22. esp32
    • Wifi͕͋Γɺߴੑೳ
    ʢͦ͜ΒͷϚΠίϯʹ͘Β΂Ε͹ʣ
    • ͍҆ʂʢ७ਖ਼arduinoʹൺ΂Ε͹ʣ
    • লిྗ͸ͦΕͳΓ
    • ʢαϒηοτͷʣpython͕ಈ͘ʂ
    • ʮϝϞϦ͕΋ͬͱ΄͍͠ͳ…ɺhttpsͷ
    JSON APIؾܰʹୟ͖͍ͨͳ…ʯ

    View Slide

  23. m5stack
    • (جຊతʹ͸ESP32)
    • ӷথɺόοςϦʔɺεϐʔΧʔɺϘλ
    ϯɺWifi෇͖Ͱ࠷ߴʂ
    • ͔͠͠ೖखੑʹ೉͋Γʢਓؾނʣ
    • ಺ଂόοςϦʔ͸΋ͨͳ͍
    ʢ110mAhʣ

    View Slide

  24. micro:bit
    • ༗໊ɺ͘͢͝Α͘Ͱ͖ͯΔ
    • ηϯαɺεΠονɺLED༷ʑ͍ͭͯΔ
    • JS΍PythonͰίʔυ͕ॻ͚Δɺ
    Web IDE΋Α͘Ͱ͖ͯΔ
    • ͍͚Δ͔΋ʁʁ
    • ʢ…Μ͚ͩͲɺI2C΍SPIͰ֎෦σόΠε
    ੍ޚ͕Ͳ͏ʹ΋͏·͘ಈ͔ͣఘΊͨʣ

    View Slide

  25. ָʹͰ͖ͦ͏ͳͷ͸৭ʑࢼͨ͠
    • ݁࿦ͱͯ͠͸ʮ͜Ε͸೉͍͠ͳʙʙʯ
    • ΍Δલ͔Β͏ͬ͢ΒΘ͔͍͕ͬͯͨɺ
    ΍ͬͯΈͯʮͰ͖ͳ͍/࢖ͬͯ΋Β͑ͳ͍ࣗ৴ʯ͕Ͱ͖ͨ
    • ਖ਼͘͠͸ɺօؤுΕ͹Ͱ͖Δ͕ɺؤுΒͤΔͷ͸Ͳ͏ͳͷ͔ʁ
    • ʮΈΜͳָ͕ʹϋοΫͰ͖Δʯͱ͍͍ͳ…

    View Slide

  26. ։ൃɾσόοά͕ͭΒ͍
    • ී௨ͷ΢ΣϒΤϯδχΞʹ͸ʂ
    • C΍asmͰॻ͍ͯɺϏϧυͯ͠సૹ͢Δ
    • PC༻ͷϦονͳC lib͸େମ͏͔͝ͳ͍
    (ϝϞϦతʹ)
    • ϓϦϯτσόοά͔͠Ͱ͖ͳ͍
    • ʢJTAG ങͬͯ΋Β͏ͷ͸…ʣ
    • ͦΕͱͯ͠΋γϦΞϧม׵͕͍Δ

    View Slide

  27. σόοά͕ͭΒ͍̎
    • ී௨ͷ΢ΣϒΤϯδχΞʹ͸ʂ
    • ʮͳΜ͔จࣈ͕Ͱͳ͍…ʯ
    • ʮͦ͏ͩ೾ܗΛݟͯΈΑ͏ʂʯ
    • ʮ͜Ε੍͕ޚ৴߸ɺ͕࣍HͰ…ʯ
    ʢσʔλγʔτΛᛀΈͳ͕Βʣ
    • (օ͞Μͷ͝ՈఉʹΦγϩ͕͋ͬͯ΋
    I2C΍SPIΛύʔεͰ͖Δϓϩτί
    ϧɾΞφϥΠβ͸ͳ͍৔߹͕ଟ͍)

    View Slide

  28. ݱ࣮ͱͯ͠ج൫Λ࡞Δඞཁ͕͋Δ
    • σʔλΛ࡞ΓʼPCB԰ʹൃ஫͠ʼήοτʂ
    • ͔ͨ͠ʹϚδοΫͰॻ͍ͯυϒ௮͚ͯ͠λϫγͰຏ͘ੲΑΓָ
    • ʮͱ͸͍͑(ࠓͷࢲʹ͸)ݱ࣮తͰ͸ͳ͍…SMTແཧ…ʯ
    • ख໭Γ͢Δͱۚͱ༹͕͚࣌ؒΔ
    • (ւ֎ΧϯϑΝϨϯεΈ͍ͨʹɺԿສਓ΋͘ΔͳΒ͍͍͚Ͳ(?)

    View Slide

  29. ੑೳ΋ݫ͍͠
    • CPUɺϝϞϦ͕ශऑ
    • ϝϞϦ͕ʮଟͯ͘ʯ512KBʢ8KBͱ͔΋ʣ
    • ʮωοτϫʔΫʁͳʹͦΕ͏·͍ͷʁʯ
    • ʮGETͰ͖·͢ʂSSLʁ஌Βͳ͍ࢠͰ͢Ͷʯ
    • ʮHTTPSରԠʂ…jsonύʔε͸ͪΐͬͱ…ʯ
    • ΢Σϒܥʢࣗ෼ؚΉʣʹ͸ϋοΫͮ͠Β͍ʂʂ

    View Slide

  30. ͱ͍͏͜ͱͰ
    • ʢ͋͘·Ͱࣗ෼ͷ༻్Ͱ͸ʣϚΠίϯ͸ແཧͩͳ͋…
    • ΍͸ΓSBCʢγϯάϧϘʔυίϯϐϡʔλʔʣ͔…
    • (ϥζύΠͱ͔ɺLinuxͱ͔͕ಈ͘େମPCΈ͍ͨͳ΍ͭ)

    View Slide

  31. raspberry pi 2 model B
    • (ॴҦɺී௨ͷϥζύΠ)
    • ͳΜͰ΋Ͱ͖Δ͕ɺͰ͔͍
    • Ձ͕֨΅ͪ΅ͪߴ͍(5000ʙ7000ԁ)
    • 2AͷUSBిݯͰ΋҆ఆ͠ͳ͍ͱఆධͷ
    ߴফඅిྗ
    • (ը૾͸WikipediaΑΓ)

    View Slide

  32. Raspberry pi zero w
    • খ͍͞ʂ௿ফඅిྗʂʢ໿150mAhʣ
    • Έͳ͞Μ͓ͳ͡ΈLinux͕ಈ͘ʂ
    • Wifi෇͖ʂ
    • ʮPHP͕ಈ͔͘Β࠾༻ʂʂʯ
    • PythonͳͲ͕͏͘͝ʂ
    • ͍҆ʂ
    • ͜Ε࢖͍͍ͨͳ…

    View Slide

  33. ͔͠͠zero (w)͸ೖखੑ͕ѱʮ͔ͬͨʯ
    • ʮࡏݿ੾Εʂʯʮ͓ҰਓҰݸʂʯ
    • ͢Δͱ2018/1ʹRaspberry Pi zero ʮwhʯ͕ొ৔ʂ
    • ʢ஋্͕͕ͬͨʣ਺ඦݸͰ΋؆୯ʹखʹೖΔʂ
    • ϐϯϔομ΋࠷ॳ͔Β͍ͭͯΔʂ
    (w͸ɺϐϯϔομΛࣗ෼Ͱ͸Μͩ෇͚౳͢Δඞཁ͕͋ͬͨ)
    • ͍͚ͦ͏ʂ

    View Slide

  34. σΟεϓϨΠ΋ฏߦͯ͠୳͍ͯͨ͠

    View Slide

  35. όοΫϥΠτແ͠ӷথ
    • ී௨ͷӷথ
    • ဧͼऐͼΛײ͡ΒΕͯΑ͍
    • ফඅిྗ௿͍ͷ͸ָ
    • ίϯτϩʔϥ͕͍ͭͯΔͷ͸ͪΐͬͱ
    ߴ͍

    View Slide

  36. ΩϟϥΫλӷথ
    • ͍҆
    • ੍ޚָ͕
    • ݟͨ໨͕ߥʑ͍͠ʢྑ͍ʣ
    • ׂͱେ͖͍ը໘΋͋Δ
    • ׽ࣈग़ͤΔ΍ͭ͸ߴ͍
    • ࢹ໺͕֯ڱ͍ʢ΋ͷ͕ଟ͍ʣ

    View Slide

  37. TFTӷথ
    • Χϥʔͩ͠ɺ൓Ԡੑߴ͍
    • ͋Δҙຯ࠷ߴ
    • Ձ͕֨ߴ͍
    • ిྗ͕݁ߏඞཁ
    • HDMIϙʔτ઀ଓ͸ΰπ͍͠ɺ
    SPI઀ଓ͸޻෉͠ͳ͍ͱ஗͍ʢ͠ɺղ૾
    ౓͕…ʣ

    View Slide

  38. OLED(ϞϊΫϩ༗ػEL)
    • ʢൺֱతʣ௿ফඅిྗ
    • ϞϊΫϩͷบʹະདྷײ͕͋Δ
    • ϓϩάϥϜ͸͠΍͍͢
    • େը໘͸ϨΞɺଟ͘ͷ΋ͷ͸খ͗͢͞
    Δ
    • (͜͏͍͏൚༻඼͸Կ͔ͷྲྀ༻ͳͷͰɺ
    ʮΑ͋͘ΔαΠζʯʹภΓ͕͋Δ)

    View Slide

  39. LEDϚτϦΫε
    • ൓Ԡ଎౓͸ߴ͍͠ΊͪΌΊͪΌ໌Δ
    ͍ʂ(໌Δ͗͢Δ)
    • ղ૾౓௿͍ʢ㲈Ͱ͔͍ʣ
    • ফඅిྗߴ͍ʢً౓ʹΑΔ͕ɺը૾ͷ
    WS2812Bͷ16x16͸ϑϧύϫʔͩͱ਺A
    ࢖͏ɺӈͷྫ͸໌Δ͞ΛߜͬͨLED෦
    ͚ͩͷܭଌʣ
    • ͍҆LED͸഑ઢ͕ϦΞϧεύήοςΟʹ
    ͳͬͯ΍͹͍(WS2812Bͱ͔͸σʔλ
    ઢ1ຊͰࡁΉ͕)

    View Slide

  40. ৭ʑݟ͍ͯΔதͰ
    • ిࢠϖʔύʔ(E Paper Display)
    ΛങͬͯΈͨ
    • ৭ʑࢼͨ͠ޙͳͷͰɺ
    ධՁ࣠͸͸͖ͬΓ͓ͯ͠Γɺ
    ʮ͋ͬʂ͜Εͩʂʯͱ௚ײ

    View Slide

  41. • ! ໊ࡳͱͯ͠ࢹ໺֯࠷ߴ
    • ! ιϑτ΢ΣΞͷ࣮૷͕௒ϥΫ
    • ! ଴ػ࣌௿ফඅిྗ
    • ! ిݯΦϑͰ΋දࣔܧଓ
    • ❌ϞϊΫϩʢ3৭ͷ΋ͷ΋͋Δ͕ߴ͍ʣ
    • ❌Ԡ౴଎౓͕ѱ͍

    View Slide

  42. ৭ʑ͞Θͬͯ஌Δɺ༷ʑͳಛੑɺධՁ࣠
    • ஋ஈɺೖखੑ
    • ফඅిྗ
    • ࣮ݱͰ͖Δಛੑʢղ૾౓ɺ৭ɺ଎౓ʣ
    • ϋʔυ΢ΣΞ࣮૷ͷָ͞
    • ιϑτ΢ΣΞ࣮૷ͷָ͞

    View Slide

  43. ·ͱΊ
    • ࣮ࡍങͬͯ͞ΘͬͯΈͳ͍ͱධՁ͕࣠Ͱ͖ͳ͍
    • ৮͍ͬͯΔͱɺ࣮͸ඞཁͳ௥Ճಛੑ΋ݟ͑ͯ͘Δ
    • ͍҆ӷথ͸্͔Βݟ͑ΔͱಡΊͳ͍ͱ͔ɺফඅిྗগͳ͍ͱ
    ͍ͬͯ΋εϦʔϓ͠ͳ͚Ε͹࣮༻্େࠩͳ͍ͱ͔
    • ׬શʹࣗ෼ͷཁ͚݅ͩͰબఆͰָ͖͍ͯ࣌͠ظ
    • php͕ಈ͔ͳ͍ΠϚΠνͱࢥͬͨΒɺ٫ԼͰ͖Δ

    View Slide

  44. • ʮΑ͠ʂ͋ͱ͸Ͳ͏ʹ͔ͳΔ΍Ζʂʂʯ
    • ʢࢠڙฒΈͷײ֮ɾ૝ఆͰ࣮ߦΛܾҙͨ͠ʂʣ

    View Slide

  45. ͋Β͢͡
    ʮͦͯ࣌͠͸2017೥຤ʂ͍ͭʹ͍͍ײ͡ͷ૊Έ߹ΘͤΛൃݟʂσ
    ϞػΛ࡞Γɺbuildersconओ࠻ͷlestrratࢯʹڠྗΛʢञΛͷ·ͤͭ
    ͭʣ୰ئʂ͢Δͱ͋ΕΑ͋ΕΑͱ͍͏·ʹϝϧΧϦ༷͕ڠࢍΛܾ
    ఆʂిࢠ໊ࡳͷ։ൃ੡଄͕͸͡·ͬͨͷͩͬͨʂʯ

    View Slide

  46. ͍͖ͳΓ·ͱΊʢόοαϦলུʣ
    • PoCͷσϞػΛϏϧίϯओ࠻ͷ຀͞ΜʹݟͤΔ(ञΛೖΕͭͭ)
    • ͍͍ײ৮ͳͷͰɺ಺෦Ͱݕ౼ΛਐΊɺఏҊʂ
    اը → ʮ͜Ε͸͠Ό΋͡2.0Ͱ͢ʂʯ(৽ن֓೦Ͱͳ͘ɺVerUP)
    ֓ࢉݟੵ → ʮ͓҆͘Ͱ͖·͢ʂʯ(ίετμ΢ϯؤுΔʂ)
    • ṖΨδΣοτʹཧղͷ͋ΔϝϧΧϦ༷͕࠾༻ʂ
    • ʮΑ͠ʂకΊ੾Γ·Ͱ൒೥ͩʂͳΜͱͯ͠΋΍Δͧʂʯ

    View Slide

  47. ͋Β͢͡
    ʮࢿۚ͸खʹೖͬͨ΋ͷͷɺ։ൃ͸ฏୱͳಓͷΓͰ͸ͳ͔ͬͨʂ
    ࢓༷มߋʂ෦ࡐมߋʂઃܭมߋʂ͞·͟·ͳมߋ͕ऻ͍͔͔Δʂ
    ࣗ਎ͷݟ௨͠ͷѱ͞ʹ᫣қ͢Δʂ͔͠͠ͳ͕Β్தmacopyࢯͳͲ
    ஥ؒΛΈ͚ͭɺͳΜͱ͔ྔ࢈ϓϩτλΠϓ͸׬੒ͨ͠ͷͩͬ
    ͨʂʂʂʯ

    View Slide

  48. ྔ࢈ϓϩτλΠϓΛͭ͘Ζ͏ʂ
    • ࣮ࡍͲ͏͍͏Ϟϊ͕Ͱ͖Δͷʁ
    • ʢࣗ෼Ͱʣ࡞ΕΔͷʁ
    • ෦ࡐ͸࢓ೖΕΒΕΔͷʁ
    • ༧ࢉʹऩ·Δͷʁ
    • εέδϡʔϧ͸ʁ
    • ͜͜Β΁ΜΛ͸͖ͬΓͤ͞Α͏ɻ

    View Slide

  49. View Slide

  50. • ͋Ε͜Εໝ૝͢Δ࣍͘Β͍ʹָ͍͠
    • ͔͠͠ɺݱ࣮ͱ௚໘͢ΔϑΣʔζ
    • ͳ͓ɺ࢓ೖΕ΋ಉ࣌ਐߦͰ͢

    View Slide

  51. EPD

    View Slide

  52. Ͳ͏͍͏΋ͷ͕Ͱ͖Δ
    ͷʁ
    • ͜͜Ͱྫྷ੩ʹσϞػΛݟΔ
    • ͏Μ…
    • খ͍͞Ͷ…
    • ໊ࡳͱͯ͠…
    • ͱ͍͏͜ͱͰɺ༧ࢉ͕֬ఆ͍ͯ͠Δͷ
    ʹը໘Λେ͖͘͢Δ͜ͱʹ͠·ͨ͠ʂ
    ʢʁʣ

    View Slide

  53. ಠΓΑ͕Γͷةͳ͞
    • ʮͳͥؾ͔ͮͳ͍ʁʯʮҰਓͰ΍͔ͬͯͨΒ…ʯ
    • ʮݟੵ΋Γޙʹ࢓༷େมߋͱ͔͋Δ·͖͡Ͱͳ͍ʁʯ
    • ʢ΄Μͱ͏ʹ֤Ґ͢Έ·ͤΜͰͨ͠…ʣ
    • ͔͠͠ɺΦϨ͸ಠΓͩͬͨΜͩ…ɻ
    • (օڵຯ͸͋ΕͲɺຊؾͰ࣌ؒΛίϛοτͰ͖Δਓ͸ɺ΍͸Γগ
    ͳ͍…ʣ

    View Slide

  54. ؾΛऔΓ௚ͯ͠
    • αΠζҧ͍Λ֬ೝ
    • 7.5͸ίϯτϩʔϥ͕ผͩ͠ɺ·Μ·ϓ
    ϥ൘ͰંΕͦ͏
    • 4.2͸ίϯτϩʔϥج൫ҰମͰߏ଄తͳ
    αϙʔτ͕ෆཁ
    • ωδ݀΋͋ΔͷͰɺऔΓ෇ָ͚͕ʂ
    • 4.2ʹܾఆʂ
    • (ػೳతʹ͸2.13͸ύʔγϟϧॻ͖׵͑
    ΋͋ͬͨͷ͕ͩ…࢒೦)

    View Slide

  55. 7.5inch
    • ബͯ͘ഭྗ͕ͩɺྲྀੴʹׂΕͦ͏

    View Slide

  56. 4.2inchͷߋʹྑ͍ͱ͜Ζ
    • 2.13΍7.5͸શ෦ͷGPIOΛ࠹͙Α͏ʹͭ
    ͚ΔʢHATతʣ
    • 4.2͸ɺόϥͷpinΛͭͳ͙
    • ૊Έཱͯ͠ΜͲ͍
    • ଞͷpinʹ৮ΕΔʂϋοΧϒϧʂ
    ʮ͍͡Γ΍͢͞ʯ͸্͕Δʂ
    • ࠓճ͸ϝϦοτ্͕ճΔ
    • ʮ݁ՌΦʔϥΠʂʯ

    View Slide

  57. ͱ͍͏͜ͱͰɺଈൃ஫
    • ࠃ಺ͰऔΓѻ͍ͬͯΔձࣾʹ໰͍߹ͤͯ͠ൃ஫
    • தࠃͷϝʔΧʔʹେྔʹ஫จ͢Δͷ͸ʢܦݧଇͱͯ͠ʣෆ҆
    • ؔ੫Λ͍Εͯ΋͍͕҆ɺ௨ؔͰϞϝͨ͘ͳ͍
    • ໿2ϲ݄Ͱ౸ண
    • ʢ͜ͷओཁ෦ࡐ͕౸ண͢Δ·Ͱ͸ɺ҆৺Ͱ͖ͳ͔ͬͨ…ʣ

    View Slide

  58. • ͪͳΈʹɺ౰࣌༗໊ͳళʢळ݄ɺઍੴɺ౳ʣʹ΋औѻ͕ͳ͍͔
    ௐ΂͕ͨɺͳ͔ͬͨ
    • (༌ೖ঎ࣾͰ͸ͳ͍ͷͰɺ࢓ೖΕ͕͋ͬͯ΋औѻͷͳ͍঎඼͸
    Ҿ͚ͳ͔ͬͨ)
    • Ͱ΋ɺࠓ͸औΓѻͬͯΔͬΆ͍Ͱ͢ɺमཧͰ͖·͢ΑʂΑ͔ͬ
    ͨͰ͢Ͷʂ
    • ྫɿhttps://www.sengoku.co.jp/mod/sgk_cart/detail.php?
    code=EEHD-58US

    View Slide


  59. View Slide

  60. ࢓༷มߋʹ൐͏৽ͨͳ՝୊
    • 4.2inch͸HATํࣜͰͳ͍ͷͰɺ
    ϥζύΠ͚ͩͰ͸อ࣋Ͱ͖ͳ͍
    → ϕʔεʹͳΔ΋ͷΛͭ͘Ζ͏ʂ
    • ࢲʮ͓ۚͳ͍͠ɺμϯϘʔϧͰ͍͍Μ
    ͡Όͳ͍Ͱ͔͢ʁʯ
    lestrratʮ͋Γ͑ͳ͍ʂʯ
    • ʢίετμ΢ϯͰ໨͕ಶ͍ͬͯΔͱة
    ݥɺࣸਅ͸౰࣌ͷver.0ͷ࣮෺ʣ

    View Slide

  61. औΓ෇͚Δʮ·ͱ΋ͳʯϞϊ͕ඞཁ
    • ʮϓϥμϯϘʔϧʁʯʮ·ͣμϯϘʔϧ͔Β͸ͳΕΑ͏͔ʁʯ
    • ϓϥʁΞΫϦϧʁABSʁ໦ʁమʁPCBʁ
    • ʮͲ͏΍ͬͯ࡞Ζ͏…ʯ
    • ʢ౰ํ͸ͦ͜·Ͱख׳Ε͍ͯͳ͍ʣ

    View Slide

  62. ͜͜Ͱٹੈओొ৔ʂ
    • ॳͷిࢠ໊ࡳ஥͕ؒδϣΠϯʂ
    • macopy!!!(@mackee_w)
    • (hachioji.pmͰͷ஥ؒ)

    View Slide

  63. ༷ʑͳٞ࿦
    • mʮ3DϓϦϯλʹ͠·͠ΐ͏Αʯ
    ʢ˞ macopy͸3DϓϦϯλ͕झຯͰ͢ʣ
    • uʮ͑͑…ઈରྔ࢈ΉΓͰ͠ΐ…ʯ
    • mʮ͔ͨ͠ʹɺͰ͸ϨʔβʔΧολʔʁʯ
    • uʮ࠾༻ʂʯ
    • ೋਓʹͳΔͱ࿩͕଎͍ʂ

    View Slide

  64. • 3DϓϦϯτ͸ΊͪΌΊͪΌϋΠίετ
    • ϞσϦϯά͸೉͍͠͠ɺՃ޻଎౓΋஗͍
    • ϨʔβʔΧολʔ͸
    • ن֨඼ͷ൘ࡐྉ(͍҆)Λ੾Γൈ͘ͷͰখϩοτͰ΋͍҆
    • Ճ޻଎౓͕଎͍(ΧολʔʹΑΔ͕ɺҰຕ਺෼ʙ10෼)
    • ෳࡶͳ໛༷Λூࠁ͢Δͷ΋(ൺֱత)଎͍ɺ඼࣭΋҆ఆ
    • ֎஫΋͠΍͍͢(ۀऀ͕୔ࢁଘࡏ)

    View Slide

  65. ͱ͍͏ࣄͰϨʔβʔΧολʔ
    • ૉࡐ͕ࣗಈతʹݶఆ
    • MDF(໦ͬΆ͍ͳʹ͔)
    • ΞΫϦϧ
    • ʮීஈօ͕৮ͬͯͳ͍ૉࡐͷ΄͏͕ྑ
    ͍ɺMDFʹ͠Α͏ʯ
    • ۙॴͷϨʔβʔΧολʔ͕आΓΒΕΔ
    ίϫʔΩϯάεϖʔεʹߦͬͯΈͨ

    View Slide

  66. ͨͷ͍͠ʂ
    • ࣸਅ͸ϑΥʔΧεࣦഊͰ੾Εͣʹࠇ͍
    ઢ͚ͩҾ͔Ε༷ͨࢠͰ͢ɻ

    View Slide

  67. Tips
    • ҆ՁͳϨʔβʔΧολʔ͸͋ͳͨͷ༧
    ૝ΑΓ஗͍
    • য͕͍͛͢͝͠ɺ௕࣌ؒಈ͔͢ͱग़ྗ
    ͕҆ఆͤͣɺ੾Εͳ͍͜ͱ΋…
    • Trotec Speedyͱ͔ɺ͍͍Ϡπ͸͖Ε͍
    • େखͷϝΠΧʔζεϖʔεͱ͔ʹ͋
    Δ΍ͭ
    • ʮ͓͠ΌΕεϖʔεԕ͍…ʯ

    View Slide

  68. • ࣮͸ΧΠϯζʹ΋͋Γ·͢ɻ౰વళ಺
    ʹMDF΋ചͬͯΔɻ࠷ߴʂ
    • ʢ௨Γ͕͢Γͷ͓ͬͪΌΜ͕͛͠͠
    ͛ͱ೷͖ࠐΜͰ͘Δʣ
    • ͘͢͝ؾʹೖ͚ͬͨͲɺΨϥΨϥͰ
    ৺഑ʹͳΔɻ
    • ݐ෺಺ͷΧϑΣͰσʔλ࡞੒ →
    USBϝϞϦΛ࣋ͬͯϨϯλϧਃ੥
    • ʢΧΠϯζ͸ߴ͍͍͔ͯ͘Βm2.6͔
    ΒωδφοτΛ͓͍ͯɺ୺ࡐΛࣺͯ
    ͤͯ͘͞Εͳ͍͔ͳ…ʁʣ

    View Slide

  69. ͱ͍͏͜ͱͰࢼ࡞Λ܁Γฦ͢

    View Slide

  70. Ұ߸ػ
    • େମͷܗ͸͜ͷ࣌఺ͰͰ͖͍ͯͨ
    • Ճ޻ػͱMDF͕ѱ͍ͷ͔ɺΊͬͪΌয
    ͛ͨ
    • μΠιʔͷ͍҆MDF͸ΊͬͪΌয͛ͯ
    ष͍ʢ஌ݟͰ͢ʣ

    View Slide

  71. ೋ߸ʢࠨʣɺࡾ߸ʢӈʣ
    • ೋ߸͸όοςϦʔऔΓ෇͚Λࢼߦࡨޡ
    ͍ͯͨ͠ʢݱࡏͱಉ͡όοςϦʔΛɺ
    Լ෦ʹԣʹ͚ͭΔ༧ఆͩͬͨʣ
    • ࡾ߸͸൘ްΛ4mmʹɺόοςϦʔऔΓ
    ෇͚͕݀·ͩͳ͍ʢ౰࣌͸ผͷฏ͍ͨ
    όοςϦʔΛ࢖͏༧ఆͩͬͨʣɺΰϜ
    όϯυϦϒ௥Ճ
    • sponsorΛs"u"ponsorͱ͍͏க໋తͳε
    ϖϧϛεw

    View Slide

  72. View Slide

  73. ݱ෺߹Θͤͷ3.5߸
    • όοςϦʔΛ͸Ίͯݻఆ͢ΔࣄΛࢥ͍
    ͖ͭɺݱ෺߹Θͤ͢ΔͨΊʹՃ޻
    • ࣦഊ࡞ʢ͕݀ൈ͚ͳ͔ͬͨʣΛࢳڒͰ
    ੾Δ
    • MDF͸ׂΕͳ͍͠ɺ͘͞͞Ε΋ͳ͍ͷ
    ͰՃ޻͕҆શͰΑ͍
    • MDF͸໦ͱࢴͷؒ͘Β͍ͷϞϊ
    • (ָͩͱ͸ݴ͍ͬͯͳ͍ɺׂͱ׼ͩ͘)

    View Slide

  74. ࢛߸(ྔ࢈લࢼ࡞׬੒)
    • όοςϦʔऔΓ෇͚݀Λ࣮ࡍʹ͚ͭͨ
    • ϥζύΠཪͷ݀΋޿͛ͨ
    • ී௨ͷϥζύΠऔΓ෇͚݀Λ૿΍͠ɺ
    ֦ுੑΛ͋͛ͨ
    • ໛༷Λௐ੔
    • εϖϧϛεΛ௚ͨ͠

    View Slide

  75. ࠷ऴతͳಛ௃ͷ঺հ
    • όοςϦʔ͕མͪʹ͍͘͸ΊࠐΈࣜ
    • ͔͍͍ͬ͜ʢओ؍ʣάϥϑΟοΫ
    • ࣮͸Ͱ͔͍ϥζύΠ΋֦ͭ͘ுੑ
    • ԣஔ͖Ͱ͖Δ݀ (݀ʹͳʹ͔͍ͯͩ͘͞͠͞)
    • GPIOʹ৮Γ์୊ͷ޿͍݀

    View Slide

  76. Αʔ͠ɺ൘Λྔ࢈͢Δͧʂ
    • େମ3ʙ5೔͘Β͍ΧΠϯζʹ௨͍ͭΊΕ͹͍͚ͦ͏ʂ
    • ̍೔̔࣌ؒɺٳΈແ͘ɺΧολʔ͕ނোͤͣɺMDFΛ࢓ೖΕ
    ΒΕΔͱͯ͠
    • ϋϋϋ͜΍ͭΊϋϋϋ
    • ۀऀʹґཔ͠·͠ΐ͏

    View Slide

  77. Ͳ͜ͷۀऀʹ͢Δ͔ʁ
    • άάͬͯ5Օॴ͘Β͍ʹݟੵ΋ΓΛͱͬͨ
    • ࢼ࡞σʔλʢaiʣ
    ࢼ࡞࣌ͷػࡐ໊
    ࢼ࡞ग़ྗ඼ͷࣸਅ
    ر๬ࡐྉʢMDF 4mmްʣ
    ر๬ೲظ
    Λهࡌͯ͠ϝʔϧ͢Ε͹ɺେମͲ͜΋໰୊ͳ̍͘ʙ̎Ӧۀ೔Ͱ
    ݟੵ΋Γ͕͖ͨɻ

    View Slide

  78. ݟੵ΋Γͷ͹Β͖ͭɺఏҊͷࠩ
    • Aʮʢ͘͢͝ૉૣ͍ϨεͰʣ60ສͰ͢ɺ͓ຍલʹೲ඼͠·͢ʯ
    • Bʮ20ສͰ͢ɺয͛ରࡦ͠·͢ɻσʔλܗࣜ͸͜Εʹม͑ͯͩ͘
    ͍͞ɺ͓ຍલʹൃૹʯ
    • Cʮ10ສͰ͢ʂͲ͏Ͱ͔͢ʂೲظ͸ड஫࣌ʹ͓఻͑͠·͢ʂʯ
    • Dʮ40ສͱͳΓ·͢ɺೲظ͸དྷ݄຤ʯ
    • ૯߹తʹBʹͨ͠ɺ౸ண·Ͱ13೔΄Ͳ͔͔ͬͨ

    View Slide

  79. View Slide

  80. • ຊ౰͸ςετൃ஫ͯ͠ൺֱ͔ͨͬͨ͠
    • ͓ຍ௚લͰ͕࣌ؒͳ͔ͬͨ(ࣗۀࣗಘ)
    • ݁Ռɺூࠁ෦͕ࢼ࡞඼ΑΓͪΐͬͱூ
    Γ͕ਂ͘ͳͬͨʢೱ͘ͳͬͨʣ
    • Πϝʔδͱ͸มΘ͕ͬͨɺࡉ͔͍จ
    ࣈͳͲ͸ΫοΩϦͨ͠
    • ூࠁ෦ʢృΓ΍ઢʣ͸ɺʮਂ͞ʯΛ۩
    ମతʹࢦఆ͢Δ͜ͱ͸͘͢͝೉͍͠
    • (MDF΍Χολʔ͸छྨ͕৭ʑ͋Δ
    ͠ɺҹ࡮ͷ༷ʹߍਖ਼͢Δࢦඪ΋ͳ͍)

    View Slide

  81. • ͕࣌ؒ͋Δʹ༨༟͕͋Δ Ͱ͸ͳ͍
    ͕࣌ؒ͋Δʹվળ޻෉Ͱ͖Δʮ༨஍ʯ͕͋Δ Ͱ͢ɻ
    • ࣌ؒ͸ʮ࡞ۀΛޙճ͠ʹͰ͖ΔνέοτʯͰ͸ͳ͍ʂʂ
    • Կ౓΋ॻ͖·͕͢ɺʮ࣌ؒʯ͸ʮ͓ۚʯͱಉ͘͡Β͍վળʹܨ
    ͕Δڧ͍ྗͰ͢ɻ͕Μ͹ͬͯ༻ҙ͠·͠ΐ͏ɻ
    • ʢॻ͍͍ͯͯࣗ੹Ͱ಄͕௧͘ͳ͖ͬͯͨ…ʣ

    View Slide

  82. ͱ͍͏͜ͱͰ൘͕Ͱ͖ͨɻ
    • RPz΍EPD͸΋͏͋Δɻ
    • ʮ͋ͱ͸૊ΈཱͯΔ͚ͩͰ׬੒Ͱ͸ʁʂʯ
    • ͍΍͍΍…όοςϦʔ͸ʁ

    View Slide

  83. όοςϦʔ

    View Slide

  84. Ξς͸͋ͬͨ
    • ʮμΠιʔͷ̏̌̌ԁͷ΍͕͍͍ͭΑɺ͍҆͠ʂʯ
    • mʮͳΜ͔Ͳ͜ʹ΋ചͬͯͳ͍Ͱ͢Αʯuʮ·͡Ͱʯ
    • ඼੾Εʂʂʂೖՙະఆʂʂʂ
    • ʮ͡Ό͋…μΠιʔͷബ͍̑̌̌ԁͷ΍ͭʹ͠Α͏…ʯ
    • ஫จෆՄೳʂʂʂ
    • ͪΐͬͱ·ͬͯ…ʁ΍͹͘ͳ͍…ʁ

    View Slide

  85. • 100ۉ͸஫จͰ͖Δ΋ͷͱɺͰ͖ͳ͍΋ͷ͕͋Δ
    • (ͦ͏͍͏঎ചͰ͋Δ)
    • ૝ఆ͍ͯͨ͠όοςϦʔ͕஫จͰ͖ͳ͍ʂ
    ʢ͕࣌ؒ͋ͬͯ΋ʂࡏݿͱ͔ؔ܎ͳ͘ʂʣ
    • ࣮͸ϞόΠϧόοςϦʔ͸ߴ͍ɺ਺ඦԁͰߟ͍͑ͯͨͷʹ…
    1000ԁ͸ݫ͍͠…
    • ΍͹͍ʂ → ٸ͍ͰଞΛ୳͢

    View Slide

  86. • ผͷೖखઌΛ͕͞͞ͳ͍ͱʂ
    • ָఱͰʮ׬શʹҰகʯΛΈ͚ͭͨ
    • ଈҰݸߪೖɺ΄΅׬શʹҰகΛ֬ೝ
    • ൢചձࣾʹ࿈བྷ͠ɺେྔߪೖͰ͖Δ͔
    ࣭໰ → OK!
    • ༧ࢉΦʔόʔ͕ͩɺख഑Ͱ͖ͨʂ
    • ໿ˇ200ʢˎ210ʹˇ42000ʣ্ঢɺ
    ݁ߏ௧͍
    • ۝ࢮʹҰੜ
    • ౸ணͯ͠ຊ౰ʹ҆৺ͨ͠…

    View Slide

  87. Tips
    • ಧ͘·Ͱɺ҆৺͢Δͳʂ
    • օେ޷͖amazon౳͸ൢചళͱަবͰ͖ͳ͍
    • ָఱ͸Ͱ͖Δʢී௨ʹ࿈བྷઌ͕͔͍ͯ͋Δʣ
    • ళͱϝʔϧɺి࿩ͳͲͰަব͢Δͱྑ͍ʢত࿨ྗʣ
    • Ξιʔτʢ৭ҧ͍͕ࠞ͟Δʣ΋ަব࣍ୈ
    • ʢࠓճϐϯΫΛ஄͍ͨʣ

    View Slide

  88. USB έʔϒϧ
    • όοςϦʔʹ͍͖ͭͯͨΦϚέͷUSB
    έʔϒϧ͕ॆిઐ༻ͩͬͨ
    • ͠·ͬͨɺ͜͜΋࠷ॳͷ૝ఆαϯϓϧ
    ͱҧ͏͔…
    • ͜Ε·ͨผ్ങ͏ඞཁʢΪΤʔʣ

    View Slide

  89. • ༧ࢉ΋ͳ͍͠ɺ100ۉͰ΍͍͖͍ͬͯͨ
    • μΠιʔ → ແ͍ʢ඼੾Εʣ
    • μϝݩͰࢼͣ͞ΩϟϯυΡͷ௨ൢʢ36
    ݸ͔Βʣ
    → ʮବ໨Ͱͨ͠ʂʂʯ
    • μϝݩͰηϦΞʹ…
    • ʮ͑ͬɺ͍͍έʔϒϧ୔ࢁ͋Δͧʁʯ
    • ࡾछྨങ͏ → શ෦௨৴OKʂ
    • ໪࿦શ෦100ԁ

    View Slide

  90. • 2Aॆి΋Ͱ͖ʢͱ͏͍ͨͬͯΔʣ
    microUSB୺ࢠ͕྆໘ʢن֨ͱ͸…ʁʣ
    ௨৴OKͳϞϊʹ͠·ͨ͠ɻ
    • 100ԁͰ͜ͷεϖοΫ͸ྑ͍
    • ΢Σϒ͔Β໰͍߹Θͤˠ
    ʮ300ݸ͔ΒOKͰ͢ʯ
    • ༨Δ͕ɺഎʹෲ͔͑ΒΕͳ͍ͳʂ
    • ΍ΓऔΓʹ2d,ଈ೔ৼࠐΈͯ͠1w΄ͲͰ
    ແࣄ౸ண

    View Slide

  91. ༨ͬͨUSBέʔϒϧ
    • ॆిઐ༻200ຊ…σʔλ௨৴70ຊ…
    • ࢖͍ΈͪืूதͰ͢…
    • (ಉࠝ͠Α͏͔ͱࢥ͚ͬͨͲɺʮσʔ
    λʯʮॆిઐ༻ʯέʔϒϧΛऔΓؒҧ
    ͑ͯ͏͔͝ͳ͍ʂͱ͍͏ใࠂ͕ଟ͔ͬ
    ͨͷͰ΍Ί·ͨ͠)

    View Slide

  92. • όοςϦʔͱɺέʔϒϧ͸ղܾͨ͠ɺ
    ͋ͱ͸…
    • microSDʂ

    View Slide

  93. microSD
    • ͜Ε΋࣮͸݁ߏߴ͍͠ɺ͍҆΋ͷ͸ෆ҆
    • amazon.co.jpͱ͔ɺ΍ͬͯΈΔͱΘ͔Δ͕਺ඦݸങ͑ͳ͍
    • ʮ୔ࢁങ͑Δʂʯͱ͍͏ᨳ͍จ۟ͷۀऀ͸ߴ͍…୔ࢁങ͏ͷʹ…
    • (Ձ֨ʹͩ͜ΘΒͳ͚Ε͹೉͘͠͸ͳ͍)
    • ͔ͨ͠ͳ͍ͷͰɺ৭ʑͳͱ͜ΖͰɺ҆෺ΛҰݸ͔ͮͭͬͯͨΊ
    ͯ͠ΈΔ

    View Slide

  94. • ;ͱɺۙॴͷυεύϥʹߦͬͯΈͨΒ͍҆8GB͕
    • ࣗෲͰങͬͯࢼ͢ˠେৎ෉ͦ͏ʂ
    • ʮ͜Εɺ୔ࢁ΄͍͠ΜͰ͚͢Ͳʯ
    ʮԿݸͰ͔͢ʁʯ
    ʮ210ݸʯ
    ʮ…গʑ͓଴ͪΛʯ
    • ݁࿦͔Β͍ͬͯ஫จͰ͖ͨɺ໪࿦ւ֎͔ΒऔΓدͤɻ

    View Slide

  95. ஋ஈ͸೔ʑมΘΔ
    • ݟੵ΋Γ͕དྷͨͷͰɺޙ೔ൃ஫͠ʹళฮ΁
    (;ͱɺళ಄ͷಉҰ঎඼Λݟͯ)
    ͏ʮ…ݟੵ࣌ΑΓ஋Լ͕Γͯ͠·͕͢ɺ͜ΕʹͳΓ·͢ʁʯ
    υʮ…Θ͔Γ·ͨ͠ʂʯ
    • ஫ҙਂ͘ݟΔͱಘ͢Δ͜ͱ΋͋Δ͆
    • ී௨͸ݟੵ΋Γ͕࣌ਖ਼ͳͷͰɺ౔ஃ৔ަবྑ͘ͳ͍͚Ͳɺ
    ରԠͯ͘͠Εͯ͋Γ͕ͱ͏υεύϥʂ

    View Slide

  96. • ݟੵ̏೔ɺൃ஫̍೔ɺ౸ண·Ͱ2ʙ3ि
    • ʮόοςϦʔʹ͘Β΂Ε͹ΠʔδʔϞ
    ʔυ͗͢Δʯ
    • ͔͠͠ɺ૝ఆ֎͕ͳ͍Θ͚Ͱ͸ͳ͔ͬ
    ͨʂ

    View Slide

  97. ϩοτ͕มΘΔ
    • શ͘ಉ͡ʹΈ͑Δ͕ผϞϊ
    • ϊʔϒϥϯυ͸ɺϞϊ͕มΘΔ

    View Slide

  98. View Slide

  99. View Slide

  100. ଎౓͕ҧ͏ʂʂ

    View Slide

  101. ༰ྔ͕ҧ͏ʂʂʂ
    • (ΞλϦͩͬͨΒ͓ΊͰͱ͏͍͟͝·͢ʂ)
    • (࣮༻্͸ʮ·ͬͬͨ͘ʯࠩ͸͋Γ·ͤΜ)

    View Slide

  102. 8GB != 8GB
    • ʢϒϥϯυ඼͸ͦΜͳࣄͳ͍͔΋ʣ
    • ͭ·ΓɺσΟεΫΠϝʔδΛSDҰഋʹ࡞ΔͱޙͰ٧Έ·͢ʂ
    • ࠓճ͸2GBҎԼͰΠϝʔδͭ͘Γ·ͨ͠
    • খ͍͞ํ͕Ϗϧυ΋ָͩ͠
    • (raspbianͷॳճىಈ࣌ͷresizeΛফͨ͠)
    • ʮ2GBҎԼͳΒGitHubͷReleaseʹULͰ͖ͯศརʂʯ

    View Slide

  103. ͱ͍͏͜ͱͰ
    • RPz,EPD,൘,όοςϦʔ,USBέʔϒϧ,microSD
    • ׬ᘳͩͳʂ
    • ͍͍͑ɺ·ͩ͋Γ·͢

    View Slide

  104. ωδʂ
    • ʮ྆໘ςʔϓͰ…ʯ
    ʮ΍ΊΖʯ
    • ωδΛങ͏ɺͰ΋Ͳ͜Ͱʁ

    View Slide

  105. • ϗϜηϯ → ·ͣM2.6ͱ͔͸ແ͍
    • amazonͱ͔ → ΄ͱΜͲແ͍
    • ۀൢ → ࠷খϩοτ͕ສ୯Ґɺʮૉਓ͝ԕྀ͍ͩ͘͞ʯ
    • ϓϩ޲͚௨ൢ → ݁ߏ͔͍ͨ…
    ʢ͠ɺຊདྷݸਓ͸࢖ͬͨΒବ໨ʣ
    ʢ·͋๻͸ϑϦʔϥϯεͰ΋͋Δ͠…ʣ
    • ʮͦ΋ͦ΋ن֨දݟͯ΋ɺਖ਼௚Α͘Θ͔ΒΜͳʯ

    View Slide

  106. ͦΜͳ࣌͸ळ༿ݪ
    • ੢઒ిࢠʹߦ͘
    • => ݱ෺Λ਺ݸങͬͯΈΔ
    • => ͦͷ଍Ͱ٤஡ళʹߦ͖ɺ͘ΈͨͯͯΈΔ
    • => ʮΑ͠ʂ͜Εͩʂʯ
    • (ඇৗʹ໌շɺ̎࣌ؒάάΔͳΒͬ͞͞ͱΞΩόʹߦ͘΂͖)

    View Slide

  107. • ʮ͜Ε͍ͩ͘͞ʯ
    ʮԿݸͰ͔͢ʁʯ
    ʮ4000ݸ͘Β͍ʯ
    ʮ4000͋Δ͔ͳʙʙʯ
    ʢ͓΋ΉΖʹ͸͔Γʹβϥβϥͱྲྀ͠ࠐΉʣ
    • ʢ͕͢͞ઐ໳ళɺऔΓཚ͞ͳ͍ʣ
    • ʢ͜Εܥͷళ͸ΫϨΧ͸͔ͭ͑ͳ͍ࣄ΋ଟ͍ͷͰ஫ҙʣ

    View Slide

  108. • ʮ࢒೦ɺ΄͍͠φοτͷࡏݿ͕ΪϦΪϦޙ500ݸͨΓͳ͍ʯ
    • ͳͷͰɺφοτͷ࢓༷Λͪΐͬͱม͑ͨɻ
    • ͳ͓ɺ඼੾Ε͍ͯ͠Δ΋ͷΛൃ஫͢Δͱ2ϲ݄ͩͦ͏Ͱ͢
    • (͜ͷ࣌఺Ͱ2ϲ݄੾͓ͬͯΓɺϠό͔ͬͨʣ
    • ωοτͰݟ͔͚ͨΑ͏ͳಛघͳωδ͸·ͬͨ͘ແ͍ࣄ΋͋Δ͠
    ʮങ͑Δʢങ͍΍͍͢ʣʯϞϊͰఘΊΔͷ΋ॏཁ

    View Slide

  109. • ݁Ռɺ4ສԁڧ
    • ωδ΋ଟ͍ͱ݁ߏ͔͍ͨͳʂ
    ʢωδΛݟΔ໨͕มΘΔ…
    ɹEPDʹ࠷ॳ͔Β͍͍ͭͯͨωδ͸શ෦͸ࣺ͕ͣͯͯͨ͠…
    ɹ͜Ε΋ී௨ʹങ͑͹2ສҐͨ͠ͷͰ͸…ʣ

    View Slide

  110. ྔΓചΓ͍ͭͯ
    • ʮ͜Ε…਺͋ͬͯΜͷ͔ͳʁʯ
    ʢ͔֬Ίͨ͘͸ͳ͍ʣ
    • ݁࿦͸ɺ
    ωδ͸ΪϦΪϦ଍Γͯʢͭ·Γਖ਼͍͠
    φοτ͸݁ߏ༨ͬͨ
    • (1%ҎԼͷޡࠩͩͱࢥ͏)
    • ͕͢͞ʹͪΌΜͱͯ͠Δɻ
    • ༨ΒͤΔͷ΋Կ͕ͩɺଟগ͸༨༟Λ΋
    ͬͨํ͕Αͦ͞͏ɻ

    View Slide

  111. Tips
    • ྔ͕͋ΔͱεοΰΠॏ͍ɺ͍ͭͰͷ༻ࣄ͸ઌʹ͢·ͤ·͠ΐ͏

    View Slide

  112. Αʔ͜͠ΕͰʂ
    • ͍΍ɺ·ͩ͋Γ·͢
    • ؇িࡐʢͱ͍͏͔ࠝแࡐʣɺ
    ϓνϓνͷ੩ి๷ࢭା
    • 2૚(ย໘͕ತԜ)ͱ3૚(྆໘͕ฏ໘)͕͋
    Γ·͢ɻένΒͣ3૚͕Α͍Ͱ͠ΐ͏ɻ
    • ੇ๏ʹ͓͍ͯ͸ɺॎԣ͚ͩͰͳ͘ɺϖ
    ίϦʢંΓฦ͠෦෼ʣΛͪΌΜͱݟ·
    ͠ΐ͏ɻ
    • ී௨ʹamazonͰߪೖʢָ͗͢Δ…ʣ

    View Slide

  113. ͱ͍͏͜ͱͰ
    • શ෦͕͋ͭ·ͬͨͧʂʂʂ
    • (ଞʹ΋ΰϜόϯυ͕͕͋ͬͨɺamazonͰങͬͨ)
    • ϓϩτλΠϓ׬੒(?)΍ʂ͋ͱ͸૊ΈཱͯΔ͚ͩʂ

    View Slide

  114. ʮ࡞ͬͨʂͱ͍͏͕…ʯ
    • ·ʮࠓճզʑ͕΍ͬͨ͜ͱ͸…ͭ·Γ໦޻ͳͷͰ͸ʁʯ
    • ͏ʮγʔοʂʂʯ

    View Slide

  115. ͋Β͢͡
    ʮଓʑͱू·Δ෦඼ʂͦͯ͠શ෦඼ͱ༐ऀ͕ौ୩ʹू݁ʂօӈख
    ʹυϥΠόʔΛ΋ͪɺ·ΔͰϚγʔϯͷΑ͏ʹऔΓ૊Ήʂʂ࣍ʑ
    ʹ૊Έ্͕Δిࢠ໊ࡳʂઓ૪ͷΑ͏ͳ૊Έཱ͕ͯऴΘͬͨ࣌ɺօ
    ͷ໨લʹ͸େྔͷిࢠ໊ࡳ͕͸͍ͬͨμϯϘʔϧ͕ͦͼཱ͑ͭͷ
    ͩͬͨʂʂʂʯ

    View Slide

  116. ࢼ͠ʹҰݸ૊ΜͰΈͨ
    • Ұݸେମ5ʙ10෼͘Β͍
    • 200ݸ͘Β͍͋Δ
    • ͳΔ΄Ͳ2000෼ʁ
    • ʹ 33.3hourʢٳΈແ͠ʣ
    • ͗ΐ͑ͬʂ

    View Slide

  117. ਓւઓज़΁
    • ϏϧίϯSlackʹͯʮٸืɿωδճ͕͠
    ಘҙͳਓʯ
    • ελοϑͷπςͰVOYAGE GROUP༷ͷ
    ΦϑΟε͓आΓͰ͖ͨɺ͋Γ͕ͱ͏͝
    ͍͟·͢ʂ
    • ंͰશ෦ࡐΛ࣋ͪࠐΈɺେྔੜ࢈
    • 9ਓ͕͔ΓɺҰ೔ͰͳΜͱ͔׬ྃ
    • chocopie116ࢯɺdoi-tࢯɺmorizooo
    ࢯɺsatoࢯɺuessyࢯɺmacopyࢯɺ
    lestrratࢯɺͦͯ͠࠺ɺ͋Γ͕ͱ͏…ɻ

    View Slide

  118. ͔͠͠૊ཱ࣌ʹ༙͍ͯ͘Δ໰୊

    View Slide

  119. ෆྑ඼
    • EPDͱج൫ͷϑϨΩΛ͜͡Δͱ෮׆ʂ
    • ͠ͳ͍΍ͭ΋͋ͬͨ…
    • ϥζύΠͱͭͳ͙έʔϒϧ͕͓͔͍͠
    ΋ͷ΋
    • → ෆ҆ͳͷͰɺ஄͘ɻ

    View Slide

  120. όοςϦʔ
    • ௨ి͠ͳ͍ͳʁ์ిͯ͠Δͷ͔ʁ
    -> ॆి΋Ͱ͖ͳ͍ɺյΕͯΔ…
    • ʮ͓͍ɺ͜Ε͸୺ࢠ΋͓Εͨͧʁʯ

    View Slide

  121. ԚΕ
    • (ͳΜ͔ϕλϦͱΑ͝ΕͯΔͳɺ১͜͏)
    • ʮ…ʁʯ
    • ͜ͷԚΕ…อޢγʔϧͷԼʹ
    ͍Δͩͱ…ʁ
    • QC OKͷγʔϧ͸ҰମͳΜͩͬͨͷ͔

    View Slide

  122. ඍົͳϐϯζϨ
    • Ұݸ͚ͩɺϐϯ͕ͣΕ͍ͯΔ΋ͷ΋͋
    ͬͨ
    • ʮ࣏ͤΔ͠ɺ͜Ε͸ྑ඼ʢ͍ͩͿζϨ
    ͖͍ͯͯΔՁ஋؍ʣʯ
    • ஸೡʹઌग़͠ηϯυόοΫରԠ͍ͨͩ
    ͍ͨ
    • KSY͞Μ࠷ߴʂࠓޙ΋ޚࣾͰϥζύΠ
    ങ͍·͢ʂ

    View Slide

  123. ݁Ռతʹશ਺ݕࠪ
    • EPDɿ (ԚΕɺέʔϒϧؚ) ෆྑ཰ 2% ΄Ͳ
    • όοςϦʔɿ ෆྑ཰ 5% ௒
    • ϥζύΠɿ 1͚ͭͩϐϯζϨɺަ׵
    • microSDʀ̍ຕॻ͖ࠐΈ͕ົʹ஗͍΋ͷ
    • ʮશ਺ݕࠪɺඞཁ͗͢Δ…ʯ

    View Slide

  124. ౜ಥʹɺ෦඼΍ࡏݿ؅ཧͷ࿩
    • ʮ։ൃ༻ʯʢࣗෲͰ͋ͬͨͱͯ͠΋ʣ
    • ʮྔ࢈༻ʯ
    • ʮࣄલ഑෍༻ʯʢςετελοϑͳͲ΁ʣ
    • ʮσϞ͓౉͠༻ʯʢڠࢍاۀ༷ͳͲ΁ʣ
    • શ෦ผͰݕ౼ɾ؅ཧͨ͠΄͏͕Α͍
    • ʮྔ࢈ʯ͚ͩͰ؅ཧͯͨ͠Β͍ͩͿࠞཚͨ͠ɻ

    View Slide

  125. ׬શ์ిͨ͠USBόοςϦʔ໰୊
    • ͪΐͬͱҐ͸ిྗ͋Δͱࢥ͕ͬͨɺ׬શ์ి͕ଟ͗͢Δɻ
    ॆి͠Α͏ɻ
    • Ұຊ̐࣌ؒʢʁʣ* 210ຊ = 840h
    • ≒ 35೔
    • (͜ͷ࣌఺Ͱɺ࢒Γ൒݄Ґʣ
    • ୔ࢁҰ౓ʹॆి͠Α͏ʂʂ

    View Slide

  126. • 16ϙʔτͰ16ഒ଎ͩʂ
    • Πϧϛωʔγϣϯ៉ྷ
    • ࠺ʮ͜ΕՐࣄʹͳΒͳ͍ͷʁʯ
    ͏ʮͳΒͳ͍…ͱࢥ͍͍ͨ…ʯ
    (ͳΒͳ͔ͬͨ)
    • 4ϙʔτߴग़ྗUSBॆిث͸೩͑Δ΄Ͳ
    ൃ೤ͨ͠ͷͰ3ϙʔτʹ͕ͨ͠ɺͲ͏Ͱ
    ΋͍͍13ϙʔτͷσʔλHUB͸13ݸͿ
    ΒԼ͛ͯ΋Թ͔͍ఔ౓ͰॆిͰ͖ͯศ
    རͩͬͨ…ɻ
    (ຊ౰ʹॆిͰ͖ͯΔ͔ෆ҆ͳ΄Ͳʹ)

    View Slide

  127. ຊମ͕ग़དྷͨʂmicroSDমͧ͘ʂ
    • खͰম͘ͱɺҰݸম͘ͷʹ5෼
    • 5 * 210 / 60 = 17.5h
    • ʢ5෼ʹҰ౓ׂΓࠐΈ͕ೖΔ࡞ۀΛٳΈແ͠Ͱ΍ͬͨ৔߹ʣ
    • ·͋ɺΘ͔ͬͯ͸͍ͨΑʂ

    View Slide

  128. • σϡϓϦέʔγϣϯۀऀΛ͔ͭ͏ͱɺ
    େମ10ʙ30ສ͢ΔͷͰݕ౼֎
    • ϓϩ༻ͷσϡϓϦέʔλʔػࡐ͸ߴ͍
    (20ʙ50ສͱ͔͢Δ)
    • ͜Ε͸ྲྀੴʹݸਓͰങ͍ͨ͘ͳ͍…
    • ͱ͍͏͜ͱͰ…

    View Slide

  129. ʮϏϧίϯϚγϯʯര஀
    • 10 ϙʔτͷUSBΛ઀ଓͨ͠΍ͭ
    • USB3.0ߏ੒ʂ
    • Ұຊ໿̍ສԁʂ
    • 30෼Ͱ10ຕম͚·͢ʂʢ࣮੷஋ʣ
    • 10ഒ଎Ͱ͸ͳ͍ɺҊ֎஗͍

    View Slide

  130. • 210ຕ / 10 * 30෼ / 60
    • = 10.5࣌ؒ(ٳΈແ͠)
    • ॏཁͳͷ͸ɺख͕ؒ30෼ʹҰ౓ͳ͜ͱ
    ͱख͕ؒ1/10ͳ͜ͱʂ
    • ʮ10࣌ؒΩϥΩϥͰΩϨΠʂ()ʯ
    • ιϑτ͸ແ೉ʹEtcher
    • ৴པੑˍָ͞ˍϕϦϑΝΠ෇͖
    • (Etcher͸ෳ਺υϥΠϒॻ͖ࠐΈػೳ
    ͕͋Δ)

    View Slide

  131. ͱ͍͏͜ͱͰ
    • ϋʔυ΢ΣΞ͸མͪண͍ͨͷͰ͋ͬͨ…
    • ʮ΋͏ʰͰ͖ͨʱͳʂʂʯʢຫ৺ʣ
    • (͜ͷ࣌͢Ͱʹ͓ຍޙ…)

    View Slide

  132. ͋Β͢͡
    ʮϋʔυ͕׬੒ͯ͠΋ιϑτ͕ͳ͚Ε͹λμͷ൘ʂ
    ʰ͜ΕͲ͏΍͔ͬͯͭ͏ΜͰ͔͢ʁʱ
    ʰ͑ͬɺεϚϗͰ͔ͭ͑ͳ͍ͷʁʱ
    ʰೝࣝ͠ͳ͍ΜͰ͚͢Ͳ…ʱ
    ༷ʑͳόά΍ཁٻ͕զઌʹऻ͍͔͔Δʂʂࠁʑͱ͗͢Δ࣌ؒʂʂ
    ݟ͑ͳ͍ϦϦʔεʂʂखݩͰ͸࠶ݱ͠ͳ͍όάʂʂՌͨͯ͠ιϑ
    τ΢ΣΞ͸׬੒͢Δͷ͔ʂʁʯ

    View Slide

  133. Φν: ׬੒͠·ͨ͠ʂʢʁʣ
    • https://github.com/builderscon/electronic_badge_2018
    • ҰԠࠓͷࣗ෼͸ιϑτ΢ΣΞ͕ຊۀͳͷͰؤுͬͨ
    ʢͳ͓ɺ͜ͷεϥΠυॻ͍ͯΔ࣌఺Ͱ͸׬੒ͯ͠ͳ͍͔΋ʣ

    View Slide

  134. ౰ॳͷ೴಺૝ఆ
    • ʮօϋοΧʔͩ͠ɺ
    ɾόϥͷ෦඼Ͱ౉ͯ͠
    ɾHelloworld͘Β͍ͷςετίʔυ
    ɾυΩϡϝϯτ͸ID/PASS
    ͘Β͍Ͱ͍͍ΑͶʂʯ

    View Slide

  135. ͝ҙݟ
    • ʮઈରΈΜͳ࡞ΒΜʯ => ૊ཱࡁΈ΁
    • ʮssh஌Βͳ͍ਓ͍ΔͰ͠ΐʯ => USBϝϞϦϚ΢ϯτՄೳʹ
    • ʮεϚϗͷਓ͸Ͳ͏͢Δͷʁʯ => Ϋϥ΢υରԠʂʂ
    • ͲΕ΋͍͍ͪͪ͝໬΋ɺଞਓͷҙݟ͸ॏཁʂ

    View Slide

  136. ແݶʹ৳ͼΔTodo
    • ΊͬͪΌେมͩͳ…
    • (ݟ͍ͯΔ͚ͩͰ಄௧͕)
    • ఘΊ߲ͨ໨΋͍͔ͭ͘…

    View Slide

  137. • ໊ࡳͷϥΠϒϥϦ͕Python2ͩͬͨͷͰɺ3ରԠ
    • ໊ࡳΞϓϦࣗମ΍ɺςΩετ,ը૾ΛEPDʹදࣔ͢ΔCLIπʔϧ
    • ໊ࡳΛUSB υϥΠϒ΍NIC౳ͱͯ͠ೝࣝͤ͞Δߏ੒
    • USBυϥΠϒʹઃఆϑΝΠϧΛஔ͘ͱڍಈ෼ذ
    • ݎ࿚(?)ʹͳΔΑ͏ʹ֤छىಈ࣌ࣗݾ਍அɺࣗݾम෮
    • Ϋϥ΢υʹΑΔը૾ొ࿥
    • etc,etc.

    View Slide

  138. • ࠭യͷgithubʹଟগ૲͕ੜ͑Δ
    • (squashͨ͠΋ͷΛؚΊΔͱɺ
    300ίϛοτ΄Ͳ)
    • ʮ࢓ࣄ͡ΌΜ͜Εʯ

    View Slide

  139. ిࢠ໊ࡳ։ൃ࣌ͷख๏

    View Slide

  140. ίʔσΟϯά؀ڥ
    • MacͱpycharmͰ։ൃͯ͠సૹ͠
    • ࣮ػʹsshͯ͠vimͰඍௐ੔
    • ࣮ػʹPython3.6ΛೖΕΔͷ͸ఘΊͨ
    • खؒɺσΟεΫ༰ྔɺ݁ߏඞཁ
    • pyenvͰ3.5ΛMacʹ

    View Slide

  141. MacͰ։ൃ͢ΔͨΊʹ
    • EPDͷϥΠϒϥϦ͸ɺPILΛड͚෇͚͍ͯͨ
    • PIL͸.show()ͰϨϯμϦϯά݁ՌΛදࣔͰ͖Δ

    EPD_PSEUDO_MODEͳͲεΠονΛ͚ͭͯɺPCͰ΋ඳըϩδοΫ
    ςετ͕Ͱ͖ΔΑ͏ʹ
    • ৼΓฦΔͱɺ͜Ε͸͔ͳΓॏཁͩͬͨ

    View Slide

  142. Linux؀ڥ͸͋ͬͨ΄͏͕ྑ͍
    • ext4Λ͖ͪΜͱϚ΢ϯτͰ͖Δ͔Β
    • ىಈ͠ͳ͘ͳͬͨ࣌ʹத਎ΛݟΔඞཁ͕͋Δ͔Β
    • Ծ૝؀ڥͰ΋Մɻ
    • ྫɿParallels͸Macͷ෺ཧUSBΛVMʹૠͤΔ
    • (VirtualBoxͱ͔Ͱɺ·ͱ΋ʹಈ͘ͷ͔͸஌Βͳ͍)

    View Slide

  143. Tips ΠϝʔδϑΝΠϧΛϚ΢ϯτ
    • ΠϝʔδϑΝΠϧ͸Φϑηοτࢦఆ͢Ε͹Ϛ΢ϯτͰ͖Δ
    • ޙ͔Βࠟ੻গͳ͘ΠϝʔδΛվม͢Δ͜ͱ΋Ͱ͖Δ
    $ mount -v -o offset=50331648 -t ext4 micro_sd.img /mnt/nafuda

    View Slide

  144. Windows΋͋ͬͨ΄͏͕Α͍
    • ౰વͳ͕ΒɺWindowsͰͷಈ࡞ςετ΋ඞཁͳͷͰɻ
    • ಉ༷ʹɺ·ͱ΋ͳԾ૝Խιϑτ΢ΣΞͳΒVMͰςετ͢Δ͜ͱ
    ΋Ͱ͖Δ͸ͣʢg_etherͷυϥΠόΛࢼͨ͠ΓͳͲ͸ͨ͠ʣ

    View Slide

  145. ։ൃ࣌ͷ؅ཧɾίʔυసૹ
    • Git(Hub)͔Zip͔ → GitͰʂ
    • ࣮ػͰͪ͝Όͬͱ͍ͬͯ͡΋ɺdiff͕ݟΕΔͷ࠷ߴʂ
    • ΰϛίϛοτ͕૿͑·͘Δ…ͷ͸ఘΊΔʢ͋Δ͍͸ྺ࢙վ͟
    Μʣ
    • ࣮ػͰ͍ͬͯ͡ɺίϛοτ࿙Εͷ··ॳظԽͯ͠ফ͑ͨίʔυ
    ΋গʑ͋Δ

    View Slide

  146. • ΠϝʔδΛͲ͏ϦϦʔε͢Δ͔
    • ໿2GB͋ΔBLOB
    • Ͳ͔͜ͷ΢Σϒαʔόʔʹஔ͘ʁίετ͔͚ͨ͘ͳ͍ͳ…
    • lestrratࢯʮGitHub ͷRelease͸ʁʯ
    • ͑ͬɺ2GB·Ͱ͸λμʁ΁ʙ͍͍ͷʁଠͬෲʙʙ
    • ͨͩɺULʹ̍࣌ؒ͘Β͍͔͔Δͷ͸ͭΒ͍…

    View Slide

  147. journaldΛͪΌΜͱ࢖͏
    • ։ൃػͰ͸ϩάΛ࢒͢Α͏ʹઃఆ͢Δʢແઃఆͩͱɺشൃʣ
    • journalctl -b -1 -u nafuda-bootup
    • b΍uΦϓγϣϯͰʮNճલͷిݯ౤ೖ࣌ɺಛఆͷαʔϏεʯ
    ͚ͩݟΕΔ
    • lessͰ΢ϩ΢ϩ͠ͳ͍͍ͯ͘ʂศརʂ
    • (୯ʹϑΝΠϧʹग़͍ͨ࣌͠͸ෆศ…)

    View Slide

  148. ઃఆ
    # /etc/systemd/journald.conf ʹ௥ه
    [Journal]
    Storage=persistent
    SystemMaxUse=128M
    ൓ө
    sudo mkdir /var/log/journal
    sudo systemctl restart systemd-journald

    View Slide

  149. ੍࡞ͨ͠ιϑτ΢ΣΞʹ͍ͭͯ
    • େ͖͘෼͚ͯ2ͭ
    • EPDඳըͷαϯϓϧίʔυ
    • Py3ରԠͷϥΠϒϥϦ΍ɺ໊ࡳ༻εϥΠυγϣʔͳͲ
    • bootup
    • ʮిࢠ໊ࡳʯͷϑΝʔϜ΢ΣΞΈ͍ͨͳ΋ͷ
    • NAFUDAυϥΠϒ࣮ݱ΍ɺىಈ࣌ࣗݾॳظઃఆͳͲ

    View Slide

  150. simple-nafuda
    • Կͷม఩΋ͳ͍ը૾εϥΠυγϣʔ
    • ʮ͑ͬɺ͜Εύιίϯ͕ͳ͍ͱ࢖͑ͳ͍ͷʁʯͱ͍͏࠺ͷҰݴ
    ͰΫϥ΢υػೳ௥Ճ
    • ࠷ॳ͸PHPͰॻ͜͏ͱࢥ͍͕ͬͯͨɺ͕࣌ؒͳ͔ͬͨͷͰ
    Pythonʹͳͬͨ
    • ม఩΋ͳ͍͠ɺ๯಄ͷʮిࢠ໊ࡳ঺հʯͱ͔ͿΔͷͰলུ

    View Slide

  151. bootup
    • ύεϫʔυॳظԽ
    • ϗετωʔϜॳظԽ
    • NAFUDAυϥΠϒ༗ޮԽ
    • ͋Δ͍͸Gadget Ether,serial༗ޮԽ
    • simple-nafuda ໊ࡳϓϩάϥϜىಈ
    • ౳Λىಈ࣌ʹߦ͏ɺ௕େͳBashεΫϦϓτ

    View Slide

  152. ϔουϨεͳϚγϯ
    • ىಈεΫϦϓτΛ৭ʑ௥Ճ͍ͯ͠Δ
    • ϛεΔͱىಈʹࣦഊ͢Δʂ
    • 㙽ʹ֯ϋʔυ΢ΣΞͷγϦΞϧ͸ඞཁ
    • ϒʔτϩά͕ݟΕͯɺwifi͕ࢮΜͰ΋γΣϧʹ৮ΕΔ
    • quiet΋ɺ࠷ޙ·Ͱͷͨ͜͠΄͏͕҆৺
    • Linux ؀ڥ΋อݥͱͯ͠ཉ͍͠ॴʢSDΛ֎ͰϚ΢ϯτʣ

    View Slide

  153. ύεϫʔυੜ੒ʁ͍Δͷʁ
    • linux੡ͷΨδΣοτʹϦϞʔτϩάΠϯͰ͖Δ࠷ߴʂ͕ͩ…ɻ
    • RaspbianͷσϑΥϧτ͸ pi / raspberry
    • ʮύεϫʔυͲ͏ͤσϑΥϧτͰ͠ΐʁ౰೔จࣈ௨ΓϦϞʔτ
    ͰϋοΫ͠·͘ΔΘʂʂʂʢসإʯͱ͍͏ํ͕͍Βͬ͠Όͬͨ
    ͷͰ…
    • ύεϫʔυੜ੒͠ͳ͍ͱବ໨ͩͳ…

    View Slide

  154. # ϥϯμϜจࣈྻΛύεϫʔυ༻ʹੜ੒͢Δ
    /usr/bin/openssl rand -base64 6 > /boot/default_passwd.txt
    /bin/echo "pi:`/bin/cat /boot/default_passwd.txt`" | /usr/sbin/chpasswd
    • chpasswd͸STDIN͔ΒύεϫʔυΛ͏͚͚ͭͯมߋͯ͘͠ΕΔ

    View Slide

  155. • ੜ੒ͨ͠ύεϫʔυ͸ɺNAFUDAυϥΠϒ͔Βݟ͑ΔΑ͏ʹ͠
    ͓͍ͯͨ
    • ىಈ࣌ͷ৘ใදࣔʹ΋ɺύεϫʔυΛද͍ࣔͯ͠Δ
    • ʢͭ·Γɺ͜Ε͸໊ࡳΛϦϞʔτͰָʹϋοΫͤ͞ͳ͍ҝͰɺ
    ໊ࡳͷηΩϡΞ͞Λ্͛ΔҝͰ͸ͳ͍ɻ໊ࡳʹॏཁͳσʔλΛ
    ͍Εͳ͍Α͏ʹʂʣ

    View Slide

  156. ͜ͷॲཧ͸ʮॳظύεϫʔυ࣌ͷΈʯ
    • Raspbian͸ݩʑ/run/sshwarnͷ࢓૊Έ͕͋ΓɺσϑΥϧτύε
    ϫʔυͩͱlogin࣌ʹܯࠂ͕ग़Δ
    • ར༻͔͕ͨͬͨ͠ɺPAMͷ࢓૊ΈΛ࢖͍ͬͯͯboot࣌ʹ͸ͳ͍
    • ͔ͨ͠ͳ͍ͷͰɺPythonͰ/etc/shadow͔Βpiͷߦ͔ΒsaltΛर
    ͬͯraspberryΛϋογϡԽ͠ɺҰக͢Δ͔νΣοΫ͢Δπʔϧ
    ॻ͍ͨ

    View Slide

  157. ಉ༷ʹϗετ໊΋ੜ੒
    • avahiʢBonjourʣͰϗετ໊͕িಥͨ͠Β໽հͳͷͰ
    • ʢͦ͜·Ͱॏཁ౓͸ߴ͘ͳ͍ʣ

    View Slide

  158. NAFUDAυϥΠϒ
    • g_mass_storageΛར༻͠ɺ໊ࡳΛPCʹ઀ଓ͢ΔͱɺPC͔Β͸
    USBυϥΠϒʹݟ͑Δ
    • ϑΝΠϧίϐʔͰ޷͖ͳը૾͕ηοτͰ͖Δ
    • WifiઃఆϑΝΠϧ౳Λஔ͚͹࠶ىಈ࣌ʹ൓ө
    • ͳΜͳΒɺࣗ෼ͷίʔυ΋ஔ͚Δ(startup.sh)
    • ศརʂΨδΣοτͬΆ͍ʂʢࣗݾຬ଍ʣ

    View Slide

  159. g_mass_storage
    • vfatͰϑΥʔϚοτͨ͠σΟεΫΠϝʔδΛࢦఆͰ͖Δ
    • (࣮ࡍʹ͸ɺத਎͕vfat͔Ͳ͏͔͸͋Μ·Γؔ܎ແ͍)
    • fs͕յΕ͍ͯͯ΋໰୊ͳ͍ʢࣗ෼ʹ͸໰୊͋Δͳ͋…ʣ
    • Mac΍WinͰ࠶ϑΥʔϚοτ͢Δͱڍಈ͕มΘΔ͜ͱ΋…
    • ʢ͍ͬͯ͏͔mkfs.vfatͰ࡞Δͱwin͕จ۟ݴΘͳ͍ʁʣ

    View Slide

  160. FSΛ͜ΘΕͨ··ʹ͠ͳ͍౒ྗ
    • յΕͨ··ͩͱɺԿ΋Ͱ͖ͣʹ٧ΜͰ͠·͏ɻ
    • Τϥʔ͕͋Ε͹ɺͱʹ͔͘mkfs͠௚͢ʂ
    • fs͕݈શͰ΋தʹimgσΟϨΫτϦ͕ͳ͔ͬͨΒϦϏϧυ
    • ≒ ࠷ѱɺPCଆ͔ΒϑΥʔϚοτ͓͚ͯ͠͹ڧ੍ϦϏϧυ
    • ͦΕͰ΋Ϛ΢ϯτͰ͖ͳ͍͜ͱ͸͋Δ͔΋…ෆ҆…ɻ
    • (ςετͷઈରྔ͕଍Γͳ͍…)

    View Slide

  161. NAFUDAυϥΠϒͷ಺֎ಉ࣌Ϛ΢ϯτ
    • /home/pi/virtual_sd.imgϒϩοΫϑΝΠϧΛUSBͰ֎ʹఏڙ͠
    ͭͭɺதͰ΋loopbackͰ/dev/virtual_sdʹmount
    • ແ࿦ةݥɺ͔ͦ͠͠͏͠ͳ͍ͱதͷ෺ΛಡΊͳ͍ͷͰɻ
    • ʮͰ͖Δ͚ͩʯroͰϚ΢ϯτ͍ͯ͠Δɻ
    • ͳ͓ɺroͰϚ΢ϯτ͍ͯͯ͠΋ةͳ͍͸ةͳ͍Ͱ͢ɻ
    • ʢύοͱࢥ͍ͭ͘ɺྑ͍ղܾࡦ͕ແ͍…ʣ

    View Slide

  162. ՝୊
    • ؀ڥͳͷ͔ɺwrite backͷ౎߹ͳͷ͔ɺॻ͖ࠐΜͰ͙͢ʹ੾அ͢
    ΔͱϑΝΠϧ͕ফ͑Δ
    • ʮ഑෍࣌ͷϑΝʔϜ΢ΣΞʯΑΓ৽͍͠όʔδϣϯͰ͸ɺΧʔ
    ωϧύϥϝλΛ͍͍ͬͯ͡ΔɺΑΖ͚͠Ε͹όʔδϣϯΞοϓ
    ͓ئ͍͠·͢ɻ
    • ͜ͷ͋ͨΓɺςετͷઈରྔ͕ෆ଍͍ͯͯ͠੒ख़ͤ͞Δ͜ͱ͕
    Ͱ͖ͳ͔ͬͨɻ

    View Slide

  163. USB ΨδΣοτϞʔυͷ੾Γ෼͚
    • USBυϥΠϒҎ֎ʹωοτϫʔΫΠϯλʔϑΣΠε΍γϦΞϧ
    ʢCOMʣϙʔτͱͯ͠PCʹೝࣝͤ͞ΒΕΔɻͦΕΛNAFUDAυ
    ϥΠϒʹ͓͍ͨϑΝΠϧͰ੾Γସ͑ɻ
    • ϥζύΠఆ൪ͷʮcmdline.txtʹॻ͖·͠ΐ͏ʯͰ͸ͳ͘ɺىಈ
    தʹࣗલͰmodprobe͍ͯ͠Δ

    View Slide

  164. if [ -e ${VSD_BASE_DIR}/enable_g_ether ]
    then
    G_MODE="g_ether"
    ${VSD_RW}
    /bin/rm ${VSD_BASE_DIR}/enable_g_ether
    ${VSD_RO}
    modprobe g_ether
    ifconfig usb0 up
    ifconfig usb0 169.254.123.45/16 # IPݻఆ
    fi
    if [ -e ${VSD_BASE_DIR}/enable_g_serial ]
    then
    G_MODE="g_serial"
    ${VSD_RW}
    /bin/rm ${VSD_BASE_DIR}/enable_g_serial
    ${VSD_RO}
    modprobe g_serial
    systemctl start [email protected]
    fi
    if [ -z "${G_MODE}" ]
    then
    G_MODE="g_mass_storage"
    modprobe g_mass_storage file=${VSD_IMG_PATH} stall=0 removable=1
    fi

    View Slide

  165. • lsmod,rmmodͰޙ͔ΒͰ΋֎ͤΔͧʂ
    • rmmod͢ΔͱσόΠε͔Βফ͑Δɺͨͷ͍͠ʂ
    • → ΍Γ͗͢Δͱ฼؋ͷMac͕ڍಈෆ৹ʹͳͬͨΓɺ
    Panic͢Δ͜ͱ͕͋Γ·͢

    View Slide

  166. ىಈͷߴ଎Խ
    • ࠷ॳͷόʔδϣϯ͸ىಈʹ100ʙ120ඵ
    • ௐ੔ͯ͠ɺ40ʙ50ඵʹ
    • ʢ͜ͷىಈͱ͸ɺEPD͕ͳΜΒ͔ಈ͖ग़͢·Ͱͷ࣌ؒʣ

    View Slide

  167. Ͳ͏ௐ΂࣮ͯࢪ͢Δʁ
    • systemd͸֤αʔϏεىಈ࣌ؒΛௐ΂ΒΕΔ
    • ·ͣ͸ܭଌʂ
    • ޙ͸஗͍΋ͷΛҰݸҰݸࡴͨ͠ΓɺରࡦΛߟ͑Δ
    • systemdΑ͘Ͱ͖ͯΔ…͍͢͝…
    • (͔͠͠ɺ͜ΜͳࣄͰ΋ͳ͚Ε͹͋Μ·Γ࢖Θͳ͍͔΋)

    View Slide

  168. systemd-analyze time
    $ systemd-analyze time
    Startup finished in 2.745s (kernel) + 40.594s (userspace) = 43.340s

    View Slide

  169. systemd-analyze blame

    View Slide

  170. systemd-analyze plot > systemd.svg

    View Slide

  171. systemd-analyze critical-chain

    View Slide

  172. ߦͬͨࣄ
    • hciuart.serviceͷແޮԽ (BT serial)
    • ΧʔωϧίϚϯυϥΠϯ(cmdline.txt)मਖ਼
    • rootࢦఆΛUUID͔Β/dev/ࢦఆ΁
    • quiet௥Ճ

    View Slide

  173. • ࣗ࡞ϒʔτΞοϓεΫϦϓτͷҐஔௐ੔
    • ౰ॳmulti-user͕ͩͬͨnetworkͷafterʹͨ͠
    • dhcpcd͸ɺ౎߹΋͋Γ໺์͠
    • 110 -> 45ඵ΄Ͳ΁ɺ͏ʔΜɺ·͍͍͔͋ɻ

    View Slide

  174. ͜ΕҎ্Λૂ͏ʹ͸…
    • dhcpcdΛௐ੔͢Δʢ͋Δ͍͸ωοτϫ
    ʔΫΛఘΊΔʣ
    • ໊ࡳͷBootupίʔυࣗମΛݟ௚͢
    • ↑͜ΕΒҎ֎͸ޡࠩɺ΍ͬͯ΋͋Μ·ҙ
    ຯͳ͍
    • ࣮ʹ໌֬Ͱྑ͍ɺແବ͕ͳ͍ʂ
    (ਖ਼͘͠͸ແବͳ͕࣌ؒͳ͔ͬͨ)

    View Slide

  175. ͱ͍ͬͨײ͡Ͱɺιϑτ΢ΣΞ͸Ͱ͖ͨʂ
    • ഑෍ͩʂ
    • ͦͷͨΊʹ͸…

    View Slide

  176. ϥΠηϯεʂ
    • ීஈͳΒ
    ʮࣗ෼ͷίʔυΛ͚ͩ഑෍͢Ε͹͍͍ʂ
    ɹϥΠϒϥϦ͸ґଘੑղܾπʔϧͰʂʯ
    • ࠓճ͸Ͱ͖ͳ͍ʂʂ
    • Disk image഑෍ͳͷͰʂ
    • blob blob

    View Slide

  177. ιʔείʔυެ։
    • ίʔυ͸ಉࠝͰ͖ͳ͍͕ɺ഑෍αΠτ͕͋Ε͹ྑ͍
    • ʮίʔυ͸͔͜͜ΒDLͰ͖ΔΑʂʯ
    • rabpbianެࣜ΁ͷϦϯΫ
    • EPDϥΠϒϥϦެࣜ΁ͷϦϯΫ
    • ిࢠ໊ࡳGitHubϨϙδτϦ΁ͷϦϯΫ

    View Slide

  178. • ͱ͸͍͏͕…
    • ࣮ࡍ࠶഑෍Ͱ͖ͳ͍ιϑτ΢ΣΞ͕ೖͬͯͳ͍͔ෆ҆
    • ʢEPDϥΠϒϥϦ΋݁ߏ৭ʑ͸͍ͬͯͯෆ҆ͳͷͰɺ
    PythonҎ֎͸ެࣜαΠτ͔ΒDLͯ͠΋Β͏͜ͱʹ͠·ͨ͠ʣ
    • ʮRaspbian͕࠶഑෍Ͱ͖ΔͳΒɺେମOKͩΑͶʂʯ

    View Slide

  179. Raspbian
    • DLϖʔδʹ஫ҙॻ͖͕
    • Oracle - Java,
    • Wolfram Research - Mathematica,
    • ͳΔ΄Ͳʂ྆ํͱ΋ແ͍͔ؾΛ͚ͭΑ
    ͏ʂ
    • dpkg-query -l |grep java
    • ೖͬͯͳ͍ͷͰηʔϑ

    View Slide

  180. • ଞͳʹ͕͸͍ͬͯΔΜͩʁ
    • /usr/share/doc/*/copyrightΛΈΑ͏ʂ
    $ grep -h '^License:' \
    /usr/share/doc/*/copyright | \
    sort -i | \
    uniq -ic | \
    sort -n

    View Slide

  181. View Slide

  182. ;͓͓…

    View Slide

  183. (ൃද࣌GIFΞχϝ)

    View Slide

  184. ଟ͗͢ʂ

    View Slide

  185. 238छྨͷϥΠηϯεʂ
    • ಉ໊͡લͷϥΠηϯεΛ·ͱΊͯ΋͜Ε
    • (ࡶͳूܭͷ਺Ͱ͢ͷͰɺ࣮ଶ͸ද͍ͤͯͳ͍)
    • Raspbian LiteͰ࠷௿ݶͷύοέʔδͳͷʹ͜Μͳʹ…
    • GPLͱͷσϡΞϧϥΠηϯεʢ࣮࣭GPLʣ͕ଟ͍
    • ͳΜͳͷ͜Εʁͱ͍͏ϥΠηϯε΋ଟ͍…

    View Slide

  186. ൈਮ
    1 License: Binary redistribution (Atheros)
    4 License: Beer-ware
    • ͳΔ΄ͲόΠφϦͳΒOK
    • ͳΔ΄ͲϏʔϧ΢ΣΞʢ͍͔ͭػձ͕͋Ε͹ϏʔϧΛ…ʣ
    • ͜ΕΒ͸Θ͔Δɺ͔͠͠…

    View Slide

  187. ൈਮ
    2 License: probably-PD
    2 License: config-h
    4 License: none
    5 License: custom
    12 License: other

    View Slide

  188. none!

    View Slide

  189. other!!

    View Slide

  190. custom!!!

    View Slide

  191. probably!!!!

    View Slide

  192. ͜Ε͸Ϡό͍
    • ݟͳ͔ͬͨ͜ͱʹ…͸Ͱ͖ͳ͍Αͳ͋ɻ
    • ҰԠ໨ࢹ͸ؤுͬͨʢग़དྷͨͱ͸ݴ͍ͬͯͳ͍ʣ
    • BLOBͷυϥΠό΋όΠφϦ࠶഑෍ͳΒOKͬΆ͍
    • Ұ෦ͷʮຊ౰ʹṖʯͳϥΠηϯε͸ͳΜͱ΋ݴ͑ͳ͍
    • (LinuxͷσΟετϦϏϡʔγϣϯ͍ͬͯ͢͝ͳ…)

    View Slide

  193. ιʔείʔυҎ֎͸…
    • mercari͞Μͷϩΰ͕ೖͬͨը૾ͱ͔ʢͪ͜Β࠶഑෍ېࢭͰ͢ʣ
    • buildersconͷը૾ͱ͔ʢCC BY-SA)
    • ʮଟ෼େৎ෉ʂͰ͠ΐʂʂʯ

    View Slide

  194. ·͋㙽ʹ֯Πϝʔδ഑෍͢Δͧʂ
    • Ͱ͸ɺෳ੡ͷͨΊʹSDΧʔυΛಡΈࠐΜͰɺ
    σΟεΫΠϝʔδʹ͠Α͏ʂ

    View Slide

  195. ·ͣऔΓࠐΉ
    • SDΧʔυΛMacʹͭͳ͍Ͱɺ͓ͳ͡ΈddίϚϯυΛ࢖͏
    • dd if=/dev/rdisk2 of=bc.img count=1776 bs=1m
    • /dev/diskXͰͳ͘ɺ
    /dev/rdiskXΛ͔͍ͭ·͠ΐ͏ɺ଎౓͕10ഒ଎͍ɻ
    • (bs=1mͷ࣌ͷ)count=1776ͬͯͲ͔͜Βग़͖ͯͨʁ
    →ʢΦϚέΛݟͯͶ

    View Slide

  196. • ͔͠͠ɺ࡞ۀsd͔ΒΠϝʔδ࡞ΔͱΰϛͩΒ͚
    • ΫϦʔϯͳRaspbianΠϯετʔϧࡁΈΠϝʔδ͔ΒϦϦʔεΠ
    ϝʔδΛϏϧυ͢Δͧʂ

    View Slide

  197. ͭΒ͍ʂ
    • 1Ϗϧυ 1࣌ؒʢେମapt଴ͪʣ
    • ϚελSD͔ΒΠϝʔδ΁ʢ10෼ʣ
    • ਅ৺ςετ30෼ʢେମ࠶ىಈ଴ͪʣ
    • ഑෍ͷͨΊʹGH Release΁ʢ60෼)
    • 1प2࣌ؒ
    • ͭΒ͍ʂʢ·͋ͳΜͱ͔΍ͬͨ…ʣ

    View Slide

  198. ʮCI͖ͯ͘Εʂʂʯ
    • ͕࣌ؒͳ͔ͬͨͷͰɺ੔උͰ͖·ͤΜͰͨ͠ɻ
    • ࣍ճͷ՝୊Ͱ͢ɻ

    View Slide

  199. ελοϑ΁ϏϧυΛ౉ͯ͠ςετͯ͠΋Β͏
    • ʮͰ͖ͨʂσόοάͯ͠ʂʯ=>ʮΘ͔ͬͨʂʯ
    • ʮͳΜ͔chroimum͕͏͔͝ͳ͍ͳʙʯ
    • …ͦΕϑΝʔϜ΢ΣΞͷσόοάͱؔ܎ͳ͘Ͷ͑ʁ
    • ʮέʔϒϧͲ͔͍͖͜·ͨ͠ʯ
    • ͦ͏͔…ͦΕ͸࢒೦ͩ…

    View Slide

  200. ଞਓࣄʹ͓͍ͯ͸༏ઌॱҐ͸௿͍ʂ
    • Έͳ๩͍͠ʂ౰ͨΓલͩͳʂΦϨͩͬͯଟ෼ͦ͏ͩΘʂ
    • ͭ·Γɺࣗ෼͕΍Δ͔͠ͳ͍ͬͯ͜ͱͩͳΨοϋοϋʂ
    • ͦΕͰ΋̍ʙ̎ճɺىಈςετΛͯ͠΋ΒͬͯوॏͳόάϨϙ
    ήοτʂʢ΋ͷ͋͘͢͝Γ͕͔ͨͬͨʂ͋Γ͕ͱ͏
    macopyʂʂʣ
    • ʢ౰ͨΓલ͕ͩʣ஥ؒͰ΋ʮνʔϜʯͱʮϔϧϓʯ͸ҧ͏

    View Slide

  201. ςετͯ͘͠ΕΔਓ͸
    وॏʂʂʂʂ
    ԿΑΓ΋وॏʂʂ

    View Slide

  202. • ୯Ұ؀ڥͰ࠶ݱ͠ͳ͍όάΛ֬ೝ͢Δ͜ͱ͸΄΅ෆՄೳ
    • ඞࢮʹVM΍࣮ػΛͳΒ΂ͯࣗ෼Ͱςετ͢Δ
    • ࣗ༝౓͕ߴ͍΋ͷ͸όάͷྔ͕ҟৗʹଟ͍ʂ
    • ΋͠΍ͬͯ͘ΕΔਓ͕͍ͨΒɺશྗͰαϙʔτ͠Α͏

    View Slide

  203. • ೜ͼدΔखൈ͖
    • ςετ͕େม͗ͯ͢ɺҰ෦૝ఆखॱΛʮ࣮ࡍͷӡ༻ͱҟͳΔʯ
    खॱͰ΍ͬͯ͠·͍ͬͯͨʢ̍࣌ؒ୹ॖͰ͖Δ…ʣ
    • ྫɿγϦΞϧίϯιʔϧͰWifiύεϫʔυઃఆ
    • Ҋͷఆ૝ఆ֎ͷόά͕͍ͨ
    • set -eͰ͸ίέΔఔ౓ͷ…
    • ࣮ػͰɺ૝ఆͷखॱͰɺςετ͠ͳ͚Ε͹ବ໨ʂ

    View Slide

  204. ௚ͨ͠ʂ
    • ʮࢼͯ͠Έ͚ͨͲಈ͔ͳ͍Ͱ͢ʯ
    ʮͦΕ͸ଟ෼࠷৽ϑΝʔϜͰͳ͓͍ͬͯ·͢ɺম͍ͯΈͯ΋Β
    ͑·͔͢ʁʯ
    • ʢͦͯ͠ɺ൓Ԡ్͕੾ΕΔʣ
    • ͔ͨ͠ͳ͍…͔ͨ͠ͳ͍…ɻ

    View Slide

  205. • ࠺ʹ͓ئ͍ͯ͠ςετͯ͠΋Β͏
    → ࠺ʹ΋Ͱ͖ͨʂ
    • ͜Εʹ͸͔ͳΓࣗ৴͕༙͍ͨ
    • ʢͨͩɺ͜͜Ͱ΋όά͸ݟ͚ͭͨʣ

    View Slide

  206. ΍Γ͔ͨͬͨ…ʂʂ
    • ςελʔͷखؒΛ΁Βͨ͢ΊʹOTAΞοϓσʔτΛ࡞Γ͔ͨͬ
    ͨɻ
    • ໊ࡳͷిݯΛ͍ΕΔͱશࣗಈͰΠϝʔδΞοϓσʔτ
    • ख๏Λ೰ΜͰ͍͕͍͍ͨҊ͕ࢥ͍͔ͭͣɺແཧͩͬͨ
    • ࣍͸΍Δͧʂʂʂʢ͕࣍͋Δͷ͔ʁʣ

    View Slide

  207. ΋͏ҰͭͷςΫɺ࣮ػΛଟ͘഑Ε
    • ଟ͘ͷਓʹ͘͹Ε͹ɺϫϯνϟϯ΍ͬͯ͘ΕΔਓ͕ग़Δ
    • ഑ΔϞϊΛ࡞Δˠ·͋ɺͲ͏ʹ͔ͳΔ
    • ʮ΍ͬͯ͘ΕΔਓʯΛ୳͢ˠͭɺͭΒ͍…
    • ʮ͜ͷۤ࿑͸ຊ࣭తͰ͸ͳ͍ʂʢ͍͍͑͜Ε͕ຊ࣭Ͱ͢ʣʯ
    • ͔ͭͬͯΈ͍ͨʂͱࢥΘΕΔϓϩμΫτͳΒྑ͍͸ͣͩ!(?)

    View Slide

  208. • ͋Δ͍͸ɺ΋͏ޏͬͪΌͬͨ΄͏͕ྑ͍͔΋
    • ΄ͱΜͲ࢓ࣄͩ͠ɺ͜Ε͸࢓ࣄͩʂ
    • (ͱɺݴͬͨΒʮႢಹత͗͢ͳ͍ʁʯͱ͍ΘΕͨͷͰɺਫ਼ਆ͕ζ
    Ϩ͖͍ͯͯΔՄೳੑ͕͋Γ·͢)
    • ͜Ε΋·͋ɺίετͷ౎߹Ͱ೉͍͠Ͱ͢Ͷ…
    • ʮίετμ΢ϯ͠·͢ʂʯͱ͔ܾҙ͠ͳ͍΄͏͕ྑ͍͆

    View Slide

  209. ςετ͕ͭΒ͍
    • 㙽ʹ࣮֯ػͷςετ͸͍ͨ΁Μ
    • ͭ͘Γͳ͕Βςετ͢Δͷ͍ͨ΁Μ
    • ػೳ͕;͑ͯɺόοαϦػೳΛ͓ͱͯ͠ɺϦϑΝΫλͯ͠
    =>σάϨʂ

    View Slide

  210. • օ༷΋ෆ۩߹͕͋Ε͹ɺ͓ڭ͍͑ͩ͘͞ɻ
    • …ͨͩɺ࠷ॳʹυΩϡϝϯτͷTROUBLESHOOT.mdΛΈͯ͘Ε
    Δͱ͏Ε͍͠Ͱ͢
    • ʢ͏͔͝ͳ͍ཧ༝ͷׂ̓͸ɺϙʔτΛ·͕͍ͪ͑ͯΔ͔ɺผ
    ͷॴ͔Β΋͖ͬͯͨ૬ੑͷѱ͍USBέʔϒϧΛͭͳ͍Ͱ͍
    ΔɺͰ͢ʣ
    • ʢWifiʹ͍ͭͯ͸ύεϫʔυ͕ҧ͏ͱ͔…كʹಛघͳ
    wpa_supplicant.confͷઃఆ͕ඞཁͳAP΋͋ΔΒ͍͕͠…ʣ

    View Slide

  211. ಀ͍͛ͯ͘׬੒
    • ʮόάΈ͚ͭͨɺͳ͓ͦ͏ʢ-൒೔ʣʯ
    • ʮ͜ͷػೳ͍ΔΑͳɺ͚ͭΑ͏(-1೔)ʯ
    • ͕࣌ؒͲΜͲΜ΁Δ
    • microSDΛম͕࣌ؒ͘…

    View Slide

  212. …͏ʔΜ

    View Slide

  213. ഒ଎ʹ͠Α͏ʂʂ
    • ϏϧίϯϚγʔϯ͸Ұຊ1ສ͘Β͍ͳͷ
    Ͱɺ2ສͰ͢ɻ
    • ࣗ෼ͷਓ೔ΛৼΓฦΕ͹ɺ໌Β͔ʹ҆
    ͍౤ࢿʂ
    • (USB HUB ˇ4000, SD reader ˇ500*10)

    View Slide

  214. • ؾ߹Λ͍ΕΕ͹༦ํ6͔࣌Βਂ໷0࣌Ͱ
    210ຕম͚Δʂ
    • ࠷ߴʂ
    • (Ұ୆ʹ2ͭͭͳ͙ͱ஗͍ͷͰɺ࣮ࡍ͸2
    ୆ͷMacͰ΍Γ·ͨ͠)
    • ͜ΕͰ΋͏ͪΐͬͱ։ൃͷ͕࣌ؒՔ͛
    Δͧʂ

    View Slide

  215. …ͱ͍͏͜ͱͰ
    • Ͱ͖·ͨ͠ʂʢ౜ಥʣ
    • ʢ͜ͷεϥΠυΛॻ͍͍ͯΔ࣌఺Ͱ͸ʮͰ͖͍ͯΔ͸ͣʯʣ
    • ʢಉ࣌ظʹɺॆిͨ͠microSDͱόοςϦʔΛࠩ͠ࠐΈͳ͓͠
    ͯɺശ٧Ί͢Δɺͱ͍͏࡞ۀ͕͋Γɺ࠺ʹख఻ͬͯ΋Βͬͨɻ
    ෉͸ιϑτ΢ΣΞΛॻ͖ɺ࠺͕ࠝแɻՈ಺੍ख޻ۀ͜͜ʹۃ·
    ΕΓɺ͋Γ͕ͱ͏࠺ɺ͋Γ͕ͱ͏ʣ

    View Slide

  216. ͦͯ͠഑ૹͱ഑෍ͱαϙʔτ
    • TBD
    • (͜ͷεϥΠυΛॻ͍͍ͯΔ࣌఺Ͱ͸·ͩυΩϡϝϯτΛ௥ه͢
    Δ༧ఆ)

    View Slide

  217. ·ͱΊ
    • ͜ͷΑ͏ͳ༷ʑͰిࢠ໊ࡳ͸Ͱ͖·ͨ͠
    • ৐Γӽ͑ΒΕͳ͍น͸ʢ࠷ॳ͔Βආ͚͍ͯͨͷͰʣͳ͔ͬͨ
    • ͨͷ͍͠ʂʂʂ
    • ͕࣌ؒ͋Ε͹Ͱ͖Δ͋Μͳࣄ΍͜Μͳࣄʹະ࿅

    View Slide

  218. • ςετʹͤΑɺҙݟूΊʹͤΑʮ஥ؒʯ͕Ұ൪رগͰ͢
    • ࣌ؒ͸ރׇ͠·͢ʢஅݴʣͰ͖ΔݶΓר͖·͠ΐ͏
    • ͓ۚ͸Ϟνϕͱ޻෉ͱަবͰͲ͏ʹ͔͢Δ΋ͷͰ͢(ࠇ͞)
    • ٕज़͸ख࣋ͪΛ׆༻Ͱ͖Ε͹ϥοΩʔɺҐͰͩ͜ΘΒͣ
    • ͋ͱ͸΍Δؾʂʂ΍Δؾ͕͋Ε͹ԿͰ΋Ͱ͖Δʂʂ

    View Slide

  219. ϨοπτϥΠʂ
    • ʰԶ͸ొΓ࢝Ίͨ͹͔ͬΓ͔ͩΒΑɺ͜ͷṖΨδΣοτࡔΛ
    Α…ʱ
    • ͭͮ͘…ʂʢʁʁʁʣ

    View Slide

  220. View Slide

  221. ͓·͚

    View Slide

  222. ϏϧίϯϚγʔϯͷૉࡐ
    • ਖ਼௚ɺ͜͏͍͏ͷ͸৭ʑࢼ͞ͳ͍ͱʮͲΕ͕͍͍ʯ͔ෆ໌

    View Slide

  223. • ৭ʑങͬͯΈͨΒɺOricoͷ10ϙʔτ͕͍҆ͷʹ҆ఆ͍ͯͨ͠
    • 4000ԁ
    • https://www.amazon.co.jp/dp/B00ZT9MRLW
    • 2ݸങ͚ͬͨͲෆྑແ͠

    View Slide

  224. • Ϧʔμʔ͸υεύϥͷUSB3.0ରԠ500ԁͷ΍͕ͭ҆ఆ͍ͯͨ͠
    • Ұݸ500ԁ
    • http://www.dospara.co.jp/5shopping/detail_parts.php?
    ic=446699
    • 21ݸങ͚ͬͨͲෆྑແ͠
    • USB3.0ʹͭͳ͍ͩ࣌ɺൃ೤͸݁ߏ͍͢͝…
    • ʢ·͋ɺ6࣌ؒஅଓతʹম͍ͯ΋େৎ෉͚ͩͬͨͲʣ

    View Slide

  225. • ͋͘·Ͱ΋ɺࢲͷ৔߹͸ɺͰ͢ɻ
    • ৭ʑࢼ͠·͠ΐ͏ɻ

    View Slide

  226. ༨ஊ)USB3.0͸͍͢͝ʂ
    • USB 3.0ͷൺֱత৽͍͠MBP
    • USB 2.0ͷൺֱతݹ͍MBP
    • ੑೳ͕ࠩʂ

    View Slide

  227. View Slide

  228. View Slide

  229. ೤͍ʂ
    • 39౓ vs 49౓
    • 10ຕ࣌ͷ࣮ޮ଎౓͸1.2ഒ͘Β͍
    • (·͋ɺ͜ͷʮιϦϡʔγϣϯʯ͕ΠϚΠνͳͷͩ)
    • (ຊ෺ͷϚγʔϯ͸ύϥϨϧͰ΋଎͍Β͍͠ɺॴḨ·͕͍෺ͩ…
    ·͋ࠓճ͸े෼͚ͩͬͨͲ…)

    View Slide

  230. ϠϓγʔϚγʔϯ
    ϦεϖΫτ
    • moznionࢯ࡞੒ͷൃ೤ϚγʔϯΛ݁Ռ
    ͱͯ͠ϦεϖΫτ
    • (DIYɺ௿Թௐཧث)
    • (ʮYet Another Perl Cookingʯ͸ඞݟ)
    • 60౓ʹ͸͋ͱ10౓ಧ͔ͳ͔ͬͨ…

    View Slide

  231. • ͳ͔ͥҰ෦ͷMacͩͱmicroSDϦʔμ
    Λ̍̎ݸ·Ͱ͔͠ೝࣝ͠ͳ͔ͬͨɺݹ
    ͍Macʹ͔͑ͨΒͪΌΜͱ̎̌ݸೝࣝ
    ͨ͠ɻṖͰ͢

    View Slide

  232. ༨ஊ)ޙ೔μΠιʔʹ͍ͬͨΒ…
    • όοςϦʔΛผͳॴ͔ΒҾ͍ͨ਺೔ޙɺμΠιʔʹ͸USBόο
    ςϦʔͷΞοϓσʔτ൛͕࠶ೖՙ͍ͯͨ͠ɻ
    • ʮ…·͋ɺͱΓ͋͑ͣങ͏͔…ʯ
    • ͦͯ͠όϥͯ͠Έͨ

    View Slide

  233. View Slide

  234. • ಉ͡ݟͨ໨͕ͩɺ͹Βͯ͠ΈΔͱݸੑ͕͋Δ
    • ج൫͸શ෦ҟͳΔɺ഑ઢํࣜ΋ҟͳΔɻ
    • μΠιʔ৽ܕ͸ʮόοςϦʔʹ͸Μͩ෇͚͞Ε͍ͯͳ͍ʯɺη
    ϧ͕ަ׵Ͱ͖Δɺ͍͢͝ʂਐԽΛײ͡Δ…ʂ
    • (҆όοςϦʔ͸େମ༹઀͕ବ໨Ͱෆྑ͕ଟ͍Ά͍)
    • (͸ʔɺ͜ΕΛେྔ஫จͰ͖ͨΒΑ͔ͬͨͷʹͳʔ…ʣ

    View Slide

  235. ༨ஊ)ϥϯμϜจࣈྻΛ࡞Δπʔϧͱͯ͠ͷ
    openssl
    • ͳΕ͍ͯΔ҆͠શͳؾ͕͢Δʢݸਓͷײ૝Ͱ͢ʣ
    • ؾ೉͠͞΋͋Δ
    • .rndΛੜ੒Ͱ͖ͳ͍ͱɺʢฦΓ஋͕ʣΤϥʔ…
    • ͭ·Γɺsystemdͷىಈ࣌ʹ΍ΔͱΤϥʔʂ
    • set +eͰճආʢ͍ͩ͞…ʣ

    View Slide

  236. ༨ஊ)ddͰಡΈࠐΉ࣌ͷcountͷܭࢉ
    $ sudo fdisk -e /dev/disk2
    fdisk: 1> print
    Disk: /dev/disk2 geometry: 958/255/63 [15400960 sectors]
    Offset: 0 Signature: 0xAA55
    Starting Ending
    #: id cyl hd sec - cyl hd sec [ start - size]
    ------------------------------------------------------------------------
    1: 0C 0 130 3 - 6 4 22 [ 8192 - 88472] Win95 FAT32L
    2: 83 6 30 25 - 226 104 6 [ 98304 - 3538944] Linux files*
    3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
    4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused

    View Slide

  237. #: id cyl hd sec - cyl hd sec [ start - size]
    ------------------------------------------------------------------------
    1: 0C 0 130 3 - 6 4 22 [ 8192 - 88472] Win95 FAT32L
    2: 83 6 30 25 - 226 104 6 [ 98304 - 3538944] Linux files*
    3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
    • ʮ͜ͷ৔߹ɺΦϑηοτ98304ηΫλ͔Βɺ 3538944ηΫλઌ
    ͕ऴ୺ηΫλͩͳʂʯ
    • 2048ηΫλ = 1024KiBͳͷͰ…
    • (98304 + 3538944) / 2048 = 1776

    View Slide

  238. ͳ͓ɺLinuxͰ΍Δ৔߹
    • ͪ͜Β͸ऴ୺ηΫλ͕࠷ॳ͔ΒͰ͍ͯ
    ΔͷͰ଍͠ࢉෆཁ
    • 3637247 / 2048 = 1775.999511719
    • 1776 (୺਺͸੾Γ্͛Δ)

    View Slide

  239. # ෇࿥ ݸਓతʹΑ͘ݟͯͨ(?)γϣοϓ
    - AliExpress(৭ʑͳҙຯͰ࠷ڧɺࣗݾ੹೚)
    - Amazon.co.jp(ṖͷۀऀͰ΋҆৺(?))
    - εΠοναΠΤϯε (νϣΠεʹ͓͠ΌΕ͞Λײ͡Δ)
    - ळ݄ిࢠ
    - ઍੴి঎
    - Ϛϧπ
    - Aitendo
    - adafruit (ͷγϣοϓ)
    - KSY (ͷɺಛʹRspberry pi Shop)
    - pimoroni
    - RSίϯϙʔωϯπ
    - strawberry-linux (ిݯ͕ຊ౰ʹྑ͍…)
    - Digikey (඼਺࠷ڧ)
    - Mouser (ʮ͝ΊΜʂۭ༌Ͱ͖ͳ͔ͬͨ͆ʯΈ͍ͨͳ͓஡໨ͳࣄ΋͋ͬͯ଀Ίͳ͍)

    View Slide

  240. ༨ஊ)͔Θ͍͍motd
    • http://patorjk.com/software/taag/
    #p=testall&f=Graffiti&t=builderscon

    View Slide

  241. ༨ஊ OSXʢͷbashʣͱvfat
    $ ls -al
    ls: .: Invalid argument
    • ͜ͷΑ͏ͳΤϥʔ͕ग़ͨΓͰͳ͔ͬͨΓ͢Δɻ
    • ʢexfatΛ࢖͏ͱղܾ͢ΔΒ͍͕͠ɺϓϩϓϥΠΤλϦͰ࠷ॳ͔
    Βύοͱ͍Ε͓͖ͯͮΒ͍ʣ

    View Slide

  242. ༨ஊ)QEMUΛ͔ͭͬͨVM͸Ͳ͏͔ʁ
    qemu-system-arm \
    -kernel kernel-qemu-4.9.59-stretch \
    -cpu arm1176 \
    -M versatilepb \
    -dtb versatile-pb.dtb \
    -m 512 \
    -no-reboot \
    -serial stdio \
    -curses \
    -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" \
    -hda 2018-06-27-raspbian-stretch-lite.img \
    -net nic -net user,hostfwd=tcp::10022-:22
    • ࠓճ͸EPDΛ͔ͭ͏͕ɺVMʹ͸EPDͳ͍ͷͰ೉͔ͬͨ͠

    View Slide

  243. ༨ஊ) ຊ৔(?)தࠃ͔Β௚
    ઀ങ͏
    • aliexpress͸ָʂ
    • amazon.co.jpͰങͬͯ΋தࠃ௚ૹ͸ଟ
    ͍
    • ࣌ؒ͸͔͔Δ(1ʙ2w)͕ɺૹྉແྉ΋ଟ
    ͍
    • ീԦࢠͷࣗ୐ʹ೔ʑɺṖͷখแ͕ಧ͘

    View Slide

  244. ख௚͠౳ͯ͠࢖͏
    • ۂ͕͍ͬͯΔϐϯ
    • Ϟή͍ͯΔ഑ઢ
    • σʔλγʔτΛάάΔ
    • ָ͍͠ʂʢʁʁʣ

    View Slide

  245. aliexpress͸νϟοτͰΫϨʔϜͰ͖ͯศར
    • ϐϯͱ͔͸ͳ͓ͤ͹͍͍͕…
    • ෳ਺ݸങͬͨΒɺҰݸ͚ٕͩదγʔϧ͕ແ͍ࣄ͕͋ͬͨ
    • ʮͦΕ͸඼࣭ʹؔ܎ͳ͍ϤʂʯʮԶ͕ࠔΔʯ
    • ʮͦΕ͸޻৔ͷϛεͩϤʂόΠόΠʂʯ
    • ͭΑ͍…
    • ʢ਺ݸͳΒ͍͍͕ɺ͜͜Ͱ਺ඦݸങ͑Δ͔ʁʁʁʣ

    View Slide

  246. 100ۉ௨ൢTips
    • μΠιʔ΍ηϦΞ͸୔ࢁ(ྫ:300pc)ങ͏ͱɺ௨ൢͰ͖Δ
    • ͲͪΒ΋΢ΣϒΧλϩά͸ͳ͍ɺళฮͰJANίʔυΛௐ΂ͯ
    ͔Β΢ΣϒϑΥʔϜ໰͍߹ΘͤΔඞཁ͕͋Δ
    • Can˒Do͸΢ΣϒΧλϩά͋Γɺ࠷௿਺΋গͳ͘஫จՄೳ
    (ͨͩɺిࢠখ෺ͷ඼ἧ͑͸͋Μ·Γ…ʣ

    View Slide

  247. # νΣοΫϦετ
    - ೔ࠒ͔ΒΞΠσΟΞΛஷΊɺ৭ʑങͬͯࢼ͓ͯ͜͠͏
    - Αͦ͞͏ͳ஥ؒ΍৔Λ͕͓ͯ͜͞͠͏
    - ݟੵ΋ΓલʹϢʔβʔςετΛ͠Α͏ʂൿີओٛ͸ϋϯσʂ
    - ͭΒ͍ʂʢਏ͍Ͱ͸ͳ͍ʣ
    - ૣ͘࢓༷͸ݻΊΑ͏ʂ
    - ༧ࢉ͸ॊೈʹͰ͖ΔΑ͏ʹ͠Α͏ʂ༧උඅΛͭ΋͏ʂ
    - ෦ࡐ͸਺͕औΕΔ͔·ͣʹ໰͍߹ΘͤʂͪΜͨΒ΍ͬͯΔͱ෦ࡐ͕σΟείϯʂ
    - ͭΒ͍ʂʢਏ͍Ͱ͸ͳ͍ʣ
    - खʹ͸͍Γͦ͏ͳΒૣ͘஫จʂ
    - ੡଄஥ؒΛΈ͚ͭΑ͏ʂ
    - ޿͍৔ॴΛ༻ҙʂʢϞϊΛஔ͍͓ͯ͘ʹͤΑɺ૊ΈཱͯΔʹͤΑʣ
    - βςετ༻ͷςετػ͸ૣΊʹ४උ͠Α͏ʂ
    - ΢ΣϒͱҧͬͯޙͰσϓϩΠͰ͖ͳ͍͔Βग़དྷΔ͚ͩૣ͘ϕʔλ൛Λʂ
    - కΊ੾ΓΛ৳͹ͨ͢ΊͷͰ͸ͳ͘ɺվળͷͨΊʹʢͱݴͬͯʣۚΛ࢖͓͏ʂ
    - ҙݟ͸཰௚ʹ͖͜͏ʂ͔ࣗ͠͠෼ͷ໨ඪ͸͔ͬ͠Γ࣋ͱ͏ʂ
    - ҙݟΛ͍ͬͯ͘ΕΔςελʔΛखް͘΋ͯͳͦ͏ʂ
    - ͨͷ͍͠ʂ

    View Slide