eos_2016_spring team6 - px car

12
嵌嵌嵌嵌嵌嵌嵌嵌嵌 PX-CAR 0460026 嵌嵌嵌 0110746 嵌嵌嵌 嵌嵌嵌

Upload: nctusee

Post on 14-Feb-2017

56 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: EOS_2016_Spring Team6 - Px car

嵌入式期末專題報告PX-CAR0460026 陳人豪0110746 邱裕恆 方威迪

Page 2: EOS_2016_Spring Team6 - Px car

構想居家安全是個重要的議題,因此在家中可能會裝有防盜紅外線,監視器等器材,但是這些器材大部分都是靜態擺放,無法看到家中所有的角落。另一部分是因為這些器材昂貴,不是一般小康家庭能夠支付的花費。有不少的碩士班的朋友跟女朋友是遠距離戀愛,為了要解決能夠讓朋友的女友隨時隨地看到朋友以解相思之情。家中有養寵物 ( 貓、狗 ) 出門在外不放心在家中狀況。希望藉由這次的期末專題開發出一台低成本遠端遙控的居家監控機器人 :

1. 一台能遠端遙控的機器人2. 能夠透過網頁即時遠端遙控3. 能夠透過網頁看到目前影像即時的回傳

Page 3: EOS_2016_Spring Team6 - Px car

Blok diagram Flash media

serverLogitech webcam

c170Socket : Server

MySQLdatabase

Apache Server

Robot control kernel

Raspi Raspi

Creator PXA-270

Socket : Client

GPIO: control

USB

RTMPWIFI

LAN

L298NMotor driver

FA-130 DC Motor

FA-130 DC Motor

Page 4: EOS_2016_Spring Team6 - Px car

軟體架構

gateway

AFMserver

apacheserver

Robot control kernel

WEB UI

MySQLDatabase

HTML /CSS3/JSP RTMP PHP

MySQL APIGStreamer

TCP Soclet

上層系統 : 藍色負責前端網頁介面與即時影像串流,後端有一個 MySQL 資料庫,負責記錄使用這下達的控制命令,並且讓 gateway 到資料庫裡面取得控制的命令。Gateway : 綠色取出資料庫的控制指令並傳到機器人核心程式。Live streaming 把機器人的影像即時串流到網頁。Robot Control kernel : 橘色負責接收 gateway 傳來的 控制命令並藉由 GPIO 腳位輸出訊號給馬達做運動控制。

Page 5: EOS_2016_Spring Team6 - Px car

上層系統 : live streamingFlash media server•Flash Media Server 卻是提供了 RTMP 的服務,不需要 request and response ,他與使用者之間的連線是連續的,但 Flash Media Server 沒有所謂的人機介面,也不能自己直接初始化一個連線來連接影片,這個產生連線的過程,必須要藉由 Flash Player 來完成•可以對付多個 client 的問題Gstreamer•A framework for creating streaming media applications. •Its main advantages are that the pluggable components (ex.omxh264enc) can be mixed and matched into arbitrary pipelines so that it's possible to write a full-fledged video or audio editing application.

FMS

GStreamer

Strobe media

playback

webcam

PI PI

RTMP

Page 6: EOS_2016_Spring Team6 - Px car

上層系統 : live streamingStrobe media playback•Provides more flexibility than Flash Media Playback, it can be deployed behind firewalls, and based on Open Source Media Framework (OSMF). •OSMF is a pure Action Script® 3.0 framework that gives developers complete flexibility and control in creating their own rich media experiences.

RTMP(Real-Time Messaging Protocol) • 可以進行 Live Streaming ( 線上直播串流 )

• 能夠動態的根據網路頻寛調整影像 Streaming 傳送的品質對應。• 播放器在重播片段的時後只要使用小小的 buffer 不需要下載整個影片 ,可以節省頻寛

• RTMP 並不是使用 HTTP 的 Port 80 走的也不是 http 通訊協定,因此可能會被一些防火牆擋住無法透通,因此我們使用 strobe media playback 把 flash player 內嵌在我們的網頁中, port 1935

Page 7: EOS_2016_Spring Team6 - Px car

Gateway Socket thread 負責建立 socket 並與 client 做連線 MySQL thread 使用 MySQL API 到資料庫擷取網頁端傳下來的資料 在共有資源部分設一個 mutex ,每次只會有一個thread 進行共同資源的存取

Socket create

Gateway

bind

listen

Accept

MySQL connection

Fetch data

Data changed

Server message

Request command

send

yes

no

Mutex

Page 8: EOS_2016_Spring Team6 - Px car

底層系統 Socket 建立 socket 並與 server 做連線 Command 將收到的指令轉成對應的 GPIO 輸出

Socket : Server

Robot control kernel

Raspi

Creator PXA-270

Socket : Client

GPIO: control

LAN

L298NMotor driver

FA-130 DC Motor

FA-130 DC Motor

Page 9: EOS_2016_Spring Team6 - Px car

底層系統 PXA270 總共有 118 個 GPIO 右輪使用 GPIO59 、 60 左輪使用 GPIO61 、 62

Page 10: EOS_2016_Spring Team6 - Px car

底層系統

+

-

+

-

GPIO59GPIO60GPIO61GPIO62

5VGND

Page 11: EOS_2016_Spring Team6 - Px car

底層系統• ioctl(fd, GPIO_IOCTL_LED_OFF, &bit_no); 控制 GPIO 輸出或不輸出• GoForward(int fd); 前進• GoBackward(int fd); 後進• TurnRight(int fd); 右轉• TurnLeft(int fd); 左轉• Stop(int fd); 停止

Page 12: EOS_2016_Spring Team6 - Px car

未來展望•充電問題目前的設計當面臨到電池沒電時,仍需要人工的手動充電,希望在未來的設計中可以加入機器人自動定位導航的系統 (SLAM) ,讓機器人可以自動回到充電的區域進行充電,並利用無線充電技術降低 Plugin 的疏誤機率•網路安全問題希望在未來可以在網頁加入加密的機制,目前的設計只要知道 ip及連入網頁控制機器人,並對整個系統加上安全的機制,不讓外人輕易的入侵系統