1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ ÁN VI ĐIỀU KHIỂN DÙNG IOT

52 1.6K 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • MỤC LỤC

    • Đặt vấn đề

    • 1.1. Iot là gì ?

    • 1.2. Nhu cầu phát triển của hệ thống điều khiển nông nghiệp tự động:

      • 1.2.1. Công nghệ quản lý, điều khiển:

      • 1.2.2. Công nghệ tưới tiêu:

    • 1.3. Mục tiêu đề tài:

    • 2.1. Sơ đồ khối chức năng:

      • 2.2. Giải thích chức năng các khối trong sơ đồ khối chức năng:

      • 2.2.1. Khối cảm biến:

      • 2.2.2. Khối điều khiển, hiển thị trên board mạch:

      • 2.2.3. Khối điều khiển, hiển thị qua Internet:

      • 2.2.4. Khối xử lí trung tâm:

    • 3.1. Khối cảm biến:

      • 3.1.1. Cảm biến độ ẩm:

      • 3.1.2. Cảm biến nhiệt độ:

    • 3.2. Khối điều khiển, hiển thị trên board mạch:

      • 3.2.1. IC 74HC595:

      • 3.2.2. Modun 2 led 7seg chung dương:

    • 3.3. Khối điều khiển, hiển thị trên board mạch:

    • 3.4. Khối xử lí trung tâm:

      • 3.4.1. Sơ đồ chân:

      • 3.4.2. Một số thông số hoạt động:

    • 3.5. NAT Port cho Esp 8266:

      • 3.5.1. NAT Port là gì?

      • 3.5.2. Mô tả giao diện:

      • 3.5.3. Cách NAT Port trên FPT G-97D2:

      • 3.5.4. Tạo một Domain và gán IP modem:

    • THI CÔNG MẠCH, LẬP TRÌNH

    • 4.1. Thi công mạch trên phần mềm Proteus:

      • 4.1.1. Mạch nguyên lí:

      • 4.1.2. Mạch PCB:

    • 4.2. Lập trình:

      • 4.2.1. Sơ đồ thuật toán:

      • 4.2.2. Code: (xem phụ lục)

    • 4.3. Một số hình ảnh kết quả:

    • 5.1. Ưu điểm:

    • 5.2. Nhược điểm:

    • 5.3. Hướng phát triển đề tài:

Nội dung

LỜI NÓI ĐẦUNgày nay khoa học công nghệ ngày càng phát triển, vi điều khiển AVR và vi điều khiển PIC ngày càng thông dụng và tiện lợi hơn, nhưng có thể nói sự xuất hiện của Arduino vào năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điều khiển. Sự xuất hiển của Arduino đã hỗ trợ con người rất nhiều trong lập trình và thiết kế, nhất là đới với những người bắt đầu tìm tòi về vi điều khiển mà không có quá nhiều kiến thức, hiểu biết sâu về lập trình cũng như điện tử.Sự bùng nổ cũng như là một xu hướng mới về Internet of things trong năm 2011. Đã mở ra một hướng đi mới cho xu hướng điều khiển thiết bị từ xa. Trên cơ sở những kiến thức đã học trong môn học: Tin học đại cương, Lập trình vi điều khiển, Điện tử ứng dụng….cùng với những hiểu biết về các thiết bị điện tử, nên em đã quyết định lựa chọn đề tài: Điều khiển hiển thị nhiệt độ, độ ẩm trong vườn rau thông qua Internet với mục đích tìm hiểu về Arduino, vận dụng những kiến thức đã được học trong nhà trường vào đề tài và ứng dụng thực tiện.Do kiến thức còn hạn hẹp, cũng như bị hạn chế về tài liệu tham khảo nên việc thực hiện đồ án sẽ không tránh khỏi những sai sót, hạn chế vì thế chúng em rất mong có được sự góp ý, chỉnh sửa từ thầy giáo cũng như bạn đọc.Em xin chân thành cảm ơn thầy TS. Nguyễn Danh Ngọc đã giúp đỡ, tạo điều kiện cho em hoàn thành đề tài này. Đà Nẵng, ngày 19 tháng 4 năm 2017Sinh viên thực hiệnHOÀNG NGỌC LINH MỤC LỤCLỜI NÓI ĐẦU1MỤC LỤC2Chương 1: LÍ DO CHỌN ĐỀ TÀI4Đặt vấn đề41.1.Iot là gì ?41.2.Nhu cầu phát triển của hệ thống điều khiển nông nghiệp tự động:51.2.1.Công nghệ quản lý, điều khiển:61.2.2.Công nghệ tưới tiêu:61.3.Mục tiêu đề tài:7Chương 2: TỔNG QUAN ĐỀ TÀI82.1.Sơ đồ khối chức năng:82.2.Giải thích chức năng các khối trong sơ đồ khối chức năng:82.2.1.Khối cảm biến:82.2.2.Khối điều khiển, hiển thị trên board mạch:82.2.3.Khối điều khiển, hiển thị qua Internet:92.2.4.Khối xử lí trung tâm:9Chương 3: LỰA CHỌN LINH KIỆN CHO CÁC KHỐI, NGUYÊN LÍ HOẠT ĐỘNG CỦA CÁC LINH KIỆN103.1.Khối cảm biến:103.1.1.Cảm biến độ ẩm:103.1.2.Cảm biến nhiệt độ:123.2.Khối điều khiển, hiển thị trên board mạch:143.2.1.IC 74HC595:143.2.2.Modun 2 led 7seg chung dương:163.3.Khối điều khiển, hiển thị trên board mạch:163.4.Khối xử lí trung tâm:163.4.1.Sơ đồ chân:163.4.2.Một số thông số hoạt động:173.5.NAT Port cho Esp 8266:173.5.1.NAT Port là gì?173.5.2.Mô tả giao diện:183.5.3.Cách NAT Port trên FPT G97D2:193.5.4.Tạo một Domain và gán IP modem:22Chương 4: THI CÔNG MẠCH, LẬP TRÌNH234.1.Thi công mạch trên phần mềm Proteus:234.1.1.Mạch nguyên lí:234.1.2.Mạch PCB:244.2.Lập trình:244.2.1.Sơ đồ thuật toán:244.2.2.Code: (xem phụ lục)274.3.Một số hình ảnh kết quả:27Chương 5: MỘT SỐ THUẬN LỢI KHÓ KHĂN, HƯỚNG PHÁT TRIỂN ĐỀ TÀI305.1.Ưu điểm:305.2.Nhược điểm:305.3.Hướng phát triển đề tài:30TÀI LIỆU THAM KHẢO31LỤC PHỤ32 Chương 1:LÍ DO CHỌN ĐỀ TÀIĐặt vấn đềViệc điều khiển thiết bị từ xa là một như cầu tất yếu của con người. Ngày nay với sự phát triển và bùng nổ của Internet thì mọi khoảng cách đều có thể rút gọn, chính vì vậy như cầu điều khiển thiết bị ở bất cứ nơi đầu, cho dù là nửa vòng trái đất thì cũng có thể làm được ở thời điểm hiện tại.Dự án này được gọi là Internet of things (IoT).1.1.Iot là gì ?Thực chất, biểu hiện của Internet of Things (IoT) đã xuất hiện ngay từ thời kỳ sơ khai của Internet, khi các nhà phát minh mong muốn kết nối tất cả mọi thứ qua một mạng lưới đồng nhất để có thể điều khiển chúng phục vụ cho mục đích của con người.Trong các tư liệu về IoT, người ta thường nhắc đến một chiếc máy bán nước giải khát tự động tại trường Đại học Carnegie Melon (Mỹ) vào đầu những năm 1980 như là một thiết bị đầu tiên mở màn cho xu hướng này, chiếc máy được lập trình để có thể kết nối với người điều khiển qua Internet, nhằm kiểm tra tình trạng của máy và bổ sung nước khi cần thiết mà không cần sự tiếp xúc kiểm tra trực tiếp.Sau đó, khái niệm Internet of Things chỉ thực sự được đưa ra vào năm 1999, khi mà người ta bắt đầu nhận thấy tiềm năng của xu hướng này, bên cạnh việc mạng Internet cũng như nhiều rào cản về mặt khoa học công nghệ đã dần được khai phá.Theo định nghĩa từ Wikipedia:“Internet of Things (IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật, 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.”Như vậy có thể tạm hiểu, Internet of Things là khi tất cả mọi thứ đều được kết nối với nhau qua mạng Internet, người dùng (chủ) có thể kiểm soát mọi đồ vật của mình qua mạng mà chỉ bằng một thiết bị thông minh, chẳng hạn như smartphone, tablet, PC hay thậm chí chỉ bằng một chiếc smartwatch nhỏ bé trên tay.Gần đây, Internet of Things còn bao gồm cả những giao tiếp theo kiểu máy với máy (M2M), hạn chế sự tác động của con người nhưng chủ yếu được áp dụng trong sản xuất năng lượng hay các ngành công nghiệp nặng.Viễn cảnh tưởng chừng chỉ có trên phim ảnh này đã dần hiển hiện trên thực tế, với sự phát triển của Nhà thông minh, TV thông minh, tủ lạnh thông minh,…. và cũng không thể không kể tới sự mở rộng không gian địa chỉ lên IPv6 thay vì IPv4 như trước đây.1.2.Nhu cầu phát triển của hệ thống điều khiển nông nghiệp tự động:Trước tiên, chúng ta hiểu nông nghiệp công nghệ cao là khái niệm để chỉ nền nông nghiệp được áp dụng những công nghệ mới vào quá trình sản xuất. Những công nghệ mới này bao gồm những đồ dùng sản xuất được công nghiệp hóa, tự động hóa, áp dụng công nghệ thông tin, vật liệu mới, công nghệ sinh học và áp dụng phương pháp chọn lọc các giống cây trồng, vật nuôi có năng suất và chất lượng cao. Nông nghiệp công nghệ cao hiện là xu hướng phát triển mạnh mẽ trên nhiều quốc gia trên thế giới. Nhiều quốc gia khi áp dụng công nghệ cao cho sản xuất nông nghiệp đã đạt được thành công lớn, xuất hiện nhiều tỷ phú nông nghiệp không thua kém gì các ngành nghề khác. Mặc dù Isarel có diện tích chỉ bằng 116 diện tích của Việt Nam (trên 20.000 km2 ). Tuy nhiên Israel lại được mệnh danh là “thung lũng Silicon” của thế giới trong lĩnh vực nông nghiệp và công nghệ nước. Chỉ với 1,7% dân số làm nông nghiệp nhưng mỗi năm Israel đã xuất khẩu trên dưới 3,5 tỷ USD nông sản và trở thành một trong những quốc gia xuất khẩu nông sản hàng đầu thế giới. (Phát triển nông nghiệp công nghệ cao)Như vậy điểm mấu chốt và quan trọng nhất giúp làm nên nền nông nghiệp công nghệ cao, chính là sự đầu tư vào hệ thống kỹ thuật canh tác hiện đại. Nhưng làm thế nào để tiếp cận được với những công nghệ tiến bộ này.1.2.1.Công nghệ quản lý, điều khiển:Các trang thiết bị như máy đo độ ẩm, hệ thống máy chống trộm…sẽ giúp chủ trang trại quản lý được toàn bộ diện tích nông nghiệp của mình. Tất cả được điều khiển thông minh bằng phần mềm quản lý chuyên nghiệp, điều khiển từ xa bằng các thiết bị điện tử thông minh, hiện đại như remote, laptop, smartphone…Khi sử dụng hệ thống nông nghiệp công nghệ cao, nhà nông Việt không cần mất thêm chi phí thuê nhân công, thời gian làm việc tay chân mà lại đạt được năng suất cây trồng cao, và thu về lợi nhuận khủng cho mỗi đợt đầu tư.1.2.2.Công nghệ tưới tiêu:Tất cả mọi trang thiết bị phục vụ nông nghiệp đều được điều khiển tự động thông qua thiết bị điều khiển từ xa, internet hiện đại. Bạn sẽ không phải gánh từng bình nước hay tự kéo dây để đứng tưới nước mỗi sớm mai hay buổi chiều tà. Chỉ cần một nút bấm đơn giản với hệ thống điểu khiển từ xa, tất cả sẽ được tự động bơm nước, tưới cho mọi vườn rau, vườn hoa, cây trồng. Hệ thống tưới nước tự động của Vinteli Farm còn có chế độ hẹn giờ, chế độ chọn van tưới, điều khiển lượng nước tưới…giúp chủ nhà tưới tiêu tự động, tiết kiệm nước hoàn hảo hơn. Ngoài hệ thống van nước Vinteli Farm còn cung cấp hệ thống bón phân tự động, giảm thiểu công sức mà lại đạt được hiệu quả. Hệ thống tự động hóa trong nông nghiệp công nghệ cao của Vinteli Farm phát triển chức năng tính toán những khu vực cần nhiều nước tưới, lượng nước bao nhiêu là đủ, cần bón phân gì cho cây gì và tỉ lệ như thế nào?...Đây là “ tính năng” vượt trội hiện đại mang đến hiệu quả sản xuất tuyệt đối.1.3.Mục tiêu đề tài:Xây dựng hệ thống điều khiển, hiển thị nhiệt độ, độ ẩm mà có 2 cảm biến nhiệt độ, 2 cảm biến độ ẩm được đặt tại 2 vị trí khác nhau trong vườn, có thể điều khiển và hiển thị để bật tắt các thiết bị động lực như bơm, quạt thông qua internet. Các thiết bị động sẽ tự động bật tắt, tự động thông qua mức đặt trước. Chương 2: TỔNG QUAN ĐỀ TÀI2.1.Sơ đồ khối chức năng:2.2.Giải thích chức năng các khối trong sơ đồ khối chức năng:2.2.1.Khối cảm biến:•Khối cảm biến bao gồm 2 loại cảm biển: độ ẩm và nhiệt độ•Khối này có chức năng đưa thông tin về độ ẩm, nhiệt độ tại vị trí các cảm biến được đặt về khối xử lí trung tâm để đọc.•Khối này được đặt tại vị trí cần đo đạc.2.2.2.Khối điều khiển, hiển thị trên board mạch:Khối này có chức năng hiển thị độ ẩm, nhiệt độ lên board mạch, đồng thời có khả năng điều khiển các mức đặt nhiệt độ, độ ẩm để hệ thống tự động điều khiển khối động lực thông qua mức đặt, ngoài ra có thể bật khẩn cấp khối động lực hoặc tắt khẩn cấp hệ thống.Khối này được gắn trên board mạch.2.2.3.Khối điều khiển, hiển thị qua Internet:Tương tự với khối điều khiển, hiển thị trên board mạch. Khối này có chức năng hiển thị độ ẩm, nhiệt độ lên board mạch, đồng thời có khả năng điều khiển các mức đặt nhiệt độ, độ ẩm để hệ thống tự động điều khiển khối động lực thông qua mức đặt, ngoài ra có thể bật khẩn cấp khối động lực hoặc tắt khẩn cấp hệ thống.Việc điều khiển và hiển thị này thông qua 1 trang Wed .2.2.4.Khối xử lí trung tâm:Đây là bộ não của toàn bộ hệ thống. Tại đây dữ liệu cảm biến được đọc, đồng thời các cài đặt về trạng thái các thiết bị động lập, cài đặt về các định mức về độ ẩm đều được lưu và thực hiện tại đây.Khối này được đặt trên board mạch. Chương 3:LỰA CHỌN LINH KIỆN CHO CÁC KHỐI, NGUYÊN LÍ HOẠT ĐỘNG CỦA CÁC LINH KIỆN3.1.Khối cảm biến:3.1.1.Cảm biến độ ẩm:Hiện tại ở thị trường có rất nhiều cảm biến độ ẩm như DHT 11,DHT21,DHT22….Trong khuôn của đề tài, cũng như linh kiện có sẵn trên thị trường, chọn DHT11 để thực hiện nhiệm vụ đo độ ẩm.aCảm biến DHT11: (Cảm biến DHT11)Cảm biến DHT11 đã được tích hợp trong một mạch duy nhất, kết nôi nối dây nguồn (Vcc, GND) và dây tín hiệu (Signal) vào mạch Arduino là có thể nhận tín hiệu.Kết nối cảm biến DHT11 với mạch Arduino:DHT11Arduino UNO R3GNDGNDVcc5VSignalD2bThông số kĩ thuật:•Điện áp hoạt động: 35.5V DC•Ngưỡng độ ẩm: 20 90%•Sai số độ ẩm: ± 5%•Ngưỡng nhiệt độ: 0 – 55 0C•Sai số nhiệt độ: ± 2 0CcCode mẫu với arduino:1. Gọi thư viện DHT112.include DHT.h 3. 4.const int DHTPIN = 2; Đọc dữ liệu từ DHT11 ở chân 2 trên mạch Arduino5.const int DHTTYPE = DHT11; Khai báo loại cảm biến, có 2 loại là DHT11 và DHT226. 7.DHT dht(DHTPIN, DHTTYPE);8. 9.void setup() {10.Serial.begin(9600);11.dht.begin(); Khởi động cảm biến12.}13. 14.void loop() {15.float h = dht.readHumidity(); Đọc độ ẩm16.float t = dht.readTemperature(); Đọc nhiệt độ17. 18.Serial.print(Nhiet do: );19.Serial.println(t); Xuất nhiệt độ20.Serial.print(Do am: );21.Serial.println(h); Xuất độ ẩm22.23.Serial.println(); Xuống hàng24.delay(1000); Đợi 1 giây25.}Sau khi upload chương trình lên mạch Arduino, bạn hãy bấm Ctrl + Shift + M để mở cửa sổ Serial Monitor và xem kết quả. 3.1.2.Cảm biến nhiệt độ:Hiện tại ở thị trường có rất nhiều cảm biến đo nhiệt độ như LM35, TMP36,Trong khuôn của đề tài, cũng như linh kiện có sẵn trên thị trường, chọn DALLAS DS1820 để thực hiện nhiệm vụ đo nhiệt độ. Cảm biến DALLAS DS1820 : (Cảm biến DALLAS DS1820)Kết nối với mạch Arduino: (Sơ đồ kết nối chân)aThông số kĩ thuật:•Sử dụng một chân data với 64bit serial code cho phép chúng ta dùng nhiều con trên cùng 1 chân digial (cơ chế 1Wire)•Có thể cấp nguồn từ 3 5.5V•Đo từ 55°C đến +125°C sai số ±0.5°C nếu đang trong khoản 10°C đến +85°C.bCode mẫu với arduino:1.Include thư viện2.include 3.include 4. 5. Chân nối với Arduino6.define ONE_WIRE_BUS 27.Thiết đặt thư viện onewire8.OneWire oneWire(ONE_WIRE_BUS);9.Mình dùng thư viện DallasTemperature để đọc cho nhanh10.DallasTemperature sensors(oneWire);11. 12.void setup(void)13.{14.Serial.begin(9600);15.sensors.begin();16.} 17.void loop(void)18.{ 19.sensors.requestTemperatures(); 20.Serial.print(Nhiet do);21.Serial.println(sensors.getTempCByIndex(0)); vì 1 ic nên dùng 022.chờ 1 s rồi đọc để bạn kiệp thấy sự thay đổi23.delay(1000);}3.2.Khối điều khiển, hiển thị trên board mạch:Trong đồ án này lựa chọn việc hiển thị trên 2 Led 7 đoạn, sử dụng IC 74HC595 để dịch mã với mục đích tiết kiệm chân cho vi điều khiển.3.2.1.IC 74HC595:IC 74HC595 là một IC thông dụng với khả năng dịch bit và ghi nhớ tạm thời 8 bit. Với khả năng đó, IC 74HC595 có khả năng mở rộng số lượng chân vốn đã ít của Board mạch Arduino. IC 74HC595 là một IC thông dụng: Ý nghĩa của các chân:•VCC là chân nối điện cực dương•GND là chân nối đất•ENABLE là chân có cho phép IC chạy hay không, khi ở trạng thái LOW, IC được phép chạy•RESET khi chân này ở trạng thái HIGH, toàn bộ bộ nhớ trong IC bị xóa sạchCác chân mà ta quan tâm nhiều nhất:•Q0 > Q7 là các chân tượng trưng cho 8 bit trong vùng nhớ của IC•INPUT là chân đưa dữ liệu vào IC•LATCH khi chân ở trạng thái từ LOW chuyển sang HIGH thì IC xuất dữ liệu từ ô nhớ ra các chân Q0 > Q7•CLOCK khi có một xung clock (1 lần LOW và một lần HIGH) thì dữ liệu được dịch vào một bit theo trạng thái hiện tại của chân INPUT•QH IC có vùng nhớ 8 bit, nếu như truyền vào IC nhiều hơn 8 bit thì sẽ tràn vùng nhớ và bit bị tràn truyền qua QH này.3.2.2.Modun 2 led 7seg chung dương: (Sơ đồ chân)3.3.Khối điều khiển, hiển thị trên board mạch:Khối này có chức năng tương tự như khối Khối điều khiển, hiển thị trên board mạch, tuy nhiên việc hiển thị và điều khiển thông qua một trình duyệt Wed. Việc thiết kế Wed và nhúng vào Vi điều khiển sẽ được trình bày rất đơn giản vì lí do không nằm trong phạm vi đề cập của đồ án.3.4.Khối xử lí trung tâm:Đây là bộ não của toàn bộ hệ thống, ở đây sử dụng linh kiện MCU Node 0.9. Vì :•Xử dụng ngôn ngữ lập trình dạng Arduino.•Hỗ trợ giao tiếp gần như một Arduino bình thường.•Tích hợp sẵn Esp8266 để kết nối giao tiếp với Wifi.•Nhỏ gon, dễ xử lí, tương đối ổn định.3.4.1.Sơ đồ chân: (Sơ đồ chân Node MCU0.9)3.4.2.Một số thông số hoạt động:•Điện áp vào 5V.•Điện áp ra 3.3V•1 chân ADC•Có chân giao tiếp I2C,UART, SPI..3.5.NAT Port cho Esp 8266:3.5.1.NAT Port là gì?NAT hay còn gọi là Network Address Translation là một kỹ thuật được phát minh lúc khởi đầu dùng để giải quyết vấn đề thiếu IP, nhưng dần dần nó chứng tỏ nhiều ưu điểm mà lúc phát minh ra nó người ta không nghĩ tới, một trong những lợi điểm của NAT ngày nay được ứng dụng nhiều nhất là NAT cho phép:a)Chia sẽ kết nối internet với nhiều máy bên trong LAN với một địa chỉ IP của WAN.b)Một lợi điểm nữa là NAT có thể làm việc như:•Một Firewall, nó giúp dấu tất cả các IP bên trong LAN với thế giới bên ngoài, tránh sự nhòm ngó của các hacker.•Có tính linh hoạt và dễ dáng trong quản lý.•NAT giúp các home user và các doanh nghiệp nhỏ có thể tạo kết nối với internet một cách dễ dàng và hiệu quả cũng như giúp tiết kiệm vốn đầu tư. •Nat port giúp cho việc sử dụng và quản lý dịch vụ camera quan sát được triển khai dễ dàng.3.5.2.Mô tả giao diện: (Mô hình kết nối NAT remote thiết bị camera từ xa) (Sơ đồ kết nối trong mạng LAN tại phía khách hàng)3.5.3.Cách NAT Port trên FPT G97D2:Mỗi model khác nhau sẽ có cách NAT Port khác nhau, do đồ án được làm trên model FPT G97D2 nên sẽ trình bày trên model này:a)Chuẩn bị:Địa chỉ IP của thiết bị cần mở ( ở đây là Esp8266 ) ở đây là địa chỉ 192.168.1.10. Port của thiết bị đó là 80. Máy tính hoặc smart phone kết nối được với modem để mở port.b)Mở port:Đầu tiên truy cập vào Gateway mặc định trên modem là 192.168.1.1 một giao diện đăng nhập sẽ hiện ra như bên dưới. Nhập Username và Password để đăng nhập vào. (Giao diện đăng nhập modem)•Tên tài khoản là: admin•Mật khẩu là: admin, nếu không đúng thử theo bên dưới•Mật khẩu mặc định của modem chúng ta lặt ngược mặt modem lại và nhìn dòng cuối cùng WEB Password. (WEB Password)•Nếu vẫn không đúng thì các bạn nhìn mặt trên của WIfi chính là số hợp đồng của bạn, Bạn nhập không dấu, không viết hoa chữ H, D cùng dãy số hợp đồng. (Số hợp đồng)Tiếp đến đăng nhập xong chúng ta vào mục Security Setup.Một menu bên trái như hình bên dưới hiện ra chún ta tiếp tục chọn vào mục Port Forwarding một cửa sổ bên phải hiện ra với chữ Port Forwarding, tại đây ta cấu hình modem.Điền đầy đủ thông tin từ 1 đến 7 như hình dưới rồi nhấn APPLY để save lại.1.Chọn tên ứng dụng: Cái này chắc không cần chọn.2.Đánh địa chỉ IP cần mở và dòng IP Address.3.Gõ port cần mở.4.Để nguyên là TCP.5.Nhập lại port 2 lần.6.Chọn WAN có Internet. Các bạn có thể xem ở mục Status, Wan nào có IP thì Wan đó có Internet. Trường hợp nhiều Wan có IP chọn Wan nào cũng được.7.Nhấn APPLY để lưu lại.Sau khi mở xong Poxy chúng ta nhìn bên dưới như thế này là được. c)Kiểm tra xem Port đã thông chưa:Truy cập vào tromcap.com vào đó gõ Port vừa mở và nhấn kiểm tra. Nếu hiện dòng địa chỉ Ip và Port mở và sẵn sàng sử dụng là OK mở đã thành công.Nếu hiện dòng địa chỉ ip chưa mở và chưa sẵn sàng sử dụng thì chúng ta làm lại từ đầu.3.5.4.Tạo một Domain và gán IP modem:Domain là tên miền của ip của thiết bị bạn cần kết nối, ví dụ IP là số điện thoại thì domain là tên danh bạ của bạn, khi bạn gọi cho mẹ thay vì xem từng số để nhớ xem có phải sđt con trai mình không thì người mẹ đó chỉ cần lưu tên cho sđt đó. Khi người con gọi đến thì mẹ biết ngay con trai cưng đấy rồi. Nếu không có Domaim thì khi truy cập Arduino.vn các bạn sẽ phải nhập 1 ip nào đó như 132.152.xxx.xxx. như vậy quá bất tiện, Domaim sinh ra để định tên cho IP đó, giúp ta dễ nhớ và truy cập.Cách tạo Domain miễn phí :Đầu tiên, các bạn truy cập: www.noip.com tạo một tài khoản.Bấm Sign up và làm theo hướng dẫn. Chương 4:THI CÔNG MẠCH, LẬP TRÌNH4.1.Thi công mạch trên phần mềm Proteus:4.1.1.Mạch nguyên lí: (Sơ đồ nguyên lí) 4.1.2.Mạch PCB: (Mạch PCB)4.2.Lập trình:4.2.1.Sơ đồ thuật toán:a)Sơ đồ thuật toán cho toàn bộ chương trình:(Sơ đồ thuật toán toàn bộ chương trình)b)Sơ đồ thuật toán hàm Nutbam( ):c)Sơ đồ thuật toán hàm Cambien( ):d)Sơ đồ thuật toán Sosanh( ) và giải thích câu lệnh: e)Sơ đồ thuật toán hàm Wifi( ) :4.2.2.Code: (xem phụ lục)4.3.Một số hình ảnh kết quả: (Mở port trên FPT G97D2) (Kiểm tra mở port thành công ) (Đăng kí Domain) ( Gán IP Modem vào Domain ) (Hình ảnh một số thiết bị được kết nối internet có thể truy cập vào giao diện của hệ thống theo Domain được đăng kí) Chương 5:MỘT SỐ THUẬN LỢI KHÓ KHĂN, HƯỚNG PHÁT TRIỂN ĐỀ TÀI5.1.Ưu điểm:•Modul hoạt động khá ổn định.•Tín hiệu báo về có độ sai số ít.•Code được tích hợp thư viện nên dễ dàng sử dụng.•Kết nối đơn giản, linh hoạt.5.2.Nhược điểm:Do đây là linh kiện không chính hãng, nên tốc độ xử lí rất chậm.Việc truyền nhận tín hiệu còn chậm.5.3.Hướng phát triển đề tài:Không dùng ESP8266 là nơi truy cập cho các thiết bị nữa, mà ESP8266 sẽ gửi tín hiệu lên host. Mọi thiết bị sẽ truy cập vào host để lấy tín hiệu, và gửi tín hiệu về. TÀI LIỆU THAM KHẢO1http:arduino.vn2https:esp8266.vnintroductionboard3http:eclubtcu.com67ESP826612epart3Huongdandangkiservervietcodedieukhienquainternet.html4http:hocarm.orgtramkhituongdubaothoitietvoiesp82665Giáo trình vi điều khiển – Lê Xứng PHỤ LỤCinclude include DHT.h include include shiftOut ra 1 Module LED 7 đoạn đơnchân ST_CP của 74HC595int latchPin = 14;chân SH_CP của 74HC595int clockPin = 2;Chân DS của 74HC595int dataPin = 12;int kich1=1;int kich2=3;int kich2={kich2,kich1}; Ta sẽ xây dựng mảng hằng số với các giá trị cho trước Các bit được đánh số thứ tự (07) từ phải qua trái (tương ứng với AF,DP) Vì ta dùng LED 7 đoạn chung cực dương nên với các bit 0 thì các đoạn của LED 7 đoạn sẽ sáng với các bit 1 thì đoạn ấy sẽ tắtmảng có 10 số (từ 09) và const int Seg10 = { 0b00000011,0 các thanh từ af sáng 0b10101111,1 chỉ có 2 thanh b,c sáng 0b00110001,2 0b00101001,3 0b10001101,4 0b01001001,5 0b01000001,6 0b00101111,7 0b00000000,8 0b00001001,9};int dinhmuctemp=28,dinhmuch=85;int temp1,temp2,temp;int h1,h2,h;int bom = 13;int quat=15;include AnalogButton.hconst int buttonAnalogPin = A0;AnalogButton analogButton(buttonAnalogPin);const char ssid = XIN DUNG HOI PASS;const char password = cotienkhong;define ONE_WIRE_BUS1 4Thiết đặt thư viện onewireOneWire oneWire(ONE_WIRE_BUS1);Mình dùng thư viện DallasTemperature để đọc cho nhanhDallasTemperature sensors1(oneWire);define ONE_WIRE_BUS2 0Thiết đặt thư viện onewireOneWire oneWire2(ONE_WIRE_BUS2);Mình dùng thư viện DallasTemperature để đọc cho nhanhDallasTemperature sensors2(oneWire2);const int DHTPIN1 = 5; Đọc dữ liệu từ DHT11 ở chân 2 trên mạch Arduinoconst int DHTTYPE1 = DHT11; Khai báo loại cảm biến, có 2 loại là DHT11 và DHT22const int DHTPIN2 = 16; Đọc dữ liệu từ DHT11 ở chân 2 trên mạch Arduinoconst int DHTTYPE2 = DHT11; Khai báo loại cảm biến, có 2 loại là DHT11 và DHT22 DHT dht1(DHTPIN1, DHTTYPE1);DHT dht2(DHTPIN2, DHTTYPE2);WiFiServer server(80); void setup() { Bạn BUỘC PHẢI pinMode các chân này là OUTPUT pinMode(bom,OUTPUT); pinMode(quat,OUTPUT); digitalWrite(quat,LOW); digitalWrite(bom,LOW); Serial.begin(115200); Connect to WiFi network Serial.println(); Serial.println(); Serial.print(Connecting to ); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() = WL_CONNECTED) { delay(500); Serial.print(.); } Serial.println(); Serial.println(WiFi connected); Start the server server.begin(); Serial.println(Server started); Print the IP address Serial.print(Use this URL to connect: ); Serial.print(http:); Serial.print(WiFi.localIP()); Serial.println(); }void cambiennhietdo(){ sensors1.begin(); sensors2.begin(); sensors1.requestTemperatures(); sensors2.requestTemperatures(); temp1=sensors1.getTempCByIndex(0); temp2=sensors2.getTempCByIndex(0); delay(10); temp =(temp1+temp2)2; hienthi(temp1); delay(1000); hienthi(temp2); delay(1000); }void cambiendoam(){ delay(3000); dht1.begin(); Khởi động cảm biến delay(1000); h1 = dht1.readHumidity(); hienthi(h1); delay(1000); dht2.begin(); delay(1000); h2 = dht2.readHumidity(); Đọc độ ẩm hienthi(h2); delay(1000); h= (h1+h2)2; delay(1000); } void loop() { nutbam(); cambiendoam(); cambiennhietdo(); sosanh(); wifi();}void hienthi(int n){ int a = n10; int b= n%10; pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(kich1, OUTPUT); pinMode(kich2, OUTPUT); digitalWrite(kich1,HIGH); digitalWrite(kich2,HIGH); for(int k=0;kTurn On "); client.println(""); client.println(""); client.println("QUAT "); client.println("STOP "); client.println("Dat Do Am "); client.println("Giam "); client.println("Dat Nhiet Do "); client.println("Giam "); client.println(""); client.println(""); client.println(""); client.println("Nhiet dat: "); client.println(dinhmuctemp); client.println("C"); client.println(""); client.println("Do am dat : "); client.println(dinhmuch); client.println("%"); client.println(""); 50 | S V T H : H O À N G N G Ọ C L I N H – L Ớ P C D T Đồ án Vi điều khiển client.println(""); if (digitalRead(bom)) { client.print("BOM MO"); } else { client.print("BOM TAT"); } if (digitalRead(quat)) { client.print("QUAT MO"); } else { client.print("QUAT TAT"); } 51 | S V T H : H O À N G N G Ọ C L I N H – L Ớ P C D T Đồ án Vi điều khiển client.println(""); client.println(""); client.println(""); client.println(""); delay(1); Serial.println("Client disonnected"); Serial.println(""); } 52 | S V T H : H O À N G N G Ọ C L I N H – L Ớ P C D T .. .Đồ án Vi điều khiển MỤC LỤC 2|SVTH: HOÀNG NGỌC LINH – LỚP 13CDT2 Đồ án Vi điều khiển Chương 1: LÍ DO CHỌN ĐỀ TÀI Đặt vấn đề Vi c điều khiển thiết bị từ xa cầu tất... L Ớ P C D T Đồ án Vi điều khiển 22 //chờ s đọc để bạn kiệp thấy thay đổi 23 delay(1000);} 3.2 Khối điều khiển, hiển thị board mạch: Trong đồ án lựa chọn vi c hiển thị Led đoạn, sử dụng IC 74HC595... C D T Đồ án Vi điều khiển 3.2.2.Modun led 7seg chung dương: (Sơ đồ chân) 3.3 Khối điều khiển, hiển thị board mạch: Khối có chức tương tự khối Khối điều khiển, hiển thị board mạch, nhiên vi c hiển

Ngày đăng: 15/01/2018, 22:25

TỪ KHÓA LIÊN QUAN

w