Đồ Án Lập
Trình Thiết Bị
IoTs
GVTL: GS-TS
Lê Trung Qn
14520842:Nguyễn Hồ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
2.Lập Trình trên MSP430G2
3.Lập Trình trên ESP8266 – Web Server
1.Kịch Bản
- Mơ Hình:
. 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 được gửi đến Server.
-1 SHT10 Cảm biến nhiệt
độ, độ ẩm.
-1 BH1750 Cảm biến ánh
sang.
Web Server
Database
Vi xử lý
ESP8266
Người
Dùng
MSP430
Lauchpad
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 là kit thí nghiệm được rất nhiều các bạn sinh viên, người
nghiên cứu và các trường đại học lựa chọn hiện nay
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 năng lượng
• Hỗ trợ ngắt mạnh
Nhược điểm điểm
• Yếu
• Tài ngun ít.
2.Lập Trình trên
MSP430G2
2.Lập Trình trên
MSP430G2
uart
Sơ đồ làm việc:
SHT10 (cảm biến nhiệt độ,
độ ẩm)
2.Lập Trình trên
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: 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℃.
• 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 năng lượng
• Giao tiếp: I2C
đo
• Độ chính xác, ổn định cao
• Khoảng đo: 1 -> 65535 lux
• Thường sử dụng trong 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
ESP8266 là dịng chip tích hợp Wi-Fi 2.4Ghz có thể
lập trình được, giá rẻ được sản xuất bởi một cơng ty
bán dẫn Trung Quốc: Espressif Systems.
Hiện nay tất cả các dòng chip ESP8266 trên thị
trường đều mang nhãn ESP8266EX, là phiên bản
nâng cấp của 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 ngoài từ 512KiB đến 4MiB
64KBytes RAM thực thi lệnh
96KBytes RAM dữ 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 và 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
1 ADC 10-bit
Dải nhiệt độ hoạt động rộng : -40C ~ 125C
3.1 Lập Trình
trên ESP8266
Board mạch nhóm đang sử dụng là Wemos NodeMCU - ESP8266 CH340
SDK hỗ trợ chính thức từ hang
Một số dịng mã lập trình trên ESP8266:
3.1 Lập Trình
trên ESP8266
1. Nền Tảng Cơng Nghệ:
a. Node.js là gì?
Node.js là một nền tảng chạy trên mơi
trường V8 JavaScript runtime - một
trình thơng dịch JavaScript cực nhanh
chạy trên trình duyệt Chrome
3.2 Lập trình
trên Web Server
b. Framwork Express của nodejs.
Express là một framework nhỏ và tiện ích để xây dựng các ứng dụng
web, cung cấp một lượng lớn của tính năng mạnh mẽ để phát triển
các ứng dụng web và mobile. Nó rất dễ dàng để phát triển các ứng
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
gồm thông tin username, password
Back end xử lý login:
3.2 Lập trình trên
Web Server