Đồ án Phát triển hệ thống IoT cho nông nghiệp thông minh

pdf 65 trang thiennha21 14/04/2022 5861
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Phát triển hệ thống IoT cho nông nghiệp thông minh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_phat_trien_he_thong_iot_cho_nong_nghiep_thong_minh.pdf

Nội dung text: Đồ án Phát triển hệ thống IoT cho nông nghiệp thông minh

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU BARIA VUNGTAU UNIVERSITY Ca p Sa i n t Ja c q u e s ĐỒ ÁN TỐT NGHIỆP Đề tài PHÁT TRIỂN HỆ THỐNG IoT CHO NÔNG NGHIỆP THÔNG MINH Họ và tên GVHD: Th.s Nguyễn Lương Thanh Tùng Họ và tên SVTH: Phan Ngọc Hiểu Trần Nguyễn Hoài Nam Chuyên Ngành : Điện tử công nghiệp Lớp: DH16DT Vũng Tàu, tháng 5 năm 2020
  2. Nhận xét của GVHD l.Thái độ tác phong và nhận thức trong quá trình thực hiện đồ án: 2.Hình thức, thể thức trình bày đồ án: 3. Kiến thức chuyên môn: 4.Đánh giá khác: 5.Đánh giá kết quả: GIÁO VIÊN HƯỚNG DẪN ThS. Nguyễn Lưong Thanh Tùng
  3. LỜI CẢM ƠN ể hoàn thành Đồ án tốt nghiệp này. Trước tiên chúng em xin chân thành cảm ơn ban giám hiệu nhà trường đã tạo điều kiện cho chúng Đtôi có một môi trường học tập tốt. Chứng em xin bày tỏ lòng biết ơn sâu sắc đến giảng viên Ths. Nguyễn Lương Thanh Tùng, giảng viên trường Đại Học Bà Rịa Vũng Tàu. Trên cương vị là người hướng dẫn đề tài, đã trực tiếp hướng dẫn và nhiệt tinh giúp đỡ tại điều kiện cho chúng em trong suốt thời gian thực hiện Đồ án. Chúng em xin chân thành cảm ơn các thầy cô trường Đại Học Bà Rịa Vũng Tàu đã cung cấp cho chúng em những kiến thức quý báu làm nền tảng cho những nghiên cún của chúng em trong việc thực hiện đồ án môn học.
  4. LỜI MỞ ĐẦU Ngày nay, sự phát triển mạnh mẽ của khoa học công nghệ, cuộc sống của con người đã có những thay đổi ngày càng tốt hơn, với những trang thiết bị hiện đại phục vụ công cuộc công nghiệp hoá, hiện đại hoá đất nước. Đặc biệt góp phần vào sự phát triển đó thi ngành kĩ thuật điện tử đã góp phần không nhỏ trong sự nghiệp xây dựng và phát triển đất nước. Những thiết bị điện,điện tử được phát triển mạnh mẽ và được ứng dụng rỗng rãi trong đời sống cũng như sản suất. Từ những thời gian đầu phát triển vi xử lý đã cho thấy sự ưu việt của nó và cho tới ngày nay tính ưu việt đó ngày càng được khẳng định thêm. Những thành tựu của nó đã có thể biến được những cái tưởng chừng như không thể thành những cái có thể, góp phần nâng cao đời sống vật chất và tinh thần cho con người. Ngày nay phát triển ngành nông nghiệp đang là một hướng đi mang lại nguồn lợi kinh tế cho nước nhà. Nhưng nếu áp dụng phương pháp nông nghiệp truyền thống có lẽ hiệu quả trồng trọt cũng như hiệu quả kinh tế sẽ rất thấp. Chính vì vậy áp dụng công nghệ kỹ thuật là một hướng đi thông minh nhằm kế thừa cũng như phát huy những công nghệ kỹ thuật mà ngành khoa học ngày nay đã tìm ra. Nay chúng tôi thiết kế hệ thống giám sát nhiệt độ & độ ẩm & nước mưa & ánh sáng của môi trường nhà vườn và điều khiển bơm nước tưới cây,máy bơm nước vào bồn, máy quạt hút, máy quạt mát, đèn chiếu sáng, đèn sưởi, máy kéo rèm che mưa , máy kéo rèm che nắng qua mạng internet. Dù rất nổ lực trong quá trình thực hiện, nhưng giới hạn kiến thức cũng như thời gian làm gấp rút nên không tránh khỏi những sai sót. Chúng em mong nhận được sự đóng góp, bổ sung của Thầy để nội dung nghiên cứu có thể hoàn thiện hơn.
  5. MỤC LỤC Chương 1: Mở đầu 8 I. Đặt vấn đề 8 II. Mục tiêu, nhiệm vụ và giới hạn đề tài 9 Chương 2: Giới thiệu về Internet of things (IoT) 10 I. Internet of things là gì? 16 If ứng dụn g của Io T 17 III. IoT trong tương lai 18 Chương 3: Tổng quan về các linh kiện được sử dụng 19 T ESP32 NodeMCU LuaNode32 19 1. MÔ tả 19 2. Thông số kỹ thuật 19 3.Sơ đồ chân 19 II. Module Relay 19 1 .Giới thiệu 19 2. Các loại Relay và cách xác định trạng thái của nó 20 3. Cách sử dụng Relay 21 4. Module Relay được sữ dụng 22 1. M ôTả: 22 2. Thông số kỹ thuật: 22 III. Cảm biến DHT11 23 1. Mô tả: 23 2. Thông số kỹ thuật: 23 IV. Cảm biến Photodiod Light Sensor 24 1. Mô tả: 24 2. Thông số kỹ thuật: 24 V. Cảm biến Cảm Biến Nước Mưa (Rain Water Sensor ) 25 1. Mô tả: 25 2. Thông số kỹ thuật: 25 VI. Cảm biến Cảm Biến Siêu Âm HC SR-04 27
  6. 1. MÔ tả: 27 2. Thông số kỹ thuật: 27 VII. Nguồn Xung AC-DC HIECUBE HD0512P36SR 12VDC & 5VDC 36W 28 1. Mô tả: 28 2. Thông số kỹ thuật: 28 VIII. Nguồn Tổ Ong 12V 29 1. Mô tả: 29 2. Thông Số Kỹ Thuật: 29 Chuơng 4: Giới thiệu về Webserver 31 I. Giới thiệu ứng dụng W eb 31 1. Khái niệm ứng dụng web 31 2. Các vẩn đề liên quan đến ứng dụng web 32 3. Các thuật ngữ thường dùng 32 II. Tổng quan về Web Server 36 1. Định nghĩa về Web Server 36 2. Nguyên lỷ hoạt động của Web Server 37 3. W eb C lien 38 t III. Các giao thức sử dụng trên Web Server 38 ỉ.Giao thức H TTP 38 2. Giao thức F TP 39 IV. Các Web Server thông dụng 39 1. W eb S e rve r A p a c h e 39 2.I I S 40 3. Sun Java System Web Server (JSW S) 40 Chuơng 5: Thiết kế mạch và chuông trình điều khiển 42 I. Nguyên lý sử dụng các thiết bị và thiết k ế 42 II. Giao diện w eb: 43 Trang cài đ ặt: 45 III. Phần cứng 45 III. Sơ đồ xây dựng hệ thống IoT giám sát và điều khiển thiết bị 47
  7. IV.Code điều khiển 48 1. Webserver 48 2. ESP32 NodeMCU LuaNode32 56 Code đọc giá trị cảm biến: 57 Code điều khiển nút nhấn: 58 Chuơng 6: Kết luận và huớng phát triển đề tài 64 I. Kết luận 64 II. Huớng phát triển đề tài 64 TÀI LIỆU THAM K H Ả O 65
  8. Chương 1: Mở đầu I.Đặt vấn đề Sự bùng nổ của các thiết bị, hệ thống và công nghệ thông minh gắn kết và kết nối trong cuộc sống của chúng ta đã tạo ra cơ hội để kết nối mọi điều với internet. Việc thu thập dữ liệu kết quả và kết nối đã tạo ra hiệu quả và giải pháp mà truớc đây chỉ mơ uớc trong các câu chuyện khoa học viễn tuởng. Hiện nay, hệ thống điều khiển không phải là một khái niệm mới mẻ nữa, nó đã hiện hữu trên tất cả quốc qia trên thế giới và hiện đang đóng một vai trò qua trọng trong các ngành công nông nghiệp và ngành điện. IoT đuợc ứng dụng vào nông nghiệp ở hầu hết các giai đoạn từ quá trình sản xuất đến đóng gói và phân phối nông sản đến nguời tiêu dùng. Việc ứng dụng IoT vào nông nghiệp sẽ mang lại rất nhiều thuận lợi cho nguời nông dân, quan trọng hơn là nâng cao hiệu quả trồng trọt, cũng nhu nâng cao hiệu quả kinh tế. Nhu chúng ta đều biết khí hậu ngày càng trở nên khắc nghiệt, thế nên việc con nguời tự theo dõi thời tiết và can thiệp, chăm sóc cây trồng sao cho kịp với sự thay đổi của khí hậu, quả thật tốn rất nhiều thời gian công sức, hiệu quả lại không cao. Thế nhung với sự can thiệp của máy móc, hệ thông cảm biến, sẽ giúp nguời nông dân giám sát một cách chính xác và hiệu quả nhất. Cảm biến - sensor: xuất phát từ chữ “ sense” nghĩa là giác quan - do đó nó nhu các giác quan trong cơ thể con nguời. Nhờ cảm biến mà mạch điện, hệ thống điện có thể thu nhân thông tin từ bên ngoài. Từ đó, hệ thống máy móc, điện tử tự động mới có thể tự động hiển thị thông tin về đại luợng đang cảm nhận hay điều khiển quá trình định truớc có khả năng thay đổi một cách uyển chuyển theo môi truờng hoạt động. Cảm biến là thiết bị dùng để cảm nhận biến đổi các đại luợng vật lý và các đại luợng không có tính chất điện cần đo thành các đại luợng điện có thể đo và xử lý đuợc. Các đại luợng cần đo (m) thuờng không có tính chất điện (nhu nhiệt độ, áp suất ) tác động lên cảm biến cho ta một đặc trung (s) mang tính chất điện (nhu điện tích, điện áp, dòng điện hoặc trở kháng) chứa đựng thông tin cho phép xác định giá trị của đại luợng đo. Đặc trung (s) là hàm của đại luợng cần đo (m): s = F(m) Nhận thấy sự thuận lợi cũng nhu tính ứng dụng cao của IoT trong ngành nông nghiệp, cụ thể là là trong cây trồng, nhóm chúng tôi quyết định chọn đề tài “ Phát Triển Hệ Thống IoT Cho Nông Nghiệp Thông Minh”
  9. Phạm vi ứng dụng: > Công nghiệp > Nghiên cứu khoa học. > Môi trường, khí tượng. > Thông tin viễn thông. > Nông nghiệp. > Dân dụng > Giao thông. > Vũ trụ > Quân sự II.Mục tiêu, nhiệm vụ và giới hạn đề tài Mục tiêu của đề tài là nghiên cứu và biết cách sử dụng cảm biến nhiệt độ, độ ẩm DHT, cảm biến ánh sáng, cảm biến nước mưa, cảm biến siêu âm SRF-04 và điều khiển máy bơm, máy quạt, đèn qua internet. Xây dựng hệ thống IOT để giám sát nhiệt độ, độ ẩm, nước mưa, cường độ ánh sáng qua mạng internet bằng Webservice. Ý tưởng cốt lõi của hệ thống này là các thông tin từ các cảm biến sẽ được thu thập và truyền đến xử lý trung tâm(ESP32), sau đó trung tâm sẽ đưa ra các xử lý cho hệ thống bơm tưới, bơm bồn , máy quạt, hệ thống đèn hoạt động một cách phù hợp để tạo ra một môi trường thuận lợi nhất cho cây trồng phát triển tối ưu. Đồng thời thu thập và giám sát thông tin lên internet để có thể giám sát và điều khiển các hoạt động của hệ thống.
  10. Chưotig 2: Giói thiệu về Internet of things (IoT) Hiện nay, có rất nhiều cộng đồng và nền tảng phát triển hỗ trợ làm sản phẩm IoT, trong bài này người viết sẽ đi sâu vào phân tích và sử dụng những nền tảng đại diện cho từng nhóm công nghệ. • Social: Cộng đồng mã nguồn mở dùng ngôn ngữ Arduino - Top 3 ngôn ngữ lập trinh thông dụng. • Mobile: Blynk một ứng dụng trên hai nền tảng ĨOS và Android giúp bạn làm nhanh một ứng dụng trong vòng 5 phút để giám sát và điều khiển các thiết bị IoT. • Analyze: SpeakThing nền tảng mã nguồn mở loT cho phép bạn hiến thị và phân tích dữ liệu. • Cloud: Particle Dashboard hỗ trợ lập trinh IDE online, lập trình một thiết bị phần cứng như lập trình web với Restful • Thing: Photon và SparkCore là một mạch được thiết kế tích hợp có thể lập trình bàng ngôn ngữ Arduino và kết nối qua mạng. Toàn bộ nền tảng này là OpenSource của hãng Particle. Photon Photon là một mạch tích hợp bao gồm một chip lõi ARM và một chip Wifí đế kết nối Internet. Phiên bản đầu tiên của nó có tên là Spark Core, được phát triển bởi hãng Particle vào năm 2013 từ dự án trên Kickstart.
  11. Photon được tích hợp sẵn các thư viện dùng cho việc kết nối mạng, nó dễ dàng được lập trình bằng Arduino chi' trong mấy phút. Ví dụ, chỉ cần hai dòng lệnh chúng ta có thể biến Photon thành một server REST API thông qua Particle Cloud để thu thập dữ liệu hoặc điều khiển các thiết bị khác. Ngoài ra, Particle Cloud đã hỗ trợ Webhook và có thể kết nối tới dịch vụ cloud của các hãng công nghệ lớn như Microsoft, Amazon và IFTTT - "if this, then thaf\ Ở giai đoạn đầu tiên trong tiến trình khởi nghiệp của mình, nhiều doanh nghiệp trên thế giới đã dùng Photon đễ phát triển Prototype. Thậm chí sau khi đã có những nền tảng vững chắc họ vẫn tiếp tục làm việc với Particle để biến nó thành sản phẩm thương mại, hỗ trợ mở rộng quy mô quản lý sản phẩm. Trong đó, sản phẩm tiêu biểu mà người viết muốn nhắc đến ở đây là máy pha cà phê Keurig. Sản phẩm này chỉ làm thử trong một ngày, sau một tháng đội ngũ sản xuất đã hoàn thành sản phẩm và chỉ 6 tháng sau, sản phẩm đã được trình làng trực tiếp trên thị trường.
  12. Michael Cunningham, CIO, Keurig Hệ sinh thái vườn thông minh trong nhà của Grove Lab ( cũng là một trong nhũng sản phẩm tiêu biểu khi chỉ với duy nhất một kỹ sư nhúng, họ đã hoàn thành dự án này. Các sản phẩm của Particle đều dược OpenSource trên GITHUB tại địa chỉ
  13. Hiện nay hãng có 3 dòng sản phẩm chính là module wifi Photon, KĨT Photon, Electron 2G/3G, dòng sản phẩm đầu tiên Spark Core đã ngừng bán. Blynk Blynk là một ứng dụng trên ĨOS và Android hỗ trợ lập trình viên viết các ímg dụng di động cho thiết bị thông minh - IoT chỉ trong vài phút, ứng dụng này dễ dàng kết nối với các mạch tích họp và nền tảng thông dụng như Arduino, Raspberry Pi, Esp8266, Particle (Photon/ SparkCore) thông qua Internet. Với Blynk Cloud, người dùng có thể đồng bộ dữ liệu với ứng dụng di động từ thư viện ở các nền tảng khác nhau. Sản phẩm này có giao diện tương đối dễ dùng, thao tác bằng cách kéo thả và hiện đang miễn phí với dự án thử nghiệm, dùng thử. Riêng đối vói một số thiết bị, ứng dụng Blynk đã bắt đầu có hình thức thu phí.
  14. Các ứng dụng tiêu biểu của Blynk: tay điều khiển Drone, giám sát và ứng dụng trồng cây thông minh qua Arduino. Chi tiết tham khảo tại: ■ cc/
  15. ThingSpeak ThingSpeak là một mã nguồn mở cho các ứng dụng của “Internet of Things”. Mã nguồn này hỗ trợ các API 1 ưu trữ, lấy dữ liệu từ các thiết bị, sản phẩm sử dụng HTTP qua Internet hoặc thông qua một Local Area Network. Như một HUB đợi các thông tin cảm biến từ thiết bị và có nhiệm vụ lưu trữ và xử lý dữ liệu, với ThingSpeak, bạn có thể tạo ra các ứng dụng phân tích dữ liệu, lưu trữ dữ liệu, quản lý dữ liệu một cách đơn giản. ThinkSpeak được phát triển bởi ioBridge và được opensource trên GĨTHUB
  16. Kết hợp 3 nền tảng trên để xây dụng nhanh một sản phẩm IoT Xây dựng ứng dụng theo dõi nhiệt độ, độ ẩm, nước mưa, ánh sáng sừ dụng cảm biến DHT11 , HC SR-04, Light Sensor & Rain Sensor Mô hình sản phẩm I.Internet of things là gì? 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 đổi thô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ữa ngườ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ông dâ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 đó.
  17. Hay hiểu một cách đơn giản IOT là tất cả các thiết bị có thể kết nối với nhau . Việc kết nối thì có thể thực hiện qua Wi-Fi, mạng viễn thông băng rộng (3G, 4G), Bluetooth, ZigBee, hồng ngoại Các thiết bị có thể là điện thoại thông minh, máy pha cafe, máy giặt, tai nghe, bóng đèn, và nhiều thiết bị khác. Cisco, nhà cung cấp giải pháp và thiết bị mạng hàng đầu hiện nay dự báo: Đến năm 2020, sẽ có khoảng 50 tỷ đồ vật kết nối vào Internet, thậm chí con số này còn gia tăng nhiều hơn nữa. IoT sẽ là mạng khổng lồ kết nối tất cả mọi thứ, bao gồm cả con người và sẽ tồn tại các mối quan hệ giữa người và người, người và thiết bị, thiết bị và thiết bị. Một mạng lưới IoT có thể chứa đến 50 đến 100 nghìn tỉ đối tượng được kết nối và mạng lưới này có thể theo dõi sự di chuyển của từng đối tượng. Một con người sống trong thành thị có thể bị bao bọc xung quanh bởi 1000 đến 5000 đối tượng có khả năng theo dối. ILỨng dụng của IoT IoT có ứng dụng rộng vô cùng, có thể kể ra một số thư như sau: ■ Quản lí chất thải ■ Quản lí và lập kế hoạch quản lí đô thị " Quản lí môi trường ■ Phản hồi trong các tinh huống khẩn cấp ■ Mua sắm thông minh ■ Quản lí các thiết bị cá nhân ■ Đồng hồ đo thông minh ■ Tự động hóa ngôi nhà
  18. Tác động của IOT rất đa dạng, trên các lĩnh vực: quản lý hạ tầng, y tế, xây dựng và tự động hóa, giao thông Cụ thể trong lĩnh vực y tế, Thiết bị IoT có thể được sử dụng để cho phép theo dõi sức khỏe từ xa và hệ thống thông báo khẩn cấp. Các thiết bị theo dõi sức khỏe có thể dao động từ huyết áp và nhịp tim màn với các thiết bị tiên tiến có khả năng giám sát cấy ghép đặc biệt, chẳng hạn như máy điều hòa nhịp hoặc trợ thính tiên tiến, cảm biến đặc biệt cũng có thể được trang bị trong không gian sống để theo dõi sức khỏe và thịnh vượng chung là người già, trong khi cũng bảo đảm xử lý thích hợp đang được quản trị và hỗ trợ người dân lấy lại mất tính di động thông qua điều trị là tốt. thiết bí tiêu dùng khác để khuyến khích lối Sống lành mạnh, chẳng hạn như, quy mô kết nối hoặc máy theo dối tim mạch. IILIoT trong tương lai Vì sao Cisco, Intel, và Qualcomm tài trợ khởi nghiệp cho IoT? Vì Tiềm năng hưởng lợi từ việc đầu tư vào các công ty khởi nghiệp đáng để mạo hiểm cho các hãng công nghệ khổng lồ. Như trong năm 2014, Intel kiếm hơn 2 tỷ USD từ Internet of Things Những con số khẳng định IOT là xu hướng của tương lai Internet of Things đến năm 2020: + 4 tỷ người kết nối với nhau + 4 ngàn tỷ USD doanh thu + Hơn 25 triệu ứng dụng + Hơn 25 tỷ hệ thống nhúng và hệ thống thông minh + 50 ngàn tỷ Gigabytes dữ liệu Vì thế, Internet of Thing đang là chìa khóa của thành công trong tương lai.
  19. Chưong 3: Tổng quan về các linh kiện được sử dụng I. ESP32 NodeMCU LuaNode32 1. Mô tả Kit RF thu phát Wifi BLE ESP32 NodeMCU LuaNode32 được phát triển trên nền module trung tâm là ESP32 với công nghệ Wifi, BLE và nhân ARM SoC tích hợp mới nhất hiện nay, kit có thiết kế phần cứng, firmware và cách sử dụng tương tự Kít NodeMCEl ESP8266, với ưu điểm là cách sử dụng dễ dàng, ra chân đầy đủ, tích hợp mạch nạp và giao tiếp UART CP2102, Kit Wifi BLE ESP32 NodeMCU LuaNode32 là sự lựa chọn hàng đầu trong các nghiên cứu, ứng dụng về Wifi, BLE, ĩoT và điều khiển, thu thập dữ liệu qua mạng. 2. Thông số kỹ thuật . Module trung tâm: Wifi BLE SoC ESP32 ESP-WROOM-32 • Nguồn sử dụng: 5VDC từ cổng Micro USB. • Tích hợp mạch nạp và giao tiếp UART CP2102 • Ra chân đầy đủ module ESP32, chuẩn chân cắm 2.54mm • Tích hợp Led Status, nút BOOT và ENABLE. • Kích thước: 28.33x51.45mm 3.Sơ đồ chân II.Module Relay l.Giới thiệu Rơle (relay) là một chuyển mạch hoạt động bằng điện. Dòng điện chạy qua cuộn dây của rơle tạo ra một từ trường hút lõi sắt non làm thay đồi công tắc chuyển
  20. mạch. Dòng điện qua cuộn dây có thể được bật hoặc tắt vì thế1 'ơle có hai vị trí chuyển mạch qua lại. Các chân đấu nối và chân chuyển mạch của rơle thường được ký hiệu là COM (POLE), NC và NO: " * COM/POLE = là chân chung, là nơi kết nối đường cấp nguồn chờ. NC và NO là 2 chân chuyển đổi. Trong đó: NC là điểm thường đóng, chân COM/POLE được kết nối với NC khi cuộn dây rơle không nhiễm từ (khi 2 đầu cuộn dây không được cấp diện). NO = là điếm thường mở, COM/POLE được kết nối với NO khi cuộn dây rơle được từ hóa (được cấp điện). 2.Các loại Relay và cách xác định trạng thái của nó Trên thị trường chúng ta có 2 loại modưle rơ-le: module rơ-le đóng ở mức thấp (nối cực âm vào chân tín hiệu rơ-le sẽ đóng), module rơ-le đóng ở mức cao (nối cực dương vào chân tín hiệu 1'ơ-le sẽ đóng). Nếu so sánh giữa 2 module rơ-le có cùng thông số kỹ thuật thì hầu hết mọi linh kiện của nó đều giống nhau, chỉ khác nhau ở chỗ cái transistor của mỗi module. Chính vì cái transistor này nên mới sinh ra 2 loại module rơ-le này đấy (có 2 loại transistor là NPN - kích ở mức cao, và PNP - kích ở mức thấp). Module relay kích mức cao
  21. Module relay kích ở mức thấp 3.Cách sử dụng Relay 3 chân dùng để kích o +: cấp hiệu điện thế kích tối ưu vào chân này. o - : nối với cực âm o IN: chân tín hiệu, tùy vào loại module rơ-le mà nó sẽ làm nhiệm vụ kích rơ-le ■ Nếu đang dùng module rơ-le kích ở mức cao và chân IN bạn cấp điện thế dương vào thì module rơ-le của bạn sẽ được kích, ngược lại thì không. ■ Tương tự với module rơ-le kích ở mức thấp. ? ^ _ _ Ị 3 chân1 A còn_ _lại 1 _ • nôi _ Ạ • vớir * đô /V 1 dùng^ _ _ - »điện • /V công Ạ _ _ _ suâtÀ J cao:_ _ _ o COM: chân nối với 1 chân bất kỳ của đồ dùng điện, nhung nên mắc vào đây chân lửa (nóng) nếu dùng hiệu điện thế xoay chiều và cực dương nếu là hiệu điện một chiều. o ON hoặc NO: chân này sẽ nối với chân lửa (nóng) nếu dùng điện xoay chiều và cực dương của nguồn nếu dòng điện một chiều. OFF hoặc NC: chân này sẽ nối chân lạnh (trung hòa) nếu dùng điện xoay chiều và cực âm của nguồn nếu dùng điện một chiều.
  22. 4.Module Relay được sữ dụng 1. MÔ Tả: Mạch 8 Relay Opto cách ly 5VDC thích hợp với các ứng dụng đóng ngắt tải AC hoặc DC, mạch có thiết kế nhỏ gọn, tích hợp opto và transistor cách ly, kích đóng bằng mức thấp (OVDC) phù hợp với mọi loại MCU và thiết kế có thể sử dụng nguồn ngoài giúp cho việc sử dụng trở nên thật linh động và dễ dàng. 2. Thông số kỹthuật: • Điện áp sử dụng: 5VDC • Tín hiệu kích: TTL 3.3-5VDC, mức thấp Low Relay đóng, mức cao High Relay ngắt. • Mỗi Relay tiêu thụ dòng khoảng 80mA, • Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A (Để an toàn nên dùng cho tải có công suất <100W). • Tích hợp Opto cách ly, Diod chống nhiễu và đèn báo tín hiệu kích. • Kích thước: 137X 56 X 20mm
  23. IlI.Cảm biến DHT11 l.M ô tả: Grove - Temperature & Humidity Sensor DHT11 (Cảm biến nhiệt độ & độ ẩm) được sử dụng để xác định nhiệt độ và độ ẩm của không khí trong các úng dụng: trồng cây, theo dõi thời tiết, cảm biến được tích hợp bộ tiền xử lý bên trong giúp trả ra giá trị nhiệt độ và độ ẩm chính xác mà không cần qua các bước tính toán phức tạp. 2.Thông số kỹthuật: - Điện áp hoạt động: 3 —> 5V - Dải nhiệt độ đo: 0 ->55°c với độ chính xác là±2°c - Dải độ ẩm đo: 20 -> 90% với độ chính xác là 5% - Kích thước: 15 5mmX 12mm X 5.5mm - Tần số lấy mẫu: 1Hz, nghĩa là 1 giây DHT11 lấy mẫu một lần. - 4 chân: vcc ( cực (+) nguồn ), DATA(chân tín hiệu), NC, GND(cực (-) nguồn) Cách điều khiển: DHT11 gửi và nhận dữ liệu với một dây tín hiệu data, với chuẩn dữ liệu truyền 1 dây này, chúng ta phải đảm bảo sao cho ở chế độ chờ (idle) dây DATA có giá trị ở mức cao, nên trong mạch sử dụng DHT11, dây data phải được mắc với một trở kéo bên ngoài (thông thường giá trị là 4.7kQ). Dữ liệu truyền về của DHT11 gồm 40bit dữ liệu theo thứ tự: 8 bit biểu thị phần nguyên của độ ẩm + 8 bít biểu thị phần thập phân của độ ẩm + 8 bit biểu thị phần nguyên của nhiệt độ + 8 bit biểu thị phần thập phân của nhiệt độ + 8 bit check sum. Ví dụ: ta nhận được 40 bit dữ liệu như sau: 0011 0101 0000 0000 0001 1000 0000 0000 0100 1101
  24. Tính toán: 8bit checksum: 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101 Độ ẩm: 0011 0101 = 35H = 53% (ở đây do phần thập phân có giá trị 0000 0000, nên ta bỏ qua không tính phần thập phân) Nhiệt độ: 0001 1000 = 18H =24°c (ở đây do phần thập phân có giá trị 0000 0000. nên ta bỏ qua không tính phần thập phân) IV.Cảm biến Photodiod Light Sensor 1. Mô tả: Photodiod Light Sensor là cảm biến cuờng độ ánh sáng. Cảm biến ánh sáng Photodiod Light Sensor sử dụng Photodiod thay vì quang trở để cảm biến ánh sáng nên cho độ chính xác và độ ổn định cao, cảm biến có Opamp tích hợp cho cả hai ngõ ra tín hiệu là Digital và Analog rất dễ sử dụng, thích hợp cho các ứng dụng nhận biết sáng tối, cảm biến cuờng độ sáng, 2. Thông số kỹ thuật: . Nguồn: 3.3-> 5VDC • Sử dụng Photodiod cho độ chính xác cao. • Xuất tín hiệu Digital tinh chỉnh bằng biến trở trên mạch hoặc Analog rất dễ sử dụng. • Kích thuớc: 30X 16mm A0 Ngõ ra tín hiệu Analog DO Ngõ ra tín hiệu Digital v c c Nguồn 3.3 ~ 5VDC GND Mass
  25. Cách điều khiển: Ngõ ra DO trên cảm biến được dùng để xác định cường độ sáng của môi trường, khi ở ngoài sáng, ngõ ra DO là giá trị 0, khi ở trong tối, ngõ ra DO là 1. Trên cảm biến có 1 biến trở để điều chỉnh cường độ sáng phát hiện, khi văn cùng chiều kim đồng hồ thì sẽ làm giảm cường độ sáng nhận biết của cảm biến, tức là môi trường phải ít sáng hơn nữa thì cảm biến mới đọc gía trị digital là 1, V.Cảm biến Cảm Biến Nước Mưa (Rain Water Sensor ) 1. Mô tả: Cảm biến nước mưa (Rain Water Sensor) được sử dụng để phát hiện mưa, nước hoặc các dung dịch dẫn điện tiếp xúc với bề mặt cảm biến sẽ phát ra tín hiệu để làm các ứng dụng tự động: phát hiện mưa, báo mực nước tự động, 2. Thông số kỹ thuật: • Điện áp sử dụng: 5 VDC • Kích thước tấm cảmb i ế n mưa: 54 X 40mm • Kích thước board PCB: 30 X lómm • Tín hiệu đầu ra: Digital TTL (OVDC / 5VDC) và đầu ra Analog AO trả giá trị điện áp tuyến tính theo lượng nước tiếp xúc với cảm biến. • Lỗ cố định bu lông dễ dàng để cài đặt • Có đèn báo hiệu nguồn và đầu ra • Độ nhạy có thể được điều chỉnh thông qua chiết áp » LED sáng lên khi không cỏ mưa đầu ra cao, cỏ mưa, đầu ra thấp LED tắt. AO Đầu ra tín hiệu Analog DO Đầu ra tín hiệu TTL chuyến đỗi v c c Nguồn 3.3 ~ 5VDC GND Mass
  26. Cach dieu khiên: Mach câm bien mira hoat dong bang each so sanh bien diên thé cûa mach cam bien näm ngoài t rö’i vdi giâ tri dinh trirdc (giâ tri này thay doi dupe thông qua 1 bien trd màu xanh) tù dô phât ra tin hiêu döng / ngât ro le qua chân DO. Khi câm bien khô râo (trài không mua), chân DO cûa module câm bien mua së dupe giû o mue cao (5V-12V). Khi co niioc trên bè mat câm bien (trài mua), dèn LED màu dô së sang lên, chân DO diroc kéo xuong thâp (OV). • mira: diên khâng tang lên, và diên âp dàu ra giâm • Khô: diên khâng thâp hon, và diên âp dàu ra là cao hon | Lower Output Voltage ^ Higher Output Voltage
  27. VI. Cảm biến Cảm Biến Siêu Âm HC SR-04 1. Mô tả: Cảm biến siêu âm Ultrasonic HC-SR04 được sử dụng để nhận biết khoảng cách từ vật thể đến cảm biến nhờ sóng siêu âm, cảm biến có thời gian phản hồi nhanh, độ chính xác cao, phù hợp cho các ứng dụng phát hiện vật cản, đo khoảng cách bằng sóng siêu âm. Cảm biến siêu âm Ultrasonic HC-SR04 sử dụng cặp chân Echo / Trigger để phát và nhận tín hiệu, cảm biến được sử dụng phổ biến với vô số bộ thư viện và Code mẫu với Arduino. 2. Thông số kỹ thuật: • Điện áp hoạt động: 5VDC • Dòng tiêu thụ: 10~40mA • Tín hiệu giao tiếp: TTL • Chân tín hiệu: Echo, Trigger. • Góc quét: <15 độ • Tần số phát sóng: 40Khz • Khoảng cách đo được: 2~450cm (khoảng cách xa nhất đạt được ở điều khiên lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng cách <100cm). , , , , • Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ). • Kích thước: 43mmX 20mm X 17mm v c c Nguồn 3.3 ~ 5VDC Chân phát sóng âm. Là chu kỳ của của điện cao /thấp diễn TRIG ra. Trạng thái ban dầu là ov, khi có tín hiệu trả về sẽ là 5V và ECHO sau đó trở về ov GND Mass
  28. Cách điều khiển: Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (5 microseconds) từ chân Trig. Sau đó, cảm biến siêu âm sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được sóng phản xạ ở pin này. Chiều rộng của xung sẽ bằng với thời gian sóng siêu âm được phát từ cảm biển và quay trở lại. Tốc độ của âm thanh trong không khí là 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)). Tính được sóng âm di chuyển 1 cm trong không khí sẽ mất 1000 / 344 * 100 ~= 29.1 msKhi đã tính được thời gian, ta sẽ chia cho 29,412 để nhận được khoảng cách. VU. Nguồn Xung AC-DC HIECUBE HD0512P36SR 12VDC & 5VDC 36W 1 .Mô tả: Nguồn xung AC-DC HIECƯBE HD0512P36SR 12VDC & 5VDC 36W có thiết kế chắc chắn chuyên nghiệp, sử dụng các linh kiện chất lượng tốt cho điện áp và công suất đầu ra chính xác ổn định, rất thích hợp cho các board mạch sử dụng Vi điều khiển, Cảm biến, Relay, để thực hiện vô số các ứng dụng khác nhau. 2.Thông số kỹ thuật: • Điện áp đầu vào: 85-265 VAC 50/60HZ • Điện áp đầu ra: 12VDC & 5VDC • Dòng đầu ra tối đa: o 5VDC: 0.5A o 12VDC: 3A • Công suất đầu ra tối đa: 36W • Kích thước: 23X 48 X 36mm
  29. VOUTi 5V VOUT2 12V C1 470pF/16V C2 3300pF/16V VIII. Nguồn Tổ Ong 12V 1. Mô tả: Nguồn tổ ong 12V5A hay còn gọi là bộ nguồn một chiều 12 volt đuợc thiết kế để chuyển đổi điện áp từ nguồn xoay chiều 110/220VAC thành nguồn một chiều 12VDC để cung cấp cho các thiết bị hoạt động. Nguồn tố ong 12V5A đuợc sử dụng rộng rãi trong các thiết bị công nghiệp và dân dụng. Trong công nghiệp chúng thường được sử dụng để cấp nguồn cho một số thiết bị của tủ điện. 2. Thông Số Kỹ Thuật: • Điện áp đầu vào: 100VAC ~ 250VAC • Tần số hoạt động: 47 ~ 63HZ • Công suất: 6QW • Điện áp đầu ra: 12V • Dòng điện tối đa: 5A
  30. • Điện áp điều chỉnh: ± 10% • Hiệu suất > 85% • Điều chỉnh điện áp (Đầy tải) < 0.3% • Bảo vệ quá tải 105% — 150% công suất định mức, phục hồi tự động • Chức năng bảo vệ ngắn mạch tự động • Bảo vệ quá áp 105% — 150% điện áp định mức • Nhiệt độlàm việc: -20 °c ~ 60 °c • Nhiệt độbảo quản -40 °c ~ 85 °c • Kích thước:110*78*H36 (mm)
  31. ^ __ Chương 4: Giới thiệu vê Webserver I.Giới thiệu ứng dụng Web l.Khái niệm ứng dụng web Web Application là một ứng dụng, thường bao gồm một tập hợp các script cư trú ở Webserver và tương tác với database hay các nguồn nội dung độngkh ác (dynamic content), ứng dụng này nhanh chóng được sử dụng rộng rãi vì nó cho phép nhà cung cấp dịch vụ và khách hàng chia sẻ và vận dụng thông tin theo các độc lập nền thông qua cơ sở hạ tầng của Internet. Một vài ví dụ về web application như: công cụ search, Webmail, shopping cart và portal system. 1.1. Kiến trúc cơ bản về cơ bản, một ứng dụng web bao gồm vài thành phần, các thành phần này là một web server, nội dung ứng dụng có trên 1 web server và tiêu biểu là nơi lưu trữ dữ liệu cuối cùng cho các giao diện và truy cập ứng dụng. Đây là mục tiêu rất cơ bản của ứng dụng. Kiến trúc ứng dụng Web được tạo bởi các thành phần sau: - Web server - Nội dung ứng dụng (Application content) - Lưu trữ dữ liệu (datastore) 1.2. Hoạt động của ứng dụng web Quá trình hoạt động bắt đầu với yêu cầu được tạo ra từ người dùng trên trình duyệt, gửi qua Internet tới trình chủ Web ứng dụng (Web application Serve r). Web ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện nhiệm vụ được yêu cầu: cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ liệu. Sau đó ứng dụng Web gửi thông tin lại cho người dùng qua ừình duyệt. 1.3. Kết nổi với cơ sở dữ liệu Một ứng dụng phải được viết trong một ngôn ngữ chủ được hổ trợ bởi hệ thống đặc biệt. Mỗi DBMS (Database Management System) có cách sở hữu những ứng dụng được cho phép sử dụng nó. Ưu điểm của SQL làm dễ dàng các nhà phát triển để chuẩn hóa dữ liệu định nghĩa và dữ liệu thao tác và hầu hết các nhà quản trị cơ sở dữ liệu chọn SQL là ngôn ngữ truy vấn của họ. Tuy nhiên, ứng dụng và sự phân chia cơ sở dữ liệu chỉ đạt được ưu điểm của mô hình lập trình Client-Server. Giao diện ứng dụng với cơ sở dữ liệu bằng phương
  32. pháp kết nối cơ sỏ dữ liệu APIs cung cấp với ngôn ngữ lập trình đuợc sử dụng để phát triển ứng dụng. Những bộ kết nối cơ sở dữ liệu APIs là có thể liru trữ những thông tin kết nối cơ sở dữ liệu và ủy nhiệm thu, và chúng có khả năng để gởi câu truy vấn SQL đến cơ sở dữ liệu, nhận kết quả từ câu truy vấn và trả chúng lại cho ứng dụng. Có 3 cách phổ biến nhất của giao diện ứng dụng web với cơ sở dữ liệu sau cùng là: - Native database APIs - ODBC - JDBC 2. Các vẩn đề liên quan đến ứng dụng web Các ứng dụng Web đuợc phát triển từ nhiều nguồn khác nhau, nên các lỗ hổng, các lỗi bảo mật cũng rất đa dạng. Tuy vậy, các ứng dụng Web chủ yếu đuợc phát triển từ các nguồn chính sau đây: - Sử dụng ứng dụng Web từ mã nguồn mở (thuờng gọi là open source nhung không theo dõi và cập nhật các bản vá lỗi bảo mật). - ứng dụng web đuợc phát triển từ những nguời lập trình, mà họ không quan tâm nhiều hoặc thiếu kinh nghiệm trong việc bảo mật cho ứng dụng của mình. Họ không có một đội ngũ chuyên về kiểm tra lỗi bảo mật nên trang web thuờng có nhiều lỗ hổng. - Phát triển ứng dụng Web từ một ứng dụng mở khác nhung nguời phát triển thuờng không kiểm tra lỗi bảo mật ứng dụng cũ truớc khi phát triển tiếp, nên vẫn tồn tại các lỗi bảo mật. Ngày nay do sự phát triển bùng nổ của Internet, nên ứng dụng web đuợc sử dụng rất rộng rãi trong nhiều lĩnh vực nhu báo điện tử, các trang giao dịch trực tuyến, các trang quảng cáo điện tử, các web thông tin của các doanh nghiệp hay chính phủ Chính vì sự phát triển rộng rãi này nên ứng dụng web luôn bị nguời ta tìm cách khai thác những lỗ hổng với những mục đích khác nhau. 3. Các thuật ngữ thường dùng 3.1. HTTP Header HTTP header là phần đầu (header) của thông tin mà trình khách và trình chủ gửi cho nhau. Những thông tin trình khách gửi cho trình chủ đuợc gọi là HTTP requests (yêu cầu) còn trình chủ gửi cho trình khách là HTTP responses (trả lời). Thông thuờng, một HTTP header gồm nhiều dòng, mỗi dòng chứa tên tham số
  33. và giá trị. Một số tham số có thể được dùng trong cả header yêu cầu và header trả lời, còn số khác thì chỉ đuợc dùng riêng trong từng loại. Ví dụ: • Header yêu cầu: GET /tintuc/homnay.asp HTTP/1.1 Accept: */* Accept-Language: en-us Connection: Keep-Alive Host: localhost Referer: User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Accept-Encoding: gzip, deflate - Dòng đầu là dòng yêu cầu cho biết phương thức yêu cầu (GET hoặc POST), địa chỉ yêu cầu (/tintuc/homnay.asp) và phiên bản HTTP (HTTP/1.1) - Tiếp theo là các tham số. Chẳng hạn như: + Accept-Language: Cho biết ngôn ngữ dùng trong trang web. + Host: Cho biết địa chỉ của máy chủ. + Referer: Cho biết địa chỉ của trang web tham chiếu tới. - Header của HTTP request sẽ kết thúc bằng một dòng trống. • Header trả lời: HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Thu, 13 Jul 2000 05:46:53 GMT Content-Length: 2291 Content-Type: text/html Set-Cookie: ASPSESSIONIDQQGGGNCG=LKLDFFKCINFLDMFHCBCBMFLJ;
  34. path=/ Cache-control: private - Dòng đầu là dòng trạng thái, để cho biết phiên bản HTTP được dùng (HTTP/1.1), mã trạng thái (200) và trạng thái (OK). - Tiếp theo là các tham số. - Tiếp theo là một dòng trống để báo hiệu kết thúc header, tiếp theo là phần thân của HTTP response. 3.2. Session Session hiểu nôm na là "phiên làm việc". Ở trên web, khi ta duyệt từ trang này sang trang khác, một vấn đề đặt ra là làm sao để có thể mang thông tin từ trang này sang trang khác được (Ví dụ khi ta login với user A, thì khi ta sang trang X , y, z ta vẫn còn là A). Session ra đời để giải quyết vấn đề trên. Lần đầu khi ta ghé thăm 1 website, website sẽ tạo cho ta 1 session với ID riêng, và cứ thế duyệt website đó cho tới khi session hết hạn. Website có thể dùng session để lưu một số thông tin giúp chúng ta thuận tiện hơn khi duyệt website (như ví dụ trước là lưu trữ thông tin người dùng hiện tại đang login vào website là ai). Việc tạo session và quyết định khi nào session hết hạn là hoàn toàn do server quản lý. 3.3. Cookie Cookies là những phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa server Web và browser của người dùng. Cookie cung cấp cho server thông tin để nhận biết người dùng, cũng như sở thích, thói quen của họ. Cookies sử dụng các biểu mẫu yêu cầu người dùng điền vào khi họ đến thăm một Web site có hỗ trợ chúng. Không phải mọi browser đều có thể hỗ trợ cookie.
  35. Cookie là những file dữ liệu nhỏ, dưới 4K byte. Chúng được các site World Wide Web tạo ra để truy tìm những người đã ghé thăm site và những vùng mà họ đã đi qua trong site này. Cookie được browser của người dùng chấp nhận cho lưu trên đĩa cứng của máy mình (máy khách). Trong những phiên truy cập sau, server Web truy cập những thông tin của cookie, trong đó có tên đăng nhập và password, nên người dùng không phải làm thủ tục đăng nhập mỗi khi họ thăm Web site. Nhưng vấn đề là ở chỗ Web site này có thể dùng thông tin cá nhân của bạn để phục vụ cho mục đích quảng cáo. Netscape Communications Corp. là hãng đầu tiên sử dụng cookie trong browser và ngay sau đó, Microsoft cũng chấp nhận kỹ thuật này. Nhưng không phải browser nào cũng hỗ trợ cookie, đặc biệt là những phiên bản cũ. Nhưng rõ ràng là cookie chứa đựng trong nó những nguy cơ về bảo mật. Ví dụ, một tay hacker ở ngân hàng có thể để một cookie trên hệ thống của hắn và sửa sao cho nó tái tạo dữ liệu trên máy của người khác. Sau đó, anh ta có thể sử dụng dữ liệu này để truy cập account của người kia. Những trình duyệt mới hơn cho phép người dùng khóa các cookie hoặc xin phép họ trước khi lưu lại cookie trên hệ thống. Một số phần mềm của các hãng thứ ba cũng giúp quản lý cookie. Nhưng đối với người dùng, thật khó biết tại sao cookie lại có mặt trên hệ thống của họ cũng như những cookie này chứa đựng thông tin gì- 3.4. P ro x y Proxy cung cấp cho người sử dụng truy xuất Internet những nghi thức đặt biệt hoặc một tập những nghi thức thực thi trên dualhomed host hoặc basion host. Những chương trình client của người sử dụng sẽ qua trung gian proxy server thay thế cho server thật sự mà người sử dụng cần giao tiếp. Proxy server xác định những yêu cầu từ client và quyết định đáp ứng hay không đáp ứng, nếu yêu cầu được đáp ứng, proxy server sẽ kết nối với server thật thay cho client và tiếp tục chuyển tiếp những yêu cầu từ client đến server, cũng như trả lời của server đến client. Vì vậy proxy server giống cầu nối trung gian giữa server và client. 3.5. Firewall Một giải pháp dùng để bảo vệ một hệ thống mạng thường được sử dụng là bức tường lửa - Firewall (hoạt động dựa trên gói IP do đó kiểm soát việc truy nhập của máy người sử dụng). Nó có vai trò như là lớp rào chắn bên ngoài một hệ thống mạng. Firewall có thể là một thiết bị định hướng (Router, một thiết bị kết nối giữa hai hay nhiều mạng và chuyển các thông tin giữa các mạng này) hay trên
  36. một máy chủ (Server). Công việc của chúng là ngăn chặn những người dùng không mong muốn truy cập vào mạng và cho phép người dùng hợp lệ thực hiện việc truy xuất. Ngoài ra, nó cũng có khả năng ngăn chặn người bên trong công ty, ngân hàng giao tiếp với kẻ xấu bên ngoài; chẳng hạn việc nhân viên giao dịch với đối thủ cạnh tranh. Firewall có thể là một phần mềm hoặc phần cứng nằm giữa 2 mạng để bảo vệ hoặc kiểm soát liên kết giữa hai mạng đó. II.Tổng quan về Web Server l.Định nghĩa về Web Server Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác (các mã Script, các chương trình, và các file Multimedia). Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP, giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác. Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. Giả sử khi người sử dụng đánh vào thanh Address trên trình duyệt của máy một dòng sau đó gõ phím Enter, khi đó người sử dụng đã gửi một yêu cầu đến một Server có Domain Name là www.abc.com . Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của người sử dụng. Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet. Khi máy tính kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại những thông tin mà người sử dụng mong muốn. Web Server Software cũng chỉ là một ứng dụng phần mềm. Web Server Software được cài đặt, và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet). Web Server Software còn có thể được tích hợp với CSDL (Database), hay điều khiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lên
  37. các trang Web và truyền tải chúng đến người dùng. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java System Web Server dành cho *.jsp Phần lớn các Web server sử dụng cổng 80, nhưng cũng có thể thay đổi để Webserver có thể cài đặt trên cổng không tiêu chuẩn nếu muốn "dấu" Web server như là một Web server đa host trên một máy tính bằng việc ánh xạ mỗi server cho một cổng khác nhau. 2.Nguyên lỷ hoạt động của Web Server Khi ta gõ địa chỉ trang web “ ” vào trình duyệt web và nhấn Enter, trang web hiển thị ngay trên màn hình. Các bước cơ bản trong tiến trình truyền tải trang web đến màn hình người dùng bằng cơ chế hoạt động của Web server được thể hiện. Ttrình duyệt web thực hiện một kết nối tới máy chủ web, yêu cầu một trang web và nhận lại nó. Sau đây, là thứ tự từng bước cơ bản xảy đến đằng sau màn hình của bạn: Trình duyệt web tách địa chỉ website làm 3 phần: - Phần giao thức: (“http”) - Máy chủ tên miền: (www.abc.com ) - Tên tệp: (“index.htm”) Trình duyệt liên hệ với máy chủ tên miền để chuyển đổi tên miền "www.abc.com " ra địa chỉ IP (Internet Protcol). Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ có địa chỉ IP tương ứng qua cổng 80. Dựa trên giao thức HTTP, trình duyệt gửi yêu cầu GET đến máy chủ, yêu cầu tệp " " (cookies cũng sẽ được gửi kèm theo từ trình duyệt web đến máy chủ). Tiếp đến, máy chủ sẽ gửi đoạn text dạng HTML đến trình duyệt web máy đã gởi yêu cầu (cookies cũng được gửi kèm theo từ máy chủ tới trình duyệt web, cookies được ghi trên đầu trang của mỗi trang web). Trình duyệt web đọc các thẻ HTML, định dạng trang web và kết xuất ra màn hình.
  38. - WebClient là gì? Là giao diện phía người dùng đầu cuối (Client), dùng để tạo ra giao diện tương tác của người dùng đối với ứng dụng Web (User Interface). - Các công nghệ/ ngôn ngữ lập trình hỗ trợ cho WebClient +Công nghệ: Photoshop, Flash, Silver Light (Microsoft)v. V +Ngôn ngữ: html, css, javascript v.v Để đọc được các trang Web của ứng dụng Web trên máy người dùng phải cài các trình duyệt (Browser), ví dụ: FireFox, IE, Chrome, Coccoc (VN) v.v IlI.Các giao thức sử dụng trên Web Server ỉ.Giao thức HTTP HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản). Nó là giao thức cơ bản mà World Wide Web sử dụng. HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các lệnh rất đa dạng. Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web. Nói cách khác, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Intemet.HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet). Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng quản lý cách thức mà các trang Web được định dạng và hiển thị. Người ta gọi HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều được thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh đã đến trước mình. Đây chính là một hạn chế, khiếm khuyết của HTTP. Nó là nguyên nhân chính của tình trạng rất khó thực thi các trang Web có khả năng phản ứng thông minh đối với lệnh mà người dùng nạp vào. Và sự hạn chế này đang được các nhà phát triển khắc phục trong các công nghệ mới như ActiveX, Java, JavaScript và cookies.
  39. Phiên bản mới nhất của HTTP là 1.1. So với phiên bản nguyên thủy (HTTP 1.0), phiên bản mới này truyền tải các trang Web nhanh hơn và giảm tình trạng tắc nghẽn giao thông Web. 2. Giao thức FTP FTP là viết tắt từ File Transfer Protocol (giao thức truyền tải file) là một giao thức dùng để tải lên (upload) các file từ một trạm làm việc (workstation) hay máy tính cá nhân tới một FTP server hoặc tải xuống (download) các file từ một máy chủ FTP về một trạm làm việc (hay máy tính cá nhân). Đây là cách thức đơn giản nhất để truyền tải các file giữa các máy tính trên Internet. FTP hiện đuợc dùng phổ biến để upload các trang Web từ nhà thiết kế Web lên một máy chủ host trên Internet, truyền tải các file dữ liệu qua lại giữa các máy tính trên Internet, cũng nhu để tải các chuông trình, các file từ các máy chủ khác về máy tính cá nhân. Dùng giao thức FTP, bạn có thể cập nhật (xóa, đổi tên, di chuyển, copy,) các file tại một máy chủ. Nếu dùng chức năng FTP của một ứng dụng quản lý file (nhu Total Commander), bạn có thể tiến hành các tác vụ xử lý file trên máy chủ giống nhu ngay trên máy tính của mình. IV.Các Web Server thông dụng 1. Web Server Apache Apache hay là chuông trình máy chủ HTTP là một chuông trình dành cho máy chủ đối thoại qua giao thức HTTP. Apache chạy trên các hệ điều hành tuơng tự nhu Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới (World Wide Web). Khi đuợc phát hành lần đầu, Apache là chuông trình máy chủ mã nguồn mở duy nhất có khả năng cạnh tranh với chuông trình máy chủ tuơng tự của Netscape Communications Corporation mà ngày nay đuợc biết đến qua tên thuơng mại Sun Java System Web Server. Từ đó trở đi, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chuông trình máy chủ khác về mặt hiệu suất và tính năng phong phú. Từ tháng 4 năm 1996, Apache trở thành một chuông trình máy chủ HTTP thông dụng nhất. Hơn nữa, Apache thuờng đuợc dùng để so sánh với các phần mềm khác có chức năng tuơng tự. Tính đến tháng 1 năm 2007 thì Apache chiếm đến 60% thị truờng các chuông trình phân phối trang web.
  40. Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation. Apache được phát hành với giấy phép Apache License và là một phần mềm tự do và miễn phí. 2.7/5 Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet) là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server, Nó có thể được sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng “Phương thức chuyển giao siêu văn bản - Hypertext Transport Protocol (HTTP)”. Trong chiến lược giành thị phần Internet của Microsoft, máy chủ Web Internet Information Service (IIS) là một trong những ưu tiên hàng đầu. Phiên bản đầu tiên IIS 1.0 được giới thiệu cách đây 11 năm cùng với Windows NT 4.0 vào năm 1996. Đến năm 1999, IIS 5.0 (trên nền Windows 2000 Server) nhanh chóng trở thành máy chủ web phổ biến nhất vào thời điểm đó, mặc dù chỉ vài tháng sau nó phải đối mặt với những lỗ hổng bảo mật nghiêm trọng, bị các virus như Red Code, Nimbda khai thác. Phiên bản IIS 6.0 trên nền Windows Server 2003 được đánh giá là máy chủ web chắc chắn, ổn định, nhờ những thay đổi quan trọng trong kiến trúc. Được viết lại trong sự khác biệt rất lớn so với IIS 6.0, với những cải tiến tốc độ, độ ổn định và khả năng an ninh, mục tiêu của IIS 7.0 là trở thành một máy chủ web uyển chuyển và dễ dùng, cũng như đủ mạnh để chạy các ứng dụng web trong tương lai. Được coi là máy chủ web nhiều tham vọng nhất của Microsoft từ trước đến nay, cũng như là lần nâng cấp có những thay đổi quan trọng nhất trong lịch sử. 3. Sun Java System Web Server (JSWS) Sun Java System Web Server (JSWS) được phát triển dựa trên chương trình máy chủ web NCSA và được biết đến dưới một số tên như Sun ONE, Netscape Enterprise Server, và iPlanet Enterprise Server. Khi AOL mua Netscape năm 1999, công ty này đã cộng tác với Sun Microsystems để hỗ trợ và tiếp tục phát triển sản phẩm Netscape. Sự cộng tác này được gọi tên là iPlanet và hoạt động của nó kéo dài 3 năm và hết hạn vào tháng 3 năm 2002. Khi kết thúc, iPlanet trở thành một phần của Sun bởi vì máy chủ web và các phần mềm thương mại điện tử mà iPlanet bán đã có quan hệ chặt chẽ với hoạt động kinh doanh của Sun hơn của Time Warner. Sun JSWS là sản phẩm thương mại, tuy nhiên chi phí bản quyền của nó là chấp nhận được. Mức phí của nó thay đổi tùy thuộc vào năng lực của bộ vi xử lý của máy chủ mà nó cài đặt lên, tuy nhiên phần lớn website trả với
  41. mức phí từ USD 1400 đến USD 5000 cho việc mua bản quyền này. Phần mềm của Sun cũng hoạt động đuợc trên nhiều hệ điều hành nhu: HP UX, Solaris và cả Windows. Theo đánh giá mới đây, chỉ có khoảng 5% máy chủ web sử dụng Sun JSWS. Tuy nhiên một số website nổi tiếng nhất, tấp nập nhất lại vẫn đang sử dụng phần mềm máy chủ này của Sun, điển hình là BMW, Dilbert, E*TRADE, Excite, Lycos và Schwab. Báo cáo từ công ty tu vấn nhu Gartner, Inc. chỉ ra rằng Sun JSWS đuợc sử dụng với mức hơn 40% đối với các website công cộng và hơn 60% của 100 website kinh doanh đứng đầu. Cũng nhu phần lớn các chuơng tình máy chủ khác, Sun JSWS hỗ trợ phát triển các ứng dụng động cho các ứng dụng.
  42. Chương 5: Thiết kế mạch và chương trình điều khiển I.Nguyên lý sử dụng các thiết bị và thiết kế -Dùng cảm biến DHT11 để đo thông số nhiệt độ và độ ẩm môi trường cây trồng để quyết định việc điều khiển các thiết bị bơm tưới, quạt làm mát, quạt hút, đèn sưởi (hệ thống làm ấm môi trường). -Dùng cảm biến ánh sáng để đo ánh sáng môi trường để quyết định bật tắt hệ thống chiếu sáng phụ thêm cho một số loại cây trồng khi thời tiết không có ánh sáng. Hoặc dùng tính năng này trong việc điều khiển các đèn ánh sáng với các bước sóng hồng ngoại - bước sóng tần số cao trong nuôi cấy mô thực vật. Ngoài ra còn dùng trong trường hợp kéo rèm che nắng để bảo vệ cây trồng. -Dùng cảm biến mưa để xác định có mưa hay không để quyết định việc điều khiển kéo rèm che bảo vệ cây trồng. -Dùng cảm biến siêu âm SRF04 để xác định mức nước có trong bể (bồn) chứa để quyết định điều khiển tự động bơm nước vào bể chứa. -Các thông số dữ liệu sẽ được gửi lện Webserver để giám sát và điều khiển thông qua module ESP32 bao gồm: Ánh sáng (Light Sensor: đơn vị %) Trạng thái tất cả thiết bị có trong hệ thống (ON: Green, OFF: gray) - Bơm bồn, bơm tưới, đèn sáng, đèn sưởi, quạt hút, quạt mát, rèm che mưa, che nắng -Webserver có chức năng điều khiển bằng tay (MAN) và tự động (AUTO). AUTO: dựa trên giá trị các cảm biến và kinh nghiệm của người nuôi trồng cài đặt cho hệ thống trên nền tảng giao diện Web. -Webserver có tích hợp trang cài đặt các kinh nghiệm để thiết kế một hệ thống nông nghiệp thông minh cụ thể nào đó như: oN hiệt độ, độ ẩm cao nhất - thấp nhất cho môi trường nuôi trồng cụ thể Mức cao và mức thấp quyết định điều khiển bơm vào bể
  43. Ảnh sáng thấp nhất - cao nhất cần cho hệ thống (Light Min-max) <>Các thông số cài đặt được gửi về ESP32 lưu vào ROM, để không bị mất. -ESP 32 lập trình kết nối với WiFi và được kết nối đến thiết bị để điều khiển thông qua mạng internet. II.Giao diện web: HỆ THONG NÔNG NGHIỆP THÔNG MINH HỆ THỐNG LÀM MẢ T HỆ THÔNG RÈM CHE HỆ THỐNG CẢM BỈÉN N H IỆ T Đ Ộ Đ Ộ Ẩ M Ả N H S Ả N G MƯA 0.0 0.0% 0% 0% Ọ UẨN L Ỷ NĂNG L ƯỢNG T H IẾ T B Ị D Ò N G Đ IỆ N Đ IỆ N Á P C Ô N G SU Ấ T Đ IỆ N N Ằ N G B Ơ M B Ổ N 0.0 0 .0 % 0% 0%
  44. HỆ THÓNG NÔNG NGHIỆP THÔNG MINH HỆ THÔNG TƯỞI HỆ THÔNG CHIẾU SẢNG HỆ THÔNG LÀM MÁT HỆ THÔNG RÈM CHE
  45. Trang cài đặt: Setting Some Parameters For ESP32 fc*Bom Bồn: -Level Mm: cm -Level Max: 40 cm -PumHeight: 50 cm Send to ESP32 Bom Tuõi: Time Start Run: H:| 0 T [M:| 0 ▼ |S:| 0 * I Running Time: H:| 0 T [M:| Q T |S:| 0 T I Mode for Auto: I Evironment T Send to ESP32 Environmental Requirements Temperature Min 27 c Temperature Max 33 c Humi Mm 40 °c Humi Max 80 °c Light Min 10 % Light Max 10 % Send to ESP32 IlI.Phần cứng • ESP32 NodeMCU LuaNode32 • Module relay kích mức thấp • Module DHT11 • Module Photodiod Light Sensor • Module Rain Water Sensor • Module HC SR-04 • LCD 20x4 • Thiết bị
  46. Kết nối phần cứng: i. Kết Nối Các Cảm Biến 2. Kết Nối Phần Cứng Mô Hình
  47. Bang két nói các phán tu* trong mach: ESP32 NodeMCU LuaNode32 VCC 5V DHT11 SENSOR GND MASS DATA G P I0 2 7 VCC 5V GND MASS HC SR-04 SENSOR TRIG G P I0 5 ECHO G P I0 1 8 VCC 5V RAIN SENSOR GND MASS AO G P I0 3 5 VCC 5V LIGHT SENSOR GND MASS AO G P I0 3 4 III.So* do xáy dung he thong IoT giám sát va diéu khién thiét bi
  48. IV. Code điều khiển 1. Webserver //all device //device number ID MOD //BƠM BON 0 DEVOMDO //BƠM TƯỚI 1 DEV1MD1 //ĐÈN SÁNG 2 DEV2MD2 //ĐÈN SƯỞI 3 DEV3MD3 //QUẠT MÁT 4 DEV4MD4 //QUẠT HÚT 5 DEV5MD5 //CHE MUA6 DEV6MD6 //CHE NẮNG 7 DEV7MD7 var DevOn = 0; var DevOff = 1; var MAN = 0; //Mode maunal by set hand var AUTO = 1; //Mode auto var ColorButton = [M#00FF40M, M#C0C0C0M]; // [ONColor, Off Color] var ColorOn = "#00FF40"; var ColorOff = "";//"#C0C0C0"; var DevState = [DevOff, DevOff, DevOff, DevOff, DevOff, DevOff, DevOff, DevOff]; var ModeState = [MAN, MAN, MAN, MAN, MAN, MAN, MAN, MAN]; var Humi = 0; var Temp = 0; var Light = 0; var Rain = 0; var WaterLevel = 0;
  49. var Current = 0; var Voltage = 0; var SumPower = 0; var Power = 0; var xh; var run = 0; var run Dev = 0; //function indicate your Browser function loadXmlHttpO { if (window. XMLHttpRequest){ xh = new XMLHttpRequest(); }else if (window. ActiveXObject){ try { xh = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){} } } function PressDevice(p){ runDev = 1; loadXmlHttpO; if(xh){ obj = {"Dev":p}; dbParam = JSON.stringify(obj); xh.open("POST","Dev",true); //Button is url, true is asynchronuos. UpdateOneStateChangeQ;
  50. } } function UpdateOneStateChange(){ //update 1 trang thai cua nut nhan xh.onreadystatechange = function(){ if (xh. ready State == 4){ if(xh. status == 200) { var res = JSON.parse(xh.responseText); Dev = res.D; DevState[Dev] = res.V; var color = (DevState[Dev]==DevOn)?ColorOn:ColorOff; document. getElementById("DEV"+Dev).style.backgroundColor = color;//ColorButton[PumState [ [Pum] ] ]; runDev = 0; } } } } //PRESS ANY MODE BUTON (MAN/AƯTO) function PressMode(p){ runDev = 1; loadXmlHttpO; if(xh){ obj = {"Dev":p}; dbParam = JSON.stringify(obj);
  51. xh.open("POST",MMD",true); //Button is url, true is asynchronuos. UpdateModeButton(); xh.setRequestHeader("json", "-X POST -d"); xh. send(dbParam); } } function UpdateModeButton(){ //update 1 trang thai cua nut nhan xh.onreadystatechange = function(){ if (xh. ready State == 4){ if(xh. status == 200) { var res = JSON.parse(xh.responseText); Dev = res.D; Mode = res.M; Mode State [Dev] = Mode; var color = (Mode==AUTO)?ColorOn:ColorOff; var txt = (Mode==AUTO)?" AUTO": "MAN"; var btMode = document.getElementById("MD"+Dev); btMode. style. backgroundColor = color; btMode.innerText = txt; runDev = 0; //document.getElementById("MD"+Dev). style. backgroundColor = color;//ColorButton[PumState [ [Pum] ] ]; } } } }
  52. function GetAllInfoDev(){ loadXmlHttpO; if(xh){ xh. open(" GET",M / AllDe v" ,true); // For onreadystatechange xh.onreadystatechange = function(){ if (xh. ready State == 4){ if(xh. status == 200) { var res = JSON.parse(xh.responseText); //Ndev = Number(res.ndev); //Ndev DevState = res.DS; ModeState = res.DM; UpdateDisplayDev(); } } } } xh.send(null); } function UpdateDisplayDev(){ for(i = 0;i<8;i++){ d = document. getElementById("DEV"+i); m = document.getElementById("MD"+i); colord = (DevState [i]==DevOn)?ColorOn:ColorOff; colorm = (ModeState[i]==AUTO)?ColorOn:ColorOff; tx tm = (ModeState[i]==AUTO)?"AUTO":"MAN"; d.style.backgroundColor = colord;
  53. m. style. backgroundColor = colorm ; m.innerText = tx tm ; } } function InitLoadhtml(){ GetAllInfoDev(); UpdateDisplayDev(); } function get_RTC_2Update_Server() { var today = new Date(); var h=today.getHours(); var m=today.getMinutes(); var s=today.getSeconds(); loadXmlHttpO; if(xh){ obj = {"h":h,"m":m,"s":s}; dbParam = JSON.stringify(obj); xh.open("POST",MRTC",false); //PWM is url, true is asynchronuos. xh.onreadystatechange = function(){ if (xh. ready State == 4){ if(xh. status == 200) { //var res = JSON.parse(xh.responseText); console.log(xh.responseText); } } }
  54. } } function Request_All_Sensors(){ //CallTimeRun(); UpdatePage(); if(runDev == 0){ run = run + 1; if(run = 3 ){ run =0; loadXmlHttpO; if(xh){ xh.open("GET",M/ReadAllSensor",true); //desable all control for(i=0;i<8;i++){ document.getElementById("DEV"+i).disable = 1 document.getElementById("MD"+i).disable = 1; } // For onreadystatechange xh.onreadystatechange = function(){ if (xh. ready State == 4){ if(xh. status == 200) { var res = JSON.parse(xh.responseText); Temp = res.T; Humi = res.H;
  55. Light = res.L; Rain = res.R; Current = res.I; Voltage = res.V; SumPower = res.P; DevState = res.DS; ModeState = res.DM; WaterLevel = res.W; Power = Current* Voltage; /*update::: 0.0 ::: 0.0% ::: 0% 0% */ document.getElementById("lbNhietDo").innerText = Temp; document. getElementById("lbDoAm").innerText = Humi; document. getElementById("lbAnhSang").innerText = Light; document. getElementById("lbMua"). innerT ext = Rain; document. getElementById("lbCuongDo").innerText = Current; document.getElementById("lbDienAp").innerText = Voltage; document. getElementById("lbCongSuat").innerText = Power; document. getElementById("lbDienNang").innerText = SumPower; document.getElementById("WL").value = WaterLevel;
  56. for(i=0;i<8;i++){ document. getElementById("DEV"+i). disable = 0; document. getElementById("MD"+i).disable = 0; } } } } xh.send(null); } } } } var DHT = setInterval(Request_All_Sensors, 1000);//3000 run OK function UpdatePage(){ for(i = 0; i<8; i++){ DevColor = (DevState[i]==DevOn)?ColorOn:ColorOff; ModeColor = (ModeState[i]==AUTO)?ColorOn:ColorOff; document. getElementById("DEV"+i). style.backgroundColor = D evColor; document. getElementById("MD"+i). style.backgroundColor = M odeColor; } } 2. ESP32 NodeMCU LuaNode32
  57. Code đọc giá trị cảm biến: void ReàdDHTl 1(){ float h = dht.readHumidityO; //read Humi - Do am //float h = 0; float t = dht.readTemperature();//read temperature - Nhiet do float f = dht.readTemperature(true); if (isnan(h) II isnan(t) II isnan(t)) { Serial.println("Failed to read fromDHT sensor!"); return; }else{ Humi = h; Temp = t; } s erial. println(Humi) ; Serial.println(Temp); } void ReadLightSensor(){ //ov = 0%, 3.3V = 100% int sensor = analogRead(DevLightSensor); Light = 100-(int)100.0*sensor/4096; //String str = "anh sang:" + String(Light); //Serial.println(str); } void ReadRainSensor(){ int sensor = analogRead(DevRainSensor); Rain = (int)100.0*sensor/4096; String str = "rain:" + String(sensor); Serial, println(str);
  58. } void ReadUltraSonic(){ // Every 500 miliseconds, do a measurement using the sensor and print the distance in centimeters. float k = distanceSensor.measureDistanceCm(); WaterLevel = H Bon - k; String str = "Muc nuoc:"+String(WaterLevel); Serial, println(str); } Code điều khiển nút nhấn: void Auto_CheMua(){ //Che mua if(DevMode[6]==AUTO){ if(DevState[6]==devOff){ if(Rain>=RainMin) { DevState[6]=devOn; digitalWrite(Dev[6],devOn); } } } //Tu keo khong che if(DevMode[6]==AUTO){ if(DevState [6]==devOn) { if(Rain<RainMin) { DevState[6]=devOff; digital Write(Dev[6],devOff); }
  59. } } } void Auto_CheNang(){ //Che nang if(DevMode[7]==AUTO){ if(DevState[7]==devOff){ if(Light>=LightMax) { DevState[7]=devOn; digitalWrite(Dev[7],devOn); } } } //Tu keo khong che nang if(DevMode[7]==AUTO){ if(DevState [7]==devOn) { if(Light<LightMin) { DevState[7]=devOff; digitalWrite(Dev[7],devOff); } } } } void Auto_ChieuSangDen(){ if(DevMode[2]==AUTO){ //chieu sang
  60. if(DevState[2]==devOff){ if(Light LightMin) { DevState[2]=devOff; digital Write(Dev[2],devOff); } } } } void Auto_DenSuoi(){ if(DevMode[3]==AUTO){ //Bat den suoi if(DevState [3 ]==devOff) { if(T emp>=T empMax) { DevState [3 ]=devOn; digitalWrite(Dev[3],devOn); } } //tat den suoi if(DevState [3 ]==devOn) {
  61. if(T emp =T empF anMax) { DevState[4]=devOn; digitalWrite(Dev[4],devOn); } } //tat den suoi if(DevState [4]==devOn) { if(T emp<=T empF anMin) { DevState[4]=devOff; digital Write(Dev[4],devOff); } } } } void Auto_QuatHut(){ //khi nhiet do cao, do am cao lam thuc vat chet
  62. if(DevMode[5]==AUTO){ //Bat quat hut if(DevState[5]==devOff){ if(Temp>=TempFanOutMax II Humi > HumiMax){ DevState[5]=devOn; digitalWrite(Dev[5],devOn); } } //tat quat hut if(DevState[5]==devOn){ if(Temp<TempFanOutMin && Humi<HumiMin){ DevState[5]=devOff; digital Write(Dev[5],devOff); } } } } void Auto_BomBon(){ if(DevMode[0]==AUTO){ //Batbom bon if(DevState[0]==devOff){ if(WaterLevel<WaterLevelMin){ DevState[0]=devOn; digitalWrite(Dev[0],devOn); } } //tat bom bon
  63. if(DevState [0]==devOn) { if(WaterLevel>=WaterLevelMax) { DevState[0]=devOff; digital Write(Dev[0],devOff); } } }
  64. Chương 6: Kêt luận và hướng phát triên đê tài I. Kết luận Công nghệ IoT nói chung và mạng cảm biến không dây nói riêng hứa hẹn tạo ra những ứng dụng đầy tiềm năng, có thể áp dụng trong nhiều lĩnh vực khác nhau, mà đối với các công nghệ khác còn nhiều hạn chế. Tuy nhiên để triển khai mạng nguời thiết kế hệ thống yêu cầu phải nắm bắt đuợc những nhân tố tác động đến mạng, những nhuợc điểm của mạng cần phải đuợc khắc phục. Tức là, nguời thiết kế cần phải quan tâm đến các tham số mạng, ví dụ nhu tập các chất luợng dịch vụ QoS. Nhờ quá trình mô phỏng nguời thiết kế hệ thống có thể đánh giá đuợc chất luợng dịch vụ mạng cung cấp, để từ đó có thể thiết kế hệ thống theo cách tối ưu nhất. Trên cơ sở nghiên cứu tổng quan về IoT, công nghệ cảm biến không dây và các ứng dụng trong thực tiễn, em đã xây dựng thành công một chương trình thực nghiệm có tính khả thi cao (như đã trình bày trong phần đánh giá kết quả chạy thử nghiệm). Tuy nhiên, do thời gian và số lượng các cảm biến hạn chế, chương trình chưa chạy thử nghiệm với một số lượng lớn các thiết bị cảm biến, vì vậy chưa đánh giá hết được một số vấn đề như: việc truyền nhận dữ liệu từ thiết bị cảm biến đến các node mạng cảm biến, vấn đề xung đột dữ liệu Đây cũng là một trong những hướng nghiên cứu, phát triển tiếp theo của luận văn. Ưu điểm: - Đáp ứng được yêu cầu của đề tài. - Hiển thị rõ ràng. - Tiết kiệm được công sức con người. - Có thể ở bất cứ nơi đâu cũng có thể giám sát và điều khiển thiết bị (chỉ cần có WIFI). II. Hướng phát triển đề tài -Điều khiển thiết bị bằng WiFi có thể ứng dụng vào thiết kế SmartHome. -Có thể mở rộng mô hình tích hợp thêm nhiều loại cảm biến giám sát, nhiều module khác, nhiều thông số hơn. -Có thể tích hợp thêm module sim để điều khiển thiết bị phòng trường hợp không có mạng wifi.
  65. TÃI LIỆU THAM KHẢO 1. Giáo trình cảm biến. (2000) Phan Quốc Phô, Nguyễn Đức Chiến. - NXB Khoa học và kĩ thuật. 2. Vi điều khiển câu trúc lập trình và ứng dụng. (2008) Kiều Xuân Thực, Vũ Thị Huơng, Vũ Trung Kiên - NXB Giáo Dục. 3. Website 4. Website 5. Website 6. Website 7. Website 8. Website 9. Webcoban.vn