tizen multi docking station robot
TRANSCRIPT
![Page 1: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/1.jpg)
1/41
Dokuzen
23-2th. Hong Jae Sub(PL)22-2th. Jung Yu Seok23-1th. Baek Seung Hoon23-2th. Kim Dong Min
NFC를 활용한
Tizen Multi docking Station Robot
![Page 2: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/2.jpg)
2/41
Content
System Architecture
Members Role
Private Parts
Check List
Introduction
Demo & Q/A
![Page 3: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/3.jpg)
3/41
Period
Introduction
Environment
- OS : Windows 7, Raspbian Linux
- Language : C, C++
- Tool : G++, VIM, Qt creator, Tizen IDE,
Visual studio 2012, IAR Workbench for ARM
- 2014.05 ~ 2014.08 (4 month)
- Library : Qt 4
- Kernel Version : 3.6.11+
- Devices : Raspberry pi, Tizen RD-PQ, ARM cotex-M3
![Page 4: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/4.jpg)
4/41
Motive
스마트폰 악세서리의 활용성 증가
타이젠 플랫폼의 확장성
![Page 5: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/5.jpg)
5/41
Architecture
Tizen
Smart Phone
Tizen Robot
Docking Station
Keyboard & Mouse Share
Wi-Fi Direct
USB Mount Sound Motion
Wi-Fi Direct
File & Sound transfer
File & Sound transfer
![Page 6: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/6.jpg)
6/41
Members Role
23th Hong, jaesub (PL)
- Sharing Clipboard
- Create & Control Mouse, Kbd in Tizen
22th Jung, yuseok
- Design Robot docking station
- TFT LCD UI Implement at Reapberry
23th Baek, seunghoon
- RTP / RTSP Streaming
- MP3 Frame Analysis and Transport
23th Kim, dongmin
- Wi-Fi Direct & Network
- Packet design
![Page 7: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/7.jpg)
7/41
23-2th. Hong, jaesub
Tizen App.
![Page 8: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/8.jpg)
8/41
Tizen Platform
![Page 9: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/9.jpg)
9/41
Ui App vs Service App
![Page 10: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/10.jpg)
10/41
MessagePort
- IPC 와 유사한 개념
- Named Pipeline
![Page 11: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/11.jpg)
11/41
Uinput & XTest
![Page 12: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/12.jpg)
12/41
Catch Communication Event
![Page 13: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/13.jpg)
13/41
Get Clipboard at Tizen
ref. https://bugs.tizen.org/jira/browse/TDIST-299
![Page 14: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/14.jpg)
14/41
23-2th. Kim Dong Min
Network
![Page 15: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/15.jpg)
15/41
WiFi-Direct
![Page 16: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/16.jpg)
16/41
System architecture
USART
TCP UDP
TCP UDP
IPC
![Page 17: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/17.jpg)
17/41
Server ,Client
Server
• Multi Thread• Usart• IPC• 파일입출력을 이용한 사용자관리• USB 파일 전송
• TCP(파일전송, 마우스클릭, Phone 이벤트, 클립보드, 로봇 모션, 사용자정보전송) • UDP(마우스 좌표)
• TCP(파일전송)
• TCP(마우스 클릭, 클립보드)
• UDP(마우스 좌표)
• Usart를 이용한 모션 패킷 전송 및 Arm에서발생한 이벤트 전송
• IPC• 발생한 이벤트에 맞는 화면 출력을 위한 패킷 전송
![Page 18: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/18.jpg)
18/41
RTSP Streaming &
Extract MP3 Frame
23-1st SeungHoon Baek
![Page 19: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/19.jpg)
19/41
MPEG-1 or MPEG-2 Audio Layer III
• Commonly referred to as MPEG-1 Audio Formatand loss original data
• AAU(Audio Access Unit), Audio Tag
• AAU consists of some format
![Page 20: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/20.jpg)
20/41
MPEG-1 or MPEG-2 Audio Layer III
ID3v2(Tag)
MP3 data(AAU set)
Lyrics3v2(Tag)
ID3v1(Tag)
• Variable Length Tag• A lots of Frames
• A lots of Frames• 4-Bytes Header of each frame• Synchronized Bit
• End of Files 128 bytes• Encoding Error
![Page 21: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/21.jpg)
21/41
MPEG-1 or MPEG-2 Audio Layer III
MP3 data(AAU set)
Header CRC SideInfoMain Data
(Audio Sampling Data)
• MPEG Audio Version ID• Layer(I, II, III)• Bit Rate(320Kbps)• Sampling rate(44100KHz)
• MPEG Audio Compress Algorithm
• Real Audio Data• Check Padding Bit• 1 frame = 1152 sampling data
![Page 22: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/22.jpg)
22/41
MPEG-1 or MPEG-2 Audio Layer III
MP3 data(AAU set)
Header
11-bytes is Synchronization bit
Another Bit is AAU Information Data
![Page 23: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/23.jpg)
23/41
How can I extract mp3 data for streaming?
현아 - 내일은없어.mp3
ExtractID3v2 Block
Find First AAU
Header
Find End AAU
Header
ExtractID3v1 Block
Sequence searching
ID3v2 Tag Area
First AAU Data(‘FF FE’ is Synchronized
bits)
![Page 24: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/24.jpg)
24/41
How can I extract mp3 data for streaming?
AAU AAU AAU AAU AAU
Received AAU
Played AAU
Move Sequently
Not Received AAU
• Alsa Audio Frameworks• Output audio-jack using mplayer
![Page 25: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/25.jpg)
25/41
How can I extract mp3 data for streaming?
MPAFileStream
-m_dwOffset : int-m_dwBufferSize : int-m_dwBufferDataSize : int-m_pBuffer : unsigned char *
+Read(unsigned char* pData, int dwOffset, int dwSize) : int()+FillBuffer(int dwOffset, int dwSize, bool bReverse) : bool()+SetPosition(int dwOffset) : void()
MPAFrame
+m_pHeader : MPAHeader *+m_pStream : MPAStream *
+GetFrameBuffer() : unsigned char *()+GetSubsequentHeaderOffset() : int()+CheckCRC() : bool()+IsLast() : bool()
MPAHeader
+CalcFrameSize() : int()+GetFrameMillisecond() : int()
MPAException
-m_bGetLastError : bool-m_szFunction : char[MAX]-m_szFile : char[MAX]
+GetErrorEscription() : char *()+ShowError() : void()
MPAFile
-m_pStream : MPAStream *+m_pFirstFrame : MPAFrame *
+GetBegin() : int()+GetEnd() : int()+GetFileSize() : int()+GetLengthSec() : int()+GetPlayTimeSec() : int()+GetTotalFrameCount() : int()
MPAStream
+m_szFile : char*
+ReadBytes(int dwSize, int dwOffset, bool bMoveOffset, bool bReverse) : unsigned char* ()
파일에 직접 접근하여 dwOffset + dwSize 만큼 데이터를 읽고 버퍼를 반환해 주는 역할을 수행
MPAStream 에서 읽어들인 MP3 데이터를 Buffering 해두는 역할 수행
AAU의 Header를 나타내는 클래스AAU를 나타내는 클래스, MP3 Frame Data를 주로 얻어오는 역할
MP3 File 자체를 나타내는 클래스, 시작과 끝 정보를 나타내고 분석의 시작을 수행하는 클래스
MPEG_AAU 분석 과정에서 발생하는 예외상황 메세지를 전달하기 위한 Exception Class
![Page 26: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/26.jpg)
26/41
RTSP + RTP(Streaming Protocol)
Packet
Receiver
RTP
Packet
Audio
Data
Streaming
Client
Decoding
Audio Data
(MPEG-1 Audio)Play Audio
Network
![Page 27: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/27.jpg)
27/41
RTSP + RTP(Streaming Protocol)
Server
Client
RTSP
(Real-time Streaming Protocol)
RTP
1. Control Streaming Data for real-time Transporting
2. RTSP don’t transport Streaming Data, Only controls Streaming Datas
![Page 28: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/28.jpg)
28/41
RTSP + RTP(Streaming Protocol)
RTSPServer
-mListenSocket : RTSPSocket-mMP3Path : string
+StartServer : void()+CloseServer() : void()+setMP3Path(string path) : void()+getMP3Path() : string()
RTSPSocket
-mSocket : socket-mPortNumber : int
+Open() : bool()+Close() : bool()+Accept() : RTSPSocket *()+ReadData(char* _buffer, int _bufSize) : int()+WriteData(char* _buffer, int _bufSize) : int()
ThreadManager
-mAssignThread : vector<Thread *>
+RegisterThread( Thread* _pRegisterThread ) : void()+CloseAllThread() : void()+GetThread(FUNC&& _func, ARG& _arg) : Thread*()
RTSPContextLogic
+StartServices() : void()
Client
+mClientID : int+mCurrentContext : Context+mRTSPSocket : RTSPSocket *+mRTPSocket : RTPSocket+mRemoteIP : string+mRTPRemotePortNumber : int
ServerResources
IPacketBase<<virtual>>
+getPacket(Client& _client) : string()
PacketManager
-mPacketMap : map<string, shared_ptr<IPacketBase>>
+getPacket(string& _packetName) : shared_ptr<IPacketBase>()-CreatePacketMap : void()
RTPClientLogic
-m_pClient : Client *
+SendRTPPacket() : void()
RTSP Server를 수행하며, 네트워크로 부터 접속한 사용자를 처리하는 클래스TCP 형태로 구성되어 있으며 Network I/O를 처리해주는 Socket Multi-Thread Model 형태에서 Thread 자원의 관리를 하는 클래스
Singleton 형태의 클래스이며 서버에서 사용 가능한 자원을 관리하는 클래스
RTP 방식으로 클라이언트에게 스트리밍 파일을 전송하는 클래스
클라이언트에서 받은 패킷을 분석하고 이를 새로운 패킷으로 만드는 기본 클래스
네트워크로부터 받은 클래스를 분석하고 패킷을 생성할 수 있도록 하는 클래스
RTSP Server에서 필요한 Services 들을 정의하고 내부적으로 RTSP 통신을 하는 클래스
각각의 클라이언트들의 네트워크 정보를 지니고 있는 클래스
![Page 29: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/29.jpg)
29/41
Dokuzen Streaming
Audio Sources(C++)
Windows / Tizen
Application (C++)
RTSP Server(C++)
RTSP Client
(Raspberry pi, Linux)
DokuzenMain Server(C++)
DokuzenQt
Application
![Page 30: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/30.jpg)
30/41
Dokuzen Streaming
Play(Response/ Request)
Option(Response)
Setup(Response)
Describe(Response)
Pause(Response/Request)
Teardown(Response/Request)
RTP(Transform)
AudioSource(MPA)
![Page 31: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/31.jpg)
31/41
22-2th. Jung Yu Seok
Robot design, Control &
QT User Interface
![Page 32: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/32.jpg)
32/41
Frame Design
3D Inventor Design
52 objects
3D printer output
![Page 33: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/33.jpg)
33/41
Frame Design
![Page 34: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/34.jpg)
34/41
Docking Station Robot
Touch Sensor
TFT LCD
SoundSpeaker
Servo Motor
Multi-articulated Arm
RGB LED Backlight
InfraredSensors
SoundVolume Bar
LEDVolume Bar
![Page 35: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/35.jpg)
35/41
System architecture
ARM Cortex-M3
Touch
sensor
Infrared
sensor
MCU Server
USART
RaspberryPI
DYNAMIXELL
Servo Motor
RGB LED
![Page 36: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/36.jpg)
36/41
DATA Packet
0xFF 0x03 0x02
Start Bit( 1 byte )
Connect Data bit( 1 byte )
Call Data Bit( 1 byte )
0x00
MSNData Bit( 1 byte )
0x01
MusicData Bit( 1 byte )
0x06
MotionData Bit( 1 byte )
0x08
CheckSum Bit( 1 byte )
~(All Data Sum) &
0xFF
ENDData Bit( 1 byte )
Communication Parts
![Page 37: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/37.jpg)
37/41
Robot Motion
![Page 38: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/38.jpg)
38/41
QT User Interface
Unknown User
The user is not registered. Would you like to register?
Ok Cancel
Welcome!!
010-5095-8243
Dong Min
Message
From 010-5095-8243
Calling…
From 010-5095-8243
.
..PiDokuzenDokuzen.cppImagesMain.cppDirectory.cpp
Dokuzen.cppMain.cpp
./root/home/pi/Dokuzen/Dokuzen.cpp
SEND DeleteEnter
File Transfer…
NOW 2 / 4
![Page 39: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/39.jpg)
39/41
Schedule
5월 6월 7월 8월
Mouse, Kbd Hooking
Create & ControlMouse, Kbd in Tizen
Clipboard Analysis
Design & CreateRobot docking station
Implement robot motion
TFT LCD UI
Wi-Fi Direct
Define Network Packet
NFC Communication
RTSP Analysis & Create Command
RTP Analysis & Control
MP3 Headre & Frame Analysis
Merge
Test / Debugging
![Page 40: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/40.jpg)
40/41
No Function Priority
1 Create and Control Mouse & Kbd in Tizen A
2 Windows Mouse, Kbd Hooking A
3 Clipboard Analysis & sharing B
4 Catch Communication Event in Tizen B
5 Design Robot Docking station A
6 TFT LCD UI in Raspberry A
7 Robot Motion definition A
8 Wi-Fi Direct A
9 File Transfer B
10 NFC Communication A
11 RTSP Analysis & Control A
12 RTP packet implement & control A
13 MP3 Header & Frame Analysis A
14 Streaming A
Check List
![Page 41: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/41.jpg)
41/41
Reference
1. 시리얼통신 in Raspberry
- http://blog.naver.com/jinydoggebi/120188337487
2. UDS(IPC)
- http://forum.falinux.com/zbxe/index.php?document_srl=406064&mid=network_programming
3. Wi-fi Direct AP mode at Raspberry
- http://www.raspberrypi.org/forums/viewtopic.php?f=91&t=54946
- http://www.mendrugox.net/2013/08/tp-link-tl-wn725n-v2-working-on-raspberry-raspbian/
4. Professional Tizen Application Development, Hojun Jaygarl 외 5명, Wrox
5. Tizen 애플리케이션 프로그래밍, 서영진, 프리렉
6. Tizen Developer Forum
- https://developer.tizen.org/forums
7. Tizen Namespace
- https://developer.tizen.org/dev-guide/2.2.0/org.tizen.native.apireference/namespaceTizen.html
7. 열혈강의 Qt Programming, 서영진, 프리렉
![Page 42: Tizen Multi docking Station Robot](https://reader033.vdocuments.mx/reader033/viewer/2022042311/625b7b109162000e167566cd/html5/thumbnails/42.jpg)
42/41