Thiết kế bộ điều khiển định vị giám sát cho các phương tiện giao thông

67 758 3
Thiết kế bộ điều khiển định vị giám sát cho các phương tiện giao thông

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

NHIỆM VỤ ĐỒ ÁN Đề tài Thiết kế điều khiển định vị giám sát cho phương tiện giao thông tập trung nghiên cứu vào nội dung sau: - Tìm hiểu công ngệ GPS GSM - Tìm hiểu ngôn ngữ lập trình C cho Arduino, phần mềm Arduino IDE - Tìm hiểu module Sim 908, cảm biến nhiệt độ, độ ẩm DHT11, LCD 16x2 _ I2C, Arduino Uno R3 - Thiết kế thi công thiết bị định vị giám sát cho phương tiện giao thông với tính sau: Xác định vị trí phương tiện lắp đặt thiết bị có tin nhắn soạn theo cú pháp đặt trước tới số điện thoại gắn Module sim, có tin nhắn phản hồi tới thuê bao đăng kí trước với nội dung cho biết tọa độ thiết bị, từ thông số cho phép xác định vị trí phương tiện Google map Hiển thị nhiệt độ, độ ẩm lên hình LCD nơi gắn thiết bị đồng thời hai liệu gửi kèm tin nhắn trả có yêu cầu LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc tới thầy cô giáo trường Đại học Công nghệ Thông tin Truyền thông thầy cô môn Công nghệ Điện tử Truyền thông khoa Công nghệ Điện tử Truyền thông tận tình giảng dạy, truyền đạt cho em kiến thức thời gian qua Đặc biệt em xin chân thành cảm ơn cô giáo ThS.Nguyễn Thùy Dung trực tiếp hướng dẫn giúp đỡ em hoàn thành đề tài Cuối cùng, em xin chân thành cảm ơn gia đình, bạn bè, thầy cô tạo điều kiện thuận lợi sở vật chất động viên tinh thần, giúp đỡ em trình nghiên cứu thực đề tài Em xin chân thành cảm ơn ! Thái nguyên, Tháng 06 Năm 2016 SINH VIÊN THỰC HIỆN Tạ Quang Tuyên LỜI CAM ĐOAN Em xin cam đoan toàn nội dung báo cáo em tự tìm hiểu nghiên cứu hướng dẫn định hướng cô giáo Thạc sỹ Nguyễn Thùy Dung Nội dung báo cáo không chép vi phạm quyền từ công trình nghiên cứu Nếu lời cam đoan không đúng, em xin chịu hoàn toàn trách nhiệm trước pháp luật Thái nguyên, Tháng 06 Năm 2016 SINH VIÊN THỰC HIỆN Tạ Quang Tuyên MỤC LỤC NHIỆM VỤ ĐỒ ÁN LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC HÌNH LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN 1.1 Tình hình nghiên cứu thuộc lĩnh vực đề tài 1.1.1 Giới thiệu chung hệ thống GPS 1.1.2 Tổng quan mạng GSM 16 1.1.3 Trên giới 22 1.1.4 Trong nước 23 1.2 Tính cấp thiết đề tài 25 1.3 Phạm vi nghiên cứu 25 1.4 Mục tiêu đề tài 25 CHƯƠNG PHÂN TÍCH BÀI TOÁN 27 2.1 Yêu cầu toán 27 2.2 Giải pháp thiết kế 27 2.2.1 Sơ đồ khối thiết bị 27 2.2.2 Phân tích chức khối 27 2.3 Phân tích lựa chọn linh kiện 28 2.3.1 Cấu trúc phần cứng thông số kỹ thuật Arduino UNO 28 2.3.2 ModuleGSM/GPS SIM908 Easy 33 2.3.3 Arduino UNO Easy shield 38 2.3.4 Cảm biến nhiệt độ, độ ẩm DHT11 40 2.3.5 Khối hiển thị LCD 16x2 43 2.3.6 Nguồn pin 45 CHƯƠNG NGÔN NGỮ LẬP TRÌNH VÀ PHẦN MỀM PHỤ TRỢ 46 3.1 Giới thiệu môi trường lập trình Arduino IDE 46 3.2 Cấu trúc chương trình lập trình Arduino 48 3.3 Một số ví dụ lập trình ứng dụng 49 3.3.1 Lập trình Điều khiển led 49 3.3.2 Lập trình gửi liệu cổng truyền thông nối tiếp 50 3.4 Một số lệnh AT giao tiếp với module Sim908 51 3.5 Ứng dụng Arduino 51 CHƯƠNG THIẾT KẾ VÀ THỰC THI 54 4.1 Thiết kế phần cứng 54 4.2 Thiết kế phần mềm 55 4.3 Một số hình ảnh sản phẩm 57 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 59 TÀI LIỆU THAM KHẢO 60 PHỤ LỤC 61 DANH MỤC HÌNH Hình 1.1 Sơ đồ liên quan ba phần GNSS (GPS) 11 Hình 1.2 Chuyển động vệ tinh nhân tạo xung quanh trái đất .11 Hình 1.3 Vị trí trạm điều khiển giám sát hệ thống GPS 12 Hình 1.4 Các hệ vệ tinh .15 Hình 1.5 Kiến trúc vô tuyến mạng GSM theo kĩ thuật TDMA FDMA 18 Hình 1.6 Tổng quan hệ thống GSM .19 Hình 1.7 Thiết bị GPS tracker 22 Hình 2.1 Sơ đồ khối hệ thống định vị giám sát cho phương tiện giao thông 27 Hình 2.2 Board Arduino Uno 29 Hình 2.3 Hình mặt Arduino Uno 30 Hình 2.4 Sơ đồ nguyên lý Arduino 31 Hình 2.5 Module GSM/GPS SIM908 Easy .33 Hình 2.6 Hình ảnh chân module GSM/GPS SIM908 Easy 34 Hình 2.7 Kết nối GSM/GPS SIM908 Easy 35 Hình 2.8 Sơ đồ kết nối GSM/GPS SIM908 Easy 36 Hình 2.9 Mạch khởi động Sim 908 36 Hình 2.10 Sơ đồ chân chức Sim 908 37 Hình 2.11 Modul Arduino UNO Easy shield 38 Hình 2.12 Modul Arduino UNO Easy shield sơ đồ chân 39 Hình 2.13 IC ổn định nguồn tích hợp Arduino UNO Easy Shield 39 Hình 2.14 Switch chọn chế độ 40 Hình 2.15 Cảm biến DHT11 .40 Hình 2.16 Kết nối vi xử lý 41 Hình 2.17 Gửi tín hiệu Start 41 Hình 2.18 Đọc giá trị bit 42 Hình 2.19 Đọc giá trị bit .42 Hình 2.20 Màn hình LCD 16x2 43 Hình 2.21 Kết nối Text LCD 44 Hình 2.22 Pin LI-Ion .45 Hình 3.1 Link download phần mềm Arduino .46 Hình 3.2 Cài đặt Arduino IDE 46 Hình 3.3 Giao diện lập trình Arduino 47 Hình 3.4 Chức Menu 47 Hình 3.5 Mở ứng dụng mẫu Arduino 48 Hình 3.6 Ví dụ điều khiển led 49 Hình 3.7 Kết thu hình Serial .50 Hình 3.8 Máy in 3D .51 Hình 3.9 Robot 52 Hình 3.10 Máy bay không người lái 52 Hình 3.11 Lập tình game tương tác 53 Hình 4.1 Sơ đồ nguyên lý 54 Hình 4.2 Lưu đồ thuật toán điều khiển hệ thống 56 Hình 4.3 Hình ảnh thực tế sản phẩm hoàn thành 57 Hình 4.4 Dữ liệu thiết bị GPS gửi cho điện thoại qua SMS 57 Hình 4.5 Vị trí thiết bị hiển thị lên google map ảnh vệ tinh 58 LỜI NÓI ĐẦU Trong lịch sử ngành vận tải giới, việc tìm giải pháp quản lý trao đổi thông tin xe, tài xế với trung tâm điều hành chưa công việc dễ dàng Hiện nhờ có phát triển công nghệ thông tin với bước tiến mạnh mẽ ngành viễn thông giúp đơn giản hóa nhiều khó khăn thông qua hệ thống định vị toàn cầu GPS Cùng với thời gian công nghệ GPS ngày phát triển hoàn thiện theo chiều hướng xác, hiệu thuận tiện Với mục đích nghiên cứu nhánh phát triển công nghệ GPS lĩnh vực giám sát quản lý phương tiện giao thông, nên em chọn đề tài “THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỊNH VỊ GIÁM SÁT CHO CÁC PHƯƠNG TIỆN GIAO THÔNG” Thiết bị giúp xác định vị trí vật thể cách cụ thể, vị trí thu thập thông số nhiệt độ độ ẩm môi trường xung quanh Nội dung nghiên cứu đề tài gồm chương sau: Chương 1: Tổng quan Chương 2: Phân tích toán Chương 3: Ngôn ngữ lập trình phần mềm phụ trợ Chương 4: Thực thi thiết kế Qua thời gian nghiên cứu tìm hiểu, em xây dựng hoàn thành đề tài Tuy nhiên trình hoàn thành đề tài nhiều sai sót hạn chế Vì vậy, em mong nhận đánh giá bảo thầy cô bạn bè để đề tài hoàn thiện áp dụng thành công thực tiễn Thái nguyên, Tháng 06 Năm 2016 SINH VIÊN THỰC HIỆN Tạ Quang Tuyên CHƯƠNG TỔNG QUAN 1.1 Tình hình nghiên cứu thuộc lĩnh vực đề tài 1.1.1 Giới thiệu chung hệ thống GPS Hệ thống định vị toàn cầu GPS (NAVSTAR GPS - Navigation Satellite Timing and Ranging Global Poritioning System) hệ thống vệ tinh có khả xác định vị trí toàn cầu với độ xác cao phát triển quốc phòng Hoa Kỳ khoảng đầu 1970 Đầu tiên, GPS xây dựng để phục vụ cho mục đích quân sự, nhiên sau cho phép sử dụng lĩnh vực dân Hiện nay, hệ thống truy nhập hai lĩnh vực quân dân Từ nhà khoa học nhiều nước phát triển lao vào chạy đua để đạt thành cao lĩnh vực sử dụng hệ thống vệ tinh chuyên dụng GPS Những thành tựu cho kết hai hướng chủ đạo chế tạo máy thu tín hiệu thiết lập phần mềm để chế biến tín hiệu cho mục đích khác Cho tới năm 1988, máy thu GPS 10 hãng giới sản xuất đạt trình độ cạnh tranh thị trường Vì lý trên, giá máy giảm xuống tới mức hợp lý mang tính phổ cập Mười hãng giới sản xuất máy thu GPS bao gồm hãng như: TRIMBLE NAVIGATION (Mỹ), ASHTECH (Mỹ), WILD (Thụy sĩ), SEGSEL (Pháp), MINI MAX (Tây Đức) Theo dư luận thị trường máy thu hãng TRIMBLE NAVIGATION đánh giá cao Về phương diện phần mềm hệ thống GPS, thấy tính đa dạng Giá trị đo thu có loại, tín hiệu vệ tinh phát Chế biến tín hiệu phương pháp khác nhau, thuật toán khác có tham số hình học vật lý khác trái đất Chúng ta nói khả phần mềm vô tận Với tín hiệu thu tính tọa độ không gian tuyệt đối (với độ xác 10 m tới m sử dụng lịch vệ tinh xác), số gia tọa độ không gian (độ xác từ cm tới cm), số gia tọa độ địa lý (độ xác từ 0.7 đến cm), số gia độ cao (độ xác từ 0.4 cm đến cm), số gia trọng lực (độ xác 0.2 mgl) Ngoài có tham số khác nghiên cứu GPS bao gồm mạng lưới 24 vệ tinh hoạt động Mạng lưới thức hoàn thành vào ngày 8-12-1993 Để đảm bảo vùng phủ sóng liên tục toàn giới, vệ tinh GPS xếp cho vệ tinh nằm mặt phẳng quỹ đạo Với cách xếp có đến 10 vệ tinh nhìn thấy điểm trái đất với góc ngẩng 100 thực tế cần vệ tinh cung cấp đầy đủ thông tin vị trí Các quỹ đạo vệ tinh GPS đường vòng, có dạng elip với độ lệch tâm cực đại 0.01, nghiêng khoảng 550 so với đường xích đạo Độ cao vệ tinh so với bề mặt trái đất khoảng 20.200 km, chu kỳ quỹ đạo vệ tinh GPS khoảng 12 (11 58 phút) Hệ thống GPS thức tuyên bố có khả vào hoạt động vào ngày 17-7-1995 với việc đảm bảo có tối thiểu 24 vệ tinh hoạt động Trong thực tế, để GPS có khả hoạt động tốt, số lượng vệ tinh mạng lưới GPS phải luôn nhiều 24 vệ tinh  Cấu trúc hệ thống GPS GPS gồm phân vùng: - Phần không gian (space segment) - Phần điều khiển (control segment) - Phần người sử dụng (user segment)  Phần không gian (space segment) Phần không gian GPS bao gồm 24 vệ tinh bay quỹ đạo có độ cao đồng 20200 km, chu kỳ 12 giờ, phân phối mặt phẳng quỹ đạo nghiêng với xích đạo góc 55o Việc bố trí nhằm mục đích để thời điểm vị trí trái đất quan sát vệ tinh Mỗi vệ tinh phát tần số sóng mang với tần số cao L1=1575.42 MHz L2=1227.60MHz Loại sóng phát sở dãy số tựa ngẫu nhiên bao gồm số Mã gọi tên mã P (Precise) Bên cạnh mã P sóng mang mã C/A (Clear/Acquisition) sóng L1 Mã C/A phát với tần số 10.23 MHz 1.023 MHz Ngoài mã vệ tinh phát mã phụ có tần số 50Hz chứa thông tin lịch vệ tinh Các vệ tinh trang bị đồng hồ nguyên tử với độ xác cao Các vệ tinh NAVSTAR có trạng thái: "hoạt động khỏe" (Healthy) "hoạt động không khoẻ ( Unhealthy) Hai trạng thái vệ tinh định trạm điều khiển mặt đất Chúng ta sử dụng tín hiệu vệ tinh hai trạng thái "hoạt động khỏe" "hoạt động không khỏe" Hình1.2- minh họa chuyển động vệ tin xung quanh trái đất 10 UAV ứng dụng đặc biệt thích hợp với Arduino chúng có khả xử lý nhiều loại cảm biến gia tốc, góc quay, GPS…điều khiển động servo khả truyền tín hiệu từ xa Hình 3.11 Lập tình game tương tác Việc đọc cảm biến tương tác với PC nhiệm vụ đơn giản Arduino Do nhiều ứng dụng game tương tác có sử dụng Arduino, hình game tương tác với Arduino ngưới dùng điều khiển cần chơi game , hình LCD hiển thị chức bấm máy tính giao diện tương tác người dùng 53 CHƯƠNG THIẾT KẾ VÀ THỰC THI 4.1 Thiết kế phần cứng Với phát triển hệ thống định vị ứng dụng đường truyền có sẵn mạng điện thoại, em tiến hành nghiên cứu đề tài với mục đích: Xác định vị trí đối tượng nơi có sóng GPS Đọc giá trị nhiệt độ, độ ẩm môi trường thông qua cảm biến Có thể gửi vị trí đối tượng thông số nhiệt độ, độ ẩm môi trường thông qua mạng GSM tin nhắn Cũng từ mục đích nghiên cứu đề tài em xây dựng hệ thống việc sử dụng: Vi điều khiển AVR Atemega 328 tích hợp module Arduino UNO Cảm biến DHT11 có chức đo nhiệt độ, độ ẩm môi trường Module GSM/GPS SIM908 Easyđể thu thập thông tin, định vị vị trí truyền thông với thuê bao di động khác Module Arduino UNO Easy shield để kết nối module Arduino UNO với module GSM/GPS SIM908 Easy Hình 4.1 Sơ đồ nguyên lý 54 Trong sơ đồ nguyên lý gồm linh kiện Arduino Uno R3 với vi xử lý Atmega 328 có nhiệm vụ xử lý liệu điều khiển mạch, Module GSM/GPS SIM908 Easy có nhiệm vụ thu thập vị định vị GPS qua anten GPS truyền nhận liệu qua mạng GMS, Module DHT11 thu thập thông số nhiệt độ, độ ẩm môi trường, hình LCD 16x2_I2C dụng để hiển thị giá trị nhiệt độ, độ ẩm môi trường Kết nối Arduino Uno R3 với Module GSM/GPS SIM908 Easy theo sơ đồ: Arduino Uno R3 Module GSM/GPS SIM908 Easy 5V VCC GND GND TXD RXD RXD TXD A0 STATUS A3 PWR Kết nối Arduino Uno R3 với LCD16x2_i2c DHT11 theo sơ đồ: Arduino Uno R3 LCD 16x2_I2C DHT11 5V VCC VCC GND GND GND SDA SDA SCL SCL Digital Data 4.2 Thiết kế phần mềm (Code chương trình Phục lục) 55 Hình 4.2 Lưu đồ thuật toán điều khiển hệ thống Khi bắt đầu chương trình điều khiển cấu hình hệ thống việc chạy thư viện Arduino Uno R3, thư viện DHT, cấu hình module sim LCD… hệ thống cấu hình xong bắt đầu đọc giá trị mà cảm biến đo gửi vị trí, giá trị nhiệt độ, độ ẩm Khi chương trình bắt đầu chạy xuất liệu thông số nhiệt độ độ ẩm hình LCD chờ nhận tin nhắn xác nhận lấy liệu từ thuê bao cấu hình trước đó, có tin nhắn đến xác nhận lấy liệu hệ thống kiểm tra tin nhắn Nếu sai quay lại , hệ thống gửi lại cho thuê bao tin nhắn có chứa liệu bao gồm: tọa độ vị trí thiết bị thông số nhiệt độ, độ ẩm môi trường mà thiết bị đo 56 4.3 Một số hình ảnh sản phẩm Hình 4.3 Hình ảnh thực tế sản phẩm hoàn thành Hình 4.4 Dữ liệu thiết bị GPS gửi cho điện thoại qua SMS 57 Hình 4.5 Vị trí thiết bị hiển thị lên google map ảnh vệ tinh 58 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Báo cáo giải vấn đề đặt Thiết kế điều khiển định vị giám sát cho phương tiện giao thông với nội dung sau: - Tìm hiểu công ngệ GPS GSM - Tìm hiểu ngôn ngữ lập trình C cho Arduino, phần mềm Arduino IDE - Tìm hiểu Module Sim 908, cảm biến nhiệt độ, độ ẩm DHT11, LCD 16x2 _ I2C, Arduino Uno R3 - Thiết kế thi công thiết bị định vị giám sát cho phương tiện giao thông với tính năng: Xác định vị trí phương tiện lắp đặt thiết bị có tin nhắn soạn theo cú pháp đặt trước tới số điện thoại gắn Module sim, có tin nhắn phản hồi tới thuê bao đăng kí trước với nội dung cho biết tọa độ thiết bị, từ thông số cho phép xác định vị trí phương tiện Google map.Hiển thị nhiệt độ, độ ẩm lên hình LCD nơi gắn thiết bị đồng thời hai liệu gửi kèm tin nhắn trả có yêu cầu Với tính ưu việt hệ thống định vị toàn cầu, phát triển công nghệ thông tin viễn thông việc đưa công nghệ GPS vào ứng dụng giao thông đời sống ngày việc làm mang lại nhiều lợi ích cho chúng ta, đề tài phát triển thêm khi: Giảm kích thước mạch để tích hợp vào hệ thống yêu cầu nhỏ gọn bảo mật, ổn định, thời gian xác định vị trí nhanh chóng xác Sản phẩm xác định vận tốc, độ cao, thời gian…của phương tiện gắn thiết bị nâng cao tính thực tiễn Áp dụng sản phẩm vào robot, xe tự hành cần giám sát thông số môi trường: nhiệt độ, độ ẩm vị trí xác định Mở rộng thêm tính sản phẩm gắn với công nghệ Internet Of Things để nâng cao tính đại, phát triển mở rộng cho hệ thống 59 TÀI LIỆU THAM KHẢO [1] ThS Phạm Văn Ngọc Bài giảng thông tin di động Bộ môn công nghệ truyền thông, Khoa CN ĐT&TT-Trường ĐH CNTT&TT Thái Nguyên [2] Kiều Xuân Thực, Vũ Thị Thu Hương Vũ Trung Kiên, 2008 Vi điều khiển cấu trúc lập trình ứng dụng Nhà xuất Giáo dục Hà Nội 199 trang [3] Nguyễn Ngọc Cương, Nguyễn Đình Nghĩa, Đỗ Quốc Huy, trần nghi Phú Phạm Thành Công, 2011 Giáo trình Ngôn ngữ lập trình C/C++ Nhà xuất Thông Tin Và Truyền Thông Hà Nội 191 trang [4] Từ Diệp Công Thành, Đặng Văn Nghìn, Bộ điều khiển Parallel Robot, Bộ môn Cơ Điện tử, Khoa Cơ khí, Đại học Bách Khoa Tp.HCM [5] Bùi Quang Được, Đặng Văn Nghìn, Thiết kế, chế tạo robot Crane, Hội nghị toàn quốc lần Cơ Điện tử, Hà Nội, 2002 60 PHỤ LỤC Mã nguồn chương trình #include #include #include LiquidCrystal_I2C lcd(0x27,16,2); const int DHTPIN = 3; const int DHTTYPE = DHT11; DHT dht(DHTPIN, DHTTYPE); byte degree[8] = { 0B01110, 0B01010, 0B01110, 0B00000, 0B00000, 0B00000, 0B00000, 0B00000 }; int x; int y; int PWR = A3; int LedConfig = 13; int answer; short sms_mode=false; const int buffer_size = 300; // Buffer size you can adjust this size char c=0; char c1=0; char *ptr1=0; char *ptr2=0; char *buffer_map=0; 61 char thong_so[20]; char aux_string[30]; char map_string[100]; char aux1_string[30]; char latitude_data[12]; char longitude_data[13]; float latitude=0; float latitude_map=0; float longitude=0; float longitude_map=0; char tr_latitude_map[12]; char tr_longitude_map[13]; char number[]="0975638352"; char buffer[buffer_size]; // Your phone number // Data from UART int xbuff=0; //syntax: #positions char positions[]="positions"; char pass[7]="123456"; // Password of board - characters char cgpsinf[]="32"; //*************************************************************** void setup() { lcd.init(); lcd.backlight(); lcd.print("Dang cau hinh "); lcd.setCursor(0,1); lcd.createChar(1, degree); dht.begin(); Serial.begin(9600); pinMode(PWR, OUTPUT); pinMode(LedConfig, OUTPUT); power_on(); init_SIM908(); // Power on Module SIM908 // Configuration GSM and GPS for Module SIM908 62 erase_buffer(); lcd.clear(); x=round(t); y=round(h); } //*************************************************************** void loop() { hienthi(); receive_uart(); if(sms_mode) // Receiver UART // receive SMS message to get position on Google Map { ptr1=strstr(buffer,positions); // Checking SMS message if(strncmp(ptr1,positions,9)==0) { if (ptr1[10]==pass[0] && ptr1[11]==pass[1] && ptr1[12]==pass[2] && ptr1[13]==pass[3] && ptr1[14]==pass[4] && ptr1[15]==pass[5]) //checking password { get_position(); sprintf(aux_string,"AT+CMGS=\"%s\"",number); { answer = sendAT(aux_string,">",2000);} while(answer==0); // Send the SMS number sprintf(aux1_string,"%s,N,%s,E",tr_latitude_map,tr_longitude_map); Serial.println(aux1_string); sprintf(map_string,"http://maps.google.com/maps?q=%s,%s&t=m&z=36",tr_l atitude_map,tr_longitude_map); Serial.println(map_string); sprintf(thong_so,"%d,%d",x,y); Serial.println(thong_so); Serial.write(26); erase_buffer(); } }} } 63 // void hienthi() { float h = dht.readHumidity(); float t = dht.readTemperature(); lcd.setCursor(0,0); lcd.print("Nhiet do: "); lcd.setCursor(10,0); lcd.print(round(t)); lcd.print(" "); lcd.write(1); lcd.print("C"); lcd.setCursor(0,1); lcd.print("Do am: "); lcd.setCursor(10,1); lcd.print(round(h)); lcd.print(" %"); //*************************************************************** void init_SIM908() { digitalWrite(LedConfig, LOW); { answer = sendAT("AT+CREG?","+CREG: 0,1",1000);} while(answer==0); // Connecting to the network // config GSM { answer = sendAT("ATE0","OK",1000);} while(answer==0); { answer = sendAT("AT+CMGF=1", "OK",1000);} while(answer==0); // Set SMS into text mode { answer = sendAT("AT+CNMI=2,2,2,0,0", "OK",1000);} while(answer==0); // Set Message mode when receive new SMS sprintf(aux_string,"AT+CMGS=\"%s\"",number); {answer = sendAT(aux_string,">",2000); } while(answer==0); the SMS message to number after config GSM Serial.println("GSM fution is ready"); 64 // Send Serial.write(26); // config GPS { answer = sendAT("AT+CGPSIPR=9600","OK",1000);} while(answer==0); { answer = sendAT("AT+CGPSPWR=1","OK",1000);} while(answer==0); { answer = sendAT("AT+CGPSRST=0","OK",1000);} while(answer==0); { answer = sendAT("AT+CGPSOUT=32","OK",1000);} while(answer==0); { answer = sendAT("AT+CGPSSTATUS?","Location 3D Fix",5000);} while(answer==0); sprintf(aux_string,"AT+CMGS=\"%s\"",number); {answer = sendAT(aux_string,">",2000); } while(answer==0); // Send the SMS message to number after config GPS Serial.println("GPS fution is ready"); Serial.write(26); digitalWrite(LedConfig, HIGH); } //*************************************************************** int sendAT(char* ATcommand, char* expected_answer, unsigned int timeout) { int x=0, answer=0; char response[100]; unsigned long previous; memset(response, '\0', 100); // Initialize the string delay(100); while( Serial.available() > 0) Serial.read(); Serial.println(ATcommand); x = 0; previous = millis(); { if(Serial.available() != 0){ response[x] = Serial.read(); x++; if (strstr(response, expected_answer) != NULL) 65 { answer = 1; buffer_map=response;}}} while((answer == 0) && ((millis() - previous) < timeout)); return answer;} //*************************************************************** void power_on(){ answer = sendAT("AT", "OK", 2000); if(answer==0) {digitalWrite(PWR,HIGH); // Create pulse trigger on pin power key of Module SIM908 delay(2000); digitalWrite(PWR,LOW); while(answer==0) {answer = sendAT("AT", "OK", 2000);} }} //*************************************************************** void erase_buffer() { unsigned int i; for(i=0;i

Ngày đăng: 20/12/2016, 10:25

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan