95
최시원 ZOYI Corporation 아이비컨과 공유기 해킹을 통한 인도어 IoT 삽질기

[1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

Embed Size (px)

DESCRIPTION

DEVIEW 2014 [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

Citation preview

Page 1: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

최시원 ZOYI Corporation

아이비컨과 공유기 해킹을 통한 인도어 IoT 삽질기

Page 2: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

2

• 1985년생 (만 29세)

• 컴퓨터 공학 전공 & 최적화 알고리즘 연구

• 구글, 애드바이미등 에서 온라인 통계 분석

• ZOYI Corporation CEO & Co-founder

최시원 (슈주아님)

Page 3: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

백그라운드대부분의 삽질은 불현듯 시작된다

Page 4: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

CES 2014, January

http://www.itproportal.com/2014/01/06/ces-2014-nvidia-stirs-things-up-with-triple-announcement/

Page 5: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

에서 가장 많이 언급된 단어

IoT (Internet of Things)

Page 6: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

http://commons.wikimedia.org/wiki/File:Internet_of_things_signed_by_the_author.jpg

Page 7: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

7

The Size of IoT

0B

3B

6B

8B

11B

14B

2003 2013

12.5B

0.5B

6.8B6.3B

People IoT

Page 8: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

IoT - 2020년 사람당 26개 디바이스가 있을 것으로 예상

Page 9: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

9

손목에 시계는 3개쯤 차줘야…

Page 10: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

10

2013

Page 11: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

11

인천공항 이야기

Page 12: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

문제에 빠져들기 시작정신차렸을 때는 이미 늦어있었다

Page 13: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

13

이 문제가 마음에 든 이유

1. 기술 문제, 내가 고생하면 됨

2. 시장과 고객이 명확함, 돈 벌 수 있음

3. 도움 받을 곳이 있음, 온라인

Page 14: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

14

파보기 시작함

http://www.fungesteuert.com/picture-249-typisch-auf-deutschen-baustellen-einer-arbeitet-der-rest-guckt-zu-herbert-bau-fail.html

Page 15: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

15

사람이 수동으로 계수

KWtrio 계수기 / 2430

Page 16: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

16

적외선 동작 감지기를 통한 휴먼 카운팅

http://ora24.cafe24.com/Science/IR.htm

Page 17: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

17

영상인식을 통한 휴먼 카운팅

http://www.cvandai.com/projects/

Page 18: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

18

하지만…

ㅈㅁㅁ

http://oddee.com

Page 19: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

19

기존 방식의 문제

✓ 정확한 오브젝트 식별 불가능

✓ 중첩된 오브젝트 파악 불가능

✓ 유니크한 오브젝트 식별 불가능

✓ 퍼널 측정 불가능

Page 20: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

20

퍼널 측정의 중요성

어디가 문제인지 알아야 개선할 수 있어요

Page 21: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

21

음… 좋은게 없을까?

로댕 / 생각하는 사람

Page 22: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

22

아핫!

Page 23: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

23

핸드폰에서 나오는 무선 신호에 주목!

• 2014년 기준 스마트폰 보급률 90 퍼센트

• 와이파이, 블루투스 신호

• 무선 신호를 발생하는 디바이스를 분석 할 수 있다면…

Page 24: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

24

0:26:45

무선 신호를 분석하면,

✓ 매장 밖 유동 인구 파악

✓ 동신 및 체류 시간 파악

✓ 퍼널 분석 가능

Page 25: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

25

오프라인 매장의 퍼널 분석

1,000 800 200

매장밖유동인구 매장방문객 체류고객 구매고객

10,000

방문률

10%

체류전환율

80%

구매전환율

25%

이탈율

20%

Page 26: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

26

Wi-Fi

• 2.4 GHz / 5 GHz

• AP / Client

• Passive Mode / Active Mode

• Management Packet / Data Packet

• 최대 50m 까지 신호 전달

• RSSI 로 거리 추정 가능

• 대기화면에 있어도 최소 5분에 한 번은 시그널

• 실험에 의하면 최소 50% 는 키고 다님

2014년 2월 글로벌 리서치 조사, N=2,614

Page 27: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

27

Wi-Fi 패킷 구조

Page 28: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

28

Wi-Fi 이야기

Page 29: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

29

어떻게 디텍트 할 수 있을까?

Page 30: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

30

공유기가 요기있네~

Linksys WRT54G

Page 31: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

공유기의 재발견늘 보던 녀석이 달라 보임

Page 32: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

32

일단 호기롭게 개봉!

Linksys WRT54G

Page 33: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

33

뭐가 뭔지 모르겠다 일단 덮어둬야 겠다…

Page 34: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

모를땐 역시 뱅쿄 시마시따!!!

Page 35: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

35

공유기 생태계

Wireless

칩 생산 업체

공유기 생산 업체

Private SDK 제공다량 발주

Page 36: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

36

OpenWRT

• 2004년 Linksys사의 WRT54G를 성능 강화하기 위해 개발 시작

• 현재 약 50여개의 플랫폼 지원 (ARM, MIPS, x86, Power PC)

• Writable File System

• 패키지 관리자 있음 (opkg)

• 최신 기능 지원

• 풀 커스터마이징 가능

Page 37: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

37

OpenWRT - Supported Devices

• OpenWRT가 지윈되는 하드웨어 스팩을 만들어진 공유기만 적용 가능

• 현재 91개의 공유기 제조 회사의 제품이 지원됨

• ipTIME 지원 불가

30%

70%

ipTIMEETC

Page 38: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Page 39: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

39

TP-Link WR703N

✓ Tiny form factor: 5.7cm x 5.7cm x 1.8cm

✓ OpenWRT 생태계에서 매우 흥한 제품

✓ 다양한 사례 있음

Page 40: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

40

TP-Link WR703N

Page 41: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

41

TP-Link WR703N : Motion Capture

Page 42: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

42

TP-Link WR703N : Motion Capture

http://piie.net/?section=tplink-radio

Page 43: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

43

TP-Link WR703N : Radio(…)

http://piie.net/?section=tplink-radio

Page 44: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

44

Page 45: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

45

Page 46: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

46

TP-Link WR703N : Hardware Overview

Page 47: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

47

TP-Link WR703N : Open Source Artwork

2050500187Rev:1.1

CA-F12102002

U1

U2

T1

R92

R104

R103

R98

R106

R23R27R31R35

R21R25R29R33

R50 R52

R54R56

R82

R12

R11

R4

R58 R17

R16

R15

R57R6

0 R63R

62

R101

R102

R18

R20R79R78

R77R76

R83R9

1 C62

C30 C7

C26C27

C25

C19

C55

C48 C49C50C53

C115

C92

C52

C51

C22C2

3

C33

C34C2

0C21

C28

C35C36 C60C61

C57

L11

L4L2

L5

L8L6

L9L7

L3

TP_IN TP_OUT

TPDDR

Y1

J1

C37

USB1

C103

C113

Q2LE

D3

LED2

USB2

SW2

J3

D1

L

Licensed under a Creative CommonsAttribution-Share-Alike Unported License.See creativecommons.org/licenses/by-sa/3.0/

© 2012, Michel Stempin. All rights reserved.

TL-WR703N150M 802.11n Wi-Fi RouterReverse Engineering Work

Based on teardown performed by Keanon the OpenWRT forums, see:http://www.kean.com.au/oshw/WR703N/teardown/

http://squonk42.github.com/TL-WR703N/

CC-BY-SA

TPGND

TP3V3

TP2V0

TP2V5

TP1V2

R68

R65

R71

R64R100

R45

R53R51R37

R48

R41 R39R43R47R49

R22

R42R24

R96

R93

Q1

C13

C12

C9C14

R99C106

C82C67C78C81C86

C77

C98

C97

C2

C72

C65C73C74

C46

C47

C111 C7

0

C101

C95

C94

C76

C75 C9

3

C83

C87

C5

C100

C99

C64

C71

C8C15

C102

C96 C105

C18

C4

C109C84

C38

C104

C85C16

C45

C114

C63

R84

C24

C91

C90

C89

C88

C29C3

1

C32

C66

R55C6

C10

C79

C80 C1

R97

R7

R14

R3 R2

R13 R32

R36R40R46

R30R34R38R44

R26

R28L1R59

R61C17

C108

R112

R109

R111

R110

R108

R107

U6

U5

L14

U3

AN1

C119

C107

C112

C110

C3

R113 NP

R95

R94

L13

C11

D2

L

Licensed under a Creative CommonsAttribution-Share-Alike Unported License.See creativecommons.org/licenses/by-sa/3.0/

© 2012, Michel Stempin. All rights reserved.

TL-WR703N150M 802.11n Wi-Fi RouterReverse Engineering Work

Based on teardown performed by Keanon the OpenWRT forums, see:http://www.kean.com.au/oshw/WR703N/teardown/

http://squonk42.github.com/TL-WR703N/

CC-BY-SA

Page 48: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

TL-WR703N150M 802.11n Wi-Fi RouterReverse Engineering Work

Based on teardown performed by Keanon the OpenWRT forums, see:http://www.kean.com.au/oshw/WR703N/teardown/

http://squonk42.github.com/TL-WR703N/

© 2012, Michel Stempin. All rights reserved.

CC-BY-SA

GPI

O28

RESET_SW

RESET_SW

AR9331-AL1A

A3S56F40FTP

ETH10_100_TRANSFO

3k

NP NP

NP 0R

22R

22R

22R

22R

22R

22R

22R

22R

22R

10k

22R22R

10k

10k

10k

10k

10k

10k0R10k

1k

3kNP

10k

0R0R

0R

2k4

50R

50R 50R

50R

3k8

1k 100p

low ind

100n

2p41p6 12p

12p

NP

12p

12p 12p

12p

100n

10n

100n 100n

2p4NP

2p42p4

1p21p2

12p

100n50R

12p 12pNP

50R

low ind

low ind

low ind

low ind

low ind

low ind

low ind

low ind

25.00 MHz

JUMPER

1n 1206

USB-MICROB

10u 0805

10u 0805

S8550M

Blue LED NP

USB-A_TH

TACT_SWITCH_SPST

RJ45_2SH

75R

75R

75R

75R

66k4

22R

10k

22R22R

22R

22R22R

22R

22R

22R

22R22R

22R

0R

NP

S8550M

10n

10n

10n

10n

299k22p

10n

10n

10n

10n

10n

10n

10n

10n

10n

10n

10n

10n

10n

100n10n

100n

10n

10n

100n

10n

10n

10n

10n

10n

10n

100n

100n 10n

10n

10n

10n

10n

10n

100n

100n

12p

10u 0805

10u 0805

10u 0805

10u 0805

22u 0805

22u 0805

10u 0805

1n 1206

1n 1206

10n

10k

10p

10n

10n

10n

10n

0n0p5 NP

10n

100RNP

10n

10n

10n

1n

0R 6k2

10k

10k

10k

10k

22R

22R

22R

22R

22R

22R

22R

22R

22R

22R

0R

6k2

6k21n

100n

0R

1k

3k 3k

1k 0R

TPS2041BDBV

UNKNOWN_BUCK

4u

S25FL032P0XMFI01

WIFI_ANTENNA

GND_3CONTACTS

1u 06034u7 0603

4u7 0603 NP

1u 0603

NP

10R 0603

0R 0

603 1u

10n

GND

GND

GND

GND

GND

GNDGND

GND

GND

GNDGND

GND

GND GND

GND

GND

GND

GND

GND GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GNDGND

GND

GND

GND

GND

GND

GN

D

GN

D

GND

GND

GND

GNDGND

GND

GND

GND

GND

GND

GND

GNDGND

GND

GND

GND

GND

GND

GND

GND

GND

GND

GNDGND GND

GND

GND

MMBD7000

MMBD7000

SHIELDSHIELD SHIELD

SHIELD

SHIELD

GND

GND

+2V5

+2V0

+3V3

VDD

VDD

+2V5+2V5

+3V3

+3V3

+3V3

+3V3

+3V3

+3V3

+3V3

+3V3

+3V3

+3V3

+3V3

+3V3

+3V3

A3 A3

A4 A4

A5 A5

A6 A6

A7 A7

A8 A8

A9 A9

A10 A10

A11 A11

A12 A12

A13 A13

A14 A14

A15 A15

A16 A16

A17 A17

A18 A18

A19 A19

A20 A20

A25

A25

A26

A26

A27

A27

A28

A28

A29

A29

A30

A30

A31

A31

A32

A32

A33

A33

A34

A34

A35

A35

A36

A36

A37

A37

A38

A38

A39

A39

A40

A40

A41

A41

A42

A42

A47A47

A48A48

A49A49

A50A50

A51A51

A52A52

A53A53

A54A54

A55A55

A56A56

A57A57

A58A58

A59A59

A60A60

A61A61

A62A62

A63A63

A64A64

A65A65

A68

A68

A69

A69

A70

A70

A71

A71

A72

A72

A73

A73

A74

A74

A75

A75

A76

A76

A77

A77

A78

A78

A79

A79

A80

A80

A81

A81

A82

A82

A83

A83

A84

A84

A85

A85

A86

A86

B1 B1

B2 B2

B3 B3

B4 B4

B5 B5

B6 B6

B7 B7

B8 B8

B9 B9

B10 B10

B11 B11

B12 B12

B13 B13

B14 B14

B15 B15

B16 B16

B17 B17

B18 B18

B19 B19B20

B20

B21

B21

B22

B22

B23

B23

B24

B24

B25

B25

B26

B26

B27

B27

B28

B28

B29

B29

B30

B30

B31

B31

B32

B32

B33

B33

B34

B34

B35

B35

B36

B36

B37

B37

B38

B38

B39B39

B40B40

B41B41

B42B42

B43B43

B44B44

B45B45

B46B46

B47B47

B48B48

B49B49

B50B50

B51B51

B52B52

B53B53

B54B54

B55B55

B56B56

B59

B59

B60

B60

B61

B61

B62

B62

B63

B63

B64

B64

B65

B65

B66

B66

B67

B67

B68

B68

B69

B69

B70

B70

B71

B71

B72

B72

B73

B73

B74

B74

B75

B75

B76

B76 PADPAD

U1

VDD1DQ02VDDQ3DQ14DQ25VSSQ6DQ37DQ48VDDQ9DQ510DQ611VSSQ12DQ713NC14VDDQ15LDQS16NC17VDD18NC19LDM20WE21CAS22RAS23CS24NC25BA026BA127A10/AP28A029A130A231A332VDD33 VSS 34A4 35A5 36A6 37A7 38A8 39A9 40A11 41A12 42NC 43CKE 44CLK 45CLK 46UDM 47VSS 48VREF 49NC 50UDQS 51VSSQ 52NC 53DQ8 54VDDQ 55DQ9 56DQ10 57VSSQ 58DQ11 59DQ12 60VDDQ 61DQ13 62DQ14 63VSSQ 64DQ15 65VSS 66

U2

TD+

1TC

T2

TD-

3

RD

+6

RC

T7

RD

-8

GN

D15

GN

D10

TX+

16

TX-

14

RX+

11

RX-

9

NC

4N

C5

NC

13N

C12

T1

R92

R104 R103

R98 R106

R23

R27

R31

R35

R21

R25

R29

R33

R50

R52

R54R56

R82

R12 R11 R4

R58

R17R16R15

R57

R60R63

R62

R101R102

R18

R20

R79

R78 R77

R76

R83

R91C62

C30

C7

C26C27 C25

C19

C55

C48

C49 C50

C53

C115

C92

C52 C51

C22C23

C33C34

C20C21

C28

C35

C36

C60 C61C57

L11

L4

L2

L5

L8

L6

L9

L7

L3

TP_INTP_OUT

TPDDR

GND

3 1

4 2

Y1

J1

C37

1 2 3 4 5

USB1

C103

C113

Q2

LED3 LED2

1234

USB2

2 31SW2

11

22

33

44

55

66

77

88

J3

TPGND

TP3V3

TP2V0

TP2V5TP1V2

R68

R65

R71

R64

R100

R45

R53

R51R37

R48

R41R39

R43

R47

R49

R22R42

R24

R96

R93

Q1

C13

C12

C9

C14

R99C106

C82

C67

C78

C81

C86

C77

C98

C97

C2

C72

C65

C73

C74

C46C47

C111

C70

C10

1

C95

C94

C76

C75

C93 C

83

C87

C5

C100 C99

C64

C71

C8

C15

C102

C96

C105

C18

C4

C109

C84

C38

C104

C85

C16

C45

C114

C63

R84

C24

C91

C90

C89

C88

C29C31

C32

C66

R55C6

C10

C79

C80

C1

R97 R7

R14 R3

R2

R13

R32

R36

R40

R46

R30

R34

R38

R44

R26

R28

L1

R59

R61C17

C108

R112

R109

R111 R110

R108 R107

OUT 1GND 2

OC 3EN4

IN5

U6

EN 1GND 2LX 3IN4

FB5

U5

L14

CS 1SO/IO1 2

W/ACC/IO2 3GND 4SI/IO05 SCK6 HOLD/IO37 VCC8

U3

RF

GN

DG

ND

AN1

GND_CONTACTS

C119C107

C112 C110

C3

R113

R95

R94

L13

C11

D1

D2

A3_BA2_BA1_BA0_BA10_B/AP_B

A11_B

A7_BA6_B

A4_BA5_B

A8_BA9_B

A12_BCKE

CKE

CKE

A2

A0

RX_

GN

DR

X+

TX_G

ND

TX-

CLK_B

A3

A3

A1

A10/AP

CLK_B

A11

A11

A8

A8

A6

A6

A5

A5

A7

A7

A9

A9

A4

A4

GPI

O1

GPI

O13

A12

A12

TP_I

N

GPI

O17

GPI

O15

XIN

GPI

O16

GPIO6

USB_DP

USB_DP

GPIO7

ANT1_OUTN

SPI_CS_0

SPI_CS_0

ANT1_INT

SPI_CLK

SPI_CLK SPI_WSPI_SO

LDO

LED3

LED3

+3V3

TX+

USB_POWER

VBUS

VBUS

+5V0

UDM UDM

DQ8_B

DQ10_B

DQ12_B

DQ14_BDQ15_B

DQ13_B

DQ11_BDQ11DQ12

DQ9DQ10

UDQS UDQS_B

CAS

CAS

WE

WE

RAS

RAS

CS

CS

BA0

BA0

BA1

BA1

+1V2

DQ15

DQ8

DQ14DQ13

DQ4

SPI_MOSI

SPI_MOSIGPIO29

TP_O

UT

DQ0_BDQ1_BDQ2_B

DQ3_BDQ4B

DQ5_BDQ6_B

DQ7_B

LDQS_B

DQ0DQ1DQ2

DQ3

DQ5DQ6DQ7LDQS

CLK

CLK

CLK

CLK

GPI

O0

XOU

T

GPI

O14

LDM

LDM

RD

+TD

-TD

+

RD

-

ANT1_INN

ANT1_INP

ANT1_OUTP

SPI_MISO

GPIO8

USB_DM

USB_DMD-

GPIO11

DQ9_B

D+

ANT1

ETH_GND

LX

FB

Licensed under a Creative Commons Attribution-Share-Alike

See creativecommons.org/licenses/by-sa/3.0/Unported License. Rev. B

U6 USB current-limited power-distribution switch

Populate R113 to bypass the

(Allows supplying the device from USB2)

Remove J1 to solder an external antennabetween J1/C30/C28and the nearby GNDpad

SPI Flash

Wi-Fi Antenna

USB 2.0

RESETPower Input

Ethernet LED

3.3 V DC/DC

USBPowerSwitch

AR9331 MIPS24kc SoC

Switch

SDRAMDDR

10/100 MB

Host

Micro-USB

UART

Converter

TL-WR703N14/10/2012 20:42:45

1/1Sheet:

A

B

C

D

E

F

G

H

1 2 3 4 5 6 7 8 9 10

A

B

C

D

E

F

G

H

1 2 3 4 5 6 7 8 9 10

L

Page 49: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

49

TP-Link WR703N : Hardware Spec

✓ Atheros AR7240 CPU (400Mhz)

✓ Atheros AR9331 Chipset (integrated wireless)

✓ 802.11 b/g/n 150Mbps (130Mbps real)

✓ wireless power output 20dBm - 100mW

✓ 4 MB flash memory (can be modified for 16MB)

✓ 32 MB RAM (can be modified for 64MB)

✓ USB 2.0 port (High-Speed)

Page 50: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

50

TP-Link WR703N Performance

0

15

30

45

60

1억번 곱셈 연산

51

3.5

Macbook Air i5 WR703N

x 14

Page 51: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

51

TP-Link WR703N

12,000 원

Page 52: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

52

TP-Link WR703N

104 =

Page 53: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

53

TP-Link WR703N ROI Performance

0

2

4

6

8

Macbook Air i5 WR703N

x 7.4

Page 54: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

임베디드 개발자 되기원시인들이나 하는 줄 알았는데…

Page 55: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

55

임베디드 시스템 프로그래밍 배워 둘껄…

Page 56: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

56

u-boot 128 KB

kernel 896 KB

rootfs data 2048 KB

ART (Atheros Radio Test)

ART 64 KB

0x020000

0x000000

0x100000

0x300000

0x3f0000

0x400000

overlay 960 KB

rootfs

firmware

OpenWRT File System Layout

Page 57: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

57

OpenWRT 크로스 컴파일

Page 58: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

58

OpenWRT 빌드

1. OpenWRT 소스 다운로드

2. 빌드 (약 2시간)

3. 생성된 펌웨어로 업그레이드

Page 59: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

59

OpenWRT를 올리는 것에도 여러 방법이 있으나…

UART 포트로 플레시에 라이팅 하거나

메모리 라이터로 강제 라이팅 해야 하는 경우가 있어요

Page 60: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

60

OpenWRT - Telnet 접속

Page 61: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

61

OpenWRT - File Tree

Page 62: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

62

OpenWRT - OPKG

Page 63: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

63

OpenWRT - OPKG

Page 64: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

64

OpenWRT - Web GUI

Page 65: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

65

OpenWRT - Web GUI

Page 66: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

66

OpenWRT - Web GUI

Page 67: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

67

최적화 싸움

✓ Boost (400kb)

✓ Thrift 통신 (200kb)

✓ stdlibc (600kb)

✓ 안씀 (0kb)

✓ 직접 소켓 통신 (1kb)

✓ uClibc (80kb)

• 아무것도 안했는데 100kb 밖에 안 남음

• 첫 빌드 결과 라이브러리 포함 1.2 MB

• 혹독한 플레시 메모리와의 싸움

• 최종 85kb까지 줄임

Page 68: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Page 69: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

69

Page 70: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

70

음 그런데 천장에 랜선이 없네?!

Page 71: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

71

다시 요구조건 정리

✓ 무엇보다 2 Wireless

✓ Wi-Fi중 하나는 미래를 위해 5GHz AC 모드 지원

✓ 무엇보다 이쁠 것

✓ 16MB Flash Memory / 64MB DRAM

✓ USB 3.0

✓ Bluetooth 4.0

✓ OpenWRT

만족하는 공유기 없음

Page 72: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

하드웨어 만들기어디까지 가는거냐?!

Page 73: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

73

공유기 회사들을 쫒아다님

Page 74: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

74

PCBA 설계

Page 75: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

75

Prototype 완성

Page 76: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

76

GXX\U[G

GXX\U[G

GY\U^G

GXZU[G

GYG

G`U[G GX\U]G GX\U]G GX[U`G

G^U\G

GXXU`G

G`[G

G^_G

케이스 설계

Page 77: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

77

케이스 기구설계

Page 78: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Page 79: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

79

ZOYI Square 완성

Page 80: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

80

ZOYI Square - 외관

Page 81: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Page 82: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Page 83: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Page 84: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Page 85: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

85

회고 - 아쉬움과 교훈

✓ 장비 만드려면 확실히 돈이 많이 필요하구나

✓ 금형 약 2천만원

✓ 전파인증 국내 약 2천 만원 / 일본 약 4천만원

✓ RF는 함부로 하는게 아니구나

Page 86: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

86

✓ 무엇보다 2 Wireless

✓ Wi-Fi중 하나는 미래를 위해 5GHz AC 모드 지원

✓ 무엇보다 이쁠 것

✓ 16MB Flash Memory / 64MB DRAM

✓ USB 3.0

✓ Bluetooth 4.0

✓ OpenWRT

Page 87: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

Bluetooth Low Energya.k.a iBeacon

Page 88: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

88

BLE 특징

• 260 kbps maximum data

• Master - Phone, Computer

• Slave - Tracker

• Low power / Low cost

Page 89: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

89

아이비컨 패킷

Page 90: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

90

아이비컨 인도어 네비게이션

Page 91: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

Q&A

Page 92: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

One more thing

Page 93: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Page 94: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기

선물을 준비했어요

Page 95: [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기