Professional Documents
Culture Documents
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
NỘI DUNG
CHÍNH: 1.Kịch Bản – Mô Hình
Ưu điểm
• Tiết kiệm năng lượng
• Hỗ trợ ngắt mạnh
Sử dụng source có sẵn trên github để giao tiếp giữa msp430 và các cảm biến. Source nằm trong thư mục
lib.
Sơ đồ làm việc:
SHT10 (cảm biến nhiệt độ, độ ẩm) 2.Lập Trình trên
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ệ.
MSP430G2
• Dải đo độ ẩm: 0 - 100% RH.
• Độ chính xác độ ẩm: ± 4.5% RH.
• Dải đo nhiệt độ: -40 ~ 123.8℃.
• Độ chính xác nhiệt độ: ± 0.4℃. BH1750 (Cảm biến ánh sáng)
• Tín hiệu ngõ ra: digital.
Ưu điểm: Thông số kỹ thuật: Ưu điểm:
• Tiết kiệm năng lượng • Nguồn: 3~5VDC • Không cần xử lý hay tính toán giá trị
• Độ chính xác, ổn định cao • Giao tiếp: I2C đo
• Thường sử dụng trong nông nghiệp • Khoảng đo: 1 -> 65535 lux
• Kích cỡ: 21*16*3.3mm
trên ESP8266
void SendInfo2Server(uint8_t *buff, size_t size); // hàm gửi dữ liệu về máy chủ
Một số dòng mã lập trình trên ESP8266: void RecvFromMSP430(); // Hàm nhận dữ liệu từ MSP430
void STAConnectAP(char const* ssid, char const* pass); // hàm kết nối đến AP
void changeURL(); // Hàm thay đổi URL khi có chỉ thị từ máy tính
Code của ESP8266 void changeWIFI(); // Hàm thay đổi kết nối wifi khi có chỉ thị từ máy tính
void help();
#include <Arduino.h>
#include <ESP8266WiFi.h> void setup() {
#include <ESP8266HTTPClient.h> Serial.begin(115200); // thiết lập tỉ lệ bit/s cho giao tiếp serial với máy
#include "SoftwareSerial.h" tính
#include <SerialCommand.h> 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
#include <string.h>
Serial.print("Connectting to ");
Serial.println(SSID);
const char* SSID = "nhtcntt"; // Khai báo tên AP
const char* PASS = "123456789"; // Mật khẩu cho AP đó sCmd.addCommand("URL", changeURL); // Thiết lập các hàm liên quan đến các
String URL = "http://192.168.123.31:3000/update"; // URL của máy chủ lưu trữ dữ lệnh - tương tự như việc dùng command line
liệu sCmd.addCommand("WIFI", changeWIFI);
SoftwareSerial sw(D1, D2, false, 128); //rx, tx khai báo các chân dùng cho giao sCmd.addCommand("help", help);
tiếp Serial
SerialCommand sCmd; // Giao tiếp serial với máy tính STAConnectAP(SSID, PASS);
}
void SendInfo2Server(uint8_t *buff, size_t size); // hàm gửi dữ liệu về máy chủ
void loop()
void RecvFromMSP430(); // Hàm nhận dữ liệu từ MSP430
{
void STAConnectAP(char const* ssid, char const* pass); // hàm kết nối đến AP
sCmd.readSerial(); // Đọc các thông điệp từ máy tính gửi đến
void changeURL(); // Hàm thay đổi URL khi có chỉ thị từ máy tính RecvFromMSP430();
void changeWIFI(); // Hàm thay đổi kết nối wifi khi có chỉ thị từ máy tính delay(5000); // Tạm nghỉ 5s
void 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
1. Nền Tảng Công Nghệ:
3.2 Lập trình
trên Web Server
a. Node.js là gì? b. Framwork Express của nodejs.
Node.js là một nền tảng chạy trên môi Express là một framework nhỏ và tiện ích để xây dựng các ứng dụng
trường V8 JavaScript runtime - một web, cung cấp một lượng lớn của tính năng mạnh mẽ để phát triển
trình thông dịch JavaScript cực nhanh các ứng dụng web và mobile. Nó rất dễ dàng để phát triển các ứng
chạy trên trình duyệt Chrome dụng nhanh dựa trên Node.js cho các ứng dụng Web
3.2 Lập trình
trên Web Server
MongoDB là gì?
-MongoDB là một hệ quản trị cơ sở dữ liệu mã
nguồn mở thuộc NoSQL. Nó được thiết kế theo
kiểu hướng đối tượng, các bảng trong MongoDB
được cấu trúc rất linh hoạt, cho phép các dữ liệu
lưu trữ trên bảng không cần tuân theo một cấu
trúc nhất định nào cả (điều này rất thích hợp để
làm big data).
-MongoDB lưu trữ dữ liệu theo hướng tài liệu
(document), các dữ liệu được lưu trữ trong
document kiểu JSON nên truy vấn sẽ rất nhanh.
3.2 Lập trình
trên Web Server
2. 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 tại user thì tạo token và lưu
lại token và gửi response cho web browser
Bước 5: Browser thông báo đăng nhập
thành công cho admin
3.2 Lập trình
trên Web Server
b. Post data
Bước 1: ESP gửi request và data lên web
server
Bước 2: Web server lưu data xuống database
Bước 3: Trả về kết quả cho ESP
3.2 Lập trình
trên Web Server
c. Get data
Bước 1: Admin click view
Bước 2: Web browser gửi request xem
thông tin và token
Bước 3: Web server check token với
database
Bước 4: Nếu tồn tại token web server sẽ
lấy dữ liệu từ database và gửi response về
cho web browser
Bước 5: Web browser hiển thị thông tin
lên màn hình cho admin
3.2 Lập trình
trên Web Server
3. Phân tích mã nguồn
a. Mô hình MVC
M là Model: cấu trúc dữ liệu theo cách tin
cậy và chuẩn bị dữ liệu theo lệnh của
controller
V là View: Hiển thị dữ liệu cho người dùng
theo cách dễ hiểu dựa trên hành động của
người dùng.
C là Controller: Nhận lệnh từ người dùng,
gửi lệnh đến cho Model để cập nhập dữ
liệu, truyền lệnh đến View để cập nhập
giao diện hiển thị.
b. Cấu trúc code - Luồng login:
+ Front end gửi request đăng nhập
3.2 Lập trình trên
gồm thông tin username, password Web Server