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

GoでIoT ~BLE入門してみた話~ (Go Conference 2015 Winter LT #GoCon :5分)

n0bisuke
December 06, 2015

GoでIoT ~BLE入門してみた話~ (Go Conference 2015 Winter LT #GoCon :5分)

Go Conference 2015 WinterでのLTです。
BLEをGoで使ってDroneを操作してみました。

paypal/gatt で色々とできます。

イベントURL: http://eventdots.jp/event/573121
※BLE初心者なので指摘事項などあったら @n0bisuke までお願いします!

n0bisuke

December 06, 2015
Tweet

More Decks by n0bisuke

Other Decks in Technology

Transcript

  1. (PͰ*P5
    (P$POX
    LIGinc @n0bisuke
    d#-&ೖ໳ͯ͠Έͨ࿩d

    View Slide

  2. ࣗݾ঺հ
    גࣜձࣾ-*(ΤϯδχΞ
    ੁݪͷͼ͚͢
    ɾؠख͔Βڈ೥্ژ
    ɾ.JMLDPDPBΤόϯδΣϦετ
    ɾ/PEFKTɺ(PMBOH޷͖Ͱ͢ɻ
    (Pྺ͸ϲ݄͘Β͍

    ɾ*P5ܥͷ։ൃ΍ͬͯͨΓ͠·͢
    ࠷৽͸1FQQFSΞϓϦ։ൃ

    ɾ*P5-5
    ɾΘΜͦ͜͹͕ಛٕ

    View Slide

  3. גࣜձࣾ-*(
    ্໺ͷ8FC੍࡞ձࣾ
    *P5΍ςΫϊϩδʔʹ΋໌Δ͍ ײ͡ʹͳΓ͍ͨ

    View Slide

  4. ͸͡Ίʹ
    (P$POͰ-5͢Δͬͯݴͬͯ͠·͚ͬͨͲɺ
    ԿΛ͠Α͏ɻɻɻ
    ࠓ೔ͷ࿩ͷϞνϕʔγϣϯ
    !UFOOUFOO
    !OCJTVLF
    (PͰυϩʔϯඈ͹ͤ·ͤΜ͔
    ͍͚·͢Αʂ
    (PCPUͰ͍͚ͳ͍͔ͳʜ

    ͍҆υϩʔϯͰ͍͚Δͱ͍͍ΜͰ͢ΑͶɻ

    View Slide

  5. (PCPU
    ɾ3PCPUJDT'SBNFXPSL
    ɾTJTUFSQSPKFDU$ZMPOKTBOE"SUPP
    IUUQHPCPUJP

    View Slide

  6. (PCPU
    IUUQHPCPUJP
    1MBUGPSNT4VQQPSU

    View Slide

  7. (PCPU
    4QIFSPΛ(Pݴޠ͔Β੍ޚͯ͠༡ΜͰΈͨc2JJUB
    IUUQRJJUBDPNOCJTVLFJUFNTB⒎DFCFB
    աڈʹ4QIFSPͰ࢖ͬͯͨ

    View Slide

  8. (PCPU
    υϩʔϯൃݟͷΞμϓλʔ͋ͬͨΑͳ͊ɻɻɻ
    ͱ͍͏ബ͍هԱ

    View Slide

  9. (PCPUͷରԠ%SPOF
    "3%SPOFͱ#FCPQ%SPOF
    ɾIUUQHPCPUJPEPDVNFOUBUJPOQMBUGPSNTBSESPOF
    ɾIUUQHPCPUJPEPDVNFOUBUJPOQMBUGPSNTCFCPQ

    View Slide

  10. (PCPUͷରԠ%SPOF
    ͨͩ͠ߴ͍ʜ
    ԁ
    IUUQBN[OUP-7D)2/
    ԁ
    IUUQBN[OUP-7D["8

    View Slide

  11. ͸͡Ίʹ ࠶ܝ

    (P$POͰ-5͢Δͬͯݴͬͯ͠·͚ͬͨͲɺ
    ԿΛ͠Α͏ɻɻɻ
    ࠓ೔ͷ࿩ͷϞνϕʔγϣϯ
    !UFOOUFOO
    !OCJTVLF
    (PͰυϩʔϯඈ͹ͤ·ͤΜ͔
    ͍҆υϩʔϯͰ͍͚Δͱ͍͍ΜͰ͢ΑͶɻ
    ͍͚·͢Αʂ
    (PCPUͰ͍͚ͳ͍͔ͳʜ

    View Slide

  12. ͸͡Ίʹ ࠶ܝ

    (P$POͰ-5͢Δͬͯݴͬͯ͠·͚ͬͨͲɺ
    ԿΛ͠Α͏ɻɻɻ
    ࠓ೔ͷ࿩ͷϞνϕʔγϣϯ
    !UFOOUFOO
    !OCJTVLF
    (PͰυϩʔϯඈ͹ͤ·ͤΜ͔
    ͍҆υϩʔϯͰ͍͚Δͱ͍͍ΜͰ͢ΑͶɻ
    ͍͚·͢Αʂ
    (PCPUͰ͍͚ͳ͍͔ͳʜ

    View Slide

  13. ɾɾɾ

    View Slide

  14. ɾɾɾҰԠ͋Γ·ͨ͠

    View Slide

  15. ͍҆%SPOF
    1BSSPU.JOJESPOFγϦʔζ
    ɾ"*3#03/&/*()5%30/&
    ɾ৽ܕ೥݄
    ɾ3PMMJOH4QJEFS
    ɾԁ

    View Slide

  16. ͍҆%SPOF
    1BSSPU.JOJESPOFγϦʔζ
    ɾ"*3#03/&/*()5%30/&
    ɾ৽ܕ೥݄
    ɾ3PMMJOH4QJEFS
    ɾԁ
    ͨͩ͠ɺ(PCPUະରԠʜ

    View Slide

  17. ͍҆%SPOF
    1BSSPU.JOJESPOFγϦʔζ
    ɾ"*3#03/&/*()5%30/&
    ɾ৽ܕ೥݄
    ɾ3PMMJOH4QJEFS
    ɾԁ
    "3%SPOF#FCPQͷ4%,ࢀߟʹͳΔ͔΋ʜ

    View Slide

  18. ͟ΜͶΜ

    View Slide

  19. ͦ΋ͦ΋઀ଓํ๏͕ҧ͏
    ͍҆3PMMJOH4QJEFS͚ͩ#-&
    ࣮૷͕͋·ΓࢀߟʹͳΒͣ

    View Slide

  20. #-&Λௐ΂ͯΈΑ͏

    View Slide

  21. #-&ͷ࢓༷Λௐ΂ͯݟΔ
    1FSJQIFSBM
    $FOUSBM
    "EWFSUJTJOH1BDLFU
    ("55
    4FSWJDF
    $IBSBDUFSJTUJD
    %FTDSJQUPS
    ॳΊͯฉ͘ݴ༿͹͔Γɻɻɻ

    View Slide

  22. #-&ͷ࢓༷Λௐ΂ͯݟΔ
    1FSJQIFSBM ϖϦϑΣϥϧ

    ɾ#-&ΨδΣοτଆ
    $FOUSBM ηϯτϥϧ

    ɾJ1IPOF΍.BDͳͲ
    #-&ػث͸1FSJQIFSBMͱ$FOUSBMʹΑͬͯߏ੒͞ΕΔ

    View Slide

  23. #-&ͷ࢓༷Λௐ΂ͯݟΔ
    ɾ1FSJQIFSBM͔Β$FOUSBMʹ
    ൃ৴͞ΕΔσʔλ
    ɾ#-&઀ଓཱ͕͍֬ͯ͠ͳ͍ஈ֊
    Ͱ$FOUSBMʹࣗ෼ͷଘࡏΛ஌ΒͤΔ
    "EWFSUJTJOH1BDLFU ΞυόλΠδϯάύέοτ

    View Slide

  24. ୤ઢJ#FBDPOͱ#-&
    J#FBDPO͸"EWFSUJTJOHʹಛԽͨ͠1FSJQIFSBM
    ɾ˺ΞυόλΠδϯάಛԽͷ#-&
    ΨδΣοτ
    ɾ઀ଓޙͷσʔλ΍ΓͱΓͳͲ͸
    ߟྀͯ͠ͳ͘γϯϓϧɺ௿ίε
    τɺ௿ফඅిྗʹৼΓ੾͍ͬͯΔ

    View Slide

  25. #-&ͷ࢓༷Λௐ΂ͯݟΔ
    ɾ#-&ͷجຊϓϩϑΝΠϧ
    ɾͭͷߏ੒ཁૉ
    4FSWJDF
    $IBSBDUFSJTUJD
    %FTDSJQUPS
    ("55ʢ(FOFSJD"UUSJCVUF1SPpMFʣ

    View Slide

  26. ("55
    ɾ4FSWJDF
    ΨδΣοτͷػೳҰཡ
    αʔϏεʹΑͬͯ͸ೖΕࢠߏ଄
    ɾ$IBSBDUFSJTUJD
    ୯Ұͷ஋Λ࣋ͬͨଐੑ
    ɾ%FTDSJQUPS
    ෇Ճ৘ใ͕ඞཁͳࡍͷଐੑ஋

    View Slide

  27. ("55

    View Slide

  28. ("55
    ɾ4FSWJDF
    ΨδΣοτͷػೳҰཡ
    αʔϏεʹΑͬͯ͸ೖΕࢠߏ଄
    ɾ$IBSBDUFSJTUJD
    ୯Ұͷ஋Λ࣋ͬͨଐੑ
    ɾ%FTDSJQUPS
    ෇Ճ৘ใ͕ඞཁͳࡍͷଐੑ஋
    ΦϒδΣΫτࢦ޲ϓϩά
    ϥϛϯάతʹݴ͏ͱ
    ɾ4FSWJDF
    Ϋϥε
    ɾ$IBSBDUFSJTUJD
    ϓϩύςΟ
    ͱଊ͑Δͱ෼͔Γ΍͍͢

    View Slide

  29. ࠓճͷ৔߹
    1FSJQIFSBM
    $FOUSBM
    "EWFSUJTJOH
    $POOFDU
    ("55
    ͜ΜͳΠϝʔδͰ͢ɻ
    όοςϦʔαʔϏε
    ίϯτϩʔϧαʔϏε
    FUD

    View Slide

  30. ϓϩάϥϜͷੈք΁
    ͜͜·Ͱͷલఏ஌ࣝΛ΋ͱʹௐ΂ͯΈΔ

    View Slide

  31. QBZQBMHBUU
    IUUQTHJUIVCDPNQBZQBMHBUU
    ɾ(PͰ(BUUΛ࢖͏ύοέʔδ
    ɾͳ͔ͥ1BZ1BM͕࡞ͬͯΔ

    View Slide

  32. 4FSWJDF66*%Λௐ΂Δ
    -JHIU#MVFͳͲͷΞϓϦͰ66*% ࣝผࢠ
    ΛݟΕΔ

    View Slide

  33. 4FSWJDF66*%ͷௐ΂ํ
    ௨ৗ͸4%,ͳͲͷυΩϡϝϯτΛݟΔ
    ɾʜ͔͠͠QBSSPUͷσΟϕϩούʔαΠτ͕৭ʑ୳͠
    ʹ͍͘
    ɾ3PMMJOH4QJEFSͷϦϙδτϦ͸ެࣜʹ͸ͳ͍ʜ
    ɾ αϯϓϧʹ͠Εͬͱஔ͍ͯ͋Δ
    IUUQTHJUIVCDPN1BSSPU%FWFMPQFST4BNQMFT
    ɾαʔυύʔςΟੑ4%,Λݟͨํ͕ࢀߟʹͳΔ

    View Slide

  34. 4FSWJDF66*%ͷௐ΂ํ
    αʔυύʔςΟ4%,ͷίʔυྫ

    View Slide

  35. /PEFKTͷ࣮૷Λൃݟ
    IUUQTHJUIVCDPNWPPEPPUJLJHPE
    OPEFSPMMJOHTQJEFS
    ɾ/PEFKTͷύοέʔδΛ࡞ͬͯΔਓ͕͍·ͨ͠ɻ
    ɾ಺෦ͰOPCMFͱ͍͏ύοέʔδΛར༻
    IUUQTHJUIVCDPNTBOEFFQNJTUSZOPCMF

    ͨͿΜ/PEFKTͷதͰ͸௿ϨΠϠʔ

    View Slide

  36. ͦͷଞͷύοέʔδ΋
    ɾIUUQTHPXBMLFSPSHHJUIVCDPN
    OJOKBTQIFSFHBUU
    ɾIUUQTHJUIVCDPNTIJSPVOPCMFDIJME
    ࢖ͬͯͳ͍͚ͲɺͲ͏ͳΜͰ͠ΐ͏ʁ

    View Slide

  37. ͜Μͳײ͡Ͱ͢ɻ

    View Slide

  38. ·ͱΊ
    ɾ(PͰ%SPOFΛඈ͹ͤ·͢
    ɾηϨϒ͸"3%SPOF#FCPQΛ(PCPUͰ΍Δͱָ
    ɾॸຽ͸3PMMJOH4QJEFSܥ౷Λબ୒

    ɹQBZQBMHBUUͰ#-&Λ࢖ͬͯΈ·͠ΐ͏ɻ
    ɾ#-&ͷ࢖͍ํ֮͑Δͱ৭ʑͳػثʹԠ༻Մ
    ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
    CZ!OCJTVLF

    View Slide