IoTテストベッドのためのBluetoothエミュレーション基盤の設計 / Design of Bluetooth Emulation Platform for IoT Testbed

IoTテストベッドのためのBluetoothエミュレーション基盤の設計 / Design of Bluetooth Emulation Platform for IoT Testbed

2017年8月25日(金)に名古屋大学で開催されたUBI55の発表資料。論文はこちら→https://goo.gl/W7YoXA

96466365a9bf7e66990f2b9ba547b02f?s=128

Tsubasa Yumura

August 25, 2017
Tweet

Transcript

  1. IoTςετϕουͷͨΊͷ BluetoothΤϛϡϨʔγϣϯج൫ͷઃܭ ౬ଜ ཌྷ†‡, ໌ੴ ๜෉‡, Ҫ্ ๎࠸†‡ɹ † ࠃཱݚڀ։ൃ๏ਓ৘ใ௨৴ݚڀػߏ

    ๺཮StarBEDٕज़ηϯλʔ ‡ ๺཮ઌ୺Պֶٕज़େֶӃେֶ ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25
  2. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ຊൃදͷ֓ཁ • Bluetoothίϯτϩʔϥ(௨ৗ͸SoC)ΛLinux্ͷιϑτ ΢ΣΞͱ࣮ͯ͠૷͢ΔΤϛϡϨʔγϣϯ • ઃܭͱ࣮૷Λߦͬͨ • ࣮૷ͷϞσϧέʔε͸Bluetooth

    Low Energy(BLE)ͷ Advertise(͍ΘΏΔBeacon)ͷड৴ 2
  3. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ͸͡Ίʹ • ༷ʑͳػث͕ωοτϫʔΫʹܨ͕ΔInternet of Things • IoTػثͷଟ͕͘ແઢ௨৴ػೳΛ࣋ͭ •

    ओཁͳن֨ͷͻͱ͕ͭBluetooth • ػثؒ઀ଓͷଞɺ԰಺ଌҐͳͲͷ༻్ʹ΋࢖ΘΕΔ 3 https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works
  4. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ͸͡Ίʹ • Bluetooth(ແઢ)Λ༻͍ͨαʔϏε։ൃͷ՝୊ 4 ࣮ػΛ༻ҙ͢Δίετ ৚݅ͷ࠶ݱ͕ࠔ೉

  5. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ͸͡Ίʹ • Bluetooth௨৴Λιϑτ΢ΣΞͰΤϛϡϨʔγϣϯ 5 BluetoothͷςετΛߦ͏ͨΊͷ BluetoothΤϛϡϨʔγϣϯج൫ BluMoonΛߏங ෳ੡͕༰қ

    ࠶ࢼ͕༰қ ࣮ػΛ༻ҙ͢Δίετ ৚݅ͷ࠶ݱ͕ࠔ೉
  6. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 Bluetooth • Application, Host, Controllerͱ͍͏֊૚ߏ଄ • Host-Controllerؒ͸Host-Controller Interface(HCI)͕ఆٛ

    6
  7. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 Bluetooth • ͲͷProfile΍ControllerΛ༻͍ͯ΋ඞͣHCIͰ઀ଓ 7 Psuedo Controller(ٙࣅίϯτϩʔϥ)Λ ιϑτ΢ΣΞ࣮૷͢Δ͜ͱͰ Bluetooth௨৴ΛΤϛϡϨʔτ

  8. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ઃܭ: ֓ཁ • ιϑτ΢ΣΞ࣮૷ʹΑΔPsuedo Contoller(ٙࣅίϯτϩʔϥ) Λઃஔ • पลσόΠεͷΤϛϡϨʔτ͸Psuedo

    Remote Device͕୲͏ • Psuedo ControllerͱPsuedo Remote DeviceΛ઀ଓ͢ΔͨΊʹ Virtual PacketΛఆٛ 8
  9. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ઃܭ: Psuedo Controller • HostͱͷHCIϑϨʔϜͷૹड৴ • Psuedo Remote

    DeviceͱͷVirtual Packetͷૹड৴ • ͜ΕΒͷͨΊͷঢ়ଶͷอ࣋΍؅ཧ 9
  10. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ઃܭ: Psuedo Remote Device • पลσόΠεͷڍಈΛ໛ٖ • Virtual

    Packetͷૹड৴ • ࣮ࢪ͢ΔςετʹԠͯ͡ஔ͖׵͑ 10
  11. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ઃܭ: Virtual Packet • BluMoon HeaderͱPayload • Header͸Psuedo

    Controller͕ΤϛϡϨʔτ͢ΔͨΊʹඞ ཁͳ஋Λهड़(RSSIͳͲ) • Payload͸Link LayerͷύέοτϑΥʔϚοτʹैͬͯهड़ 11 BluMoon Header Payload
  12. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ࣮૷: ֓ཁ • Bluetooth LE(Low Energy) ͷPsuedo ControllerΛ࣮૷

    • LE AdvertiseΛૹ৴͢ΔPsuedo Remote DeviceΛ࣮૷ • LE AdvertiseͷVirtual PacketઃܭΛఆٛ 12 beacon Psuedo Remote Device Advertising Packet Psuedo LE Controller
  13. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ࣮૷: γʔέϯε 13

  14. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ࣮૷: Psuedo Controller • Ծ૝σόΠεπʔϧbtvirtΛ׆༻࣮ͯ͠૷ • Linux BluetoothελοΫBlueZͷπʔϧ܈ʹؚ·ΕΔΦʔϓϯιʔειϑτ΢ΣΞ

    • UDPιέοτͰVirtual PacketΛ଴ͪड͚ • Virtual PacketΛղੳͯ͠LE Advertising ReportΛੜ੒ɾૹ৴ 14 btvirtͰ࣮૷ࡁΈ BluMoonͰ࣮૷
  15. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ࣮૷: Psuedo Remote Device / Virtual Packet •

    ҰఆִؒͰVirtual PacketΛUDPͰૹ৴͢ΔεΫϦϓτ ΛPythonͰ࣮૷ • BluMoon Header(BMH)ʹRSSIΛهड़ • BluMoon Payload͸LE Advertise PacketͷϑΥʔϚοτ ʹैͬͯهड़ 15
  16. Demonstration • hciconfig: Bluetooth Controllerͷঢ়ଶ֬ೝ΍ىಈɾऴྃ • hcitool: Bluetooth Controllerʹ༷ʑͳ໋ྩΛૹ৴ •

    hcidump: HCIϑϨʔϜͷૹड৴ΛΩϟϓνϟ͠දࣔ
  17. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ؔ࿈ݚڀ: BluetoothΤϛϡϨʔλ • Bluetooth tunnel • Okada and

    Suzuki[7] • Ҫ೾ͱ୮[5] • Tsuda et al.[6] • UbiGate[8] • UbiPAN[9] 17 Okada and Suzuki[7]
  18. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ؔ࿈ݚڀ: BluetoothΤϛϡϨʔλ • BLE Peripheral Simulator[11] 18 BLE

    Peripheral Simulator[11]
  19. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ؔ࿈ݚڀ: ແઢωοτϫʔΫΤϛϡϨʔλ • ιϑτ΢ΣΞʹΑΔΤϛϡϨʔλ • QOMET[12] • NETorium[15]

    • ઐ༻ϋʔυ΢ΣΞʹΑΔΤϛϡϨʔλ • Network Emulator II[17] 19 NETorium[15] Network Emulator II[17]
  20. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ؔ࿈ݚڀ: IoTςετϕου 20 • ΤϛϡϨʔλܕ • BluMoon •

    QOMB[13] • DynamiQ[14] • ແઢωοτϫʔΫܕ • KanseiGenie[21] • WISEBED[22] • SensLab[23] • ࣮ূ࣮ݧܕ • OULU Smart City[25] • SmartSantander[26] • T-City Friedrichshafen DynamiQ[14] KanseiGenie[21] OULU Smart City[25]
  21. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ࠓޙͷൃల • ଟ਺ͷεϚʔτϑΥϯͱपลػث͕ڠௐ͢ΔΑ͏ͳBluetoothΞϓϦ έʔγϣϯͷࢼݧ • γϣοϐϯάϞʔϧͰͷϏʔίϯઃஔͳͲ • ࣮஍ݕূͷίετΛ཈͑Δ

    • AndroidΤϛϡϨʔλ • WebBluetooth 21 ෳ੡͕༰қ ࣮ػΛ༻ҙ͢Δίετ
  22. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ࠓޙͷൃల • ి೾఻ൖγϛϡϨʔγϣϯͱͷ࿈ܞ 22 https://panasonic.co.jp/cns/psnrd/works/report.html ࠶ࢼ͕༰қ ৚݅ͷ࠶ݱ͕ࠔ೉ ෺ཧతཁҼ͸ʁ

  23. ৘ใॲཧֶձ ୈ55ճϢϏΩλείϯϐϡʔςΟϯάγεςϜݚڀձˏ໊ݹ԰େֶɹ2017/08/25 ͓ΘΓʹ • IoTςετϕουͷͨΊͷBluetoothΤϛϡϨʔγϣϯج ൫BluMoonΛఏҊ • Psuedo ControllerͱPsuedo Remote

    DeviceΛઃஔͯ͠ Virtual PacketΛૹड৴͢Δͱ͍͏ΞʔΩςΫνϟΛઃܭ • BLEͷAdvertiseड৴ΛϞσϧέʔεͱ࣮ͯ͠૷Λߦ͍ఏ Ҋख๏ͷ࣮ݱੑΛࣔͨ͠ 23