Khảo sát và chọn lựa các nền tảng Cloud Computing

Một phần của tài liệu Nghiên cứu, chế tạo hệ thống giám sát và thu thập dữ liệu trên ô tô đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 65)

3.4.1. Tổng quan về Cloud Computing

Cloud Computing – hay Điện toán đám mây là mô hình điện toán máy chủ ảo, dùng

các công nghệ máy tính để triển khai các dịch vụ điện toán dựa vào internet thay vì cung cấp dịch vụ ở các máy chủ vật lý cố định như truyền thống. Cụ thể, Cloud Computing là mô hình dịch vụ cho phép người dùng truy cập tài nguyên điện toán dùng chung (mạng, sever, lưu trữ, ứng dụng, dịch vụ) thông qua kết nối mạng một cách dễ dàng, mọi lúc mọi nơi, theo yêu cầu. Tài nguyên điện toán đám mây này có thể được thiết lập hoặc hủy bỏ nhanh chóng bởi người dùng mà không cần sự can thiệp của nhà cung cấp dịch vụ [22].

Hình 3.16. Mô hình Cloud Computing

Hiện nay Cloud Computing đã bùng nổ và đóng vai trò chủ đạo trong ngày công nghiệp điện toán hàng tỷ. Bạn có thể thấy Amazon Web Services (AWS), Google Cloud Platform, Microsoft Aruze, Google Apps, Android Apps, iCloud, App Store, MS Store,… tất cả đều triển khai trên nền tảng Cloud Computing. Tuy nhiên, điện toán đám mây vẫn còn tiếp tục mở rộng – hiện nay mới chỉ là thời kỳ sơ khai, vì tiềm năng quá khổng lồ của các lĩnh vực

57 mới như IoT hay AI (Artificial Intelligence – Trí tuệ nhân tạo),… Tương lai thì hầu hết các dữ liệu có thể số hóa đều sẽ đưa lên mây.

Các ưu điểm của điện toán đám mây:

 Tính sẵn sàng cao: dù một phần của đám mây (máy chủ, ổ cứng vật lý,…) gặp sự

cố, thì mọi thứ vẫn có thể tiếp tục hoạt động trên các phần còn lại.

 Cấp phát và quản lý tài nguyên linh hoạt: Điện toán đám mây giúp tạo – nâng cấp –

hạ cấp các tài nguyên của máy chủ ảo vô rất dễ dàng.

 Chi phí hợp lý: Cloud Computing cho phép triển khai dịch vụ cung cấp tài nguyên

điện toán theo hình thức Pay Per Use - hay thường gọi là Pay As You Go (PAYG) – tức dùng bao nhiêu trả bấy nhiêu.

 Lưu trữ không giới hạn: mô hình IaaS cho phép triển khai hệ thống lưu trữ đám mây

khổng lồ - khả năng mở rộng vô hạn.

 Sao lưu và phục hồi dễ dàng hơn so với hệ thống lưu trữ – backup thông thường.

 Dễ dàng truy cập mọi lúc mọi nơi bằng máy tính, thiết bị di động, ti vi hay các thiết

thông minh khác.

 Triển khai ứng dụng nhanh chóng: bạn chỉ cần triển khai trực tiếp trên MS Store,

Google Apps,… dưới dạng ứng dụng đám mây, mọi thứ ‘bên dưới’ để cho Microsoft, Google lo.

Mặc dù mang lại rất nhiều tiện ích như trên, nhưng Cloud Computing vẫn còn tồn tại một số nhược điểm như:

 Khả năng độc lập về vấn đề kỹ thuật kém: sự cố có thể xảy ra ở cả các thiết bị phần

cứng và cả trên các phần mềm bất cứ lúc nào.

 Vấn đề an toàn dữ liệu: do dữ liệu được lưu trữ trên đám mây nên việc kiểm soát

chúng hoàn toàn là điều không thể. Dẫn đến nhiều lo ngại về việc khai thác thông tin người dùng cũng như là bị hacker tấn công.

Ngày nay, điện toán đám mây – Cloud Computing vẫn tiếp tục phát triển mạnh cả về các giải pháp công nghệ và các mô hình dịch vụ, triển khai. Với những lĩnh vực chủ đạo trong Cách Mạng Công Nghiệp 4.0 như Trí tuệ nhân tạo (AI), Internet vạn vật (IoT),… thì vai trò của Điện toán đám mây sẽ càng quan trọng hơn nữa, thay thế dần cho các nền tảng điện toán cũ!

58

3.4.2. Nền tảng Amazon Web Service

Hiện nay có rất nhiều công ty cung cấp dịch vụ điện toán đám mây, nhưng công ty nào tốt nhất thì lại phụ thuộc và nhu cầu kinh doanh hoặc ứng dụng của mỗi doanh nghiệp. Tuy nhiên, có một số yếu tố quan trọng cần xem xét là: trình độ chuyên môn, vị trí, chi phí, độ tin cậy, tính linh hoạt và độ bảo mật.

Theo khảo sát, có 5 nền tảng Cloud Computing phổ biến và hiệu quả nhất cho đến thời điểm hiện tại, gồm:

 Amazon Web Service

 Google Cloud Platform

 Microsoft Azure

 IBM Cloud (trước đây có tên là IBM Bluemix)

 Oracle Cloud

Hình 3.17. Top 5 nền tảng Cloud Computing phổ biến nhất hiện nay

Sau khi tiến hành so sánh thì nhóm chúng em quyết định lựa chọn Amazon Web Service để xây dựng nền tảng Cloud Computing cho hệ thống của chúng em.

Amazon Web Services (AWS) là nền tảng đám mây toàn diện bậc nhất của công ty nghìn tỷ Amazon, cung cấp hơn 170 dịch vụ và được sử dụng rộng rãi trên toàn thế giới. Các dịch vụ này bao gồm nhiều tính năng hiện đại, cao cấp nhất từ các trung tâm dữ liệu được Amazon đặt khắp nơi, ở nhiều quốc gia khác nhau. Hàng trăm triệu khách hàng, những cá nhân, tổ chức, từ các công ty khởi nghiệp tới các tập đoàn đa quốc gia, các cơ quan hành chính, chính phủ, đều rất tin tưởng vào AWS, việc sử dụng công nghệ này giúp cho họ tiết kiệm khá nhiều cho phí, hoạt động sản xuất dễ dàng, nhanh chóng, và hiện đại hóa hơn rất nhiều [23].

59 AWS có mạng lưới bao phủ rộng khắp trên toàn thế giới, AWS có 69 vùng được đặt tại 22 khu vực địa lý trên gần 150 quốc gia khác nhau ở các châu lục, mỗi vùng đều được trang bị hệ thống kết nối dữ liệu tốc độ cao, băng thông lớn, độ trễ thấp nhấp và luôn có mạng dự phòng để xử lý các tình huống, sự cố bất ngờ xảy ra. Bên cạnh đó, trong năm 2020, AWS đã mở thêm gần 20 vùng sẵn sàng ở các quốc gia như Ý, Nam Phi, Tây Ban Nha,… để kịp thời đáp ứng nhu cầu sử dụng của các công ty, các tập đoàn và người dùng cá nhân ngày một nhiều hơn.

Các điểm nổi bật nhất của AWS:

 Cung cấp nhiều dịch vụ với các tính năng hiện đại nhất: các công nghệ cơ sở hạ

tầng, máy tính, ổ lưu trữ, cơ sở dữ liệu, lưu trữ đám mây, machine learning, kho dữ liệu và phân tích, trí tuệ nhân tạo, internet vạn vật….

 Có cộng đồng khách hàng đông đảo và nhiều đối tác lớn.

 Tính bảo mật mạnh mẽ hơn nền tảng máy chủ vật lý

 Tầm nhìn sâu rộng về tuân thủ và quản lý

 Mạng lưới AWS trải rộng khắp các khu vực và vị trí máy chủ trên toàn cầu

Các dịch vụ của AWS cung cấp cho người dùng rất đa dạng, bao gồm:

 Lưu trữ đám mây (Cloud Storage)

 Phân phối hạ tầng mạng và nội dung (Networking Content Delivery)

 Tính toán (Compute)

 Phân tích (Analys)

 Machine Learning

 Công nghệ thực tế ảo (AR & VR)

 Công cụ quản lý (Management Tools)

 Công cụ phát triển (Developer Tools)

 Công cụ tích hợp ứng dụng (Application Intergration)

 Ứng dụng máy tính và Streaming (Desktop & App Streaming)

60

Hình 3.18. Các dịch vụ của AWS

3.5. Khảo sát và lựa chọn công nghệ lập trình, hệ cơ sở dữ liệu 3.5.1. Xây dựng MQTT broker với Aedes 3.5.1. Xây dựng MQTT broker với Aedes

Aedes (Mosca) là 1 trong số rất nhiều server MQTT Broker của giao thức MQTT. Tương tự như CloudMqtt, nó có 1 số đặc điểm như sau:

 Nó là 1 Node.js Broker, được viết bằng ngôn ngữ JavaScript vì vậy để có thể xây

dựng MQTT Broker, chúng ta cần Node.js để chạy. Aedes (Mosca) có thể nhúng vào ứng dụng của bạn nếu ứng dụng này được viết bằng Node.js

 Aedes (Mosca) là 1 multi-transport MQTT Broker, có nghĩa là nó hỗ trợ tất cả các

chức năng publish, subscribe của các broker khác. Danh sách các publish/subscribe broker được hỗ trợ bao gồm RabbitMQ, Redis, Mosquitto, ZeroMQ. Ở phần này chúng ta sẽ tạo ta 1 MQTT Broker đơn giản dùng Aedes (Mosca) với sự hỗ trợ của cơ sở dữ liệu Mongodb.

Để có thể sử dụng Aedes ta cần cài NodeJS về máy tính và tải package Aedes, có rất nhiều hướng dẫn cụ thể trên Internet nên nhóm xin không đề cập cách làm ở đây. Sau khi cài xong NodeJS và Aedes, chúng ta tiến hành tạo một MQTT broker đơn giản bằng cách lập trình và chạy file trên bất kỳ IDE có hỗ trợ nào với mã nguồn như sau:

Hình 3.19. Tạo một MQTT broker đơn giản

3.5.2. Cơ sở dữ liệu truy vấn không cấu trúc MongoDB

61 hướng đối tượng trong đó các bảng được cấu trúc một cách linh hoạt cho phép các dữ liệu lưu trên bảng không cần phải tuân theo một dạng cấu trúc nhất định nào. Chính do cấu trúc linh hoạt này nên MongoDB có thể được dùng để lưu trữ các dữ liệu có cấu trúc phức tạp và đa dạng và không cố định (hay còn gọi là Big Data).

Một số đặc điểm của MongoDB:

 Kho lưu định hướng document: Dữ liệu được lưu trong các tài liệu kiểu JSON.

 Lập chỉ mục trên bất kỳ thuộc tính nào.

 Các truy vấn đa dạng.

 Cập nhật nhanh hơn.

3.5.3. Kết nối tới MongoDB server với NodeJS

Để có thể thao tác với MongoDB trong NodeJS ta cần phải cài đặt thêm driver, thông thường thì ta sẽ phải cài thêm module có tên mongodb nhưng trong đồ án này nhóm sẽ dùng module mongoose, nó được xây dựng dựa trên module mongodb nhưng việc thao tác đơn giản hơn nhiều, không cần quá nhiều câu lệnh phức tạp. Mongoose là module viết dựa trên JavaScript và được sử dụng nó rất nhiều trong một ứng dụng Node.js, nó là một Object Data Modeling (ODM) cho MongoDB và NodeJS.

3.5.4. Xây dựng trang web cơ bản với Express trong NodeJS

ExpressJS là một web framework được xây dựng trên nền tảng NodeJs. Expressjs cung cấp các hàm HTTP và midleware để tạo ra API đơn giản và dễ sử dụng.

ExpressJS được phát hành theo giấy phép mã nguồn mở, có cộng đồng hỗ trợ lớn, được phép sử dụng cho ứng dụng có mục đích thương mại. Do vậy bạn hoàn toàn có thể yên tâm sử dụng framework này cho dự án của mình, từ dự án nhỏ tới lớn.

Cấu trúc thư mục dự án khi sử dụng ExpressJS được chia là 3 phần: routes, Views và Public. ExpressJS xây dựng ứng dụng web theo đúng mô hình MVC (Model – View – Controller).

Sau khi cài đặt NodeJS và ExpressJS, ta có thể tiến hành lập trình với một vài dòng lệnh vô cùng cơ bản là có thể tạo ra một Web Server hoạt động ở mạng local trên máy tính cá nhân như hình bên dưới:

62

63

CHƯƠNG 4. THI CÔNG MÔ HÌNH VÀ KẾT QUẢ KIỂM TRA GIAO TIẾP VỚI ECU CỦA XE TOYOTA YARIS 2009

4.1. Các thiết bị trong mô hình

Dưới đây là một số thiết bị để thực hiện quá trình kiểm tra hoạt động của thiết bị với mô hình giao tiếp OBD2:

 ECU Toyota Yaris 2009

Hình 4.1. ECU Toyota Yaris 2009

ECU có mã là 89661-0D680 được sử dụng trên các dòng xe của Toyota sử dụng động cơ 1NZ-FE, chẳng hạn như: Vios 2009, Yaris 2009,…

Hình 4.2. Sơ đồ chân ECU Toyota Yaris 2009

Để thực hiện việc kiểm tra giao tiếp giữa hộp Gateway mà nhóm chế tạo với ECU, chúng em đã sử dụng các chân CANH và CANL để có thể thu thập dữ liệu từ ECU thông qua mạng CAN. Vị trí chi tiết của các chân CANH và CANL đã sử dụng như sau:

CANH (A21-41) - E1 (C20-104) CANL (A21-49) - E1 (C20-104)

64

 Đầu Jack OBD2

Hình 4.3. Đầu Jack OBD2

 Cáp kết nối OBD2

Hình 4.4. Cáp kết nối OBD2

 Board Gateway

Để thiết lập được board Gateway, cần sử dụng các thiết bị như bảng 4.1 bên dưới.

Bảng 4.1. Các thiết bị sử dụng trong mô hình Board Gateway

STT Tên Số lượng Điện áp (V) Dòng định mức (mA) Dòng tối đa (mA) Giao thức 1

Kit RF thu phát Wifi BLE ESP32 Node MCU LuaNode32 1 5 80 500 2 Mạch giảm áp LM2596S 1 IN: 3.2 - 40 OUT: 1.25-35 3000

3 Mạch chuyển đổi giao

tiếp CAN MCP2515 1 2.7 – 5.5 5 10 SPI

4 Module mở rộng giao

65 5 Module GPS U-Blox NEO-M8N-0-10 1 3.3 - 5 45 100 UART 6 Mạch Đọc Thẻ Nhớ MicroSD 1 3.3 – 5.5 80 200 SPI 7 AMS1117 Mạch Ổn Áp 3.3V 1 IN: 3V3 - 5 OUT: 3.3 800 8 Cổng RJ45 Cái 8P8C

8 Chân Không LED 4

9 Cổng DB9 Đực 9 Chân Cong 90 Độ 1 10 Jack DC 1 11 Nút nhấn 6mm 4 chân chỉnh ngang 1 12 LED 5mm 2 13 Điện trở 1K 2W 1% 3  Sensor

Nhóm chúng em sử dụng 4 cảm biến gia tốc MPU6050 làm bộ phận chính cho sensor của hệ thống. Ngoài ra, còn cần dùng thêm cổng RJ45, tụ điện, điện trở, LED để tạo thành một sensor hoàn chỉnh.

66

4.2. Mô hình thiết bị thực tế 4.2.1. Tổng quan về thiết bị 4.2.1. Tổng quan về thiết bị

Hình 4.6. Mô hình thiết bị hộp Gateway Thông số cơ bản:

 Kích thước: 157 x 98 x 32 mm

 Chuẩn giao tiếp với cảm biến: I2C

 Giắc kết nối: 4 cổng RJ45, 1 cổng SMA, 1 cổng DC, 1 cổng DB9, 1 cổng micro

USB.

 Chip VĐK của main MCU: ESP32-WROOM

Hình 4.7. Mặt trước thiết bị

Hình 4.8. Mặt sau thiết bị

Trên đây là hình ảnh thiết bị gồm mặt trước và mặt sau. Mặt trước gồm 1 giắc nguồn DC 12V, 1 cổng DB9 để kết nối với cáp OBD, 1 nút nhấn, 1 cổng micro USB để kết nối với máy tính và 1 khe để cắm thẻ SD card. Mặt sau gồm 4 cổng RJ45 để kết nối với các cảm biến và 1 cổng SMA để kết nối ăng-ten GPS.

67 Cấu tạo chi tiết bên trong thiết bị và sensor như hình 4.7 và 4.8 bên dưới.

Hình 4.9. Cấu tạo bên trong mạch Gateway

Hình 4.10. Sensor

4.2.2. Sơ đồ khối thiết bị

Ta có sơ đồ kết nối toàn bộ hệ thống như sau:

68 Theo như sơ đồ trên, thiết bị được Main MCU đóng vai trò là mạch xử lý trung tâm. Khối cảm biến trong thiết bị là module cảm biến gia tốc MPU6050. Dữ liệu từ cảm biến MPU6050 được dẫn vào kênh mở rộng của mạch mở rộng giao tiếp TCA9548A trước khi mạch mở rộng này kết nối với bus I2C của Main MCU. Thiết bị GPS với ăng-ten được kết nối với Main MCU thông qua giao tiếp UART để gửi dữ liệu về tọa độ (kinh độ, vĩ độ) và vận tốc xe trong khi di chuyển. Toàn bộ các dữ liệu đọc được trên Main MCU được lưu vào thẻ SD card thông qua mạch Arduino microSD. Ngoài ra, Main MCU còn có kết nối SPI đến CAN controller MCP2515 và được chuyển mức logic bằng CAN transceiver TJA1050.

Hình 4.12. Sơ đồ hệ thống

Sau khi thực hiện các tác vụ đọc dữ liệu từ xe, module GPS và các cảm biến gia tốc MPU6050, ESP32 sẽ đóng gói dữ liệu gửi về Server hoạt động trên EC2 qua giao thức MQTT với tần suất 100ms /1 gói tin. Server nhận được gói tin, thực hiện các tác vụ lọc và xác nhận dữ liệu. Nếu gói tin đúng cấu trúc và có nghĩa, dữ liệu sẽ được lưu vào cơ sở dữ liệu MongoDB. Về phía client, có thể sử dụng nhiều công nghệ khác nhau truy cập vào database và đưa về các thiết bị hiển thị để người dùng theo dõi.

4.2.3. Sơ đồ nguyên lý

69

Hình 4.13. Sơ đồ nguyên lý của thiết bị

4.2.4. Thiết kế vỏ hộp bằng phần mềm CATIA V5 R26 và CorelDRAW X7

Để bảo vệ cho các thiết bị và mạch điện bên trong board Gateway, nhóm em đã sử dụng phần mềm CATIA V5 R26 để thiết kế vỏ hộp cho board Gateway. Ngoài ra, nhóm còn dùng phần mềm CorelDRAW X7 để thiết kế nhãn dán có ghi thông tin của đề tài để dán lên trên vỏ hộp. Sau khi thiết kế xong thì vỏ hộp chúng em sẽ in 3D, còn nhãn dán sẽ in bằng chất liệu decal trong. Dưới đây là hình ảnh vỏ hộp khi thiết kế và thành phẩm sau khi thực hiện xong.

70

Hình 4.15. Thiết kế nhãn dán bằng phần mềm CorelDRAW X7

4.3.Các lưu đồ thuật toán của Gateway 4.3.1. Tác vụ cài đặt 4.3.1. Tác vụ cài đặt

Một phần của tài liệu Nghiên cứu, chế tạo hệ thống giám sát và thu thập dữ liệu trên ô tô đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 65)

Tải bản đầy đủ (PDF)

(97 trang)