Đồ án Bảng điện tử hiển thị thông tin thời tiét

pdf 56 trang thiennha21 14/04/2022 10334
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Bảng điện tử hiển thị thông tin thời tiét", để 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_bang_dien_tu_hien_thi_thong_tin_thoi_tiet.pdf

Nội dung text: Đồ án Bảng điện tử hiển thị thông tin thời tiét

  1. BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU KHOA CÔNG NGHỆ KỸ THUẬT NÔNG NGHIỆP CÔNG NGHỆ C a o ĐỒ ÁN TỐT NGHIỆP rr^Tên đề 4-Ạ tài: / Ạ • BẢNG ĐIỆN TỬ HIỂN THỊ THÔNG TIN THỜI TIÉT Trình độ đào tạo: Đại Học Chính Quy Ngành: Công Nghê Kỹ Thuât Điên - Điên Tử Chuyên ngành: Điều Khiển và Tự Động Hóa Giáo viên hướng dẫn: ThS. Lưu Hoàng Sinh viên thực hiện: Võ Đình Huy Mã số sinh viên: 16031543 Lớp: DH16TD Bà Rịa Vũng Tàu, tháng 5 năm 2020
  2. PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP (Đính kèm Quy định về việc tổ chức, quản lý các hình thức tốt nghiệp ĐH, CĐ ban hành kèm theo Quyết định số 585/QĐ-ĐHBRVT ngày 16/7/2013 của Hiệu trưởng Trường Đại học BR-VT) Họ tên sinh viên: Võ Đình Huy MSSV: 16031543 Lớp: DH16TD Chuyên ngành: Điều Khiển Và Tự Động Hóa Hệ đào tạo: Đại Học Chính Quy I. Tên đề tài: BẢNG ĐIỆN TỬ HIỂN THỊ THÔNG TIN THỜI TIẾT II. Giảng viên hướng dẫn Ths. Lưu Hoàng III. Ngày giao đề tài: 12/2019 IV. Ngày hoàn thành đồ án/ khoá luận tốt nghiệp: 05/2020 Bà Rịa - Vũng Tàu, ngày tháng năm 2020 Giảng viên hướng dẫn Sinh viên thực hiện (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) Trưởng bộ môn Trưởng khoa (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
  3. NHÂN XET^CỔ«giáo viên hướng dẫn) • Thái độ, tác phong và nhận thức trong quá trình thực hiện: • Kiến thức chuyên môn: • Hình thức, bố cục trình bày: • Nội dung, kết quả: • Nhận xét khác: Bà Rịa - Vũng Tàu, ngày tháng năm 2020 Giáo viên hướng dẫn (Ký và ghi rõ họ tên)
  4. NHÂN XET (Của giáo viên phản biện) • Thái độ, tác phong và nhận thức trong quá trình thực hiện: • Kiến thức chuyên môn: • Hình thức, bố cục trình bày: • Nội dung, kết quả: • Nhận xét khác: Bà Rịa - Vũng Tàu, ngày tháng năm 2020 Giáo viên phản biện (Ký và ghi rõ họ tên)
  5. LỜI CẢM ƠN Đầu tiên em xin gởi lời cảm ơn đến Thầy Lưu Hoàng - Giảng viên bộ môn Điện - Điện Tử, đã tận tình giúp đỡ, hướng dẫn, giảng giải cho em trong lựa chọn đề tài cũng như trong quá trình thực hiện đề tài. Trong quá trình thực hiện đồ án cũng đã xảy ra nhiều khó khăn, thiếu sót nhưng được sự hỗ trợ và góp ý của Thầy nên nhóm đã hoàn thành được đồ án. Trong suốt thời gian được theo học tại trường Đại học Bà Rịa Vũng Tàu, em đãnhận được nhiều sự quan tâm và giúp đỡ từ Thầy Cô và bạn bè. Cảm ơn Hiệu Trưởng, cùng các quý thầy cô trường Đại học Bà Rịa - Vũng Tàu đã hỗ trợ tận tình về trang thiết bị, phần mềm, cơ sở vật chất tạo điều kiện hoàn thành đồ án. Với lòng biết ơn sâu sắc, em xin gửi lời cảm ơn tới quý Thầy Cô, những người đã truyền lại cho em rất nhiều kinh nghiệm và kiến thức quý báu, những sự giúp đỡ ấy đã tiếp thêm động lực cho em vững bước trên con đường mình đã chọn. Và đặc biệt là Thầy, Cô khoa Điện - Điện tử đã truyền đạt kiến thức, kinh nghiệm cũng như tạo những điều kiện tốt nhất để em hoàn thành đề tài. Xin cảm ơn các bạn cùng khóa, cùng khoa đã động viên, khích lệ, ủng hộ về nhiều mặt góp phần làm nên thành công của đồ án này. Cảm ơn Đại Học Bà Rịa Vũng Tàu! Xin chân thành cảm ơn! Người thực hiện đề tài Võ Đình Huy
  6. MỤC LỤC PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP 1 I. Tên đề tài: BẢNG ĐIỆN TỬ HIỂN THỊ THÔNG TIN THỜI TIẾT i II. Giảng viên hướng dẫn: Ths. Lưu Hoàng i III. Ngày giao đề tài: 12/2019 i IV. Ngày hoàn thành đồ án/ khoá luận tốt nghiệp: 05/2020 i NHẬN XÉT (Của giáo viên hướng dân) 3 NHẬN XÉT( C ủ ứ giáo viên phản biện) 4 LỜI CẢM Ơ N 5 CHƯƠNG I TỔNG QUAN 11 1.1 ĐẶT VẤN ĐỀ 11 1.2 MỤC TIÊU 11 1.3 NỘI DUNG NGHIÊN CỨU 12 1.4 GIỚI HẠN 12 1.5 BỐ CỤC 12 CHƯƠNG II CƠ SỞ LÝ THUYẾT 14 2.1 Các chuẩn giao tiếp 14 2.1.1 Chuẩn giao tiếp wifí 14 2.1.2 Chuẩn giao tiếp SPI 15 2.2 IO T 17 2.3 Webserver 19
  7. 2.4 ESP32 20 2.5 Phương pháp quét module led matrix p10 full color 21 2.5.1 Font chữ 26 2.5.2 Font chữ tiếng v iệt 28 CHƯƠNG III TÍNH TOÁN VÀ THIẾT K Ế 30 3.1 GIỚI THIỆU 30 3.2 TÍNH TOÁN VÀ THIẾT KẾ 30 3.2.1 VI XỬ LÝ TRUNG TÂ M 30 31 3.2.2 Nguồn 32 CHƯƠNG IV THI CÔNG HỆ THỐNG 33 4.1 Thi công mô hình 33 4.2 Lưu đồ thuật toán 34 4.3 Kết nối 35 4.4 Phần mềm lập trình esp32 35 4.4.1 Giới thiệu 35 4.4.2 Cài đặt arduino ID E 36 4.5 Lập trình esp32 bằng arduino IDE 39 4.6 Chương trình 44 CHƯƠNG V Kết quả - nhận xét - đánh giá 47 5.1 Cấu hình cho hệ thống kết nối internet 47 5.2 Mô hình chạy thực tế 51
  8. 5.3 Nhận xét & đánh giá: 53 5.3.1 Nhận xét: 53 5.3.2 Đánh giá: 53 CHƯƠNG VI Kết luận và hướng phát triển 54 6.1 Kết luận 54 6.2 Hướng phát triển 54 TÀI LIỆU THAM KHẢO 55
  9. MỤC LỤC HINH ẢNH Hình II-1 Giao tiếp kết nối w ifi 15 Hình II-2Sơ đồ xung SPI 17 Hình II-3Mặt sau led p10 full color 22 Hình II-4Mặt trước led p10 full color 22 Hình II-5 Sơ đồ chân kết nối của module led p10 full color 24 Hình II-6Chiều đi của data module led p10 full color 25 Hình II-7Giao diện của phần mềm LCD font maker 26 Hình II-8 Chọn font chữ cho mã led 27 Hình II-9Giao diện của phần mềm LCD font maker 27 Hình II-10Xuât mã font led 28 Hình III-1KIT ESP32 30 Hình III-2KIT ESP32 PINOUT 31 Hình III-3Nguồn LED 5V 70A 32 Hình IV- 1Kích thước khung led 33 Hình IV-2Giao diện web arduino.cc 36 Hình IV-3Giao diện tải arduino ID E 37 Hình IV-4 Đã tải xong arduino ID E 37 Hình IV-5Giải nén arduino IDE 38 Hình IV-6Giao diện lập trình arduino ID E 39 Hình IV-7Giao diện nhập link để tải thư viện arduino 40
  10. Hình IV-8Giao diện tải thư viện arduino ID E 41 Hình IV-9Chọn KIT arduino để biên dịch và nạp code 42 Hình IV-10Chọn cổng để nạp code 43 Hình IV-11Giao diện các ví dụ để tham khảo trong arduino IDE 44 Hình V-1Giao diện chính trên Webserver của hệ thống 47 Hình V-2Cài đặt wifi để kết nối internet 48 Hình V-3Giao diện nhập API để lấy thông tin từ mạng internet 48 Hình V-4Giao diện nhập để chạy thông báo 49 Hình V-5Chỉnh màu và tốc độ của chữ chạy thông báo 49 Hình V-6Giao diện cài đặt mật khẩu 50 Hình V-7Giao diện cài đặt thời gian bật tắt 50 Hình V-8Chạy hệ thống thực tế 51 Hình V-9Chạy hệ thống thực tế 52
  11. CHƯƠNG I TỐNG QUAN 1.1 ĐẶT VẤN ĐỀ Ngày nay với sự phát triển của khoa học kỹ thuật cùng với sự tiến bộ của xã hội nhu cầu về thông tin trở nên thiết yếu đối với con người trong hoạt động kinh doanh sản xuất việc đưa thông tin đến với mọi người trở nên dễ dàng và nhanh chóng. Thông qua nhiều hình thức khác nhau mà doanh nghiệp hay hộ kinh doanh nhỏ lẻ, nơi công cộng có thể giới thiệu sản phẩm hay thông tin hàng hóa giá cả đến mọi người. Hiện nay có nhiều biển quảng cáo, băng rôn, khẩu hiệu, thông báo trong thực tế với nhiều chất liệu như biển quảng cáo sắt, gỗ, vải, phướn, thì bảng led thể hiện tính ưu việt hơn hẳn các loại quảng cáo truyền thống. Thông tin hiển thị trên bảng led ma trận có thể sửa chữa dễ dàng hơn dễ lắp đặt và dễ thay thế. Chúng ta bắt gặp rất nhiều bảng thông tin như vậy trong thực tế. Khi tới phi trường bạn có thể biết được thời gian chuyến bay, địa điểm và chuyến bay số hiệu nào. Hoặc khi vào khu ăn uống bảng led có thể hiện thị các hình ảnh sinh động về món ăn hay logo hiện lên với đủ kiểu biến hóa. Với mong muốn giới thiệu ứng dụng của bảng led và thiết yếu trong đời sống cũng như tầm quan trong của của bảng thông báo em đã tìm hiểu và thiết kế mô hình. 1.2 MỤC TIÊU Mục tiêu của em sẽ tiến hành thiết kế và thi công mô hình bảng LED MATRIX. Mô hình sẽ nhằm mục đích hiển thông tin thời tiết như tia uv, chất lượng không khí, giờ hiện tại, tốc độ gió, nhiệt độ. Nếu như tia uv cao có khả năng ảnh hưởng đến da sẽ hiển thị cảnh báo cho người xem biết như không nên đi ra đường, dự báo thời tiết 4 giờ gần nhất bằng hình ảnh. Ngoài ra bảng led cũng có thể nhập thông báo tùy ý có thể chỉnh được tốc độ và màu sắc.
  12. 1.3 NỘI DUNG NGHIÊN CỨU Em đã nghiên cứu các nội dung sau: - Nội dung 1: Nghiên cứu Module LED p10 full color dùng cho bảng thông báo. - Nội dung 2: Nghiên cứu KIT ESP32. - Nội dung 3: Lập trình cho ESP32 trên arduino IDE. - Nội dung 4: Thiết kế tính toán nguồn cho thiết bị. - Nội dung 5: Thi công phần cứng, khung, thử nghiệm và hiệu chỉnh hệ thống. - Nội dung 6: Cài đặt và điều chỉnh hệ thống để đặt được tối ưu. - Nội dung 7: Viết báo cáo. - Nội dung 8: Bảo vệ luận văn. 1.4 GIỚI HẠN Các thông số giới hạn của đề tài bao gồm: - Sử dụng KIT thu phát wifi ESP32 - Kích thước phần led hiển thị 128x64 - Sử dụng 16 Module P10 FULL COLOR ghép lại - Sử dụng webserver để cài đặt thông số - Nội dung hiển thị bao gồm: ký tự số, chữ có dấu, hiệu ứng, các icon thời tiết, nhiệt độ, độ ẩm, tốc độ gió, chất lượng không khí, tia uv, giờ hiện tại. 1.5 BỐ CỤC Đề tài “Thiết kế bảng điện tử hiện thị thông tin thời tiết” được trình bày như sau: > Chương 1: Tổng quan Chương này em sẽ đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn và bố cục đồ án. > Chương 2: Cơ sở lý thuyết
  13. Chương này em sẽ nói tổng quát các kiến thức cơ bản để hoàn thành mô hình này. Bao gồm chuẩn giao tiếp để có thể lấy dữ liệu và đẩy dữ liệu lên bảng led, quy trình quét led, các công cụ cần thiết. > Chương 3: Tính toán và thiết kế Chương này em sẽ trình bày sơ đồ khối, tính toán và chọn linh kiện. > Chương 4: Thi công và kết quả thực hiện Chương này em trình bày các bước thi công mạch, lắp ráp, kiểm tra và thi công mô hình. > Chương 5: Kết quả - nhận xét - đánh giá Chương này em sẽ nêu lên kết quả đạt được, nhận xét và đánh giá mô hình. > Chương 6: Kết luận và hướng phát triển Chương này nêu lên kết luận về những gì đã thực hiện đồng thời đưa ra hướng phát triển cho mô hình.
  14. CHƯƠNG II CƠ SỞ LÝ THUYẾT 2.1 Các chuẩn giao tiếp 2.1.1 Chuẩn giao tiếp wifi Wifi là mạng kết nối Internet không dây, là từ viết tắt của Wireless Fidelity, sử dụng sóng vô tuyến để truyền tín hiệu. Loại sóng vô tuyến này tương tự như sóng điện thoại, truyền hình và radio. Và trên hầu hết các thiết bị điện tử ngày nay như máy tính, laptop, điện thoại, máy tính bảng đều có thể kết nối Wifi. Kết nối Wifi dựa trên các loại chuẩn kết nối IEEE 802.11, và chủ yếu hiện nay Wifi hoạt động trên băng tần 54 Mbps và có tín hiệu mạnh nhất trong khoảng cách 100 feet (gần 31 mét, các bạn cứ thử tưởng tượng mỗi 1 tầng nhà lấy trung bình là 4 mét thì theo lý thuyết sóng wifi phát ở tầng 1 vẫn sẽ bắt được nếu bạn đang ở tầng 7 - đó là theo lý thuyết). Còn trong thực tế thì trong mỗi ngôi nhà thường có rất nhiều vật cản sóng, nên bạn chỉ cần đứng trên tầng 4 hoặc 5 là tín hiệu đã yếu lắm rồi. Để có được sóng Wifi thì chúng ta cần phải có bộ phát Wifi - chính là các thiết bị như modem, router. Đầu vào, tín hiệu Internet nguồn (được cung cấp bởi các đơn vị ISP như FPT, Viettel, VNPT, C M C . hiện nay). Thiết bị modem, router sẽ lấy tín hiệu Internet qua kết nối hữu tuyến rồi chuyển thành tín hiệu vô tuyến, và gửi đến các thiết bị sử dụng như điện thoại smartphone, máy tính bảng, laptop. Đây là quá trình nhận tín hiệu không dây (hay còn gọi là adapter) - chính là card wifi trên laptop, điện th o ại. và chuyển hóa thành tín hiệu Internet. Và quá trình này hoàn toàn có thể thực hiện ngược lại, nghĩa là router, modem nhận tín hiệu vô tuyến từ adapter và giải mã chúng, gửi qua Internet. Về bản chất kỹ thuật, tín hiệu Wifi hoạt động gửi và nhận dữ liệu ở tần số 2.5GHz đến 5GHz, cao hơn khá nhiều so với tần số của điện thoại di động, radio. do vậy tín hiệu Wifi có thể chứa nhiều dữ liệu nhưng lại bị hạn chế ở phạm vi truyền - khoảng
  15. cách. Còn các loại sóng khác tuy tần số thấp nhưng lại có thể truyền đi ở khoảng cách rất xa như LORA, FM, Sóng Wifi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute of Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ hơn là a/b/g/n/ac. Handheld Device Hình II-1 Giao tiếp kết nối wifi 2.1.2 Chuẩn giao tiếp SPI SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master
  16. Ouput Slave Input) và SS (Slave Select). Hình 1 thể hiện một kết SPI giữa một chip Master và 3 chip Slave thông qua 4 đường. SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Đây là điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn UART. Sự tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi chip Master. MISO- Master Input / Slave Output: nếu là chip Master thì đây là đường Input còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slaves được nối trực tiếp với nhau. MOSI - Master Output / Slave Input: nếu là chip Master thì đây là đường Output còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các Slaves được nối trực tiếp với nhau.
  17. SS - Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường SS sẽ ở mức cao khi không làm việc. Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó. Chỉ có 1 Hình II-2Sơ đồ xung SPI đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng. 2.2 IOT Internet Vạn Vật, hay cụ thể hơn là 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 (tiếng Anh: Internet of Things, viết tắt IoT) là một liên mạng, trong đó các thiết bị, phương tiện vận tải (được gọi là "thiết bị kết nối" và "thiết bị thông minh"), phòng ốc và các trang thiết bị khác được nhúng với các bộ phận điện tử, phần mềm, cảm biến, cơ cấu chấp hành cùng với khả năng kết nối mạng máy tính giúp cho các thiết bị này có thể thu thập và truyền tải dữ liệu. Năm 2013, tổ chức Global Standards Initiative on Internet of Things (IoT-GSI) đinh nghĩa IoT là "hạ tầng cơ sở toàn cầu phục vụ cho xã hội thông tin, hỗ trợ các dịch vụ (điện toán) chuyên sâu
  18. thông qua các vật thể (cả thực lẫn ảo) được kết nối với nhau nhờ vào công nghệ thông tin và truyền thông hiện hữu được tích hợp, và với mục đích ấy một "vật" là một thứ trong thế giới thực (vật thực) hoặc thế giới thông tin (vật ảo), mà vật đó có thể được nhận dạng và được tích hợp vào một mạng lưới truyền thông. Hệ thống IoT cho phép vật được cảm nhận hoặc được điều khiển từ xa thông qua hạ tầng mạng hiện hữu, tạo cơ hội cho thế giới thực được tích hợp trực tiếp hơn vào hệ thống điện toán, hệ quả là hiệu năng, độ tin cậy và lợi ích kinh tế được tăng cường bên cạnh việc giảm thiểu sự can dự của con người. Khi IoT được gia tố cảm biến và cơ cấu chấp hành, công nghệ này trở thành một dạng thức của hệ thống ảo-thực với tính tổng quát cao hơn, bao gồm luôn cả những công nghệ như điện lưới thông minh, nhà máy điện ảo, nhà thông minh, vận tải thông minh và thành phố thông minh. Mỗi vật được nhận dạng riêng biệt trong hệ thống điện toán nhúng và có khả năng phối hợp với nhau trong cùng hạ tầng Internet hiện hữu. Các chuyên gia dự báo rằng Internet Vạn Vật sẽ ôm trọn chừng 30 tỉ vật trước năm 2020. Về cơ bản, Internet Vạn Vật cung cấp kết nối chuyên sâu cho các thiết bị, hệ thống và dịch vụ, kết nối này mang hiệu quả vượt trội so với kiểu truyền tải máy-máy (M2M), đồng thời hỗ trợ da dạng giao thức, miền (domain), và ứng dụng. Kết nối các thiết bị nhúng này (luôn cả các vật dụng thông minh), được kỳ vọng sẽ mở ra kỷ nguyên tự động hóa trong hầu hết các ngành, từ những ứng dụng chuyên sâu như điện lưới thông minh,[14] mở rộng tới những lĩnh vực khác như thành phố thông minh. IoT 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 đó. 18
  19. Một vật trong IoT có thể là một người với một trái tim cấy ghép; một động vật ở trang trại với bộ chip sinh học; một chiếc xe với bộ cảm ứng tích hợp cảnh báo tài xế khi bánh xe xẹp hoặc bất kỳ vật thể tự nhiên hay nhân tạo nào mà có thể gán được một địa chỉ IP và cung cấp khả năng truyền dữ liệu thông qua mạng lưới. Cho đến nay, IoT là những liên kết máy-đến-máy (M2M) trong ngành sản xuất, công nghiệp năng lượng, kỹ nghệ xăng dầu. Khả năng sản phẩm được tích hợp máy-đến-máy thường được xem như là thông minh Với sự trợ giúp của công nghệ hiện hữu, các thiết bị này thu thập dữ liệu hữu ích rồi sau đó tự động truyền chúng qua các thiết bị khác. Các ví dụ hiện thời trên thị trường bao gồm nhà thông minh được trang bị những tính năng như kiểm soát và tự động bật tắt đèn, lò sưởi (giống như bộ ổn nhiệt thông minh), hệ thống thông gió, hệ thống điều hòa không khí, và thiết bị gia dụng như máy giặt/sấy quần áo, máy hút chân không, máy lọc không khí, lò nướng, hoặc tủ lạnh/tủ đông có sử dụng Wi-Fi để theo dõi từ xa 2.3 Webserver Chức năng cơ bản nhất của máy chủ web là lưu trữ, xử lí và phân phối nội dung các trang web đến khách hàng, cụ thể ở đây là máy tính người dùng, hay còn gọi là client trong mô hình server-client. Giao tiếp giữa của máy tính người dùng và máy chủ thực hiện thông qua giao thức h t t p . Nội dung phân phối chính từ máy chủ web là các nội dung định dạng HTML, bao gồm hình ảnh, style sheets, các đoạn mã script hỗ trợ các nội dung văn bản thô. Nhiều máy chủ web có thể được sử dụng cho một cao lưu lượng truy cập trang web ở đây, Dell máy chủ đang cài đặt cùng được sử dụng cho các Wikimedia. Tác nhân người dùng, thường là trình duyệt web hoặc trình thu thập dữ liệu web, khởi tạo giao tiếp bằng cách yêu cầu một tài nguyên cụ thể bằng HTTP và máy chủ phản hồi với nội dung của tài nguyên đó hoặc thông báo lỗi nếu không thể thực hiện. Tài nguyên thường là một tệp thực sự trên bộ nhớ thứ cấp của máy chủ, nhưng điều này
  20. không nhất thiết phải là trường hợp và phụ thuộc vào cách máy chủ web được triển khai. Mặc dù chức năng chính là phân phát nội dung, việc triển khai đầy đủ HTTP cũng bao gồm các cách nhận nội dung từ khách hàng. Tính năng này được sử dụng để gửi biểu mẫu web, bao gồm tải lên tệp. Nhiều máy chủ web chung cũng hỗ trợ kịch bản lệnh phía máy chủ bằng cách sử dụng các trang Active Server Pages (ASP), PHP hoặc các ngôn ngữ kịch bản khác. Điều này có nghĩa rằng hành vi của máy chủ web có thể được viết trong các tệp riêng biệt, trong khi phần mềm máy chủ thực tế vẫn không thay đổi. Thông thường, chức năng này được sử dụng để tạo ra các tài liệu HTML động ("on-the-fly") như trái ngược với các tài liệu tĩnh trả về. Trước đây được sử dụng chủ yếu để lấy hoặc sửa đổi thông tin từ cơ sở dữ liệu. Cái sau thường nhanh hơn và dễ lưu trữ hơn nhưng không thể cung cấp nội dung động. Các máy chủ web không chỉ được sử dụng để phục vụ World Wide Web. Họ cũng có thể được tìm thấy nhúng trong các thiết bị như máy in, thiết bị định tuyến, webcam và chỉ phục vụ một mạng nội bộ. Sau đó, máy chủ web có thể được sử dụng như một phần của hệ thống để theo dõi hoặc quản lý thiết bị được đề cập. Điều này thường có nghĩa là không có phần mềm bổ sung nào phải được cài đặt trên máy khách, vì chỉ cần một trình duyệt web (mà bây giờ được bao gồm trong hầu hết các hệ điều hành). 2.4 ESP32 ESP32-WROOM-32 là mô đun MCU đa dụng, mạnh mẽ và được sử dụng rộng rãi trong thiết kế mạch PCB Wifi- Bluetooth, BLE được ứng dụng rất phổ biến cho nhiều ứng dụng về IoT hiện nay. Phạm vi ứng dụng từ mạng sensor tiết kiệm năng lượng đến những ứng dụng với tác vụ phức tạp nhất, như mã hóa âm thanh, âm nhạc trực tuyến đến giải mã MP3.
  21. Lõi của module là họ chip ESP32-D0WDQ6, chip nhúng được thiết kế cho khả năng mở rộng và tùy biến cao. Có đến 2 lõi CPU độc lập có thể điều khiển, tần số clock của CPU có thể được điều chỉnh tử 80MHZ đến 240 Mhz. Người lập trình có thể tắt CPU để sử dụng bộ đồng xử lý công suất thấp để theo dõi sự thay đổi hoặc vượt ngưỡng của các ngoại vi. ESP32 tích hợp bộ ngoại vi khá phong phú từ cảm biến điện dung, cảm biến Hall, SD card, Ethernet, SPI tốc độ cao, UART, I2S hay I2C. Việc tích hợp cả Bluetooth, BLE và Wifi đảm bảo cho khả năng ứng đáp ứng nhiều loại ứng dụng khác nhau và module đó sử dụng với ngoại vi, thiết bị nào: wifi cho phép kết nối rộng rãi về mặt vật lý ra Internet qua Wi-fi router, trong khi sử dụng Bluetooth cho phép người dùng thuận tiện khi kết nối với smartphone, hay thiết bị beacon tiết kiệm điện. Ở chế độ ngủ, chíp ESP32 tiêu thụ dòng dưới 5 ^A, phù hợp với những thiết kế mạch dùng pin hay thiết bị đeo được. Tốc độ truyền thông cho phép lên đến 150 Mbps, và công suất tín hiệu khoảng 20 dBm trên anten cho phép phạm vi tín hiệu xa. Như vậy module này có thông số kỹ thuật thuộc dạng đầu bảng trên thị trường cũng như hiệu suất, độ tin cậy tốt nhất cho tích hợp, thiết kế ứng dụng điện tử, tự động hóa, đòi hỏi phạm vi hoạt động rộng, tiết kiệm năng lượng cũng như khả năng kết nối đa dạng. Hệ điều hành chạy được trên ESP32 là FreeRTOS vơi LwIP, TLS 1.2. Hỗ trợ update firmware qua OTA mã hóa, điều này cho phép nhà phát triển sản phẩm có thể nâng cấp phần mềm sản phẩm ngay cả khi thiết bị đang được sử dụng một cách tiết kiệm tiền bạc và nhân lực. 2.5 Phương pháp quét module led matrix p10 full color Cấu tạo của module bao gồm - 10 IC ghi dịch - 2 IC đệm dòng - 4 IC giải mã
  22. - 1 connector đầu vào, 1 connector đầu ra Hình n-3Mặt sau ledp10 full color Hình II-4Mặt trước ledp10 full color Khoảng cách hai điểm ảnh (Pitch) 10mm Độ phân giải 10000 điểm ảnh/m
  23. Kích thước module cơ bản/Pixel (W x 320mm x 160mm 32 x 16 pixel H) Khoảng cách nhìn tốt nhất 12-200 m Góc nhìn ngang 140° Góc nhìn dọc 140° Số bit màu >10 bit Số màu hiển thị 281000 Tỷ màu Cường độ sáng >2000cd/m2 Nhiệt độ hoạt động -30 Thời gian sử dụng của LED >50,000 giờ (khoảng 15 năm - ngày dùng 8 giờ) Nguồn điện vào DC 5V - 6A Công suất tiêu thụ Lớn nhất: 550w/m2; Trung bình: 250w/m2 Chế độ quét 8s (1/8 Scan) Phương thức truyền dữ liệu HUB 75 Độ ẩm hoạt động 0-90% Bảng 1: Thông số của led p10 full color R1: Chân data cho màu đỏ của 8 hàng led bên trên R2: Chân data cho màu đỏ của 8 hàng led phía dưới G1: Chân data cho màu xanh lá của 8 hàng led bên trên G2: Chân data cho màu xanh lá của 8 hàng led phía dưới B1: Chân data cho màu xanh dương của 8 hàng led bên trên
  24. B2: Chân data cho màu xanh dương của 8 hàng led phía dưới CLK: Chân đẩy data vào ic ghi dịch LAT: Chân chốt data ( đẩy data lưu trong ic ghi dịch ra ngoài led) OE: Chân cho phép bảng led sáng ( OE=0 thì bảng led được phép sáng, OE=1 thì bảng led auto tắt) A,B,C: 3 chân của ic vào 3 ra 8, tức 3 chân dùng để quét led, cho phép hàng nào sáng. Với 3 chân ABC ta điều khiển đc 8 hàng độc lập, nhưng module P10 có tới 16 hàng thì trong 1 thời điểm có 2 hàng cùng sáng. Trong 1 thời điểm số led RGB ta có thể điều khiển là 512 x 1/8 = 64 LED RGB in ga • *» • • • RI • • G l • • BI ■ g n d ::: R2 4 % % • G 2 VJ2 • • • • g n d í : A * % % »B kin ■ G N D - : lNv* • • rn Ị/ 1 • L A T : • • OE 1 »GND-: • • • . Ư3 • UĨB G 3 Ỉ : <* m Hình II-5 Sơ đồ chân kết nối của module ledp10 full color Chiều đi của data
  25. P10 FULL COLOR, data đi theo đường thẳng (R2,G2,B2) Chiều đi của data, nhìn vào mặt LED Hình II-6Chiều đi của data module led p10 full color Có thể thấy, module này chia ra làm 2 nửa theo chiều ngang, với dữ liệu của 8 hàng trên do RGB1 quyết định, còn 8 hàng dưới do RGB2 quyết định. Chân ABC sẽ quyết định hàng nào trong 8 hàng của cả 2 nửa được sáng. Phương pháp quét LED MATRIX P10 FULL COLOR > Quét theo tỉ lê 1/8 mỗi lần quét được 2 hàng. > Tất cả module có 16 dòng, 32 cột. Tại mỗi thời điểm nhất định sẽ có 2 dòng được chọn. Chân A Chân B Chân C Hàng được chọn 0 0 0 Không hàng nào được chọn 1 0 0 0,7 0 1 0 1,8 1 1 0 2,9 0 0 1 3,10 1 0 1 4,11 0 1 1 5,12 1 1 1 6,13 Bảng 2 Bảng lụa chọn hàng của module led p10
  26. Xung CLK trong dữ liệu cho phép xuất dữ liệu ở mỗi hàng 1 bit, hiện tại chúng ta sử dụng module LED MATRIX P10 FULL COLOR 32x16 và 4x4 bảng led tức là mỗi hàng có 512 led chính vì thế mỗi hàng có 512 xung clock. Ta sẽ đẩy dữ liệu từ màu xanh dương trước sau đó tới màu xanh lá và cuối cùng là màu đỏ. Tiếp theo kéo chân LAT và chân OE lên mức cao. Việc cho phép chân LAT ở mức cao, cho phép xuất dữ liệu ra và hiển thị đồng thời nó cũng vô hiệu hóa dữ liệu ra để chúng ta chuyển hàng. Chuyển hàng bằng cách chọn hàng đã đề cập ở trên túc là thay đổi các trạng thái để có thể chọn hàng. Kéo chân LAT xuống mức thấp và lên mức cao cho phép đóng chốt để chúng ta có thể ra dữ liệu tiếp theo. Mắt chúng ta có khả năng lưu ảnh 20ms 1 lần vậy thì 1 hàng led chúng ta sẽ xử lý trong 20/16 là khoảng 1,25ms. 2.5.1 Font chữ Tạo Font chữ dùng phần mêm LCD Font Maker Hình II-7Giao diện của phần mềm LCD font maker
  27. Bước 1 : Chọn kiểu font chữ Hình II-8 Chọn font chữ cho mã led Bước 2: Chọn chiều dữ liệu font chữ: Hình II-9Giao diện của phần mềm LCD font maker
  28. Bước 3: xuất dữ liệu font chữ: < $ LCD Font Maker V3.92 I File Tools Help I English 31 Ë e9' 0x20,0x20,0x04,//Width pixels,Height pixels,Width bytes 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x05,0x80,0x00,0x00,0x05,0x80,0x00,0x00, 0x09,0x80,0x00,0x00,0x08,OxCO,OxOO,OxOO,OxlO,OxCO,OxOO,OxOO,OxlF,OxCO,OxOO,OxOO, 0x10,0x60,0x00,0x00,0x20,0x60,0x00,0x00,0x60,0x70,0x00,OxOO,OxFO,OxF8,0x00,0x00, OxFF,OxFF,OxFF,OxFF,OxOO,OxOO,OxOO,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ~\p n e fo nt data putput^Character input^FontLIB outputT* Times New Roman En: 13X21 Ch;12X21 |Monochrome LCD Fonts,Horizontal P Type here to search Hình II-10Xuât mã font led 2.5.2 Font chữ tiếng việt Cách tạo font chữ bên trên đã có thể tạo ra được tất cả các loại font nhưng một vấn đề cũng rất được quan tâm đó là hiển thị bộ font đầy đủ tiếng Việt. Không những hiển thị được, việc nhập liệu tiếng việt vào cũng là 1 vấn đề quan trọng. Ngay nay, chuẩn UTF-8 đã rất phổ biến, các trình dịch và phần mềm editor cũng hỗ trợ UTF-8 rất nhiều. Vậy nên em sẽ thiết kế bộ font tiếng việt theo chuẩn UTF-8. Khả năng của kiểu mã hóa font UTF-8 là độ dài của byte mã hóa không cố định, nó có thể là lbyte, 2byte, 3 byte, 4byte và nhiều hơn nữa nếu muốn, nên nó tiết kiệm được không gian lưu trữ hơn so với unicode Ngoài ra nó cũng tương thích hoàn toàn với bộ mã ASCII. Ví dụ, chữ À có giá trị tương đường là 0x0000C380. Khi trình dịch biên dịch chữ À, nó sẽ chỉ lưu 2 byte 0xC380 vào bộ nhớ. Chữ ắ có giá trị tương đương 0x00E1BAAF. Khi trình dịch biên dịch chữ ắ, nó sẽ lưu 3 byte 0xE1BAAF và bộ nhớ.
  29. Byte đầu tiên (cao nhất) chính là cơ sở để ta xác định độ dài của chữ cần giải mã. > Nếu byte đầu tiên có dạng 0xxx xxxx thì chữ này chiếm 1 byte thôi > Nếu byte đầu tiên có dạng 110x xxxx thì chữ này chiếm 2 byte. > Nếu byte đầu tiên có dạng 1110 xxxx thì chữ này đang chiếm 3 byte. > Nếu byte đầu tiên có dạng 1111 0xxx thì chữ này đang chiếm 4 byte. Theo bộ mã ASCII chúng ta có các kí tự 0->127 thuộc dải mã này, tuy nhiên từ 0 đến 32 thì là các mã hệ thống, không có khả năng hiển thị nên em sẽ tận dụng luôn. Bố cục thứ tự em thiết kế như sau: Vị trí 0 là NULL nên không xài, bắt đầu từ vị trí 1 sẽ lưu chữ À, tiếp tới 2 sẽ là Á cho tới 31 là chữ Í -> tiếp tới 32 đến 127 là mã ASCII -> tiếp tục từ 127 đến 229 là các kí tự tiếng Việt còn lại -> từ 229 trở đi là các kí tự đặc biệt, icon.
  30. CHƯƠNG III TÍNH TOÁN VÀ THIẾT KỂ 3.1 GIỚI THIỆU Đề tài yêu cầu thiết kế hệ thống bảng điện tử hiển thị thông tin thời tiết. Kết nối với internet thu thập dữ liệu và xuất ra bảng led. Chương này em sẽ trình bày sơ đồ khối, tính toán, chọn linh kiện và giao diện cài đặt trên webserver. 3.2 TÍNH TOÁN VÀ THIẾT KẾ 3.2.1 VI XỬ LÝ TRUNG TÂM Chức năng xử lý, lấy dữ liệu từ mạng internet, chạy webserver, điều khiển thông tin hiện thị đưa lên bảng led. Vi xử lý trung tâm vừa có thể chạy webserver vừa có thể truy cập internet để lấy dữ liệu về nhanh, liên tục, hiệu quả thông dụng và có giá cả phải chăng với các yêu cầu như vậy em quyết định chọn board DevKit ESP32-WROOM. Hình III-1KIT ESP32
  31. ĐHBRVT - Đồ án tốt nghiệp Sinh viên thực hiện: Võ Đình Huy Hình III-2KITESP32 PINOUT
  32. 3.2.2 Nguồn Nguồn phải đảm bảo cung cấp vừa nguồn cho vi điều khiển vừa cấp nguồn cho 16 module led ma trận. Sử dụng 16 module led ma trận mà mỗi module nếu sáng hoàn toàn 100% thì dòng điện sẽ là 6A tương ứng với 30W vậy 16 module là 16x30 là 480W. Nhưng những thông tin hiển thị lên bảng led độ phủ chỉ chiếm^2 bảng led nên ta chỉ cần khoảng 240W. Vậy em sẽ sử dụng bộ nguồn 5V 70A tương ứng với 350W hoàn toàn hợp với mô hình. Hình nI-3Nguồn LED 5V 70A
  33. CHƯƠNG IV THI CÔNG HỆ THỐNG 4.1 Thi công mô hình Bộ khung cho led có tác dụng định hình cho cả bảng led, cố định bộ nguồn mà mạch nên yêu cầu là đảm bảo sự chắc chắn nhẹ nhàng để dễ di chuyển và lắp đặt. Khung cho mô hình có kích thước như sau: Hình IV-1Kích thước khung led Mặt trước bộ khung dùng để định hình 16 tấm led. Mặt sau là mạch điều khiển và nguồn, được bảo vệ bằng nhựa nhựa carbonate. Nguồn và mạch được cố định lên khung.
  34. 4.2 Lưu đồ thuật toán Đúng l Đọc dữ liệu và hiển thị lên bảng led
  35. 4.3 Kết nối Kết nối 2 port vào ra của bảng led như sau: MOSI 13 nối vào B2. GPIO 25 nối vào chân A. GPIO 26 nối vào chân B. GPIO 27 nối vào chân C. GPIO 32 nối vào chân OE. GPIO 33 nối vào chân LAT. CLK nối vào chân 4. B2>B 1 >G2>G 1 >R2>R1. D5 nối vào công tắc dùng chọn chế độ Station hoặc Access Point. 4.4 Phần mềm lập trình esp32 4.4.1 Giới thiệu Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng cross-platform (đa nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng cho Ngôn ngữ lập trình xử lý (Processing programming language) và project Wiring. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng như compile(biên dịch) và upload chương trình lên board chỉ với 1 cú nhấp chuột. Một chương trình hoặc code viết cho Arduino được gọi là một sketch. Các chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp các
  36. thao tác input/output được dễ dàng hơn. Người dùng chỉ cần định nghĩa 2 hàm để tạo ra một chương trình vòng thực thi (cyclic executive) có thể chạy được: setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch 4.4.2 Cài đặt arduino IDE Bước 1 : Truy cập địa chỉ Đây là nơi lưu trữ cũng như cập nhật các bản IDE của Arduino. Bấm vào mục WINDOWS ZIP file for non admin install như hình minh họa. Home Buy Download Products ▼ Learning ▼ Forum Support Blog LOG IN SIGN UP Download the Arduino Software W in d o w snstaller ARDUINO 1.6.4 Windowszipfile for non admin install The open-source Arduino Software (IDE) makes it easy to V write code and upload it to the board. It runs on M ac OS X io 7 Lion or newer Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing and other open- Linux32 bits source software. This software can be used with any Arduino board. Linux64 bits Refer to the Getting Started page for Installation instructions. Release Notes Source Code Checksums Hình IV-2Giao diện web arduino.cc Bạn sẽ được chuyển đến một trang mời quyền góp tiền để phát triển phần mềm cho Arduino, tiếp tục bấm JUST DOWNLOAD để bắt đầu tải.
  37. Contribute to the Arduino Software Consider supporting the Arduino Software by contributing to its development. (IJStax payers, please note this contribution is not tax deductible). Learn more on how your contribution will be used. SINCE MARCH 10TH 2 0 1 5 , THE ARDUINO IDE HAS BEEN DOWNLOADED 01322451 TIM ES IMPRESSIVE' THIS IDE IS NO LONGER 1UST FOR ARDUINO BOARDS HUNDREDS OF COMPANIES AROUND THE WORLD ARE USING I T TO PROGRAM THEIR D EV IC ES , INCLUDING COMPATIBLES, CLONES, AND EVEN COUNTERFEIT. YOU CAN HELP ACCELERATE THE DEVELOPMENT OF THE ARDUINO IDE BY CONTRIBUTING TOWARDS THE EFFORT OF MAKING I T BETTER. $3 $5 $10 $25 $50 other JUST DOWNLOAD CONTRIBUTE & DOWNLOAD Hinh IV-3Giao dien tai arduino IDE Hinh IV-4 Da tai xong arduino IDE Bước 2: Sau khi download xong, bấm chuột phải vào file vừa download arduino-1.6.4- windows.zip và chọn “Extract here” để giải nén.
  38. N am e Date modified Type a il! arduino-1.6.4-windows.zip 5/12/2015 10:1 D P M W inF Open Run Sandboxed ề ' Extract files,,, K Extract Here ü Extract to arduino-1.6.4-wiMjfows\ õr Edit with Notepad+ + m Scan with AVG Permanently shred with AVG O pen w ith ► Q M ag icIS O ► Send to ► Cut C o p y Create shortcut D e le te Renam e P rop erties Hinh IV-5Giai nen arduino IDE Bước 3: Copy thư mục arduino-1.6.4 vừa giải nén đến nơi lưu trữ. Bước 4: Chạy file — arduino.exe troĩlg t]ui- mục arduino-1.6.4\ để khởi động Arduino IDE
  39. Hình IV-6Giao diện lập trình arduino IDE 4.5 Lập trình esp32 bằng arduino IDE Bước 1: Vào File^ Preferences, tại ô Additional Board Manager URLs thêm đường link sau vào: esp32 index.ison
  40. Preferences X Settings Network Sketchbook location: C: \Users\vantr\OneDnveipoa»nent\Arduino| Browse Editor language: System Default V (requires restart o f Arduino) Editor font size: 20 Interface scale: PI Automatic z % (requires restart o f Arduino) Theme: Default theme V (requires restart of Arduno) Show verbose output dcrog: Q completion Q upload Compiler warnings: None v 0 Display line numbers □ Enable Code Poking 0 Verify code after upload □ Use external editor 0 Aggressively cache compied core 0 Check for updates on startup 0 Update sketch fies to new extension on save (.pde -> .ino) 0 Save when verifying or uploadng Additional Boards Manager URLs: rsions/2.4.2/package_esp8266comJndex.json, ß . 1 " 1 ■- fff C: yjserstyantr 'yAppData'Local\Arduno l5Vxeferences.txt OK Cancel Hình IV-7Giao diện nhập link để tải thư viện arduino Bước 2: Vào Tool^Board^Boards Manager, nhập vào ô tìm kiếm từ khóa esp32, chọn ESP32 by Espressif Systems và nhấn install
  41. Bước 3: Để nạp code cho ESP32 các bạn vào Tools ^ Board ^ DOIT ESP32 DEVKIT V1
  42. T o ols H elp 1 Auto Format C trl+ T Archive Sketch Fix Encoding & Reload Manage Libraries Ctrl* Shift* 1 Serial Monitor Ctrl* Shift* M to run once: Serial Plotter Ctrl* Shift* L Boards Manager WiFilOl Firmware Updater ▲ 1 Board: "DOIT ESP32 DEVKITV1" * IntoRobot Fig > Upload Speed: "921600“ À Onehorse ESP32 Dev Module Flash Frequency: "80MHz" : Adafruit ESP32 Feather Core Debug Level: "None” : NodeMCU-32S Port MH ET LIVE ESP32DevKIT Get Board Info MH ET LIVE ESP32MiniKit ESP32vn loTUno <1 Programmer "Arduino as ISP" ế H DOITESP32 DEVKITV1 Burn Bootloader OLIMEX ESP32-EVB OLIMEX ESP32-GATEWAY ThaiEasyElec's ESPino32 M5Stack-Core-ESP32 M5Stack-FIRE ODROID ESP32 Hình IV-9Chọn KIT arduino để biên dịch và nạp code Vào Tools —— Port và chọn đúng cổng COM mà ESP32 kết nối vào máy tính, sau đó thực hiện nạp code.
  43. Hình IV-10Chọn cổng để nạp code Cuối cùng, sau khi cài đặt thành công, các bạn vào File ^ Example sẽ có các ví dụ mẫu về các chức năng phổ biến của ESP32, đây sẽ là nguồn code mẫu để các bạn nghiên cứu về ESP32.
  44. Hình IV-11Giao diện các ví dụ để tham khảo trong arduino IDE 4.6 Chương trình Đoạn chương trình hàm loop void loop(){ if(!wificonf)
  45. checkWifi(); httpProcess(); if(delayState==0){ if(dispState==1) {dispDateTime(0);delayState=5;} else if(dispState==3) {dispQrAll(0xff);dispWeather();delayState=5;} else if(dispState==5) {dispQrAll(0xff);dispForecastHourly();delayState=8;} else if(dispState==6) {dispQrAll(0xff);dispForecastDaily();delayState=8;} else if(dispState==7) {dispQrAll(0xff);dispEnviroment();delayState=3;} Else {dispInfoText();delayState=2;} } if(count2%60==5) {getDateTime();count2++;} if((count2%60==15)&&((count2 0))) {getAQI();count2++;} if((count2%60==25)&&(onlineMin%3==0)) {getWeather();count2++;}
  46. if((count2%60==25)&&(onlineMin%3==1)) {getForecastHourly();count2++;} if((count2%60==25)&&(onlineMin%3==2)) {getForecastDaily();count2++;} if((count2%60==50)&&(onlineHour>5)&&((onlineMin%15==1)||(getUViError >0))) {getUVI();count2++;} if(lastMin!=onlineMin){ lastMin=onlineMin; for(char i=0;i<6;i++){ if(onOffT ime[i]. mode==0)continue; if(onOffTime[i]. min ! =onlineMin)continue ; if(onOffT ime[i].hour!=onlineHour)continue; if(onOffT ime[i]. mode==1 )dispOn=0 ; else if(onOffT ime[i]. mode==2)dispOn= 1 ; } } }
  47. CHƯƠNG V Kết quả - nhận xét - đánh giá 5.1 Cấu hình cho hệ thống kết nối internet Chuyển chế độ hệ thống thành access point. Bước 1: Đăng nhập vào giao diện chính của hệ thống 12: 42:35 Bảng thông tin thởi tiết trực tuyến C À I Đ Ặ T 26 / 5 / 2020 Hình V-1Giao diện chính trên webserver của hệ thống
  48. Bước 2: Cài đặt kết nối wifi Hình V-2Cài đặt wifi để kết nối internet Bước 3: Cài đặt API để lấy dữ liệu thời tiết, chất lượng không khí, tia uv. Hình V-3Giao diện nhập API đê láy thông tin từ mạng internet Ngoài ra hệ thống cũng được thiết kế để có thể chạy thêm thông báo tùy chỉnh được ví dụ như có hội thảo hay là thông tin đánh rơi đồ,
  49. Hình V-4Giao diện nhập để chạy thông báo Giao diện đã được thiết kế 5 thông báo có thể chỉnh được 7 màu chữ và 5 cấp tốc độ. Màu chữ T ổ c đ ô Vàng T Không chạy Hình V-5Chỉnh màu và tốc độ của chữ chạy Đỏ thông báo Không chạy Xanh lá Vàng Rât nhanh Xanh dưo’ng Nhanh Tím Vừa Xanh lo: Trắng Chậm Ngẫu nhiên Rất chậm
  50. Hình V-6Giao diện cài đặt mật khâu Thêm vào đó hệ thống cũng cung cấp mật khẩu để nhiều vị trí có thể sử dụng. Ví dụ như phòng công tác sinh viên cần đăng thông tin gì thì có thể sử dụng bảng led để hiển thị thông tin. Hình V-7Giao diện cài đặt thời gian bật tắt
  51. Hệ thống còn thiết kế thêm chương trình cài đặt thời gian bật tắt để tiết kiệm điện năng và tăng tuổi thọ cho hệ thống tránh việc phải hoạt động liên tục. 5.2 Mô hình chạy thực tế Hình V-8Chạy hệ thống thực tế
  52. Hình V-9Chạy hệ thống thực tế
  53. 5.3 Nhận xét & đánh giá: Sau khi thực hiện xong đề tài thì em đã biết: 5.3.1 Nhận xét: - Lập trình esp32 bằng Arduino IDE. - Gửi dữ liệu từ Webserver xuống esp32. - Tạo được font tiếng việt. - Thi công được bảng led. - Hiểu được cách vận hành của module led 5.3.2 Đánh giá: Củng cố được kiến thức lập trình vi điều khiển ESP32, tiếp cận được công nghệ mới theo xu hướng IOT 4.0. Cần học hỏi thêm nhiều kiến thức về IOT và kinh nghiệm của thầy cô, anh chị sinh viên, doanh nghiệp. Từ đó mới phát triển nâng cao tay nghề. Bản thân phải thường xuyên trau dồi cập nhật những kiến thức mới nhất để theo kịp thời đại mới đặc biệt là trong lĩnh vực IOT.
  54. CHƯƠNG VI Kết luận và hướng phát triển 6.1 Kết luận Sau thời gian nghiên cứu và tìm hiểu, nhóm đã hoàn thành đề tài “Bảng điện tử hiện thị thông tin thời tiết trực tuyến” Đề tài đã đạt được yêu cầu như sau: - Đã giới thiệu sơ lược về các phần cứng sử dụng trong mô hình. - Giới thiệu phần mềm lập trình. - Có thể thay đổi thông báo tùy ý. - Thi công và lắp đặt được bảng led kích thước 128x64 bằng 16 module led p10 full color. Trong quá trình thực hiện đề tài, em đã gặp nhiều khó khăn như phải nghiên cứu nhiều nguồn tài liệu cả tiếng việt lẫn tiếng anh nên có nhiều nhầm lẫn. Trong khi lập trình gặp nhiều lỗi phát sinh mà không thể giải quyết. Quá trình thi công cũng gặp nhiều khó khăn nhưng em đã cố gắng giải quyết vấn đề phát sinh và hoàn thiện được đề tài. Do đây là lần đầu tiên làm đồ án tốt nghiệp có nhiều bỡ ngỡ với kiến thức còn nhiều hạn chế, thiếu sót. Em mong được sự giúp đỡ cũng các thầy cô giáo để đề tài được hoàn thiện hơn và thêm nhiều cải tiến đáng kể, ứng dụng tốt vào thực tiễn. 6.2 Hướng phát triển Sản phẩm tương lai sẽ phát triển trên module led p5 hoặc p3 để có mật độ điểm ảnh dày hơn, để có thể hiển thị hình ảnh và video. Tương lai sẽ sử dụng thêm thingspeak để gửi dữ liệu lên clound. Có thể gửi dữ liệu về gmail để theo dõi hoặc thể sử dụng app android để gửi dữ liệu xuống esp32.
  55. TÀI LIỆU THAM KHẢO [1] http: //iot47 .com/category/ma-tran-led/ [2] [3] of things [4] V%E 1 %BA%A 1 n V%E 1 %BA%ADt [5] https: //en.wikipedia.org/wiki/ESP32 [6] bien-dich-tren-arduino-ide [7] [8] https: //vi .wikipedia.org/wiki/Wi-Fi [9] ch%E1%BB%A7 web [10] [11] https: //openweathermap .org/ [12] https: //www.openuv.io/ [13]