CHƯƠNG 2: TÌM HIỂU CÁC THAM SỐ VÀ CÁC MÔ HÌNH ĐIỀU KHIỂNVƯỜN CÂY THÔNG MINH 2.1 Ảnh hưởng của nhiệt độ tới sự sinh trưởng cây trồng Nhiệt độ tối hảo cho sự sinh trưởng khác nhau tùy theo
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ 2
_
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP
Đề tài: THIẾT KẾ HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN
VƯỜN THÔNG MINH
Giáo viên hướng dẫn : ThS Phạm Thế Duy
Sinh viên thực hiện : Võ Văn Hiệp
12/2018 TP.HCM – 2018
Trang 2CHƯƠNG 1 : TỔNG QUAN
1.1 Tổng Quan Về Lĩnh Vực Nghiên Cứu:
- Mạng lưới vạn vật kết nối Internet hoặc là Mạng lưới thiết bị kết nối Internet viết tắt là IoT(tiếng Anh: Internet of Things) là một kịch bản của thế giới, khi mà mỗi đồ vật, con ngườiđược cung cấp một định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổithông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữangười với người, hay người với máy tính IoT đã phát triển từ sự hội tụ của công nghệ khôngdây, công nghệ vi cơ điện tử và Internet Nói đơn giản là một tập hợp các thiết bị có khảnăng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nàođó
- Nông nghiệp là xương sống của nền văn minh nhân loại nhưng nó lại là một trong nhữnglĩnh vực cuối cùng tiến vào nền kinh tế kết nối – IoT Những thách thức trong vấn đề lươngthực toàn cầu đòi hỏi người làm nông nghiệp phải tìm kiếm những phương thức tốt hơn, đểcung cấp lương thực cho dân số được dự báo là sẽ tăng thêm 2 tỉ người vào năm 2050 Điều
đó khiến cho công nghệ IoT trở nên có ý nghĩa hơn bao giờ hết Những cải tiến về cảm biến,big data, hạ tầng mạng… được hi vọng sẽ mang tới một cuộc cách mạng trong nông nghiệp
để có có thể cung cấp lương thực cho dân số thế giới đang tăng nhanh nhưng đồng thời tạo
ra nguồn lương thực tươi mới, nhiều dinh dưỡng hơn
1.2 Mục tiêu đề tài, các vấn đề cần giải quyết
Đề tài đề ra mục tiêu tổng quát là: Nghiên cứu, thiết kế và phát triển một hệ thốnggiám sát, quản lý vườn thông minh cũng như giám sát quán các vấn đề khác trong khi vậnhành hệ thống dựa trên vi điều khiển STM32 và ESP8266 Sản phẩm hoàn chỉnh sẽ có tínhứng dụng rất cao vào thực tế
Để đạt được mục tiêu này, các vấn đề chính sau đây đã được giải quyết:
- Kết nối phần cứng STM32 với màn hình OLED, Cảm biến nhiệt độ-độ ẩm,vàModule Lora
- Kết nối phần cứng ESP8266 với giao diện Web
- Truyền tín hiệu không dây qua lại giữa STM32 và ESP8266 thông qua ModuleLora
1.3 Sơ đồ khối và nguyên lý hoạt động:
1.3.1 Sơ đồ khối:
OLED
Trang 3Khu giám sát
Hình 1.1: Sơ đồ khối hệ thống
Trang 4- Đưa tính hiệu nhiệt độ, độ ẩm lên Web.
- Điều khiển bật, tắt relay thông qua Web
b Khu vườn:
- Đọc giá trị nhiệt độ, độ ẩm từ cảm biến và gửi về vi điều khiển
- Đọc các giá trị nhận được từ Module Lora tín hiệu bật tắt relay
- Hiển thị nhiệt độ, độ ẩm màn hình OLED
Trang 5CHƯƠNG 2: TÌM HIỂU CÁC THAM SỐ VÀ CÁC MÔ HÌNH ĐIỀU KHIỂN
VƯỜN CÂY THÔNG MINH 2.1 Ảnh hưởng của nhiệt độ tới sự sinh trưởng cây trồng
Nhiệt độ tối hảo cho sự sinh trưởng khác nhau tùy theo giống hay loài, tùy theo thờigian tác động của nhiệt độ, tuổi cây, thời kỳ phát triển, và các ngưỡng sinh trưởng riêng biệtđược dùng để đánh giá khả năng hoàn thành chu kỳ sống, sự hấp thu nước và dinh dưỡng,
hô hấp, khả năng thấm của màng tế bào, và sự tổng hợp protein Các ảnh hưởng này đượcphản ảnh bằng sự sinh trưởng của cây trồng Khả năng sinh trưởng của cây trồng phụ thuộcrất lớn vào tốc độ hình thành lá mới, có nghĩa là diện tích quang hợp mới tăng làm ảnhhưởng rất lớn đến tổng quang hợp và sản lượng của cây trồng Vì vậy, tốc độ ra lá và sự pháttriển các lá mới và thời gian phát triển của các giai đoạn sinh trưởng khác nhau của cây đónggóp rất lớn đến sản lượng của cây trồng
Tiến trình hô hấp và sự thoát hơi nước của cây trồng chịu ảnh hưởng trực tiếp bởi nhiệt độ,các quá trình này giảm khi nhiệt độ giảm và ngược lại Ở nhiệt độ cao, tốc độ hô hấp ban đầutăng rất nhanh nhưng sau đó vài giờ thì lại giảm rất nhanh đối với 1 số cây trồng
Đối với nhiều loại giống cây trồng thì nhiệt độ tối hảo cho quang hợp thấp hơn nhiệt độ tốihảo cho hô hấp Điều này đã được chứng minh là năng suất của các cây trồng lấy tinh bộtnhư bắp và khoai tây, trong các vùng khí hậu mát mẽ cao hơn năng suất các cây này khitrồng trong vùng khí hậu nóng hơn Có thể là trong điều kiện nhiệt độ cao kéo dài, cây trồng
có thể bị mất cân đối trong quá trình tích lũy chất hữu cơ, bởi vì sự hô hấp tiến hành nhanhhơn quang hợp
2.2 Ảnh hưởng của độ ẩm tới sự sinh trưởng cây trồng
Nước là yếu tố vô cùng quan trọng cho sự phát triển của cây trồng Cây trồng sống và pháttriển được nhờ chất dinh dưỡng trong đất và được nước hòa tan, đưa lên cây qua hệ thống rễ.Nước giúp cây trồng thực hiện các quá trình vận chuyển các chất khoáng trong đất giúp điềukiện quang hợp, hình thành sinh khối tạo nên sự sinh trưởng của cây trồng
Vì vậy trong đất cần có một độ ẩm thích hợp để cây trồng hút được dễ dàng Đất ngập úng hay thiếu nước đều ảnh hưởng không tốt cho sự sinh trưởng của cây trồng Cây trồng bị ngập nước dẫn đến các tế bào rễ không hô hấp được nên không cung cấp đủ oxycho hoạt động của các tế bào rễ cùng với việc tích lũy các chất độc hại, do đó sẽ làm chết
đi các lông hút ở rễ, không thể hình thành được lông hút mới, vì vậy cây không thể hút nước nên lâu ngày sẽ dẫn đến héo và chết cây Cây trồng cung cấp đầy đủ nước (độ ẩm
Trang 6thích hợp) sẽ có bộ rễ dài và sâu, vươn ra theo các chiều trong đất; ngược lại cây nếu
thiếu nước, bộ rễ cây sẽ ngắn và thưa
Hình 2.1: Ảnh hưởng của độ ẩm đất đến sự phát triển của cây
Lượng nước tưới cần tăng theo quá trính sinh trưởng, đat đến mức tối đa khi cây có khốilượng thân lá lớn nhất nhưng khác nhau tùy theo loại cây trồng:
Những cây lấy hạt nhu cầu nước nhiều nhất ở thời kỳ hình thành các cơ quan sinhsản
Những loại cây lấy củ nhu cầu nước nhiều nhất ở thời kỳ phát triển củ Ở thời kỳ này,cây tiêu thụ nước với hiệu suất tích lũy chất khô cao nhất và nước đóng vai trò quyếtđịnh đến năng suất cuối cùng
Cây rau yêu cầu nước nước trong suốt quá trình sinh trưởng
2.4 Hệ thống tưới tự động trong mô hình vườn thông minh
Hệ thống vườn thông minh với các thành phần có thể kết nối với nhau và kết nối vớingười dùng, điều này cho phép người sử dụng có thể sáng tạo, tương tác và chăm sóc khuvườn của mình Được trang bị cảm biến nhiệt độ, độ ẩm để theo dõi độ ẩm đất, nhiệt độ và
độ ẩm của không khí và các yếu tố môi trường khác, tất cả những điều này đều ảnh hưởngphần lớn đến sức khỏe các loài thực vật Và sau đó gửi thông tin theo thời gian lên website
để người dùng có thể tương tác với khu vườn
Trang 7Tưới tự động giúp tiết kiệm nước giảm tới 60% lượng nước so với tưới thủ công Điềunày giúp bạn cắt giảm đáng kể hóa đơn tiền nước mỗi tháng Tiết kiệm đáng kể nguồn nhânlực so với thực hiện công việc tưới tiêu bằng thủ công Hệ thống được đầu tư cố định, đảmbảo tuổi thọ lâu dài cho các thiết bị dùng trong tưới tiêu.
vườn thông minh
CHƯƠNG 3: TỔNG QUAN VỀ VI ĐIỀU KHIỂN STM32, ESP8266, CÁC LINH KIỆN,
CÔNG CỤ VÀ PHẦN MỀM HỖ TRỢ
3.1 Tổng quan về dòng vi điều khiển STM32:
3.1.1 Giới thiệu chung:
STM32 là vi điều khiển do hãng ST Microelectronic sản xuất dựa trên nền tảng lõi vi xử
lý ARM Cortex®-M Là một dòng sản phẩm vi điều khiển 32 bit kết hợp các ưu điểm vềhiệu suất cao, khả năng xử lý thời gian thực, xử lý tín hiệu số, tiêu thụ ít năng lượng, hoạtđộng điện áp thấp, trong khi duy trì khả năng tích hợp đầy đủ và dễ dàng phát triển ứngdụng Vi điều khiển STM32 dựa trên một lõi tiêu chuẩn công nghiệp, có thể sử dụngnhiều công cụ và phần mềm để phát triển ứng dụng Điều này làm cho dòng STM32 là
sự lựa chọn lý tưởng đối với các dự án nhỏ hoặc cho thiết kế nền tảng
Trang 8Đề tài sử dụng Kit STM32F407VG Discovery để thuận tiện và phù hợp cho việc thửnghiệm sản phẩm.
Hình 3.2: KIT STM32F4-DISCOVERY
Bộ kit STM32F4-DISCOVERY với vi điều khiển hiệu suất cao STM32F407VGT6, cho phép người dùng dễ dàng phát triển các ứng dụng giao tiếp với các cảm biến, màn hình
và giao tiếp không dây Nó bao gồm một công cụ ST-LINK tích hợp sẵn trên bảng mạch giúp nạp chương trình, gỡ lỗi nhanh chóng
Các tính năng chính:
- Vi điều khiển 32-bit ARM Cortex®-M4 STM32F407VGT6 với lõi FPU hỗ
trợ xử lý tính toán dấu phẩy động, 1-MB bộ nhớ Flash, 192 Kbyte RAM
- On-board ST-LINK/V2 trên STM32F4-DISCOVERY giúp nạp chương trình,
gỡ lỗi
- Nguồn điện cung cấp cho bảng mạch: thông qua cổng USB hoặc từ một nguồncung cấp điện áp 5V bên ngoài
Trang 9- Từ bảng mạch, có thể cấp nguồn 3,3 V và 5 V cho các ứng dụng.
- Cảm biến chuyển động LIS302DL, ST MEMS 3 trục gia tốc
- Cảm biến âm thanh MP45DT02 ST-MEMS, mic cảm biến âm thanh vô hướng
kỹ thuật số
- Bộ chuyển đổi DAC âm thanh CS43L22
- Tám đèn LED:
+ LD1 (đỏ / xanh lá cây) để giao tiếp USB
+ LD2 (màu đỏ) báo hiệu nguồn 3,3 V on
+ Bốn đèn LED màu: LD3 (màu cam), LD4 (màu xanh lá cây), LD5 (màu đỏ)
và LD6 (màu xanh dương)
+ Hai USB OTG LED LD7 (màu xanh lá cây) VBUS và LD8 (màu đỏ)
- Hai nút bấm (nút bấm User màu xanh, nút bấm Reset màu đen)
- OTG FS USB với cổng nối micro-AB
- Header mở rộng cho tất cả LQFP100 I/O
3.1.2 Giao tiếp SPI
SPI (Serial Peripheral Interface) là chuẩn giao tiếp đồng bộ 4 dây do hãng Motorolaphát triển Chuẩn giao tiếp này bao gồm 1 thiết bị Master, 1 hay nhiều thiết bị Slave Tốc độgiao tiếp SPI cũng là khá cao nên nó được dùng nhiều trong các ứng dụng như: moduleSIM, module Btultooth, Module wifi, IC nhớ, thẻ nhớ, IC RFID, IC chuyển đổi ADC, đọctín hiệu vị trí từ IC màn hình, IC dịch bit…
4 dây của chuẩn giao tiếp SPI bao gồm:
- SCK: chân này là chân clock, duy trì xung nhịp cho mọi hoạt động truyền nhận.Nhờ có chân này nên SPI là chuẩn giao tiếp đồng bộ và data trong quá trìnhtruyền nhận cũng ít sai sót hơn nhờ sự đồng bộ này Xung nhịp chỉ do thiết bịMaster phát ra
- MOSI (Master output slave input): khi thiết bị được cấu hình là Master thì nó
sẽ là chân xuất dữ liệu và khi là Slave thì sẽ là chân nhận dữ liệu
- MISO (Master input Slave output): khi thiết bị được cấu hình là Master thì nó
sẽ là chân nhập dữ liệu và khi là Slave thì sẽ là chân xuất dữ liệu
- CS – NSS: là chân chọn thiết bị, khi có nhiều thiết bị Slave, chân này sẽ là chânquyết định thiết bị nào sẵn sàng được giao tiếp Ở 1 số IC nhớ, chân này sẽ làchân cho phép có được giao tiếp (enable) với IC đó hay không
Trang 10Hình 3.3: Giao tiếp SPI
STM32F4 có 3 cổng giao tiếp SPI tốc độ tối đa lên đến 18Mbs/s với nhiều mode cấuhình Một số tính năng chính của giao tiếp SPI trên MCU này là:
- Truyền đồng bộ full –duplex trên 3 dây chính, half – duplex, chỉ truyền, chỉ nhận
- Cấu hình bằng phần mềm là master hay Slave
- Khung truyền cấu hình là 8 hay 16 bit
- Cấu hình data truyền theo kiểu MSB hoặc LSB đi trước
- Có các cờ báo lỗi, tính năng CRC, cờ ngắt
- Có hỗ trợ DMA (bộ truyền tốc độ cao)
3.1.3 Giao tiếp I2C
I2C – Inter- Intergrated Circuit là chuẩn truyền thông 2 dây gồm 1 dây Clock và 1dây Data dùng chung cho quá trình truyền nhận được phát minh bởi Philips ChuẩnI2C cũng trở nên thông dụng với nhiều module, IC sử dụng như: IC nhớ (24LCxxx),cảm biến góc nghiêng (MPU6050), module giao tiếp LCD (dùng IC PCF8574), ICthời gian thực (DS1307), IC chuyển đổi tín hiệu số, tương tự…
So với UART tốc độ của I2C có vẻ nhỉnh hơn 1 chút, ở mức thông thường là 100Khz
Ở mode còn lại thì tốc độ cao hơn Khi giao tiếp I2C với 1 IC nào đó cần chú ý: địa chỉ của
IC đó để giao tiếp, giao tiếp với tốc độ bao nhiêu, bao nhiêu bit
Hình 3.4: Giao tiếp I2C
Trang 11STM32F4 có 3 bộ chuyển đổi I2C với tốc độ tối đa lên đến 400Kh ở mode Fm và100khz ở mode sm Các bộ I2C còn được hỗ trợ chức năng DMA giúp đẩy nhanh tốc độgiao tiếp với ngoại vi Một số tính năng được tóm tắt như sau:
- Có thể lập trình là Master hay Slave
- Đối với Master: tạo ra xung clock và tạo ra tín hiệu start, stop
- Đối với Slave: lập trình được địa chỉ của thiết bị I2C, chế độ kiểm tra bit stop
- Số địa chỉ được sinh ra cũng như được kiểm tra là 7 bit hoặc 10 bit
- Hỗ trợ 2 chuẩn tốc độ là 100khz và 400 Khz
- Có bộ lọc nhiễu Analog
- Tích hợp mode DMA
- Có các cờ báo trạng thái : nhận, truyền, kết thúc chuyển đổi, báo lỗi…
- Có các ngắt như: ngắt buffer truyền, nhận; ngắt sự kiện, ngắt báo lỗi
3.2 Giới thiệu tổng quát về vi điều khiển ESP8266 NODEMCU:
3.2.1 Giới thiệu tổng quát
- ESP8266 là dạng Vi điều khiển tích hợp Wifi (Wifi SoC) được phát triểnbởi Espressif Systems, một nhà sản xuất Trung Quốc có trụ sở tại Thượng Hải Với Vi điềukhiển và Wifi tích hợp, ESP8266 cho phép lập trình viên có thể thực hiện vô số các tác
vụ TCP/IP đơn giản để thực hiện vô số các ứng dụng khác nhau, đặc biệt là các ứng dụngIoT
- Module ESP8266 có giá thành rẻ, phải nói là rẻ nhất trong tất cả các loại Wifi SoC từtrước tới nay (trước ESP8266 có series CC3xxx từ Ti rất mắc nên không phổ biến), chỉkhoảng 2USD cho phiên bản đầu tiên, điều này đã thu hút các IoT-er khám phá cũng nhưdịch các tài liệu của ESP8266 sang tiếng Anh và phát triển vô số các ứng dụng kèmtheo. Sau nhiều năm phát triển, hiện nay đã có hơn 14 phiên bản ESP ra đời, trong đó phổbiến nhất là ESP-12
Trang 12Hình 3.4: Module ESP8266 version 12
Module ESP-12 kết hợp với firmware ESP8266 trên Arduino và thiết kế phần cứnggiao tiếp tiêu chuẩn đã tạo nên NodeMCU, loại Kit phát triển ESP8266 phổ biến nhất trongthời điểm hiện tại Với cách sử dụng, kết nối dễ dàng, có thể lập trình, nạp chương trình trựctiếp trên phần mềm Arduino, đồng thời tương tích với các bộ thư viện Arduino sẵn
có, NodeMCU là sự lựa chọn hàng đầu cho các bạn muốn tìm hiểu về ESP8266 hiện nay
Hình 3.5: ESP8266 NODEMCU
3.2.2 Giới thiệu sơ bộ về ESP8266 NODEMCU
Khả năng hoạt động như một modem wifi:
Có thể quét và kết nối đến một mạng wifi bất kỳ (Wifi Client) để thực hiện các tác vụ nhưlưu trữ, truy cập dữ liệu từ server
Tạo điểm truy cập wifi (Wifi Access Point) cho phép các thiết bị khác kết nối, giao tiếp
và điều khiển
Là một server để xử lý dữ liệu từ các thiết bị sử dụng internet khác
Nguồn vào và nguồn ra
ESP8266 NodeMCU nhận nguồn từ cổng micro USB tích hợp sẵn trên mạch, giúp việc nạpcode trở nên dễ dàng hơn Bên cạnh đó, việc cấp nguồn cho module cũng linh động hơn vìbạn có thể sử dụng sạc dự phòng thay cho nguồn từ USB trên máy tính (nguồn cấp tối đa là5V)
ESP8266 NodeMCU có thể cung cấp nguồn cho tối đa 4 thiết bị: 3 nguồn ra 3.3V và mộtnguồn từ chân Vin (điện thế bằng điện thế từ cổng micro USB) Khi sử dụng các chân cấpnguồn này, hãy luôn kiểm tra để chắc chắn không cắm nhầm chân dương (trên mạch in là3v3 và Vin) và chân âm (GND) Tuy nhiên, 3 chân 3.3V đều được bảo vệ, khi cắm ngược
Trang 13cực, module sẽ chỉ nóng lên và dừng hoạt động Chân Vin thì KHÔNG, cắm ngược cực ởchân này là module bốc khói theo nghĩa đen nhé (kinh nghiệm xương máu).
Thông số kỹ thuật:
- Điện áp hoạt động: 3V - 5V (DC)
- Dòng sử dụng: tối đa 2.5mA khi truyền dữ liệu
- Dải độ ẩm hoạt động: 20% - 90% RH, sai số ±5%RH
- Dải nhiệt độ hoạt động: 0°C ~ 50°C, sai số ±2°C
- Tần số lấy mẫu tối đa: 1 Hz
- Khoảng cách truyền tối đa: 20m
Cảm biến DHT11 gồm 2 chân cấp nguồn, và 1 chân tín hiệu như hình:
Hình 3.6: Cảm biến DHT11
3.3.2 Màn hình OLED
Màn hình Oled 0.96 inch giao tiếp I2C cho khả năng hiển thị đẹp, sang trọng, rõ nét vàoban ngày và khả năng tiết kiệm năng lượng tối đa với mức chi phí phù hợp Màn hình sửdụng giao tiếp I2C cho chất lượng đường truyền ổn định và rất dễ giao tiếp chỉ với 2chân GPIO
Trang 14Hình 3.7: Màn hình OLED 0.96 Inch
SDA Truyền dữ liệu
Bảng 3.1: Chức năng các chân OLED
3.3.3 Mạch thu phát Lora
a Sơ lược về các loại wireless network:
Có thể nói hiện tại chúng ta có 3 mô hình wire less network như sau:
1- Cellular network (GSM hoặc LTE network): là mô hình truyền dữ liệu sử dụng trên
điện thoại mà chúng ta vẫn sử dụng hằng ngày Các mạng cellular có tốc độ truyền dữ liệucao nhưng cũng yêu cầu năng lượng tiêu thụ cao
2-LAN network (Wifi,Bluetooth, Zigbee hoặc Z-wave): được sử dụng rộng rãi trong các
mạng LAN (Local Area Network hoặc Personal Area Network) Điểm yếu của các thiết bịnày là công suất tiêu thụ vẫn cao cho các thiết bị sử dụng pin
Trang 153-LPWAN network (SigFox, LoRa, NB-Fi, RPMA): là mô hình được phát triển sau 2 mô
hình network ở trên để cho phép các thiết bị dùng pin có thể truyền dữ liệu với khoảng cách xa mà không tốn nhiều năng lượng Đây là mô hình sẽ được ứng dụng rộng rãi trongcác ứng dụng IoT trong tương lai
LoRa là viết tắt của Long Range Radio được nghiên cứu và phát triển bởi Cycleo vàsau này được mua lại bởi công ty Semtech năm 2012 Với công nghệ này, chúng ta có thểtruyền dữ liệu với khoảng cách lên hàng km mà không cần các mạch khuếch đại công suất;
từ đó giúp tiết kiệm năng lượng tiêu thụ khi truyền/nhận dữ liệu Do đó, LoRa có thể được
áp dụng rộng rãi trong các ứng dụng thu thập dữ liệu như sensor network trong đó cácsensor node có thể gửi giá trị đo đạc về trung tâm cách xa hàng km và có thể hoạt động vớipin trong thời gian dài trước khi cần phải thay
b Mạch thu phát Lora
Mạch thu phát Lora Ra-01 sử dụng chip SX1278 của nhà sản xuất Semtech chuẩngiao tiếp LORA (Long Range), chuẩn LORA mang đến hai yếu tố quan trọng là tiết kiệmnăng lượng và khoảng cách phát siêu xa (Ultimate long range wireless solution), ngoài ra
nó còn có khả năng cấu hình để tạo thành mạng truyền nhận nên hiện tại được phát triển và
sử dụng rất nhiều trong các nghiên cứu về IoT
Mạch thu phát Lora Ra-01 có thiết kế nhỏ gọn dạng module giúp dễ dàng tích hợptrong các thiết kế mạch, mạch được thiết kế và đo đạc chuẩn để có thể đạt công suất vàkhoảng cách truyền xa nhất, ngoài ra mạch còn có chất lượng linh kiện và gia công tốt chonên có độ bền cao và khả năng hoạt động ổn định
Hình 3.5: Module Lora Ra-01
Thông số kỹ thuật:
- Chip sử dụng: SX1278
- Sử dụng công nghệ điều chế phổ LoraTM
Trang 16- Nguồn cung cấp: 1.8 ~ 3.7 VDC
- Tấn số hoạt động: 410 ~ 525 MHz
- Khoảng cách giao tiếp: 10KM
- Chuẩn giao tiếp: SPI
- Tốc độ bit: 300kbps
- Hỗ trợ: FSK, GFSK, MSK, LoraTM và điều chế OOK
- Công suất truyền: 18dBm (100mW)
- Tự động phát hiện tín hiệu RF, chế độ CAD và AFC tốc độ siêu cao
- Nhiệt độ hoạt động: -40 ~ +85 ° C
- Kiểu anten: Anten lò xo
Hình 3.6: Sơ đồ chân Module Lora Ra-01 Bảng 3.1: Chức năng các chân của Module Lora Ra-01
1 ANT Kết nối Anten
2 GND Nối đất
3 3.3V Cấp nguồn 3.3V
4 RESET Khởi động lại
5 DIO0 Chân tín hiệu số 0, cài đặt bằng phần mềm
6 DIO1 Chân tín hiệu số 1, cài đặt bằng phần mềm
7 DIO2 Chân tín hiệu số 2, cài đặt bằng phần mềm
8 DIO3 Chân tín hiệu số 3, cài đặt bằng phần mềm
9 GND Nối đất
Trang 1710 DIO4 Chân tín hiệu số 4, cài đặt bằng phần mềm
11 DIO5 Chân tín hiệu số 5, cài đặt bằng phần mềm
12 SCK Đầu vào clock SPI
13 MISO Đầu ra dữ liệu SPI
14 MOSI Đầu vào dữ liệu SPI
15 NSS Đầu vào lựa chọn
16 GND Nối đất
3.4 Công cụ và phần mềm hỗ trợ:
3.4.1 Sublime Text
Hình 3.7: Phần mềm Sublime Text
Sublime Text là một phần mền soạn thảo code đang được rất nhiều lập trình viên sửdụng bởi các tính năng cũng như hiệu năng mà nó mang lại Tuy ra đời sau Notepad++nhưng Sublime Text được đánh giá cao và trở nên phổ biến hơn nhờ khả năng hoạt độngmượt mà, chiếm ít tài nguyên máy, hỗ trợ đa ngôn ngữ lập trình và đặc biệt hỗ trợ Plugin vớicộng đồng hỗ trợ mạnh mẽ. Không những nó vừa nhẹ, vừa gọn, vừa nhanh mà nó còn hỗ trợrất nhiều như plugins, snippets, code auto complete, highlight beautiful, tùy biến giao diện,phím tắt, và rất nhiều thứ khác nữa. Được Jon Skinner tạo ra vào tháng 1 năm 2008, viết dựatrên ngôn ngữ lập trình Python và C++ Sublime Text hỗ trợ nhiều ngôn ngữ lập trình và làmột phần mềm có thể được sử dụng miễn phí tuy nhiên chúng ta cũng có thể trả phí để sửdụng cho thuận tiện
Với giao diện người dùng trực quan, rất bắt mắt, nhiều chức năng mạnh mẽ và có thể
mở rộng thêm thông qua Package Control Hỗ trợ nhận diện và tô màu từ khoá (syntax
Trang 18highlight) cho hơn 20 ngôn ngữ khác nhau chẳng hạn như HTML, CSS, javascript, C++,C#, SQL, XML …
Đề tài này sử dụng Sumlime Text 3, tức là phiên bản mới nhất được cập nhật tại trang chủ: https://www.sublimetext.com/
Ưu điểm của Sublime text:
Sublime Text là một editor mới mẻ, rất nhẹ và khởi động nhanh
Chế độ tìm kiếm, replace, highlight rất dễ sử dụng
Có nhiều themes cả về text và giao diện tools nên có thể tùy chọn theo ý mình
Đặc điểm nổi bật của Sublime Text 3 là có bản Portable nên có thể sao chép vào USBtrong trường hợp đi xa mà không cần cấu hình lại
Sublime text 3 hoạt động trên nhiều hệ điều hành khác nhau như Linux, Mac,Windows
Hỗ trợ nhiều phím tắt giúp công việc hoàn thành nhanh và hiệu quả hơn, tiết kiệm được nhiều thời gian
3.4.2 Thư viện libopencm3
Thư viện libopencm3 (trước đây được gọi là libopenstm32) là một thư viện phầnmềm miễn phí, mã nguồn mở cho các vi điều khiển ARM Cortex, bao gồm ST STM32,Toshiba TX03, Atmel SAM3U, NXP LPC1000 và các thiết bị khác
Tất cả mã nguồn libopencm3 được cấp phép theo các điều khoản của GNU LGPL,phiên bản 3 hoặc mới hơn Điều này bao gồm các tệp C bao gồm thư viện, các tệp tiêu đềcủa thư viện, các kịch bản trình liên kết, các tệp Makefiles, các dự án mẫu
Thư viện được viết hoàn toàn từ đầu dựa trên datasheets của hãng, Thư viện nàyđược sử dụng với một chuỗi công cụ GCC cho ARM (arm-elf hoặc arm-no-eabi), việc nạpcode vào một vi điều khiển có thể được thực hiện bằng phần mềm OpenOCD ARM JTAG
3.4.3 phần mềm lập trình Arduino IDE:
Trang 19Hình 3.12: Phần mềm lập trình Arduino IDE
Arduino IDE là một ứng dụng cross-platform (nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng cho Ngôn ngữ lập trình xử lý (Processing programming language)
và project Wiring Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm Nó bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng như
compile(biên dịch) và upload chương trình lên board chỉ với 1 cú nhấp chuột Một
chương trình hoặc code viết cho Arduino được gọi là một sketch.
Các chương trình Arduino được viết bằng C hoặc C++ Arduino IDE đi kèm với một thưviện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp các thao tácinput/output được dễ dàng hơn Người dùng chỉ cần định nghĩa 2 hàm để tạo ra một chươngtrình vòng thực thi (cyclic executive) có thể chạy được:
setup() : hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt
loop() : hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
Một chương trình điển hình cho một bộ vi điều khiển đơn giản chỉ là làm cho một bóng đènLed sáng/tắt Trong môi trường Arduino, ta sẽ phải viết một chương trình giống như sau:
Trang 20CHƯƠNG 4 : TỔNG QUAN VỀ WEBSITE
4.1 Giới thiệu tổng quát về website
cá nhân hiện nay
Website là một tập hợp các trang web (web pages) bao gồm văn bản, hình ảnh, video,
flash v.v thường chỉ nằm trong một tên miền (domain name) hoặc tên miền phụ(subdomain) Trang web được lưu trữ (web hosting) trên máy chủ web (web server) có thểtruy cập thông qua Internet
Website đóng vai trò là một văn phòng hay một cửa hàng trên mạng Internet – nơi giới
thiệu thông tin về doanh nghiệp, sản phẩm hoặc dịch vụ do doanh nghiệp cung cấp… Có
thể coi website chính là bộ mặt của doanh nghiệp, là nơi để đón tiếp và giao dịch với các
khách hàng, đối tác trên Internet
Hình 4.1: Dịch vụ website trên Internet
Trang 214.1.2 Lịch sử trang web
World Wide Web đã được tạo ra vào năm 1990 của CERN bởi kỹ sư Tim
Berners-Lee Ngày 30 tháng tư năm 1993, CERN thông báo rằng World Wide Web sẽ được miễnphí để sử dụng cho bất cứ ai
Trước khi giới thiệu về HTML và các giao thức HTTP và các giao thức khác như FTP,v.v được sử dụng để lấy các tập tin cá nhân từ một máy chủ Những giao thức này cungcấp một cấu trúc thư mục đơn giản mà người sử dụng chuyển và chọn các tập tin để tải về.Văn bản được thường xuyên nhất được trình bày như là các tập tin văn bản thuần tuý màkhông có định dạng hoặc đã được mã hoá trong trình xử lý các định dạng
4.1.3 Phân loại website
Một website thông thường được chia làm 2 phần: giao diện người dùng (front-end) vàcác chương trình được lập trình để website hoạt động (back-end) Giao diện người dùng làđịnh dạng trang web được trình bày trên màn hình của máy tính của người xem (máy khách)được xem bằng các phần mềm trình duyệt web như Internet Explorer, Firefox, Tuy nhiênngày nay người xem có thể xem website từ các thiết bị điện tử khác như điện thoại di động,PDA, Việc trình bày một website phải đảm bảo các yếu tố về thẩm mỹ đẹp, ấn tượng, bốcục đơn giản, dễ hiểu và dễ sử dụng, các chức năng tiện lợi cho người xem Đặc biệt ngàynay, website trở nên sống động với những hiệu ứng đa dạng của hình ảnh và chữ kết hợp với
âm thanh
Phần Back-end là phần lập trình của website lưu trữ trên máy chủ (Server) Sự khácnhau ở phần lập trình back-end của website làm phân ra 2 loại website: Website tĩnh vàwebsite động
- Website động (Dynamic website) là website có cơ sở dữ liệu, được cung cấp công cụquản lý website (Admin Tool) để có thể cập nhật thông tin thường xuyên, quản lý các thànhphần trên website Loại website này thường được viết bằng các ngôn ngữ lập trình nhưPHP, Asp.net, JSP, Perl, , quản trị Cơ sở dữ liệu bằng SQL hoặc MySQL,
Hình 4.2: Website động (Dynamic website)