Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
1,37 MB
Nội dung
Đồ Án Lập Trình Thiết Bị IoTs GVTL: GS-TS Lê Trung Quân 14520842:Nguyễn Hoàng Thanh 14520913:Lê Minh Thuận 14521058:Nguyễn Văn Tùng 14520998:Phạm Lê Minh Trí 14521005:Nguyễn Thành Triều TIEU LUAN MOI download : skknchat@gmail.com NỘI DUNG CHÍNH: 1.Kịch Bản – Mơ Hình 2.Lập Trình MSP430G2 3.Lập Trình ESP8266 – Web Server TIEU LUAN MOI download : skknchat@gmail.com 1.Kịch Bản - Mơ Hình: Web Server Mơ hình bao gồm : -1 Lauchpab MSP430 -1 Vi xử lý ESP8266 -1 Web server -1 Database lưu trữ thông tin gửi đến Server -1 SHT10 Cảm biến nhiệt độ, độ ẩm -1 BH1750 Cảm biến ánh sang Database Vi xử lý ESP8266 Người Dùng MSP430 Lauchpad TIEU LUAN MOI download : skknchat@gmail.com SHT10 (cảm biến nhiệt độ, độ ẩm) BH1750 (Cảm biến ánh sáng) MSP430G2 Thuộc dòng Kit Lauchpad giá rẻ từ hãng sản xuất TI danh tiếng, MSP430 Lauchpad kit thí nghiệm nhiều bạn sinh viên, người nghiên cứu trường đại học lựa chọn 2.Lập Trình MSP430G2 Các chuẩn giao tiếp hỗ trợ: • • • • • General-purpose input/output (GPIO) Universal asynchronous receiver-transmitter (UART) Inter-Integrated Circuit (IIC) Serial Peripheral Interface (SPI) Anolog to digital Ưu điểm • Tiết kiệm lượng • Hỗ trợ ngắt mạnh Nhược điểm điểm • Yếu • Tài ngun TIEU LUAN MOI download : skknchat@gmail.com P1.6, P1.7 MSP430G2 P2.0,P2.1 P1.1,P1.2 SHT10 BH1750 ESP8266 Giống ii2 ii2 2.Lập Trình MSP430G2 uart Sử dụng source có sẵn github để giao tiếp msp430 cảm biến Source nằm thư mục lib Sơ đồ làm việc: TIEU LUAN MOI download : skknchat@gmail.com SHT10 (cảm biến nhiệt độ, độ ẩm) 2.Lập Trình MSP430G2 Thơng số kỹ thuật: Nhược điểm: • Điện áp cung cấp: 2.4 ~ 5.5VDC • Độ bền phụ thuộc vào vỏ bảo vệ • Dải đo độ ẩm: - 100% RH • Độ xác độ ẩm: ± 4.5% RH • Dải đo nhiệt độ: -40 ~ 123.8℃ • Độ xác nhiệt độ: ± 0.4℃ • Tín hiệu ngõ ra: digital Thơng số kỹ thuật: Ưu điểm: Ưu điểm: • Nguồn: 3~5VDC • Khơng cần xử lý hay tính tốn giá trị • Tiết kiệm lượng • Giao tiếp: I2C đo • Độ xác, ổn định cao • Khoảng đo: -> 65535 lux • Thường sử dụng nơng nghiệp • Kích cỡ: 21*16*3.3mm BH1750 (Cảm biến ánh sáng) Chuẩn giao tiếp: I2C TIEU LUAN MOI download : skknchat@gmail.com ESP8266 dòng chip tích hợp Wi-Fi 2.4Ghz lập trình được, giá rẻ sản xuất công ty bán dẫn Trung Quốc: Espressif Systems Hiện tất dòng chip ESP8266 thị trường mang nhãn ESP8266EX, phiên nâng cấp ESP8266 Thông số phần cứng 32-bit RISC CPU : Tensilica Xtensa LX106 chạy xung nhịp 80 MHz Hổ trợ Flash từ 512KiB đến 4MiB 64KBytes RAM thực thi lệnh 96KBytes RAM liệu 64KBytes boot ROM Chuẩn wifi IEEE 802.11 b/g/n, Wi-Fi 2.4 GHz Tích hợp TR switch, balun, LNA, khuếch đại cơng suất matching network Hỗ trợ WEP, WPA/WPA2, Open network Tích hợp giao thức TCP/IP Hổ trợ nhiều loại anten 16 chân GPIO Hổ trợ SDIO 2.0, UART, SPI, I²C, PWM,I²S với DMA ADC 10-bit Dải nhiệt độ hoạt động rộng : -40C ~ 125C 3.1 Lập Trình ESP8266 TIEU LUAN MOI download : skknchat@gmail.com SoftwareSerial sw(D1, D2, false, 128); //rx, tx khai báo chân dùng cho giao tiếp Serial SerialCommand sCmd; // Giao tiếp serial với máy tính 3.1 Lập Trình ESP8266 Board mạch nhóm sử dụng Wemos NodeMCU - ESP8266 CH340 SDK hỗ trợ thức từ hang void SendInfo2Server(uint8_t *buff, size_t void RecvFromMSP430(); // Hàm nhận liệu Một số dòng mã lập trình ESP8266: void void void void Code ESP8266 #include #include #include #include #include #include "SoftwareSerial.h" const char* SSID = "nhtcntt"; // Khai báo tên AP const char* PASS = "123456789"; // Mật cho AP String URL = "http://192.168.123.31:3000/update"; // URL máy chủ lưu trữ liệu SoftwareSerial sw(D1, D2, false, 128); //rx, tx khai báo chân dùng cho giao tiếp Serial SerialCommand sCmd; // Giao tiếp serial với máy tính void void void void void void SendInfo2Server(uint8_t *buff, size_t size); // hàm gửi liệu máy chủ RecvFromMSP430(); // Hàm nhận liệu từ MSP430 STAConnectAP(char const* ssid, char const* pass); // hàm kết nối đến AP changeURL(); // Hàm thay đổi URL có thị từ máy tính changeWIFI(); // Hàm thay đổi kết nối wifi có thị từ máy tính help(); void setup() { Serial.begin(115200); // thiết lập tỉ lệ bit/s cho giao tiếp serial với máy tính size); // hàm gửi liệu máy chủ từ MSP430 STAConnectAP(char const* ssid, char const* pass); // hàm kết nối đến AP changeURL(); // Hàm thay đổi URL có thị từ máy tính changeWIFI(); // Hàm thay đổi kết nối wifi có thị từ máy tính help(); void setup() { Serial.begin(115200); // thiết lập tỉ lệ bit/s cho giao tiếp serial với máy tính sw.begin(9600); // thiết lập tỉ lệ bit/s cho giao tiếp serial với MSP430 Serial.println("debug"); // Hiển thị lên máy tính Serial.print("Connectting to "); Serial.println(SSID); sCmd.addCommand("URL", changeURL); // Thiết lập hàm liên quan đến lệnh - tương tự việc dùng command line sCmd.addCommand("WIFI", changeWIFI); sCmd.addCommand("help", help); STAConnectAP(SSID, PASS); } void loop() { sCmd.readSerial(); // Đọc thơng điệp từ máy tính gửi đến RecvFromMSP430(); delay(5000); // Tạm nghỉ 5s TIEU LUAN MOI download : skknchat@gmail.com Nền Tảng Công Nghệ: 3.2 Lập trình Web Server a Node.js gì? Node.js tảng chạy môi trường V8 JavaScript runtime - trình thơng dịch JavaScript cực nhanh chạy trình duyệt Chrome b Framwork Express nodejs Express framework nhỏ tiện ích để xây dựng ứng dụng web, cung cấp lượng lớn tính mạnh mẽ để phát triển ứng dụng web mobile Nó dễ dàng để phát triển ứng dụng nhanh dựa Node.js cho ứng dụng Web TIEU LUAN MOI download : skknchat@gmail.com 3.2 Lập trình Web Server MongoDB gì? -MongoDB hệ quản trị sở liệu mã nguồn mở thuộc NoSQL Nó thiết kế theo kiểu hướng đối tượng, bảng MongoDB cấu trúc linh hoạt, cho phép liệu lưu trữ bảng không cần tuân theo cấu trúc định (điều thích hợp để làm big data) -MongoDB lưu trữ liệu theo hướng tài liệu (document), liệu lưu trữ document kiểu JSON nên truy vấn nhanh TIEU LUAN MOI download : skknchat@gmail.com 3.2 Lập trình Web Server Các luồng chạy a Login Bước 1: Nhập username, password Bước 2: Web browser gửi request lên server Bước 3: Server check user với database Bước 4: Nếu tồn user tạo token lưu lại token gửi response cho web browser Bước 5: Browser thông báo đăng nhập thành công cho admin TIEU LUAN MOI download : skknchat@gmail.com 3.2 Lập trình Web Server b Post data Bước 1: ESP gửi request data lên web server Bước 2: Web server lưu data xuống database Bước 3: Trả kết cho ESP TIEU LUAN MOI download : skknchat@gmail.com 3.2 Lập trình Web Server c Get data Bước 1: Admin click view Bước 2: Web browser gửi request xem thông tin token Bước 3: Web server check token với database Bước 4: Nếu tồn token web server lấy liệu từ database gửi response cho web browser Bước 5: Web browser hiển thị thơng tin lên hình cho admin TIEU LUAN MOI download : skknchat@gmail.com 3.2 Lập trình Web Server Phân tích mã nguồn a Mơ hình MVC M Model: cấu trúc liệu theo cách tin cậy chuẩn bị liệu theo lệnh controller V View: Hiển thị liệu cho người dùng theo cách dễ hiểu dựa hành động người dùng C Controller: Nhận lệnh từ người dùng, gửi lệnh đến cho Model để cập nhập liệu, truyền lệnh đến View để cập nhập giao diện hiển thị TIEU LUAN MOI download : skknchat@gmail.com b Cấu trúc code - Luồng login: + Front end gửi request đăng nhập gồm thông tin username, password 3.2 Lập trình Web Server Back end xử lý login: TIEU LUAN MOI download : skknchat@gmail.com TIEU LUAN MOI download : skknchat@gmail.com ... BH1750 (Cảm biến ánh sáng) Chuẩn giao tiếp: I2C TIEU LUAN MOI download : skknchat@gmail.com ESP8266 dịng chip tích hợp Wi-Fi 2.4Ghz lập trình được, giá rẻ sản xuất công ty bán dẫn Trung Quốc: Espressif... Serial.begin(115200); // thiết lập tỉ lệ bit/s cho giao tiếp serial với máy tính sw.begin(9600); // thiết lập tỉ lệ bit/s cho giao tiếp serial với MSP430 Serial.println("debug"); // Hiển thị lên máy tính...NỘI DUNG CHÍNH: 1.Kịch Bản – Mơ Hình 2 .Lập Trình MSP430G2 3 .Lập Trình ESP8266 – Web Server TIEU LUAN MOI download : skknchat@gmail.com 1.Kịch Bản -