3.1.1. Thiết bị khám xe Micas
Micas là thiết bị khám xe bằng điện thoại thông minh đầu tiên tại Việt Nam. Micas ra đời như một giải pháp để giúp chủ xe hiểu xe của mình hơn, yêu hơn những gì thuộc về xe, biết cách chăm sóc xe chủ động giảm thiểu rủi ro và các sự cố. Biến chiếc xe hơi từ một vật vô tri vô giác trở thành người bạn đường tin cậy từ đó sẽ mang lại sự an tâm mỗi khi vận hành và sự an toàn trong những chuyến hành trình dài xuyên suốt.
Hình 3.1. Thiết bị khám xe thông minh Micas
Micas giúp đảm bảo tình trạng xe luôn luôn tốt để chủ xe an tâm khi tham gia giao thông, khi có sự cố bất ngờ phát sinh, chủ xe có thể chủ động gọi trợ giúp từ cộng đồng đang sử dụng hệ sinh thái Micas hoặc có thể gọi cho các đội cứu hộ, cứu nạn gần nhất để xử lý nhanh nhất sự cố đang xảy ra. Micas hỗ trợ trên điện thoại thông minh cho cả hệ điều hành Android và IOS. Khi kết nối Micas với ô tô của bạn, thiết bị này sẽ giống như một bác sĩ chuyên nghiệp có thể hiểu, kiểm tra và khám bệnh cho xe. Với nhiều tính năng vượt trội và mang tính cộng đồng như:
Đọc được một số lỗi hệ thống cơ bản trên xe như: Hệ thống đánh lửa, phun xăng,
mạch điều khiển,…
Kiểm soát tình trạng hiện tại của xe, phân tích và xử lý các lỗi động cơ.
Phát hiện sớm các tình trạng lỗi, từ đó thông báo trước những vấn đề có thể xảy ra.
Y bạ điện tử giúp các garage nắm rõ tiền sử bệnh và thông tin những lần sửa chữa
gần nhất để tiết kiệm thời gian và kinh phí cho người dùng xe.
44
Gọi SOS từ các đội cứu hộ/cứu nạn gần nhất để được hỗ trợ các tình huống bất khả
kháng.
Nhờ trợ giúp từ các xe gần đó để được hỗ trợ trong các tình huống hỏng hóc nhẹ
như hết bình, hết xăng, hư lốp,…
Cung cấp đầy đủ danh sách các trạm dịch vụ, địa điểm, xếp hạng, giá cả theo thứ tự
uy tín nhất và gần nhất. Đồng thời đưa ra các gói khuyến mại tiện ích để chủ xe tham khảo và chọn lựa [17].
Hình 3.2. Giao diện của App Micas trên điện thoại thông minh
3.1.2. Hệ thống quản lý đội xe (FMS)
Hệ thống quản lý đội xe FMS (Fleet Management Software) là một phần mềm giúp hệ thống quản lý trung tâm có thể liên kết được với các xe đang chạy. Phần mềm này có khả năng quản lý, lưu trữ, giám sát lộ trình chuyến đi, báo các thông tin, hiệu suất làm việc của xe, giúp đảm bảo an toàn cho người lái cũng như chiếc xe đang vận hành.
FMS mang lại rất nhiều lợi ích cho các doanh nghiệp vận tải, nhất là những doanh
nghiệp cần phải quản lý xe lớn, nhiều loại xe khác nhau. Chẳng hạn:
Việc quản lý bằng hệ thống FMS sẽ không làm doanh nghiệp phải lo lắng đến các
hoạt động thường ngày của các xe. Khi có xe hoạt động, số liệu sẽ tự động cập nhật vào phần mềm, giúp cho việc theo dõi được dễ dàng hơn.
Các số liệu của FMS sẽ nhắc nhở chúng ta cần phải bảo dưỡng khi xe hết dầu hoặc
đến thời gian bảo dưỡng. Do đó, nó cũng tiết kiệm rất nhiều chi phí liên quan đến việc bảo trì xe, thời gian và năng suất hoạt động của xe.
45
Hệ thống quản lý đội xe còn có định vị GPS giúp dễ dàng theo dõi các xe khi đang
lưu thông trên đường. Việc này còn giúp doanh nghiệp dễ dàng điều hành các lộ trình của xe sao cho phù hợp nhất.
Ưu điểm của hệ thống là giúp các lái xe minh bạch trong quá trình sử dụng xe. Điều
này được thể hiện qua việc theo dõi tốc độ, các thói quen lái xe tích hợp trong phần mềm FMS.
Thanh toán hóa đơn dễ dàng cho khách hàng. Khi hoàn thành công việc, phần mềm
FMS sẽ thống kê cụ thể thời gian giao-nhận hàng của khách, lô hàng, quãng đường di chuyển, địa điểm bốc dỡ [18].
Hình 3.3. Mô hình hệ thống FMS
3.1.3. Các đồ án trước
Trước khi chúng em tiến hành nghiên cứu và thực hiện đồ án này thì cũng đã có một vài đồ án tốt nghiệp đã được thực hiện trước đó với đề tài về IoT trên ô tô. Chẳng hạn như
đề tài “Nghiên cứu, thiết kế, chế tạo thiết bị thu thập và giám sát trên ô tô” của nhóm sinh
viên Đỗ Trung Hiếu và Tăng Minh Phước đến từ Trường Đại học Sư phạm Kỹ thuật TPHCM thực hiện. Ở đồ án của nhóm này, các bạn ấy đã nghiên cứu và chế tạo ra một thiết bị với các tính năng cơ bản như: xác định vị trí hiện thời của xe, giám sát trạng thái và kiểm tra lỗi của xe từ xa, thu thập thông số hiện tại của xe và gửi lên web server, chống trộm, cảnh báo nguy hiểm cho tài xế,… Để giải quyết những vấn đề trên, nhóm các bạn đã nghiên cứu để thiết kế ra một mô hình hệ thống kết nối giữa xe, Arduino, module OBD2 và module GSM GPRS GPS BDS A9G. Tuy nhiên nhóm nhận thấy đồ án này có nhiều điểm cần cải thiện và thiết kế lại để tạo ra một mô hình IoT đáp ứng yêu cầu tạo ra một nền tảng phát triển các ứng dụng IoT trên xe.
46
3.2. Thiết kế mô hình hệ thống
3.2.1. Tổng quan về mô hình hệ thống
Sau khi tham khảo qua ý kiến của GVHD cũng như với ý tưởng của nhóm, chúng em đã lên phương án để xây dựng một hệ thống bao gồm những phần chính sau đây:
1. Tracking module (Gateway)
2. Sender
3. Webserver và Database
4. Web UI
Hệ thống trên sẽ cung cấp các tính năng cho người lái xe như:
Truyền nhận và tập hợp dữ liệu với các sender trong hệ thống để gửi vềserver.
Theo dõi vị trí hiện tại và lịch trình di chuyển của xe.
Nắm bắt kịp thời tình trạng xe và cảnh báo ngay cho chủ xe để chủ độngtrong việc
xử lý lỗi (nếu có).
Gọi cứu hộ, tìm trạm dịch vụ ở gần.
Gọi trợ giúp từ node khác với các lỗi cơ bản như hết bình, bể bánh xe.
Nắm bắt tình trạng giao thông ở khu vực hiện tại: cảnh báo kẹt xe, tốc độ giới hạn.
Lượng nhiên liện tiêu thụ, cảnh báo sắp hết nhiên liệu
Cùng với các tính năng dành cho người quản lý như:
Theo dõi trạng thái, vị trí và lịch trình di chuyển của xe
Tốc độ trong hành trình xe đi
Lượng nhiên liệu tiêu thụ
Vi phạm tốc độ của người lái
Bên cạnh đó là một số tính năng mở rộng với Sender: Khi thêm các Sender có chức
năng theo dõi các thông số trên xe như dao động, tiếng ồn,… thông qua mạng nội bộ trên
xe có thể là Bluetooth, WiFi, LoRa,… Lúc này tracking module đóng vai trò như một
47
3.2.2. Sơ đồ khối hệ thống
Ta có mô hình tổng quát của hệ thống như sau:
Hình 3.4. Sơ đồ tổng quát hệ thống
Trong đó, Tracking module đóng vai trò là một Gateway, có nhiệm vụ truyền nhận dữ liệu với Sender, với xe và Server. Bên cạnh đó là phát tín hiệu cảnh báo cho tài xế. Tracking module có cấu tạo như sau:
Hình 3.5. Sơ đồ khối của Tracking module
Sender được xây dựng để trở thành một node nhỏ trong hệ thống có vai tròchuyên biệt
48
WebServer và database sẽ được xây dựng ở mức độ cơ bản để có thể truyền nhận dữ
liệu với Tracking module và render dữ liệu ra web UI cho người dùng. Ưu tiên lựa chọn
những công nghệ đơn giản và được hỗ trợ nhiều như NodeJS, python socket, flask.
mongoDB, reactJS,…
Web UI là nơi hiển thị dữ liệu cho người dùng và người quản lý theo dõi với các nội
dung cơ bản gồm: tốc độ xe, giới hạn tốc độ, vị trí, lượng nhiên liệu tiêu thụ,….
Hình 3.6. Giao diện Web UI
3.3. Khảo sát và lựa chọn các thiết bị phần cứng
3.3.1. Kit RF thu phát Wifi BLE ESP32 NodeMCU LuaNode32
Kit RF thu phát Wifi BLE ESP32 NodeMCU LuaNode32 được phát triển trên nền tảng module trung tâm là ESP32 với công nghệ WiFi, BLE và nhân ARM SoC tích hợp mới nhất hiện nay, kit có thiết kế phần cứng, firmware và cách sử dụng tương tự Kit NodeMCU ESP8266, với ưu điểm là cách sử dụng dễ dàng, ra chân đầy đủ, tích hợp mạch nạp và giao tiếp UART CP2102, Kit Wifi BLE ESP32 NodeMCU LuaNode32 là sự lựa chọn hàng đầu trong các nghiên cứu, ứng dụng về WiFi, BLE và IoT [19].
49
Hình 3.7. Kit RF thu phát Wifi BLE ESP32 NodeMCU LuaNode32 Thông số kỹ thuật:
Nguồn sử dụng: 5V DC từ cổng Micro USB.
Tích hợp mạch nạp và giao tiếp UART CP2102
Ra chân đầy đủ module ESP32, chuẩn chân cắm 2.54mm
Tích hợp Led Status, nút BOOT và ENABLE.
Kích thước: 28.33 x 51.45mm
ESP32 wifi ra mắt với nhiều tính năng nổi bật:
Kết hợp cả WiFi và Bluetooth chip trên cùng 1 Board phát triển. Nhờ đó, ESP32 có
thể vừa có thể phát tín hiệu điều khiển vừa có thể nhận tín hiệu điều khiển từ thiết bị khác thông qua Wifi và Bluetooth.
Tối ưu hóa trong việc tiêu thụ năng lượng: ESP32 được thiết kế để phù hợp với các
thiết bị di động, các thiết bị và ứng dụng IoT.
Được tích hợp bên trong các cảm biến như cảm biến nhiệt, cảm biến Hall và cảm
biến chạm.
50 Với các dòng ESP8266 đã rất tuyệt vời với nhiều tính năng và giá thành rẻ, thì nay ESP32 còn hơn thế nữa. Chính vì những ưu điểm trên mà nhóm chúng em đã quyết định chọn Kit RF thu phát Wifi BLE ESP32 NodeMCU LuaNode32 làm MCU cho Tracking module của hệ thống.
3.3.2. Module GPS
Sau khi tìm hiểu và khảo sát nhiều loại module GPS/GSM/GPRS (như đã trình bày ở chương 2), nhóm em quyết định chọn module GPS U-Blox NEO-M8N-0-10 để nghiên cứu về lấy tọa độ GPS và GPRS (gửi dữ liệu qua mạng) với một số lý do như sau:
Hỗ trợ GPS và A-GPS
Thiết kế nhỏ gọn, độ nhạy và độ chính xác cao
Có pin dự phòng và EEprom để lưu các cài đặt cấu hình
Hoạt động ổn định và tiết kiệm năng lượng
Giá thành rẻ, dễ tìm mua
Hình 3.8. Module GPS U-Blox NEO-M8N-0-10
3.3.3. Mạch giảm áp 3A LM2596S
LM2596S là một mạch giảm áp có khả năng điều khiển tải lên đến 3A, mạch có dải điện áp đầu vào rộng từ 3.2 đến 40 VDC, điện áp đầu ra từ 1.25 đến 35 VDC có thể điều chỉnh dễ dàng thông qua biến trở tinh chỉnh được tích hợp trên mạch.
51 Thông số kỹ thuật:
Điện áp vào: 3.2V – 40V
Điện áp ra: 1.25V – 35V
Dòng điện ra: 3A (Max)
Hiệu suất chuyển đổi: 92% (Max)
Tín hiệu sóng đầu ra: < 30mV
Tần số xung: 65 KHz
Nhiệt độ hoạt động: -45 0C – 85 0C
Kích thước: 43 x 21 x 14 mm
3.3.4. Mạch chuyển đổi giao tiếp CAN MCP2515
CAN-BUS là một trong số những chuẩn giao tiếp trên các thiết bị hiện đại ngày nay như hệ thống điện trên Ô tô, OBD II hay hệ thống điện trong nhà máy công nghiệp, máy phát điện, tàu thủy,... Các VĐK đời mới gần như tích hợp ngoại vi giao tiếp CAN là bắt buộc, như STM32, LPC, PIC32,... thậm chí đến ESP32 cũng hỗ trợ CAN.
Tuy nhiên, cũng chính vì thế mà các dòng VĐK cũ như 8051 hay PIC, AVR không được tích hợp sẵn (PIC thì các dòng từ PIC18F trở lên mới hỗ trợ, giá thành cũng khá cao). Module MCP2515 là CAN controller do MicroChip sản xuất nhằm mục đích bổ sung tính năng này cho bất cứ VĐK nào. Chỉ cần dùng 3 đến 5 chân IO hoặc ngoại vi SPI có sẵn trên chip là chúng ta có thể biết những dòng chip này có khả năng làm việc với mạng CAN- BUS một cách trơn tru [20].
Hình 3.10. Mạch chuyển đổi giao tiếp CAN MCP2515
Module sử dụng chip MCP2551 làm CAN Controller và TJA1050 làm CAN Transceiver nên các thông số kỹ thuật là thông số của hai chip. Ngoài ra Module còn tích hợp các Jump J1 và J2, trong đó:
52
J1 là jump chọn chế độ tốc độ giao tiếp, nếu Jump 1 được nối thì chip TJA1050 cho
phép giao tiếp trên mạng CAN-BUS với tốc độ cao nhất có thể, lên tới 1 Mbps. Nếu Jump 1 không được kết nối thì TJA1050 giao tiếp với BUS CAN tốc độ thấp, < 10 kbps, ở chế độ này cho phép khoảng cách truyền xa hơn và nối được nhiều node mạng CAN trên bus vật lý hơn.
J2 là jump nối điện trở liên kết. Mỗi BUS CAN có 2 điện trở 120 Ohm ở hai đầu
bus. Nếu J2 nối thì module sẽ là node mạng đầu hoặc node mạng cuối. J2 không nối khi sử dụng ở module giao tiếp với mạng CAN BUS đã có sẵn điện trở ở 2 đầu.
Thông số kỹ thuật chính của MCP2515:
Chuẩn giao tiếp SPI, có chân ngắt khi nhận được gói tin hợp lệ (chân INT)
Điện áp hoạt động: 2.7 ~ 5.5V. Tương thích đầy đủ với chuẩn ISO 11898 cho hệ
thống hoạt động ổn định, chính xác.
Hỗ trợ giao thức CAN bus V2.0B
Nguồn cấp: 2.7 ~ 5.5V DC
Dòng làm việc: 5mA
Dòng tĩnh: 1 𝜇A
Chuẩn giao tiếp: SPI với tốc độ truyền dữ liệu: 1Mbps
Data field: từ 0 - 8 byte
Kích thước module: 4.4cm x 2.8cm
Nhiệt độ làm việc: -40 ℃ đến 85 ℃
3.3.5. Cảm biến gia tốc MPU6050
Như đã trình bày ở mục 2.5 ở trên, nhóm chúng em quyết định sử dụng cảm biến MPU6050 để đảm nhiệm vai trò của các sender cho đồ án của mình vì các ưu điểm của nó so với những loại cảm biến gia tốc khác.
53
3.3.6. Mạch mở rộng giao tiếp I2C
Trong giao tiếp I2C, mỗi thiết bị Slave được gán một địa chỉ duy nhất dùng trong giao tiếp I2C. Nếu có bất kì hai thiết bị nào giống nhau (cùng địa chỉ) sẽ xảy ra lỗi trong quá trình giao tiếp gọi là lỗi “xung đột địa chỉ”. Đây cũng là một hạn chế lớn trong phương thức giao tiếp I2C. Trong mô hình của nhóm chúng em, việc sử dụng bốn cảm biến MPU- 6050 có địa chỉ trong giao tiếp I2C là b110100X (X =1 nếu chân AD0 ở mức HIGH, X=0 nếu chân AD0 ở mức LOW) đã làm xuất hiện vấn đề xung đột địa chỉ theo cách truyền dữ liệu thông thường.
Hình 3.12. Xung đột địa chỉ trong giao tiếp I2C
Để giải quyết vấn đề trên, giải pháp được đưa ra là sử dụng một mạch mở rộng giao tiếp I2C để không còn tình trạng xung đột địa chỉ nữa. Và thiết bị được nhóm chúng em sử dụng là module TCA9548A.
Hình 3.13. Module mở rộng giao tiếp I2C TCA9548A
Module TCA9548A là thiết bị với 8 công tắc dịch chuyển hai chiều được điều khiển bằng bus I2C. Cặp dây SCL/SDA được chia đến 8 kênh (channels) của thiết bị. Bất kì thiết bị nào với giao tiếp I2C khi kết nối đến kênh SCn/SDn sẽ được lựa chọn thông qua chương trình do người lập trình quyết định. Những kênh này sẽ giải quyết vấn đề xung đột địa chỉ trong giao tiếp I2C. Ví dụ, chúng ta có thể kết nối 8 cảm biến gia tốc cùng loại đến 8 kênh của thiết bị SCn/SDn [21].
54 Trong trường hợp bị sự cố Time-out hay thiết bị hoặc động không đúng thì tín hiệu đầu vào của chân RESET được kéo về mức LOW. Tương tự như vậy, việc thiết lập lại nguồn sẽ bỏ chọn tất cả các kênh và chạy thiết bị ở trạng thái I2C/SMBUS. Việc RESET