Lp trình h th ng

Một phần của tài liệu Nghiên cứu tương tác giữa người và xe thông qua smartphone (Trang 40)

Sau khi thi t l p k t n i gi a máy server và máy tính trên xe thông qua m ng riêng o VPN, lúc này giũa máy server và máy tính trên xeđư có thể truyền nh n d li u v i nhau. Nh ng có m t v n đề là mu n cho máy server và máy tính trên xe có thể truyền và nh n d li u thông qua ph n mềm LabVIEW ta c n ph i thi t l p m t giao th c chung TCP/IP trong ph n mềm LabVIEW.

4.2.2.1. Xây d ng Webserver

Webserver s d ng giao th c HTTP để truyền nh n d li u gi a smartphone và máy server v i hai nhi m v chính là:

- Nh n d li u từ smartphone ghi xu ng file XML: D li u đ c smartphone g i lên server theo ph ơng th c POST c a giao th c HTTP. Server nh n d li u và ghi vào đ i t ng Xml1Dto và l u d li u vào đ i t ng. Sau đó t o m t process cho vi c l u đ i t ng

Xml1Dtoxu ng file XML.

Hình 4.4: Đo n code l p trình l u d li u g i lên từ smartphone vào file XML - Đ c file XML, g i d li u về smartphone: Smartphone g i yêu c u l y

d li u theo ph ơng th c GET c a giao th c HTTP. Ngay l p t c server t o m t process cho vi c đ c d li u file XML đư đ c l u server. Process s đ c file XML và l u d li u đ c đ c vào Xml2Dto.

Hình 4.5: Đo n code đ c d li u từ file XML g i cho smartphone

Hai ph ơng th c GET và POST là các cách th c để g i d li u lên server. C hai cách th c đều đ c s d ng để thao tác v i d li u trong form nh ng chúng l i có cách ho t đ ng khác nhau.

Hình 4.6: Đo n code khai báo s d ng ph ơng th c GET để nh n d li u từ server Ph ơng th c này đ c s d ng khi dùng URL để g i yêu c u lên server. Có thể không c n Form. L y thông tin từ m t trang web trong h u h t các trình duy t. D li u g i đi là m t ph n trong URL v i d ng ắ&name=value”.

Hình 4.7: Đo n code l p trình s d ng ph ơng th c POST để g i d li u lên server Ph ơng th c này có ch c năng g i các giá tr lên server nh ng b t bu c ph i có Form data. Form g i đi có c u trúc, d li u c n x lý nằm trong message body.

4.2.2.2.L p trình trên smartphone

Để l p trình trên smartphone ta s d ng nền t ng mã ngu n m Phonegap, các ngôn ng l p trình nh JavaScript, HTML5, CSS3. Công c l p trình Eclipse và Android SDK.

HTML5 có ch c năng t o cơ s d li u.

JavaScript dùng để l p trình các ch c năng trên ng d ng.

Hình 4.8: Đo n code có ch c năng thi t k hiển th giao di n trên smartphone

Hình 4.9: Giao di n ng d ng trên smartphone

Ch c năng c a hàm này là thi t k giao di n các nút b m hiển th trên smatphone bằng cách canh lề v i màn hình smartphone và khai báo tên ch c năng các nút b m, ng v i m i nút b m ta s gán cho nó m t ID riêng. Khi h th ng ho t đ ng nó s g i đ n hàm init()

Hình 4.10: Hàm init()

Hàm này có ch c năng s kiểm tra n u thi t b s̃n sàng nó s ch y hàm onDeviceReady ng c l i s thông báo l i. Trong hàm onDeviceReady có ch a các hàm con x lý khi n các nút trên giao di n.

 L p trình ch c năng các nút b m thi t k trên giao di n

Hình 4.11: Đo n code l p trình ch c năng c a nút REFESH trên giao di n ng d ng

Khi tác đ ng vào nút REFESH trên giao di n, ng d ng s mặc đnh ch y hàm này. Ch c năng c a hàm này là khi n vào nút có id= ắrefesh” trên giao di n, s thực hi n ph ơng th c GET để nh n d li u, thông tin tình tr ng hi n t i c a xe

thông qua webserver có đa ch

trên ng d ng.

Hình 4.12: Đo n code l p trình ch c năng nút LOCK trên giao di n ng d ng Nút có id = ắlock” trong hàm này đ c l p trình để có thể thực hi n hai ch c năng khác nhau là LOCK và UNLOCK. Khi n nút LOCK trên giao di n thì hàm này s kiểm tra tr ng thái hi n t i c a xe tr c. N u giá tr c t unlock bằng 1 và giá tr c t lock bằng 0 thì hiển th c nh báo ắLOCKING CAR”. Sau đó thực hi n ph ơng th c POST d li u lock bằng 1, unlock bằng 0 lên webserver. Khi thực hi n thành công s hi n thông báo ắFINISH”. Lúc này máy server đ c file XML1 có giá tr lock bằng 1 s hiểu là chuyển tr ng thái hi n t i là đang m c a sang thực thi ch c năng khoá c a. Sau khi thực thi xong l nh LOCK, id = ắlock” cho hiển th tr ng thái ắUNLOCK” để biểu di n tr ng thái hi n t i c a xe là đang khoá. Ch c năng c a nút điều khiển này bây gi chuyển sang ch c năng điều khiển m khoá c a.

Hình 4.13: Đo n code l p trình ch c năng nút UNLOCK trên giao di n ng d ng Khi n nút có id = ắlock” trên giao di n thì hàm này s kiểm tra tr ng thái hi n t i c a xe tr c. N u giá tr c t unlock bằng 0 và giá tr c t lock bằng 1 thì hiển th c nh báo ắUNLOCKING CAR”. Sau đó thực hi n ph ơng th c POST để gán d li u lock bằng 0, unlock bằng 1 lên webserver. Khi thực hi n thành công s hi n thông báo ắFINISH”. Lúc này máy server đ c file XML1 có giá tr unlock bằng 1 s hiểu là chuyển tr ng thái hi n t i đang khoá c a sang thực thi ch c năng m khoá. Sau khi thực thi xong l nh UNLOCK, id = ắlock” cho hi n tr ng thái ắLOCK” để biểu di n tr ng thái hi n t i c a xe là đang m khoá. Ch c năng c a nút điều khiển này bây gi chuyển sang ch c năng điều khiển khoá c a.

Hình 4.14: Đo n code l p trình ch c năng nút FIND CAR trên giao di n Khi tác đ ng vào nút có id = ắfindcar” trên giao di n, hàm này s kiểm tra giá tr bi n ắisStop” n u bằng 0 thì hiển th thông báo ắFINDING CAR”. Sau đó thực hi n ph ơng th c POST để gán d li u alert bằng 1 lên webserver. Sau khi thực hi n thành công id = ắfindcar” cho hi n tr ng thái STOP để biểu di n tr ng thái hi n t i là đang thực hi n l nh tìm xe và gán giá tr bằng 1 vào bi n ắisStop”. Ch c năng c a nút điều khiển này bây gi chuyển sang ch c năng điều khiển dừng vi c tìm xe.

Hình 4.15: Đo n code l p trình ch c năng nút STOP trên giao di n

Khi tác đ ng vào nút STOP trên giao di n, hàm này s kiểm tra giá tr bi n ắisStop” n u bằng 1 thì hiển th thông báo ắSTOP FINDING CAR”.Sau đó thực hi n ph ơng th c POST để gán d li u alert bằng 0 lên webserver. Sau khi thực hi n thành công id = ắfindcar” cho hi n tr ng thái FIND CAR để biểu di n tr ng thái hi n t i là không có l nh tìm xe và gán giá tr bằng 0 vào bi n ắisStop”. Ch c năng c a nút điều khiển này bây gi chuyển sang ch c năng điều khiển tìm xe.

Hình 4.16: Đo n code l p trình ch c năng nút TURN ON trên giao di n ng d ng Khi tác đ ng vào nút có id = ắturnoff” trên giao di n, hàm này s kiểm tra giá tr bi n ắpower”, n u bằng 1 thì hiển th thông báo ắTURNING ON YOUR CAR”. Sau đó thực hi n ph ơng th c POST để gán d li u status bằng 0 lên webserver. Sau khi thực hi n thành công s hi n thông báo ắFINISH”, ti p theo id = ắturnoff” cho hi n tr ng thái TURN OFF để biểu di n tr ng thái hi n t i là xe đang ho t đ ng bình th ng và gán giá tr bằng 0 vào bi n ắpower”. Ch c năng c a nút điều khiển này bây gi chuyển sang ch c năng điều khiển dừng đ ng cơ khẩn c p. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 4.17: Đo n code l p trình ch c năng nút TURN OFF trên giao di n ng d ng Khi tác đ ng vào nút có id = ắturnoff” trên giao di n, hàm này s kiểm tra giá tr bi n ắpower”, n u bằng 0 thì hiển th thông báo ắTURNING OFF YOUR CAR”. Sau đó thực hi n ph ơng th c POST để gán d li u status bằng 1 lên webserver. Sau khi thực hi n thành công s hi n thông báo ắFINISH”, ti p theo id = ắturnoff” cho hi n tr ng thái TURN ON để biểu di n tr ng thái hi n t i là xe đang b điều khiển ch c năng t t máy và gán giá tr bằng 1 vào bi n ắpower”. Ch c năng c a nút điều khiển này bây gi chuyển sang ch c năng điều khiển cho h th ng đ ng cơ ho t đ ng bình th ng.

Hình 4.18: Đo n code l p trình ch c năng nút LOCATION trên giao di n Khi tác đ ng vào nút có id = ắLOCATION”, s hi n th thông báo ắSHOW LOCATION OF CAR” và s chuyển ng d ng t i đa ch map.html.

4.2.2.3.L p trình trên máy server

Để smartphone và ph n mềm LabVIEW có thể giao ti p truyền nh n d li u cho nhau thì c n ph i xây dựng m t h th ng cơ s d li u chung là cơ s d li u d ng XML. đây tác gi s d ng hai file XML bao g m m t file XML2 ghi d li u từ xe g i lên và m t file XML1 đ c các d li u mà đi n tho i ghi thông tin dùng điều khiển các ch c năng trên xe.

Các d li u đ u vào là các d li u chuyển từ máy client trên xe g i lên thông qua giao th c TCP/IP và s đ c ghi vào m t b ng. Từ b ng này, thông qua m t ch ơng trình contrên LabVIEW là Makes XML file để chuyển d li u này vào m t file XML có tên XML2, và s d ng m t ch ơng trình con khác là XML File 2 Array để l y d li u từ m t file XML có tên XML1.

Cơ s d li u trên file XML2 bao g m các d li u thu th p từ GPS là kinh đ , vĩ đ ng d ng cho vi c đ nh v xe từ xa, d li u thu th p m c nhiên li u hi n t i trên xe, và các d li u ph n h i từ xe sau khi đư thực hi n xong các l nh điều khiển từđi n tho i.

Cơ s d li u trên XML1 là cơ s d li u dùng cho đi n tho i ghi các thông tin dùng để điều khi n các ch c năng bao g m lock, unlock, tìm xe, dừng đ ng cơ khẩn c p. D li u trên file XML1 bao g m các c t d li u v i các giá tr là 0 hoặc 1. Máy server s đ c các giá tr trong c t này, v i giá tr bằng 0 t ơng ng v i không có tín hi u điều khiển, và bằng 1 t ơng ng v i có điều khiển từ smartphone.

Ch c năng Giá tr Lock Unlock Tìm xe Dừng đ ng cơ khẩn c p Điều khiển 1 1 1 1 Không điều khiển 0 0 0 0

Hình 4.19: Đo n code có ch c năng nh n d li u từ xe g i lên qua giao th c TCP/IP

Ch c năng c a đo n codetrên là nh n d li u truyền từ máy tính đặt trên xe g i lên thông qua giao th c TCP/IP.Bằng cách thi t l p m t k t n i TCP/IP v i máy tính trên xe thông qua công c TCP Open Conection trong labVIEW, trong đóđa ch IP là c a máy tính g n trên xe khi k t n i vào m ng VPN và port 2055 là port đ c thi t l p g i t i máy tính trên xe.Sau khi nh n d li u từ k t n i TCP d li u s đ c tách ra từng ph n t t ơng ng v i th tự trong m ng d li u g i lên từ máy tính trên xe.

Từ nh ng d li u nh n đ c từ máy tính trên xe s đ c máy server ghi vào m t file XML2, và đ c đ a lên webserver để smartphone có thể truy c p và l y d li u thông tin tình tr ng hi n t i c a xe.

Hình 4.20: Đo n code có ch c năng ghi d li u từ xe g i lên thành file XML2 Ch c năng c a đo n code này là sau khi nh n đ c các d li u từ xe g i lên s ghi các giá tr nh n đ c vào m t b ng d li u tr c khi ghi thành m t file XML. Từ b ng d li u này thông qua công c Makes XML File trong ph n mềm LabVIEW s l y thông tin từ b ng và thực hi nghi l i vào trong file XML2. Sau đó l u file XML2 này trên máy server làm cơ s d li u cho webserver. Công c Makes XML File thực ch t là m t ch ơng trình nh đ c l p trình s̃n trong LabVIEWcó ch c năng ghi d li u vào m t file có đnh d ng XML.

Hình 4.21: Đo n code có ch c năngđ c d li u file XML1 có ghi thông tin điều khiển từ smartphone

Ch c năng c a đo n code này là đ c d li u từ file XML1 l u trên máy server, thực hi n xu t ra m t b ng ch a các thông tin điều khiển từ smartphone và g i các giá tr này xu ng máy tính trên xe bằng giao th c TCP/IP. Cơ s d li u trên XML1 là cơ s d li u dùng cho đi n tho i ghi các thông tin điều khiển các ch c năng bao g m lock, unlock, tìm xe, dừng đ ng cơ khẩn c p. Và là cơ s d li u trung gian để smartphone có thể giao ti p v i LabVIEW. Trên smartphone đ c l p trình m t ng d ng có ch c năng thay đ i các giá tr trong file XML1 thông qua webserver ch a n i dung XML1. Nh v y gián ti p thông qua cơ s d li u trên XML1 ta có thể l p trình trên máy server nh n các thông tin điều khiển từ smartphone, từ đó g i d li u này xu ng máy tính trên xe để thực hi n điều khiển các ch c năng.

Hình 4.22: Đo n code có ch c năng kiểm tra điều khiển từ smartphone Ch c năng c a đo n code này là tách riêng từng d li u nh theo hàng và c t trong b ng d li u đ c từ file XML1, sau đó g i các d li u này xu ng máy tính trên xe thông qua giao th c TCP/IP. Các giá tr thu đ c là 0 hoặc 1 d ng string thông qua m t b c so sánh bằng 1 ta s đ c các tín hi u kiểm tra điều khiển trên giao di n l p trình LabVIEW, giúp cho vi c kiểm tra có sự điều khiển từ smartphone t i máy server đ c d dàng hơn.

Ch c năng c a đo n code hình 4.23 là t p h p và x p theo th tự các d li u đ c đ c từ file XML1 vào m t m ng d li u chung, sau đó g i t i máy tính trên xe thông quagiao th c TCP/IP, v i port g i là 2056.

Hình 4.24: Giao di n hiển th trên máy server dùng để kiểm tra các thông tin

Giao di n hiển th thông tin trên máy server bao g m các thông tin để nh p đa ch IP cho k t n i TCP/IP, các ô ch n đ ng dẫn file XML1 và XML2 trên máy server, các ô status để kiểm tra thông tin k t n i TCP/IP, và các đèn báo có tín hi u điều khiển từ smartphone, các b ng hiển th giá tr truyền và nh n.

4.2.2.4. L p trình trên máy tính g n trên xe

Ch c năng c a máy tính g n trên xe dùng để thu th p các thông tin nh đ nh v GPS, thu th p m c nhiên li u hi n t i c a xe g i lên máy server. Truyền nh n d li u v i máy server và thực thi các l nh điều khiển từ máy server g i xu ng.

Hình 4.25: Đo n code có ch c năng nh n tín hi u từ server

Một phần của tài liệu Nghiên cứu tương tác giữa người và xe thông qua smartphone (Trang 40)