Slide 1

Slide 1 text

Synchronized iPhones! iOSDC 2018 @TachibanaKaoru

Slide 2

Slide 2 text

About Me @TachibanaKaoru Freelance iOS Engineer iOSDC Core Staff (Track A) ϘϧμϦϯά޷͖ ࠓ೥ͷςʔϚɿཱྀΛ͠ͳ͕Β࢓ࣄΛ͢Δ όϦౡɺαϯτϦʔχౡɺόϯίΫɺϑΟϯϥϯυɺϊϧ΢Σʔ ͱ͖Ͳ͖φΨϊ 2018 ࢀՃத

Slide 3

Slide 3 text

ࠓ೔ͷ࿩ iOSσόΠεΛSyncͯ͠΍Γ͍ͨ͜ͱ iOSσόΠεͷ࣌ࠁ߹Θͤ σόΠεؒಉظ

Slide 4

Slide 4 text

Sync ͯ͠΍Γ͍ͨ͜ͱ

Slide 5

Slide 5 text

OK

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

NG

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

t deviceA deviceB deviceC deviceD

Slide 20

Slide 20 text

Syncͱ͸ iOS୺຤ͷϦϑϨογϡϨʔτʹ͋Θͤͯಉ͡ը໘Λදࣔ͢Δɻ ୺຤ؒͷදࣔ࣌ؒʹޡ͕ࠩ͋Δ৔߹ɺϦϑϨογϡϨʔτͷߋ৽ִؒҎ Լɻ ୺຤͝ͱʹϦϑϨογϡϨʔτ͕ҟͳΔ৔߹ʹ͸ɺ࠷΋ૣ͍୺຤ʹ͋Θ ͤΔɻ

Slide 21

Slide 21 text

Syncͱ͸ iOS୺຤Ͱ࠷΋ૣ͍ϦϑϨογϡϨʔτ͸60fps ϦϑϨογϡϨʔτͷߋ৽ִؒ͸1/60 = 16.66 msec

Slide 22

Slide 22 text

ϦϑϨογϡϨʔτʹ͋Θͤͨඳը CADisplayLinkΛ࢖͑͹ɺϦϑϨογϡϨʔτʹ͋Θͤͯඳը͢Δ͜ͱ͕ Ͱ͖Δɻ iOSͷϦϑϨογϡϨʔτ͸جຊతʹ͸60͕ͩɺ༷ʑͳঢ়گʹΑͬͯ΋ม Խ͢Δɻ σόΠεͷछྨ΍iOS versionɺforeground/backgroundͰಈ࡞͍ͯ͠Δϓ ϩηεʹґଘɻ

Slide 23

Slide 23 text

How to use CADisplayLink let displaylink = CADisplayLink(target: self, selector: #selector(drawSomething)) displaylink?.add(to: .current, forMode: RunLoop.Mode.default)

Slide 24

Slide 24 text

Ͳ͏΍ͬͨΒ୺຤ؒͷޡࠩΛ16.66 msec ҎԼʹͰ͖Δʁ

Slide 25

Slide 25 text

·ͣ͸iPhoneͷγεςϜ࣌ؒΛ ͋ΘͤͯΈΔ

Slide 26

Slide 26 text

ͯ͞ɻ͜͜ͰɺiPhone͸Ͳ͏΍ͬͯ࣌ ؒΛ͋Θ͍ͤͯΔͷ͔Λ෮श͠·͢ɻ

Slide 27

Slide 27 text

ձ৔ͷΈͳ͞Μʹ࣭໰Ͱ͢ɻ

Slide 28

Slide 28 text

iOSσόΠε͸Ͳ͏΍ͬͯ࣌ࠁΛ͋Θ ͍ͤͯΔͷͰ͠ΐ͏ʁ

Slide 29

Slide 29 text

iOS୺຤ͷ࣌ࠁ͋Θͤ ʢෳ਺ճ౴Մʣ 1. ࣌ใ༻ͷి೾Λ͔͍ͭͬͯΔ 2. Πϯλʔωοτ্ͷ࣌ࠁαʔόʔʹΞΫηε͍ͯ͠Δ 3. GPS৴߸ʹؚ·Εͨ࣌ࠁΛར༻͍ͯ͠Δ 4. ܞଳి࿩ճઢ͔ΒऔಘͰ͖Δ࣌ࠁΛར༻͍ͯ͠Δ

Slide 30

Slide 30 text

࣌ใ༻ͷి೾Λ ͔͍ͭͬͯΔ

Slide 31

Slide 31 text

Πϯλʔωοτ্ ͷ࣌ࠁαʔόʔʹ ΞΫηε͍ͯ͠Δ

Slide 32

Slide 32 text

GPS৴߸ʹؚ·Εͨ ࣌ࠁΛར༻͍ͯ͠Δ

Slide 33

Slide 33 text

ܞଳి࿩ճઢ͔ ΒऔಘͰ͖Δ࣌ ࠁΛར༻͍ͯ͠Δ

Slide 34

Slide 34 text

iOS୺຤ͷ࣌ࠁ͋Θͤ ʢෳ਺ճ౴Մʣ 1. ࣌ใ༻ͷి೾Λ͔͍ͭͬͯΔ 2. Πϯλʔωοτ্ͷ࣌ࠁαʔόʔʹΞΫηε͍ͯ͠Δ 3. GPS৴߸ʹؚ·Εͨ࣌ࠁΛར༻͍ͯ͠Δ 4. ܞଳి࿩ճઢ͔ΒऔಘͰ͖Δ࣌ࠁΛར༻͍ͯ͠Δ

Slide 35

Slide 35 text

iOS୺຤ͷ࣌ࠁ͋Θͤ 1. ࣌ใ༻ͷి೾Λ͔͍ͭͬͯΔ 2. Πϯλʔωοτ্ͷ࣌ࠁαʔόʔʹΞΫηε͍ͯ͠Δ 3. GPS৴߸ʹؚ·Εͨ࣌ࠁΛར༻͍ͯ͠Δ 4. ܞଳి࿩ճઢ͔ΒऔಘͰ͖Δ࣌ࠁΛར༻͍ͯ͠Δ

Slide 36

Slide 36 text

iOS୺຤ͷ࣌ࠁ͋Θͤ 1. ࣌ใ༻ͷి೾ ඪ४ి೾ 2. Πϯλʔωοτ্ͷ࣌ࠁαʔόʔʹΞΫηε NTP 3. GPS৴߸ʹؚ·Εͨ࣌ࠁ GPS 4. ܞଳి࿩ճઢ͔ΒऔಘͰ͖Δ࣌ࠁ NITZ

Slide 37

Slide 37 text

iOS୺຤ͷ࣌ࠁ͋Θͤ NITZ GPS NTP iPhone ○ ○ ○ iPad (with Mobile) ○ ○ ○ iPad (without Mobile) × ○ ○ iPod touch × × ○

Slide 38

Slide 38 text

iOS୺຤ͷ࣌ࠁ͋Θͤ Ͳͷ୺຤ͰͲͷํࣜΛ༏ઌ͍ͯ͠Δ͔͸ެද͞Ε͍ͯͳ͍ɻ ड৴࣌ͷਫ਼౓ʹΑͬͯ࠾༻ɾෆ࠾༻Λม͍͑ͯΔՄೳੑ΋͋Δɻ

Slide 39

Slide 39 text

ඪ४ి೾ ৘ใ௨৴ݚڀػߏʢNICTʣͰӡ༻͍ͯ͠Δ࣌ใ༻ͷి೾ ͍ΘΏΔి೾࣌ܭͰ࢖ΘΕ͍ͯΔ࢓૊Έ ೔ຊࠃ಺޲͚ ࣌ࠁ͸UTCͰૹ৴͞ΕΔ

Slide 40

Slide 40 text

NTP Network্ͷ NTPαʔόʔʢ࣌ࠁαʔόʔʣʹ઀ଓͯ࣌͠ࠁΛઃఆ͢Δɻ UTC͕഑৴͞ΕΔ Mac OSͰ͸ɺσϑΥϧτNTP ͸ time.asia.apple.com ʢมߋՄʣ iosͰ͸ɺσϑΥϧτNTP͸มߋෆՄ

Slide 41

Slide 41 text

GPS ΞϝϦΧ͕؅ཧ͢ΔӴ੕Λ࢖ͬͨଌҐγεςϜ ੈքதͰ࢖༻Մೳ GPS time͕ૹ৴͞ΕΔ ࣌ࠁਫ਼౓͸ඇৗʹߴ͍͕ɺਖ਼͘͠ܭࢉ͢ΔͨΊʹ͸GPSӴ੕4ͭͷ৴߸Λ ड৴͢Δඞཁ͕͋Δ

Slide 42

Slide 42 text

NITZ Network Identity and Time Zone ௨৴ΩϟϦΞ͔Β഑৴͞ΕΔ࣌ࠁ ରԠͨ͠ΩϟϦΞͰͷΈ࢖༻Մೳ ਫ਼౓͸ͦΕͧΕͷࣄۀऀʹΑΔ UTCϕʔεͷLocal TimeɺTime Zone͕ૹ৴͞ΕΔ

Slide 43

Slide 43 text

࣌ࠁ߹Θͤͷํ๏ औಘํ๏ Time ඪ४ి೾ ి೾ UTC NTP Πϯλʔωοτճઢ UTC GPS ి೾ GPS Time NITZ ܞଳి࿩ճઢ Local Time (on UTC)

Slide 44

Slide 44 text

…What is UTC/GPS Time?

Slide 45

Slide 45 text

JST, UTC, TAI http://www.nict.go.jp/JST/JST5.html JST 13:02:45 UTC 04:02:45 TAI 04:03:22 9:00:00 0:00:37 TimeZone ???

Slide 46

Slide 46 text

What is TAI? TAI : Temps Atomique International ʢϑϥϯεޠʣɺࠃࡍݪࢠ࣌ Le TAI est une échelle de temps-coordonnée définie dans un repère de référence géocentrique avec comme unité d'échelle la seconde du SI telle qu'elle est réalisée sur le géoïde en rotation ༁ɿTAI ͸, ճస͢ΔδΦΠυ্Ͱ࣮ݱ͞ΕΔ SI ͷඵΛ໨੝Γͷ୯Ґͱͨ͠, ஍৺࠲ඪܥͰఆٛ͞ΕΔ࠲ඪ࣌ͷ໨ ੝ΓͰ͋Δ ― CCDS ͷ੠໌ɺBIPM Com. Cons. Déf. Seconde, 1980, 9, S 15 ٴͼ Metrologia, 1981, 17, 70

Slide 47

Slide 47 text

What is TAI? TAI ͸ɺճస͢ΔδΦΠυ্Ͱ࣮ݱ͞ΕΔ SI ͷඵΛ໨੝Γͷ୯Ґͱ͠ ͨɺ஍৺࠲ඪܥͰఆٛ͞ΕΔ࠲ඪ࣌ͷ໨੝ΓͰ͋Δɻ δΦΠυͱ͸ɺ஍ٿͷฏۉւਫ໘ʹۃΊͯྑ͘Ұக͢Δ౳δΦϙςϯ γϟϧ໘Λݴ͏ɻʢWikipediaͷδΦΠυͷ߲໨ΑΓʣ ·͋ɺʮ͍͍ͩͨւਫ໘্ʯͱͱΒ͍͑ͯͩ͘͞ɻ

Slide 48

Slide 48 text

ͳͥʮδΦΠυʯ্ͳͷ͔ Ұൠ૬ରੑཧ࿦ͷӨڹͰɺॏྗ৔ͷڧ͞ ʹΑͬͯɺ࣌ؒͷྲྀΕ͕ӨڹΛ͏͚Δ͔ ΒͰ͢ɻ ඪߴ͕ߴ͘ͳΕ͹ͳΔ΄Ͳɺॏྗ͸ऑ͘ ͳΓɺ࣌ؒ͸ૣ͘ਐΈ·͢ɻ Slow Fast

Slide 49

Slide 49 text

What is TAI? TAI ͸ɺճస͢ΔδΦΠυ্Ͱ࣮ݱ͞ΕΔ SI ͷඵΛ໨੝Γͷ୯Ґͱ͠ ͨɺ஍৺࠲ඪܥͰఆٛ͞ΕΔ࠲ඪ࣌ͷ໨੝ΓͰ͋Δɻ SIͷඵͱ͸ɺʮηγ΢Ϝ133ݪࢠͷجఈঢ়ଶͷ2ͭͷ௒ඍࡉߏ଄४ҐʢF = 4, M = 0 ͓Αͼ F = 3, M = 0ʣؒͷભҠʹରԠ͢Δ์ࣹͷपظͷ 9 192 631 770 ഒͷܧଓ࣌ؒɻʯʢ1967೥੍ఆʣ 1967೥ΑΓલ͸ɺ̍೔ͷ௕͞Λ 86400 Ͱ෼ׂͨ͠΋ͷͰͨ͠ɻ

Slide 50

Slide 50 text

What is TAI? TAIͱ͸ɺఱମͷಈ͖ʢ஍ٿ΍ଠཅͳͲʣͷಈ͖Λجૅʹͨ͠Θ͚Ͱ͸ͳ ͘ɺʮ஍ද໘Ͱଌఆ͍ͯ͠Δʢηγ΢Ϝʣݪࢠ࣌ܭΛجຊʹͨ࣌͠ࠁܥʯ

Slide 51

Slide 51 text

What is UTC? UTC : Coordinated Universal Timeɺ ڠఆੈք࣌ ࠃࡍݪࢠ࣌ (TAI) ʹ༝དྷ͢Δݪࢠ࣌ܥͷ࣌ࠁͰɺUT1ੈք࣌ʹಉௐ͢ΔΑ ͏ʹௐ੔͞Εͨج४࣌ࠁΛࢦ͢ɻ 1972೥͔Β࢖ΘΕ͍ͯΔɻ

Slide 52

Slide 52 text

What is UTC? ࠃࡍݪࢠ࣌ (TAI) ʹ༝དྷ͢Δݪࢠ࣌ܥͷ࣌ࠁͰɺUT1ੈք࣌ʹಉௐ͢ΔΑ ͏ʹௐ੔͞Εͨج४࣌ࠁΛࢦ͢ɻ UTCͱTAIͷඵͷ௕͞͸ಉ͡ɻ

Slide 53

Slide 53 text

What is UTC? ࠃࡍݪࢠ࣌ (TAI) ʹ༝དྷ͢Δݪࢠ࣌ܥͷ࣌ࠁͰɺUT1ੈք࣌ʹಉௐ͢ΔΑ ͏ʹௐ੔͞Εͨج४࣌ࠁΛࢦ͢ɻ UT1͸ఱମͷಈ͖͔Βܭࢉͨ࣌͠ࠁܥ

Slide 54

Slide 54 text

What is UTC? ݫີͳ࣌ࠁଌఆ͕Ͱ͖ΔΑ͏ʹͳͬͯ͘Δͱɺ̍೥ͷ௕͞ɺ̍೔ͷ௕͞ ͕ݫີʹ͸ҰఆͰ͸ͳ͍͜ͱ͕Θ͔͖ͬͯ·ͨ͠ɻ ͜͜Ͱ͸Θ͔Γ΍͘͢ɺ̍೔ͷ௕͕͞13 SIඵͷ೔ͱɺ16 SIඵͷ೔͕͋Δ ৔߹Λߟ͑ͯݟ·͠ΐ͏ɻ

Slide 55

Slide 55 text

ఱจ͔࣌Βܭࢉͨ࣌͠ࠁ TAI UT1 ఱจ͔࣌Βܭࢉ ͨ࣌͠ࠁ x13 x13 x13 x13 x13 X13 1೔ͷ௕͕͞13 SIඵͷ೔ 1೔ͷ௕͕͞13 SIඵͷ೔ 1೔ͷ௕͕͞16 SIඵͷ೔

Slide 56

Slide 56 text

Մมඵ ΋͠ɺʮ̍೔ͷ௕͞ͷ86400 ෼ׂʯΛඵͰఆٛͯ͠͠·͏ͱɺ೔ʹΑͬ ͯ̍ඵͷ௕͕͞ҧ͖ͬͯͯ͠·͍·͢ɻ ͜Ε͸ɺ೔ৗੜ׆ΛૹΔ্Ͱ͸໰୊͋Γ·ͤΜ͕ɺ෺ཧ࣮ݧ΍Τϯδ χΞϦϯάʹ͸େ͖ͳࢧো͕Ͱ·͢ΑͶɻ

Slide 57

Slide 57 text

̍೔ͷ௕͞ͷมಈ ̍೔ΛSIඵͰදࣔͨ͠΋ͷɻ௕͍೔ͱ୹͍೔Ͱ 5msͷ͕ࠩ͋Δ͜ͱ͕Θ ͔Δɻ

Slide 58

Slide 58 text

UTC TAI UT1 UTC x13 x13 X13+3 x13 x13 X13 1೔ͷ௕͕͞13 SIඵͷ೔ 1೔ͷ௕͕͞13 SIඵͷ೔ 1೔ͷ௕͕͞16 SIඵͷ೔ ͏Δ͏ඵ

Slide 59

Slide 59 text

͏Δ͏ඵ Leap second : ͏Δ͏ඵ TAIͱఱจ༝དྷͷ࣌ࠁΛ͋ΘͤΔͨΊʹUTCʹૠೖ͞ΕΔ UTCͷӡ༻։͔࢝Βద༻͞Εɺࠓ·Ͱ37ճ͔Βૠೖ͞Ε͍ͯΔ

Slide 60

Slide 60 text

No content

Slide 61

Slide 61 text

Leap second in iOS and macOS iOSͱMac OSͷ಺෦࣌ܭɺ͓ΑͼFoundationͷDateΫϥε͸Leap second ʹରԠ͍ͯ͠·ͤΜɻ

Slide 62

Slide 62 text

Leap second in iOS and macOS લճͷ͏Δ͏ඵ͸ɺ2016/12/31 23:59:60 UTCͰͨ͠ɻ 2016/12/31 23:59:59 UTC 2016/12/31 23:59:60 UTC 2017/01/01 00:00:00 UTC

Slide 63

Slide 63 text

Leap second in iOS and macOS let calendar = Calendar(identifier: .gregorian) // 2016/12/31 23:59 var dateComp20162332235959 = DateComponents() dateComp20162332235959.calendar = calendar dateComp20162332235959.year = 2016 dateComp20162332235959.month = 12 dateComp20162332235959.day = 31 dateComp20162332235959.hour = 23 dateComp20162332235959.minute = 59 dateComp20162332235959.second = 59 dateComp20162332235959.date?.timeIntervalSince1970 // => 1483196399

Slide 64

Slide 64 text

Leap second in iOS and macOS let calendar = Calendar(identifier: .gregorian) // 2016/12/31 23:60 var dateComp20162332235960 = DateComponents() dateComp20162332235960.calendar = calendar dateComp20162332235960.year = 2016 dateComp20162332235960.month = 12 dateComp20162332235960.day = 31 dateComp20162332235960.hour = 23 dateComp20162332235960.minute = 59 dateComp20162332235960.second = 60 dateComp20162332235960.date?.timeIntervalSince1970 // => 1483196400

Slide 65

Slide 65 text

Leap second in iOS and macOS let calendar = Calendar(identifier: .gregorian) // 2017/01/01 00:00 var dateComp20170101000000 = DateComponents() dateComp20170101000000.calendar = calendar dateComp20170101000000.year = 2017 dateComp20170101000000.month = 1 dateComp20170101000000.day = 1 dateComp20170101000000.hour = 0 dateComp20170101000000.minute = 0 dateComp20170101000000.second = 0 dateComp20170101000000.date?.timeIntervalSince1970 // => 1483196400

Slide 66

Slide 66 text

Leap second in iOS and macOS // 2016/12/31 23:59 dateComp20162332235959.date?.timeIntervalSince1970 // => 1483196399 // 2016/12/31 23:60 dateComp20162332235960.date?.timeIntervalSince1970 // => 1483196400 // 2017/01/01 00:00 dateComp20170101000000.date?.timeIntervalSince1970 // => 1483196400 2016/12/31 23:60ͱ2017/01/01 00:00͸಺෦తʹ౳͍͠ɻ ʹɹ͏Δ͏ඵʹ͸ରԠ͍ͯ͠ͳ͍ɻ

Slide 67

Slide 67 text

Leap second in iOS and macOS ݫີʹ͸ɺMac΍iPhone΍ʢͦͷଞͷଟ͘ͷσδλϧσόΠε͸ʣ͢΂ͯ TAIʹ༝དྷ͢Δಠࣗͷݪࢠ࣌ͷ࣌ࠁͰɺඪ४ి೾΍NTPͳͲͷ֤छٕज़ʹ ΑͬͯɺUTCʹಉௐ͢ΔΑ͏ʹௐ੔͞Εͨ࣌ࠁΛ͖͟ΜͰ͍ΔΘ͚Ͱ ͢ɻ

Slide 68

Slide 68 text

What is GPS Time? http://leapsecond.com/java/gpsclock.htm UTC 04:02:45 GPS 04:02:45 TAI 04:03:22 0:00:19 ??? 0:00:37 ͏Δ͏ඵ

Slide 69

Slide 69 text

GPS Time ࠃࡍݪࢠ࣌ (TAI) ʹ༝དྷ͢Δݪࢠ࣌ܥͷ࣌ࠁͰɺ1980/1/6ʹUTCͱಉظ͠ ͍ͯΔ࣌ࠁΛࢦ͢ɻ ॳͷGPSӴ੕ଧ্͕ͪ͛1978೥ɻ ͏Δ͏ඵͷิਖ਼͸ߦͳ͍ͬͯͳ͍ɻʢTAIͱͷࠩ͸Ұఆʣ

Slide 70

Slide 70 text

ඵͷ௕͞ ͏Δ͏ඵิਖ਼ ӡ༻ظؒ TAI SIඵʢݻఆʣ ͳ͠ 1970~ GPS Time SIඵʢݻఆʣ ͳ͠ 1980~ UTC SIඵʢݻఆʣ ͋Γ 1972~ چUTC มಈ ͳ͠ 1961~1971

Slide 71

Slide 71 text

No content

Slide 72

Slide 72 text

Special relativity in GPS −(v/c)2/2 = − 8.4 × 10−11

Slide 73

Slide 73 text

General relativity in GPS ΔU/c2 = 5.27 × 10−10

Slide 74

Slide 74 text

Relativity in GPS −4.45 × 10−10 −(v/c)2/2 = − 8.4 × 10−11 ΔU/c2 = 5.27 × 10−10

Slide 75

Slide 75 text

࣮ࡍͷiOS DeviceͰଌఆͯ͠ΈΔ

Slide 76

Slide 76 text

ۀ຿ػີ ۀ຿ػີ ۀ຿ػີ

Slide 77

Slide 77 text

iOS Systemͷ࣌ࠁ߹Θͤਫ਼౓͸ࠓճඞཁ ͳਫ਼౓ʹରͯ͠͸NGͰͨ͠ɻ

Slide 78

Slide 78 text

Ͳ͏΍ͬͯSync͢Δ?

Slide 79

Slide 79 text

Peer to Peer Time Sync on BT

Slide 80

Slide 80 text

BTʹΑΔ৘ใڞ༗ CoreBTͰPeripheralͱCentralؒͰදࣔ৘ใΛڞ༗͢Δɻ ਌ͱͳΔPeripheralʹଞͷ୺຤͕Centralͱͯ͠઀ଓɻ Peripheral͔Β઀ଓͨ͠Centralʹදࣔ৘ใΛૹ৴ɻ BTʹ͓͍ͯPeripheral-CentralؒͰૹ৴Ͱ͖Δ৘ใྔ͸গͳ͍ͨΊɺը ૾σʔλΛૹ৴͢ΔΘ͚Ͱ͸ͳ͘ɺ͋Β͔͡Ί୺຤಺ʹอ࣋͢Δը૾ Λมߋ͢Δํࣜͱ͢Δɻ

Slide 81

Slide 81 text

BTʹΑΔ৘ใڞ༗ Peripheral͔ΒCentralʹ࣮ࡍʹૹ৴ͯ͠Έͨͱ͜Ζɺฏۉͯ͠20~40 msecͷ஗Ԇ͕ੜ͡ɺཁٻ͞ΕΔ16.66 msecͷൣғʹ͸͓͞·Βͳ͔ͬ ͨɻ

Slide 82

Slide 82 text

t Peripheral Central 1 Central 2 Central 3 20~40 msec

Slide 83

Slide 83 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ BT௨৴ʹ͔͔Δॲཧ࣌ؒ ୺຤಺ͷॲཧ࣌ؒ + ௨৴࣌ؒ ௨৴࣌ؒ ∝ PeripheralͱCentralͷڑ཭

Slide 84

Slide 84 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Central Peripheral Peripheral͔ΒCentralʹTAIΛجຊͱͨ͠ಠࣗͷ࣌ࠁ ܥΛఆظతʹૹ৴͠ɺCentral͔Β΋Peripheralଆʹ ࣗσόΠεͷ࣌ࠁ஋Λૹ৴͢Δɻ

Slide 85

Slide 85 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 ? ? ? ? ? ? 1 - -

Slide 86

Slide 86 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 0.4 1.4 2.4 3.4 4.4 5.4 1 1 - -

Slide 87

Slide 87 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.4 0.4 1.4 2.4 3.4 4.4 5.4

Slide 88

Slide 88 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.4 2.6 0.4 1.4 2.4 3.4 4.4 5.4

Slide 89

Slide 89 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.4 2.6 3 2.6 1.4 0.4 1.4 2.4 3.4 4.4 5.4

Slide 90

Slide 90 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3 2.6 1.4 3 + ( 2.6 - 1.4) / 2 = 3.6 3.0 0.4 1.4 2.4 3.4 4.4 5.4

Slide 91

Slide 91 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3.6 > 3.0 3.0 0.4 1.4 2.4 3.4 4.4 5.4 3 2.6 1.4

Slide 92

Slide 92 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3.6 > 3.0 3.6 0.4 1.4 2.4 3.4 4.4 5.4 3 2.6 1.4

Slide 93

Slide 93 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3.6 > 3.0 3.6 1.0 2.0 3.0 4.0 5.0 6.0 3 2.6 1.4

Slide 94

Slide 94 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3.6 4.0 1.0 2.0 3.0 4.0 5.0 6.0

Slide 95

Slide 95 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3.6 4.0 4.6 1.0 2.0 3.0 4.0 5.0 6.0

Slide 96

Slide 96 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3.6 4.0 4.6 5 4.6 4.0 1.0 2.0 3.0 4.0 5.0 6.0

Slide 97

Slide 97 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3.6 4.0 4.6 5 + (4.6 - 4.0) / 2 = 5.3 5.6 1.0 2.0 3.0 4.0 5.0 6.0 5 4.6 4.0

Slide 98

Slide 98 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Peripheral Central 1 2 3 4 5 6 1.2 2.6 3.6 4.0 4.6 5.3 < 5.6 5.6 1.0 2.0 3.0 4.0 5.0 6.0 5 4.6 4.0

Slide 99

Slide 99 text

௨৴࣌ͷ஗ԆΛফڈ͢Δ Centralଆ͔ΒPeripheralʹࣗσόΠεͷ࣌ࠁΛૹ৴͠ɺPeripheralଆ͔Β͸ ͦͷࠩΛৗʹCentralଆʹૹ৴͢ΔΑ͏ʹઃఆɻ ఆظతʹޡࠩΛૹΔ͜ͱͰɺ࣌ؒࠩΛऩଋͤ͞Δɻ ͜ΕʹΑΓɺPeripheral - Central ؒͷޡࠩΛ10 msecఔ౓ʹ͢Δ͜ͱ͕Մ ೳͱͳͬͨɻ

Slide 100

Slide 100 text

͔͠͠ɺ·ͨผͷ੍ݶ͕……

Slide 101

Slide 101 text

઀ଓτϥϒϧ 1୆ͷPeripheralʹରͯ͠ɺ4୆ͷCentral· Ͱ͸઀ଓ͢Δ͜ͱ͕Ͱ͖͕ͨɺ5୆໨ͷ CentralΛ઀ଓ͢Δ͜ͱ͕Ͱ͖ͳ͔ͬͨɻ

Slide 102

Slide 102 text

Appleʹ໰͍߹Θͤ 1୆ͷPeripheralʹ઀ଓͰ͖ΔCentral਺͸ɺ࢓্༷͸੍ݶ͕ͳ͍͕࣮ӡ༻ ্͸౰વ੍ݶ͕͋Δɻ ͦͷ઀ଓ୆਺͸ɺσόΠεͷεϖοΫ΍؀ڥʹΑܾͬͯ·ΓɺҰҙʹఆ ٛ͢Δ͜ͱ͸Ͱ͖ͳ͍ɻ

Slide 103

Slide 103 text

Single Layer Structure

Slide 104

Slide 104 text

MultiLayer Structure

Slide 105

Slide 105 text

Multilayer Structure ͜ΕͰ10୆ఔ౓ͷSync͸Մೳͱͳͬͨɻ ͨͩ͠ɺPeripheralͱCentralΛ͔Ͷͨ୺຤ͷ઀ଓ͕ෆ҆ఆɻ Centralଆ͔ΒPeripheralͷ઀ଓ͕੒ޭ͢Δ͕ɺҰఆ࣌ؒʢ਺ඵʙॏ਺ ඵʣͨͭͱࣗવʹdisconnect͢Δ৔߹͕͋Δɻ

Slide 106

Slide 106 text

·ͱΊ BT૬ޓ௨৴Ͱ࣌ࠁࠩΛऩଋͤ͞Δ࢓૊ΈʹΑΓɺ୺຤ؒͷ࣌ࠁࠩΛ10 msecఔ౓·Ͱʹ͢Δ͜ͱ͕Ͱ͖ͨɻ MultiLayer StructureΛͱΔ͜ͱʹΑΓɺBTͷ઀ଓ੍ݶ਺Λ௒͑ͨଟ਺ͷ ୺຤ؒͰͷSync΁ͷՄೳੑ͸ײ͡Δɻ ͨͩ҆ఆ౓ʹ໰୊͕͋Γɺݱঢ়Ͱ͸100୆ͷ୺຤ʹΑΔSync͸ԕ͍ɻ

Slide 107

Slide 107 text

References •ը૾ ͍Β͢ͱ΍ https://www.irasutoya.com/ •GPSͷ૬ର࿦ิਖ਼ʹ͍ͭͯ GPS ͱ෺ཧʢ໺ଜ ਗ਼ӳʣ http://maya.phys.kyushu-u.ac.jp/~knomura/museum/GPS/node11.html