Các số liệu, tài liệu ban đầu: - Tìm hiểu về Arduino, Esp32, Lora - Tìm hiểu về các thiết bị đo, thiết bị giám sát, cảm biến - Tìm hiểu nguyên lý hoạt động, vận hành của nhà kính cây tr
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN- ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
1911505210127
Trang 5Tên đề tài: Nghiên cứu và thiết kế hệ thống giám sát cây trồng ứng dụng công nghệ LORA
Sinh viên thực hiện: Lê Phú Khang
Phạm Gia Phú
Trang 6KHOA ĐIỆN – ĐIỆN TỬ Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: TS Nguyễn Thị Khánh Hồng
1 Tên đề tài:
Nghiên cứu và thiết kế hệ thống giám sát cây trồng ứng dụng công nghệ LORA Sinh viên thực hiện: Lê Phú Khang, Phạm Gia Phú
2 Các số liệu, tài liệu ban đầu:
- Tìm hiểu về Arduino, Esp32, Lora - Tìm hiểu về các thiết bị đo, thiết bị giám sát, cảm biến - Tìm hiểu nguyên lý hoạt động, vận hành của nhà kính cây trồng - Tham khảo các thông số kỹ thuật của nhà kính trồng cây
3 Nội dung chính của đồ án:
- Tính chọn các thiết bị điện tử cho hệ thống
- Thiết kế phần điện cho hệ thống
- Viết chương trình điều khiển cho hệ thống
- Thiết kế giao diện giám sát
- Cài đặt các thông số như thiết kế
- Vận hành thử nghiệm, ghi nhận kết quả và rút ra sai số
Trang 7
Đà Nẵng, ngày tháng năm 2023
Trang 8i
Trong cuộc sống hiện đại ngày nay, chất lượng cuộc sống con người ngày càng nâng cao Sự nâng cao đó chính là nhờ vào sự phát triển mạnh mẽ của khoa học công nghệ Chúng ta có thể thấy rõ điều đó thông qua các hệ thống thông minh xung quanh, đặc biệt được biết đến như đô thị thông minh, trồng cây thông minh, … và đối với hệ thống trồng cây thông minh thì việc tiện lợi và giúp ích cho người nông dân luôn được
đặt lên hàng đầu Do đó nhóm chúng em đã quyết định chọn đề tài “Nghiên cứu và
thiết kế hệ thống giám sát cây trồng ứng dụng công nghệ LORA”, là 1 hệ thống
trồng cây thông minh tiện lợi cho người nông dân có thể giám sát cây trồng mọi lúc và quản lý trên Web
Trong quá trình thực hiện đề tài, nhóm đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến cũng như tạo điều kiện thuận lợi, định hướng và chỉ bảo nhiệt tình của quý Thầy/Cô giáo và bạn bè Đầu tiên, chúng em muốn gửi lời cảm ơn chân thành đến T.S Nguyễn Thị Khánh Hồng, người đã đưa những lời khuyên và định hướng giúp chúng em hiểu rõ hơn về đề tài và tiến hành nghiên cứu một cách có hệ thống Nhóm cũng xin gửi lời cảm ơn đến quý Thầy/Cô giáo trong trường Đại học Sư phạm Kỹ thuật - Đại học Đà Nẵng nói chung và quý Thầy/Cô trong khoa Điện – Điện tử nói riêng đã cung cấp những kiến thức và kỹ năng cần thiết để nhóm chúng em thực hiện đề tài này một cách thành công
Cuối cùng, nhóm cũng xin cảm ơn bạn bè, gia đình và người thân, những người đã hỗ trợ và động viên trong suốt quá trình thực hiện đề tài Sự khích lệ, quan tâm, chia sẻ và động viên đó đã giúp chúng em vượt qua những khó khăn và hoàn thành đề tài một cách thành công
Xin chân thành cảm ơn!
Trang 9ii
Nhóm chúng em xin cam đoan rằng đồ án tốt nghiệp “Nghiên cứu và thiết kế hệ
thống giám sát cây trồng ứng dụng công nghệ LORA” là công trình nghiên cứu của
nhóm Những phần có tham khảo tài liệu có trong đồ án đã được liệt kê và nêu rõ ra tại phần tài liệu tham khảo Đồng thời những số liệu hay kết quả trình bày trong đồ án đều mang tính chất trung thực, không sao chép, đạo nhái Nếu như sai phạm, nhóm chúng em xin chịu hoàn toàn trách nhiệm và chịu tất cả các kỉ luật của bộ môn cũng như nhà trường đề ra
Trang 10MỤC LỤC
Nhận xét của người hướng dẫn 3
Nhận xét của người phản biện 4
1.1.1 Giới thiệu về công nghệ 2
1.1.2 Ứng dụng công nghệ LORA trong nông nghiệp hiện nay 6
1.2 Áp dụng công nghệ LORA vào hệ thống giám sát cây trồng 7
1.2.1 Đặc điểm của mô hình 7
1.2.2 Áp dụng công nghệ LORA 7
CHƯƠNG 2: LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ 8
2.1 Lựa chọn phương thức truyền dữ liệu 8
2.1.1 Lựa chọn WEBSERVICE hoặc APP 8
2.1.2 Cấu hình hệ thống 10
2.1.3 Ngôn ngữ và trình biên dịch cho hệ thống 10
2.2 Các linh kiện sử dụng cho hệ thống 17
2.2.1 Mạch thu phát RF UART Lora SX1278 17
Trang 112.2.9 Cảm biến nước mưa (Rain Water Sensor) 28
2.2.10 ESP8266 WIFI NodeMCU 29
2.2.11 Động cơ bơm R385 31
2.2.12 Nguồn Adapter 12V- 3A 32
2.2.13 L298(mạch cầu H) 32
2.2.14 Mạch giảm áp LM2596 33
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG MÔ HÌNH 35
3.1 Giới thiệu chương 35
3.2 Thiết kế Board mạch điều khiển 35
3.2.1 Giới thiệu bộ công cụ thiết kế mạch Easy EDA 35
3.2.2 Sơ đồ nguyên lý 37
3.2.3 Sơ đồ mạch in PCB 38
3.3 Xây dựng lưu đồ và thiết lập hệ thống 42
3.3.1 Xử lí trung tâm 42
3.3.2 Lưu đồ thuật toán 44
3.3.3 Thiết lập chương trình trên blynk 46
3 4 Xây dựng mô hình 48
CHƯƠNG 4: KẾT QUẢ 49
4.1 Giới thiệu chương 49
4.2 Kết quả yêu cầu đạt được 49
4.2.1 Kết quả 49
4.2.2 Nhận xét đánh giá 50
CHƯƠNG 5: KẾT LUẬN- HƯỚNG PHÁT TRIỂN 52
TÀI LIỆU THAM KHẢO 54
PHỤ LỤC 55
Đã chú thích [A1]: Chỉ hiển thị đến mục 1.1.1; những mục nhỏ hơn thì không thể hiện trong mục lục nhé
Trang 12Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Hình 2 4 Arduino IDE – Phần mềm lập trình mã nguồn mở miễn phí 13
Hình 2 5 Thư viện Library Manager vô cùng đa dạng 14
Hình 2 6 Giao diện chính của Arduino IDE 15
Hình 2 7 Giao diện soạn thảo của Visual Studio Code 16
Hình 2 16 Sơ đồ chân ARDUINO MEGA 27
Hình 2 17 Cảm biến nước mưa 28
Hình 2 18 Module giao tiếp Wifi ESP266 29
Hình 2 19 Động Cơ Bơm R385 31
Hình 2 20 Nguồn adapter 12V3A 32
Hình 2 21 Mạch cầu H L298 33
Hình 2 22 Mạch giảm áp LM2596 34
Hình 3 1 Bộ công cụ thiết kế mạch trực tuyến Easy EDA 35
Hình 3 2 Sơ đồ nguyên lí mạch điều khiển 37
Trang 13Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Hình 3 3 Sơ đồ nguyên lí mạch giám sát 37
Hình 3 4 Sơ đồ mạch in PCB của mạch điều khiển 38
Hình 3 5 Sơ đồ mạch in PCB của mạch giám sát 39
Hình 3 6 Mạch in 3D của mạch giám sát 39
Hình 3 7 Mạch in 3D của mạch điều khiển 40
Hình 3 8 Hình ảnh mặt sau của mạch điều khiển 41
Hình 3 9 Hình ảnh board mạch điều khiển thực tế 41
Hình 3 10 Sơ đồ khối 42
Hình 3 11 Lưu đồ thuật toán mạch điều khiển 44
Hình 3 12 Lưu đồ thuật toán mạch giám sát 45
Hình 3 13 Hình ảnh giao diện đăng nhập blynk 46
Hình 3 14 Giao diện blynk đã được thiết kế sẵn 47
Hình 3 15 Giao diện để theo dõi mô hình từ xa 48
Hình 4 1 Hình ảnh mặt bên và mạch giám sát của sản phẩm 49
Hình 4 2 Hình ảnh mặt trước của sản phẩm 50
Trang 14Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT LORA : Long Range Radio
LORAWAN : Long Range Wireless Aria Network IOT : Internet Of Thing
HTML : Hyper Text Markup Language
VS Code : Visual Studio Code EasyEDA : Easy Electronics Design Automation PCB : printed circuit board
Adruino IDE: Internet Development Environment CLI : Command Line Interface
ADC : Analog-To-Digital Converter
RTC : Real Time Clock RFID : Radio Frequency Identification NFC : Near Field Communications PWM : Pulse Width Modulation JTAG : Join Test Action Group ICSP : In Circuit Serial Programing SRAM : Static random-access Memory RWS : Rain Water Sensor
SMS : Soil Moisture Sensor API : Appication Programming Interface LT Spice : Linear Technology Spice
CSV : Comma Separated Value PNG : Portable Network Graphics PDF : Portable Document Format SVG : Scalable Vector Graphics
Trang 15Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
MỞ ĐẦU
Trong cuộc sống hiện đại ngày nay, việc nâng cao chất lượng cuộc sống con người ngày càng trở thành mục tiêu quan trọng Một trong những yếu tố quan trọng góp phần vào sự nâng cao này là sự phát triển mạnh mẽ của khoa học và công nghệ Công nghệ không chỉ giúp chúng ta tiện lợi hơn trong cuộc sống hàng ngày mà còn đóng vai trò quan trọng trong việc cải thiện các lĩnh vực như nông nghiệp
Trong ngành nông nghiệp, việc giám sát cây trồng là một yếu tố quan trọng để đảm bảo sự phát triển và sản xuất hiệu quả Để nâng cao hiệu suất giám sát và quản lý cây trồng, nhóm chúng tôi đã quyết định chọn đề tài "Nghiên cứu và thiết kế hệ thống giám sát cây trồng ứng dụng công nghệ LoRa"
Mục tiêu của đề tài: Mục tiêu của đề tài là thiết kế và xây dựng một hệ thống giám sát cây trồng thông qua việc áp dụng công nghệ LoRa (Long Range)
Phạm vi nghiên cứu của đề tài:
- Sử dụng board Arduino Mega làm khối trung tâm xử lý
- Sử dụng mạch thu phát RF UART LoRa SX1278 để truyền thông dữ liệu từ hệ thống giám sát cây trồng
- Sử dụng cảm biến ánh sáng BH1750 để đo đạc mức độ ánh sáng trong môi trường trồng cây
- Sử dụng RTC DS3231 để đồng bộ thời gian trong hệ thống
- Sử dụng cảm biến nhiệt độ và độ ẩm DHT22 để đo đạc điều kiện môi trường xung quanh cây trồng
- Sử dụng cảm biến độ ẩm đất để đo đạc độ ẩm của đất trong quá trình trồng cây
- Sử dụng cảm biến nước mưa để phát hiện mưa đóng cửa rèm trong quá trình trồng cây
- Sử dụng màn hình LCD 2004 để hiển thị thông tin từ hệ thống giám sát
- Sử dụng công nghệ RFID để xác định và quản lý thông tin về cây trồng
Trang 16Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Công nghệ LORA
1.1.1 Giới thiệu về công nghệ
Khái niệm
LORA – viết tắt của Long Range Radio, là một loại công nghệ hỗ trợ truyền dữ liệu trong những khoảng cách lên đến hàng chục km mà không cần thêm bất kỳ các mạch khuếch đại công suất nào Công nghệ Lora giúp việc truyền và nhận dữ liệu trở nên đơn giản hơn, tiết kiệm năng lượng tiêu thụ hiệu quả Vì vậy, công nghệ này thường được sử dụng nhiều trong các ứng dụng thu thập dữ liệu như sensor network, khi đó sensor node sẽ có thể gửi giá trị đo đạc về trung tâm cách hàng km lại có thể hoạt động với battery suốt một thời gian dài trước khi cần thay pin Khái niệm
Hình 1.1 Công nghệ LORA
Nguyên lý hoạt động
Nền tảng phát triển công nghệ LoRa dựa trên kỹ thuật điều chế Chirp Spread Spectrum Khi các dữ liệu được tạo xung với tần số cao để tạo ra những tín hiệu có dải tần cao hơn Các tín hiệu này sẽ được mã hóa theo các chuỗi chirp signal (tín hiệu hình sin thay đổi theo thời gian) trước khi được gửi đi từ anten
Có hai loại chirp signal, bao gồm: - Tần số up-chirp tăng theo thời gian
Trang 17Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
- Tần suất của Down-chirp giảm dần theo thời gian Công nghệ Lora sử dụng một kỹ thuật điều biến có tên Chirp Spread Spectrum, loại kỹ thuật này sẽ sử dụng các xung tần số cao để chia nhỏ dữ liệu nhằm tạo ra tín hiệu có dải tần cao hơn dải tần của dữ liệu gốc Sau đó tín hiệu cao tần sẽ tiếp tục được mã hóa theo chuỗi tín hiệu chirp rồi truyền đến anten để truyền đi
Nguyên tắc hoạt động này hỗ trợ thiết bị giảm độ phức tạp và tăng độ chính xác cần thiết cho mạch nhận để có thể giải mã và điều chỉnh lại dữ liệu LoRa không yêu cầu nhiều công suất phát mà vẫn có thể truyền đi xa, vì tín hiệu LoRa có thể nhận được ở khoảng cách xa ngay cả khi cường độ tín hiệu thấp hơn nhiễu xung quanh
Băng tần hoạt động của công nghệ LoRa nằm trong khoảng từ 430MHz đến 915MHz, áp dụng cho các khu vực khác nhau trên thế giới.Tín hiệu chirp sẽ cho phép các tín hiệu LoRa hoạt động trong cùng một khu vực mà không gây nhiễu lẫn nhau Cho phép nhiều thiết bị trao đổi dữ liệu trên nhiều kênh đồng thời
Đặc điểm công nghệ Lora
Là một công nghệ hiện đại được sử dụng phổ biến hiện nay, LoRa có những đặc điểm nổi bật sau:
- Phạm vi truyền sóng rộng: công nghệ LoRa có khả năng truyền dữ liệu ở khoảng cách cực xa và có thể đạt khoảng cách truyền hơn 15km trong môi trường mở hoặc rộng hơn nữa
- Nhiều chức năng nhưng mức tiêu thụ điện năng thấp: công nghệ LoRa có thể chạy với mức tiêu thụ điện năng thấp, điều này có thể kéo dài tuổi thọ pin và giảm chi phí sử dụng khi không cần thay quá nhiều lần
- Với kỹ thuật truyền của công nghệ LoRa, tốc độ truyền tuy thấp nhưng vẫn cung cấp đủ băng thông cho một số ứng dụng IoT nhất định, chẳng hạn như định vị, theo dõi tài nguyên và gửi thông tin trạng thái
- Công nghệ này có khả năng chống nhiễu tốt và khả năng tự động tìm kiếm kênh truyền tốt nhất, giúp đảm bảo tính toàn vẹn của dữ liệu truyền đi
Trang 18Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Các thông số cơ bản
Tiêu chuẩn: IEEE802.15.4 Tần số:
- 430MHz cho châu Á - 780MHz cho Trung Quốc - 433MHz hoặc 866MHz cho châu Âu - 915MHz cho USA
Phạm vi: lên đến hàng kilomet Tốc độ truyền: 0.25-50kbps Spreading Factor – SF: SF xác định số lượng chrip signal khi mã hoá tín hiệu đã được điều chế tần số (chipped signal) của dữ liệu Ví dụ nếu SF = 12 có nghĩa là 1 mức logic của chipped signal sẽ được mã hoá 12 xung chirp signal Giá trị cho SF càng lớn thì thời gian truyền dữ liệu sẽ lâu hơn nhưng khoảng cách truyền sẽ xa hơn
Bandwidth – BW: BW xác định biên độ tần số mà chirp signal có thể thay đổi b Nếu bandwidth càng cao thì thời gian mã hoá chipped signal càng ngắn
Coding Rate – CR: CR là số lượng bit được tự thêm vào mỗi trong Payload trong LORA radio packet bởi LORA chipset để mạch nhận có thể sử dụng để phục hồi 1 số bit dữ liệu đã nhận sai và từ đó phục hồi nguyên vẹn dữ liệu trong Payload.Do đó, sử dụng CR càng cao thì khả năng nhận dữ liệu đúng càng tăng, nhưng bù lại chip LORA sẽ phải gửi nhiều dữ liệu hơn (có thể làm tăng thời gian truyền dữ liệu trong không khí)
Công nghệ LoRa đã tạo một bước tiến lớn bằng cách cho phép truyền nhận dữ liệu trong một khoảng cách xa trong khi tiêu thụ rất ít năng lượng Các nhược điểm của các công nghệ không dây khác như là yêu cầu băng thông cao, năng lượng tiêu thụ cao và giới hạn về khoảng cách truyền đều được LoRa khắc phục Trên thực tế, công nghệ LoRa có thể sử dụng rất linh hoạt trong các ứng dụng như thành phố thông minh, nhà thông minh, nông nghiệp thông minh và chuỗi cung ứng thông minh
Trang 19Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Lorawan network
LORAWAN hay Long Range Wireless Area Network là một kiến trúc hệ thống và giao thức truyền thông trong mạng dựa trên Lora LORAWAN hoạt động trong phạm vi phổ không được cấp phép dưới 1GHz.LORAWAN là một giao thức mạng mở cung cấp các kết nối giữa các cổng LPWAN với các thiết bị IoT ở nút cuối được tiêu chuẩn hóa và duy trì bởi LORA Alliance LORAWAN cũng chịu trách nhiệm quản lý tần số giao tiếp và tốc độ dữ liệu, năng lượng cho tất cả các thiết bị trong mạng
Hình 1.2 Mô hình LORAWAN Trong 1 mạng LORAWAN sẽ có 2 loại thiết bị: - Device node: là thiết bị cảm biến, hoặc là các thiết bị giám sát được lắp đặt tại các
vị trí làm việc ở xa để lấy và gửi dữ liệu về các thiết bị trung tâm - Gateway: là các thiết bị trung tâm sẽ thu thập dữ liệu từ các device node và gửi
lên 1 server trung tâm để xử lý dữ liệu Các thiết bị Gateway thường sẽ được đặt tại 1 vị trí có nguồn cung cấp và có các nguồn cung cấp và có kết nối như Wifi, LAN, SGM để có thể gửi dữ liệu lên server
Trang 20Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
1.1.2 Ứng dụng công nghệ LORA trong nông nghiệp hiện nay
Nông nghiệp công nghệ cao là nền nông nghiệp được áp dụng các công nghệ tiên tiến nhằm mục đích cải thiện chất lượng, năng suất nông sản Điều này có thể đạt được bằng cách giám sát các thông số liên quan đến sinh trưởng, phát triển của cây trồng như: ánh sáng, nhiệt độ, độ ẩm… Từ các thông số thu thập, có thể điều chỉnh lượng nước tưới, độ ẩm không khí hay cường độ ánh sáng phù hợp theo nhu cầu phát triển của cây trồng Hiện nay, các hướng nghiên cứu về ứng dụng công nghệ cao trong giám sát từ xa các thông số môi trường trong nông nghiệp thường sử dụng các công nghệ truyền thông truyền thống như: Zigbee, Wifi, GSM/GPRS, Bluetooth… Trong những công nghệ truyền thông kể trên, công nghệ Wifi, Zigbee, Bluetooth có phạm vi hoạt động không cao từ 10 đến 100m
Với phạm vi hoạt động như vậy, các chuẩn truyền thông trên chỉ phù hợp cho việc giám sát trong một khu vực nhỏ Khi khu vực giám sát lớn hoặc có nhiều khu vực, thì việc xây dựng mạng cảm biến trở lên phức tạp và tốn kém chi phí hơn Bên cạnh đó, việc tiêu thụ nhiều năng lượng cũng dẫn đến thời lượng sử dụng pin của nút cảm biến bị giảm xuống Nhằm mở rộng nhu cầu kết nối số lượng lớn cảm biến trên phạm vi rộng và tiêu thụ ít năng lượng phục vụ cho nhu cầu vận hành bảo trì, chuẩn truyền thông LORA đã ra đời với nhiều ưu điểm vượt trội so với các công nghệ sẵn có Một đặc thù riêng biệt, ở môi trường nông nghiệp thì việc truyền dữ liệu từ các cảm biến và trung tâm, và từ trung tâm tới các thiết bị chấp hành sẽ gặp phải các khó khăn về khoảng cách, dễ bị tác động của môi trường, …dẫn đến hệ thống không hoạt động ổn định Ngoài Zigbee thì Lora là một lựa chọn tuyệt vời
Hình 1.3 Ứng dụng công nghệ LORA trong nông nghiệp
Trang 21Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
1.2 Áp dụng công nghệ LORA vào hệ thống giám sát cây trồng
1.2.1 Đặc điểm của mô hình
Đây là mô hình điển hình của hệ thống nông nghiệp ở Việt Nam gồm có hệ thống mương máng tưới tiêu và hệ thống luống cây trồng Mô hình này có thể áp dụng cho nhiều loại cây trồng khác nhau tại Việt Nam như lúa, ngô, khoai, sắn … Trong đó:
- Luống cây là nơi trồng cây, có chứa đất, khoáng chất cần thiết đảm bảo cho sự phát triển bình thường của cây trồng
- Mương máng là nơi dẫn nước từ phía nguồn tới từng thửa ruộng, đảm bảo nhu cầu tưới tiêu liên tục trong mùa vụ
Dựa vào mô hình thực tế trên, nhóm có những tính toán phù hợp cho việc áp dụng công nghệ cũng như thiết kế sơ đồ lắp đặt thiết bị để hệ thống có thể hoạt động tốt và ổn định trong khoản thời gian dài và điều khiệt khắc nghiệt
Trang 22Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
CHƯƠNG 2: LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ 2.1 Lựa chọn phương thức truyền dữ liệu
Công nghệ LORA là một bước đột phá về con người với con người, con người với sự vật và sự vật với sự truyền tải thông tin Các thiết bị thông minh hiện có thể kết nối, di chuyển và đưa ra quyết định thay mặt cho các cá nhân, công nghệ này còn gọi là “kết nối cho mọi thứ” Đã nói đến LORA là nói đến truyền dữ liệu không dây, tùy thuộc vào khoảng cách địa lý, nguồn năng lượng nuôi thiết bị, tài chính, … mà mình lựa chọn sao cho hợp lý, có rất nhiều cách thức truyền khác nhau như: GPRS/3G, Zigbee, Bluetooth, Lora, Wifi, … Dưới đây là phương thức nhóm em đã chọn sử dụng cho đồ án thiết kế lần này
2.1.1 Lựa chọn WEBSERVICE hoặc APP
Hiện nay có rất nhiều phương án Server và App để thực hiện các đề tài về IOT Sau khi tìm hiểu thì em lựa chọn phương án sử dụng Server Blynk và App Blynk vì nó hiện nay khá phổ biến và dễ dàng sử dụng
Hình 2 1 Ứng dụng Blynk IOT
Blynk là một nền tảng với các ứng dụng iOS và Android để điều khiển Arduino, Raspberry Pi và các ứng dụng tương tự qua Internet Nó là một bảng điều khiển kỹ thuật số nhờ đó bạn có thể xây dựng giao diện đồ họa cho dự án của mình bằng cách kéo và thả các widget
Việc thiết lập mọi thứ rất đơn giản và Blynk không bị ràng buộc với một số bo hoặc shield cụ thể Thay vào đó, nó hỗ trợ phần cứng mà chúng ta lựa chọn.Cho dù
Đã chú thích [A2]: Ghi đầy đủ thông tin
Trang 23Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Arduino hoặc Raspberry Pi của chúng ta được liên kết với Internet qua Wi-Fi, Ethernet hoặc chip ESP8266, Blynk sẽ giúp chúng ta dễ dàng online
Blynk là một phần mềm mã nguồn mở được thiết kế cho các ứng dụng IoT Ứng dụng giúp người dùng điều khiển phần cứng từ xa, có thể hiển thị dữ liệu cảm biển, lưu trữ dữ liệu, biến đổi dữ liệu hoặc làm nhiều việc khác
Có ba thành phần chính trong nền tảng: - Blynk Server - chịu trách nhiệm về tất cả các giao tiếp giữa điện thoại thông minh
và phần cứng Bạn có thể sử dụng Blynk Cloud hoặc chạy cục bộ máy chủ Blynk riêng của mình Nó là mã nguồn mở, có thể dễ dàng xử lý hàng nghìn thiết bị và thậm chí có thể được khởi chạy trên Raspberry Pi
- Thư viện Blynk - dành cho tất cả các nền tảng phần cứng phổ biến - cho phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và lệnh đi
- Ứng dụng Blynk – cho phép chúng ta tạo giao diện cho các dự án của mình bằng cách sử dụng các widget khác nhau
Tính năng và đặc điểm: - Cung cấp API và giao diện người dùng tương tự cho tất cả các thiết bị và phần
cứng được hỗ trợ - Kết nối với sever bằng cách sử dụng: Wifi, Bluetooth và BLE, Ethernet, USB
(Nối tiếp), GSM … - Các tiện ích trên giao diện được nhà cung cấp dễ sử dụng - Thao tác kéo thả trực tiếp giao diện mà không cần viết mã - Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng các cổng kết nối ảo
được tích hợp trên blynk app - Theo dõi lịch sử dữ liệu - Thông tin liên lạc từ thiết bị đến thiết bị bằng Widget - Gửi email, tweeet, thông báo realtime,
- Được cập nhật tính năn liên tục
Trang 24Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
2.1.2 Cấu hình hệ thống
Hệ thống gồm các 3 thành phần chính sau: - Node cảm biến: Thu nhập dữ liệu về nhiệt độ, độ ẩm nhiệt độ, độ ẩm không khí,
độ ẩm đất tại luống cây trồng và gửi về Gateway thông qua truyền thông - Node tải: Nhận tín hiệu điều khiển từ Gateway thông qua truyền thông LORA để
đóng cắt máy bơm, cung cấp lượng nước phù hợp cho các luống trồng, đảm bảo sự phát triển tốt của cây trồng
- Gateway: Thu thập và xử lý dữ liệu của Node cảm biến để hiện thị lên app server thông qua giao thức TCP/IP, cũng như hiển thị lên app trên máy tính và điện thoại thông qua giao thức MQTT Thêm vào đó, Gateway cũng căn cứ vào dữ liệu của cảm biến độ ẩm đất để đưa ra luật điều khiển thích hợp
2.1.3 Ngôn ngữ và trình biên dịch cho hệ thống
Giới thiệu về HTML, JS
HTML (HyperText Markup Language): là ngôn ngữ được sử dụng cho các tài liệu web HTML không phải là một ngôn ngữ lập trình, HTML giống như một ngôn ngữ xác định đâu là ý nghĩa, mục đích và cấu trúc của một tài liệu Cùng với CSS và JavaScript, HTML tạo ra bộ ba nền tảng kỹ thuật cho các website Giới thiệt về HTML,JS
Hình 2 2 Ngôn ngữ đánh dấu siêu văn bảng HTML Vai trò của HTML : Một website thường chứa nhiều trang con Mỗi trang con sẽ có một tập tin HTML riêng Dù bạn lập trình bằng bất cứ ngôn ngữ nào, trên bất cứ
Trang 25Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Framework nào, khi chạy trên nền website, chúng đều được biên dịch ra ngôn ngữ HTML Đa số các trình soạn thảo văn bản trên website đều có 2 chế độ xem: HTML và văn bản thường
Chức năng chính của HTML là xây dựng cấu trúc siêu văn bản trên một website, hoặc khai báo các tập tin kỹ thuật số (media) như hình ảnh, video, nhạc HTML thường được dùng để phân chia các đoạn văn, heading, links, blockquotes, …
Với HTML, bạn sẽ có thể: - Thêm tiêu đề, định dạng đoạn văn, ngắt dòng điều khiển - Tạo danh sách, nhấn mạnh văn bản, tạo ký tự đặc biệt, chèn hình ảnh, tạo liên kết - Xây dựng bảng, điều khiển một số kiểu mẫu
Chính vì HTML không phải là ngôn ngữ lập trình Do đó, HTML cũng không thể tạo ra các chức năng “động” được Hiểu đơn giản, HTML giống như Microsoft Word, dùng để bố cục và định dạng trang web
JS (JavaScript) là ngôn ngữ lập trình được Brendan Eich (đồng sáng lập dự án Mozilla, quỹ Mozilla và tập đoàn Mozilla) cho ra mắt vào năm 1995 với tên LiveScript JS có tác dụng giúp chuyển website từ trạng thái tĩnh sang động, tạo tương tác để cải thiện hiệu suất máy chủ và nâng cao trải nghiệm người dùng Hiểu đơn giản, JavaScript là ngôn ngữ được sử dụng rộng rãi khi kết hợp với HTML/CSS để thiết kế web động
Trang 26Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Giới thiệu trình biên dịch Arduino IDE
Arduino IDE là một phần mềm với một mã nguồn mở, được sử dụng chủ yếu để viết và biên dịch mã vào module Arduino Nó bao gồm phần cứng và phần mềm Phần cứng chứa đến 300,000 board mạch được thiết kế sẵn với các cảm biến, linh kiện Phần mềm giúp bạn có thể sử dụng các cảm biến, linh kiện ấy của Arduino một cách linh hoạt phù hợp với mục đích sử dụng Giới thiệu trình biên dịch Arduino IDE
Trang 27Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Hình 2 4 Arduino IDE – Phần mềm lập trình mã nguồn mở miễn phí Tính năng của Arduino IDE:
- Phần mềm lập trình mã nguồn mở miễn phí: IDE trong Arduino IDE là phần có nghĩa là mã nguồn mở Nghĩa là phần mềm này miễn phí cả về phần tải về lẫn phần bản quyền Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung được nhà phát hành cho phép mà không cần xin phép, điều mà họ không được phép làm đối với các phần mềm nguồn đóng Tuy là phần mềm mã nguồn mở nhưng khả năng bảo mật thông tin của Arduino IDE là vô cùng tuyệt vời, khi phát hiện lỗi nhà phát hành sẽ vá nó và cập nhật rất nhanh khiến thông tin của người dùng không bị mất hoặc rò rỉ ra bên ngoài - Sử dụng ngôn ngữ lập trình C/C++ thân thiện với các lập trình viên: Arduino IDE
sử dụng ngôn ngữ lập trình C/C++ rất phổ biến trong giới lập trình Bất kỳ đoạn code nào của C/C++ thì Arduino IDE đều có thể nhận dạng, giúp các lập trình viên thuận tiện trong việc thiết kế chương trình lập cho các bo mạch Arduino - Hỗ trợ lập trình tốt cho bo mạch Arduino: Arduino có một module quản lý bo
mạch, nơi người dùng có thể chọn bo mạch mà họ muốn làm việc cùng và có thể thay đổi bo mạch thông qua Menu Quá trình sửa đổi lựa chọn cũng liên tục
Trang 28Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệu sửa đổi đồng nhất với nhau Bên cạnh đó, Arduino IDE cũng giúp bạn tìm ra lỗi từ code mà bạn viết, qua đó giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm sút - Thư viện hỗ trợ phong phú: Arduino IDE tích hợp với hơn 700 thư viện, được
viết và chia sẻ bởi nhà phát hành Arduino Software và thành viên trong cộng đồng Arduino Mọi người có thể tận dụng chúng cho dự án của riêng mình mà không cần phải bỏ ra bất kỳ chi phí nào
- Giao diện đơn giản, dễ sử dụng: Arduino IDE có một giao diện đơn giản, dễ sử dụng giúp người dùng thuận tiện hơn trong thao tác Dưới đây là một số tính năng chúng ta thường sử dụng
Hình 2 5 Thư viện Library Manager vô cùng đa dạng Một số tính năng thường xuyên sử dụng trên phần mềm:
- Nút kiểm tra chương trình (Verify): giúp dò lỗi phần code định truyền xuống bo mạch Arduino
Trang 29Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
- Nút tải đoạn code vào bo mạch Arduino (Upload): giúp nhập đoạn code vào bo mạch Arduino
- Vùng lập trình: người dùng sẽ viết chương trình tại khu vực này - Thanh Menu: gồm những thẻ chức năng nằm trên cùng như File, Edit, Sketch,
Tools, Help - Hỗ trợ đa nền tảng như Windows, MacOS, Linux
Hình 2 6 Giao diện chính của Arduino IDE Arduino IDE hoạt động trên 3 hệ điều hành phổ biến nhất Đó là Windows, Mac OS và Linux Nhờ vậy, người dùng có thể truy cập vào phần mềm ở bất cứ đâu, bất cứ khi nào Ngoài ra, người dùng có thể truy cập vào công cụ từ đám mây Điều này cho phép các nhà lập trình lựa chọn tạo và lưu dự án của mình trên đám mây Hoặc họ có thể xây dựng chương trình trên máy tính và upload nó lên bo mạch Arduino
Giới thiệu trình soạn thảo visual studio code
Trang 30Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Visual Studio Code (VS Code) là một trình soạn thảo mã nguồn mở gọn nhẹ nhưng có khả năng vận hành mạnh mẽ trên 3 nền tảng là Windows, Linux và macOS được phát triển bởi Microsoft Nó hỗ trợ cho JavaScript, Node.js và TypeScript, cũng như cung cấp một hệ sinh thái mở rộng vô cùng phong phú cho nhiều ngôn ngữ lập trình khác
Hình 2 7 Giao diện soạn thảo của Visual Studio Code Có thể nói, VS Code là sự kết hợp giữa một trình soạn thảo mã nguồn với những công cụ phát triển mạnh mẽ như Git, Debug hay Syntax Highlighter
Tính năng của Visual studio code - Khả năng mở rộng ngôn ngữ: Visual Studio Code hỗ trợ một loạt các ngôn ngữ
lập trình như JavaScript, TypeScript, Python, PHP, GoLang, Rust, C #, C ++ và nhiều ngôn ngữ khác
- Intellisense: Tính năng này cung cấp các đề xuất mã, hoàn thành và tài liệu nội tuyến khi bạn nhập, giúp viết mã dễ dàng và nhanh chóng hơn
- Cung cấp kho tiện ích mở rộng khổng lồ: sự hỗ trợ một loạt các tiện ích mở rộng và plugin cho phép các nhà phát triển tùy chỉnh và mở rộng chức năng của trình chỉnh sửa
Trang 31Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
- Hỗ trợ đa nền tảng: Visual Studio Code chạy trên Windows, Linux và macOS, cho phép các nhà phát triển viết mã trong môi trường ưa thích của họ
- Tối ưu hóa cho việc xây dựng website: Bạn có thể thiết kế cả 1 website ngay trong Visual Studio Code bằng cách kết hợp bản thân Visual Studio Code đã hỗ trợ tối ưu cho việc lập trình web, cùng những extension hỗ trợ ngôn ngữ, chức năng khác
- Khả năng tích hợp đầu cuối: Visual Studio Code có thiết bị đầu cuối tích hợp cho phép các nhà phát triển chạy các lệnh và tập lệnh CLI trực tiếp trong trình soạn thảo
- Một màn hình với nhiều chức năng: Visual Studio Code tích hợp rất nhiều tính năng giúp bạn có thể code, thao tác với các thư mục của bạn một cách chuyên nghiệp nhất và bạn sẽ không cần phải thay đổi giữa các màn hình hay phải trở về thư mục gốc Có thể mở cùng lúc nhiều tệp tin, thư mục mà không cần thiết phải liên quan đến nhau
- Hỗ trợ tối ưu hóa việc viết code - Hỗ trợ sử dụng Gift
2.2 Các linh kiện sử dụng cho hệ thống
2.2.1 Mạch thu phát RF UART Lora SX1278
Mạch thu phát RF UART Lora SX1278 433Mhz 3000m EBYTE E32-433T20D sử dụng chip SX1278 của nhà sản xuất SEMTECH chuẩn giao tiếp Lora (long range), chuẩn LORA mang đến 2 yếu tố quan trọng là tiết kiệm năng lượng và khoảng cách phát siêu xa (ultimate longrange wireless solution), ngoài ra nó còn có khả năng cấu hình để tạo thành mạng 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
Trang 32Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
- Công suất: 20dbm (100mW) - Khoảng cách truyền tối đa trong điều kiện lí tưởng: 3000m - Tốc độ truyền 0.3 – 19.2 Kbps (mặc định 2.4 Kbps) - Hỗ trợ 65536 địa chỉ cấu hình
- Kích thước: 21x36mM - 512 Bytes bộ đệm
2.2.2 Cảm biến cường độ ánh sáng BH1750
Trang 33Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Hình 2 9 Cảm biến cường độ ánh sáng BH1750 Cảm biến cường độ ánh sáng BH1750 Digital Light Sensor được sử dụng để đo cường độ ánh sáng theo đơn vị lux, có ADC nội và bộ tiền xử lý trên giá trị được trả ra là giá trị trực tiếp cường độ ánh sáng mà không phải qua bất kì xử lý hay tính toán nào thông qua giao tiếp I2C
Thông số kỹ thuật: - Nguồn 3 ~ 5 VDC - Tiêu thụ dòng điện thấp: 0,12mA - Độ nhạy cao gần với mắt người
- Giao tiếp: I2C - Khoảng đo: 1 -> 65535 lux - Kích thước: 21x16x3.3mm - Nhiễu rất nhỏ do bức xạ hồng ngoại
2.2.3 Mạch thời gian thực RTC DS3231
Mạch thời gian thực RTC DS32231 sử dụng thạch anh nội nên có độ chính xác rất cao, được sử dụng để cung cấp thông tin thời gian: ngày, tháng, năm, giờ, phút, giây,… cho vi điều khiển qua giao tiếp I2C, mạch tích hợp sẵn pin backup để duy trì thời gian trong trường hợp không cấp nguồn, ngoài ra mạch còn được tích hợp thêm IC EEPROM AT24C32 để lưu trữ thông tin khi cần, thích hợp cho các ứng dụng điều khiển hoặc đồng bộ thời gian thực RTC
Trang 34Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Hình 2 10 Mạch thời gian thực RTC DS 3231 Thông số kỹ thuật:
- IC chính: RTC DS3231 + EEPROM AT24C32 - Nguồn cung cấp: 3.3 ~ 5 VDC
- Giao tiếp: I2C - Lưu trữ và cung cấp thông tin thời gian thực: ngày, tháng, năm, giờ, phút, giây - Có pin backup duy trì thời gian trong trường hợp không cấp nguồn
- Kích thước: 38x22x14mm
2.2.4 Cảm biến độ ẩm nhiệt độ DHT22
Cảm biến độ ẩm và nhiệt độ DTH22 sử dụng giao tiếp 1 wire dễ dàng kết nối và giao tiếp với vi điều khiển để thực hiện các ứng dụng đo nhiệt độ, độ ẩm môi trường
Trang 35Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Hình 2 11 Cảm biến độ ẩm, nhiệt độ DHT22 Thông số kỹ thuật:
- Nguồn sử dụng: 3 ~ 5 VDC - Dòng sử dụng: 2.5mA max (khi truyền dữ liệu) - Đo tốt ở độ ẩm 0100%RH với sai số 2-5% - Đo tốt ở nhiệt độ -40 to 80 độ C
- Tần số lấy mẫu tối đa 0.5Hz (2 giây 1 lần) - Kích thước: 27x59x13.5mm
- 4 chân, khoảng cách chân 0.1 inch Dù bằng cách nào thì hiệu suất của cảm biến là như nhau Cảm biến sẽ có dạng gói 4 chân, trong đó chỉ có ba chân sẽ được sử dụng trong khi mô-đun sẽ chỉ có ba chân như được hiển thị trong sơ đồ chân DHT22 ở trên
Sự khác biệt duy nhất giữa cảm biến và mô-đun là mô-đun sẽ có sẵn tụ điện lọc và điện trở kéo lên, và đối với cảm biến, bạn phải sử dụng chúng bên ngoài nếu cần
2.2.5 Cảm biến độ ẩm đất (Soil Moisture Sensor)
Cảm biến độ ẩm đất thường được sử dụng trong các mô hình tưới nước tự động, vườn thông minh, …, cảm biến giúp xác định độ ẩm của đất qua đầu dò vả trả về giá
Đã chú thích [A3]: Là cái gì? Ghi cho rõ câu
Trang 36Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
trị analog, dignital qua 2 chân tương ứng để giao tiếp với vi điều khiển để thực hiện vô số các ứng dụng khác nhau
Hình 2 12 Cảm biến độ ẩm đất
Thông số kỹ thuật: - Điện áp: 3.3 ~ 5 VDC - Kích thước: 3x1.6cm - Led đỏ báo nguồn vào, Led xanh báo độ ẩm
- Sử dung chip LM393 để so sánh, ổn định làm việc - PCB có kích thước nhỏ 3.2 x 1.4
- AO: Đầu ra Analog (Tín hiệu tương tự) - DO: Đầu ra tín hiệu số (0 và 1)
2.2.6 Màn hình LCD 2004
Trang 37Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
Màn hình LCD 2004 xanh dương sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng 20 kí tự, màn hình có độ bền cao, phổ biến, nhiều code mẫu và dễ sử dụng
Hình 2 13 Màn hình LCD 2004 Thông số kỹ thuật
- Điện áp hoạt động là 5V - Kích thước: 98x60x13.5mm - Chữ trắng, nền xanh dương - Khoảng cách giữa 2 chân kết nối là 0.1 inch tiện dụng khi kết nối - Tên các chân được ghi ở mặt sau của màn hình LCD hỗ trợ việc kết nối, đi dây
điện - Có đèn LED nên, có thể sử dụng biến trở hoặc PWM điều chỉnh độ sáng để sử
dụng ít điện năng hơn - Có thể được điều khiển với 6 dây tín hiệu - Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật
Đã chú thích [A4]: Ghi rõ
Trang 38Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
2.2.7 RFID RDM6300
Mạch RFID RDM6300 được thiết kế nhỏ gọn và có kèm theo anten RFID, mạch truyền nhận qua chuẩn giao tiếp UART với thông số Baudrate cố định là: 9600, N, 8, 1 Mã RFID trả ra sẽ là mã ASCII gồm 10 chữ số nên các bạn nhớ lưu ý chọn bảng mã này để thấy được mã thẻ chính xác
Hình 2 14 Khoá từ RFID RDM6300 Thông số kỹ thuật:
- Điện áp hoạt động: 5VDC - Tần số: 125Khz
- Tốc độ truyền: 9600 - Loại giao tiếp: Định dạng RS232 TTL - Dòng điện làm việc: <50mA
- Khoảng cách phát hiện: 20~50mm (tùy thuộc vào anten, thẻ và môi trường xung quanh)
- Nhiệt độ hoạt động: -10 ~ 70 độ C - Nhiệt độ bảo quản: -20 ~ 80 độ C - Kích thước cuộn dây: 46 x 32 x 3mm - Kích thước module: 38.5 x 19 x 9mm - Trọng lượng: 10g
Đã chú thích [A5]: Ghi rõ
Trang 39Người hướng dẫn: TS Nguyễn Thị Khánh Hồng
2.2.8 ARDUINO MEGA2560 R3
Adruino Mega2560 R3 sử dụng vi điều khiển Atmega 2560 cho số ngoại vi,các chuẩn giao tiếp và số chân nhiều nhất, bộ nhớ lớn nhất 256KB Nếu bạn có những ứng dụng cần mở rộng thêm nhiều chân, nhiều ngoại vi thì đây là một sự lựa chọn sáng giá, board hoàn toàn có cấu trúc chân tương thích với các board như Uno và chạy điện áp 5V DC
Thông số kỹ thuật: - Chip xử lý: ATmega2560 - Điện áp hoạt động: 5V - Điện áp vào (đề nghị): 7V-15V - Điện áp vào (giới hạn): 6V-20V - Cường độ dòng điện trên mỗi chân 3.3V: 50 mA
Hình 2 15 ADRUINO MEGA2560 R3