Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
1,6 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ II BÁO CÁO ĐỒ ÁN MÔN THỰC HÀNH CHUYÊN SÂU Đề tài: SMART HOUSE, BẬT TẮT ĐÈN TỰ ĐỘNG Giáo viên hướng dẫn: T.s CHUNG TẤN LÂM TP.HCM – 5/2021 Nhận Xét Của Giảng Viên ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… …… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… …… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… …… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ……………………… Điểm:……………(Bằng chữ:……………………………) Hồ Chí Minh, ngày tháng năm GIẢNG VIÊN HƯỚNG DẪN LỜI MỞ ĐẦU Ngày giới với bùng nổ ngành công nghệ thông tin, điện tử, làm cho đời sống người ngày hoàn thiện Các thiết bị tự động hóa ngày ứng dụng vào sản xuất chí vào sống sinh hoạt ngày người Ngồi ra, thị trường có sản phẩm Raspberry pi có nhiều tính phù hợp kế hợp với IoT tạo nên hệ thống vật lý đại tổng thể bao gồm công nghệ Việc thu thập liệu, điều khiển thiết bị ghi chép lại cách tự động giúp tiết kiệm chi phí đáng kể Xuất phát từ ý tưởng nên em chọn đề tài “SMART HOUSE, BẬT TẮT ĐÈN TỰ ĐỘNG” với Raspberry Pi 3, Node-Red MQTT, WiFi Kit ESP8266 cho đề tài báo cáo Em xin chân thành cảm ơn thầy Ths.Chung Tấn Lâm tận tình hướng dẫn, dạy cho em thời gian qua, giúp em hoàn thành tốt nhiệm vụ đề Do thời gian hiểu biết có hạn, chắn q trình làm việc chúng em có nhiều thiếu sót, mong thầy bạn chân thành góp ý CHƯƠNG I: TÌM HIỂU THIẾT BỊ Tìm hiểu ESP8266 Hình 1.1 ESP8266 Tính năng: Bộ xử lý: Lõi vi xử lý RISC 32-bit L106 dựa Tiêu chuẩn kim cương Tensilica Xtensa 106Micro chạy 80 MHz [5] Bộ nhớ: RAM hướng dẫn 32 KiB RAM nhớ đệm lệnh 32 KiB RAM liệu người dùng 80 KiB RAM liệu hệ thống 16 KiB ETS Đèn flash QSPI bên ngoài: hỗ trợ tối đa 16 MiB (thường bao gồm 512 KiB đến MiB) IEEE 802.11 b / g / n Wi-Fi Tích hợp công tắc TR , balun , LNA , khuếch đại công suất mạng kết hợp Xác thực WEP WPA / WPA2 mạng mở 16 chân GPIO SPI I²C (triển khai phần mềm) [6] Giao diện I²S với DMA (chia sẻ chân với GPIO) UART chân chuyên dụng, cộng với UART truyền bật GPIO2 ADC 10 bit ( ADC xấp xỉ ) Sơ đồ chân sau cho mô-đun ESP-01 chung: VCC, Điện áp (+3.3 V; xử lý lên đến 3.6 V) GND, mặt đất (0 V) RX, Nhận bit liệu X TX, Truyền bit liệu X CH_PD, chip tắt nguồn RST, Đặt lại GPIO 0, đầu vào / đầu mục đích chung số GPIO 2, đầu vào / đầu mục đích chung số Hình 1.2 Sơ đồ chân ESP8266 Thơng số phần cứng 32-bit RISC CPU : Tensilica Xtensa LX106 running at 80 MHz Hổ trợ Flash từ 512KiB đến 4MiB 64KBytes RAM thực thi lệnh 96KBytes RAM liệu 64KBytes boot ROM Chuẩn wifi EEE 802.11 b/g/n, Wi-Fi 2.4 GHz Tích hợp TR switch, balun, LNA, khuếch đại công suất matching network Hổ trợ WEP, WPA/WPA2, Open network Tích hợp giao thức TCP/IP Hổ trợ nhiều loại anten 16 chân GPIO Hổ trợ SDIO 2.0, UART, SPI, I²C, PWM,I²S với DMA ADC 10-bit Dải nhiệt độ hoạt động rộng : -40C ~ 125C Tìm hiểu node red Node-RED dựa Node.js, xem web server mà ta cấu hình tùy chỉnh chức gọi “flow” từ trình duyệt máy tính Mỗi ứng dụng Node-RED bao gồm node liên kết với với dạng input, output operation Một ví dụ đơn giản để hình dung node khác tương tác nào: Hình 1.3 Tương tác node red Với Node-RED ta hình dung cách tương tác giao tiếp với thiết bị cách tổng quan hình Ở máy tính đóng vai trị server client Hình 1.4: Node red tương tác giao tiếp với thiết bị khác Giới thiệu Raspberry pi Pi máy tính nhỏ gọn, kích thước hai cạnh cỡ thẻ ATM Nó tích hợp thứ cần thiết để bạn sử dụng máy vi tính Trên bo mạch Raspberry Pi có thành phần: CPU, GPU, RAM, khe cắm thẻ microSD, Wifi, Bluetooth cổng USB 3.1 Chi tiết thơng số kĩ thuật: • Broadcom BCM2837 chipset running at 1.2 GHz • 64-bit quad-core ARM Cortex-A53 • 802.11 b/g/n Wireless LAN • Bluetooth 4.1 (Class & Low Energy) ã Dual core Videocore IVđ Multimedia co-processor ã 1GB LPDDR2 memory • Supports all the latest ARM GNU/Linux distributions and Windows 10 IoTs • MicroUSB connector for 2.5A power supply ã 1ì10/100 Ethernet port ã 1xHDMI video/audio connector • 1xRCA video/audio connector • 4xUSB 2.0 ports • 40 GPIO pins • Chip antenna • DSI display connector • Micro card slot • Dimensions: 85x56x17 mm Hình 1.5: Các cổng vào Raspberry pi 3.2 Tổng quan phần cứng Raspberry Pi Hình 1.6: Tổng quan phần cứng Raspberry pi CPU: “Trái tim” board mạch Raspberry Pi sử dụng vi xử lý BCM2836 Broadcom Đây loại SoC (system on chip) tức chip tích hợp lúc: CPU: 900 MHz ,4 nhân, kiến trúc ARM Cortex-A7 Vì sử dụng ARM Cortex-A7 nên Raspberry Pi chạy Ubuntu core Windows 10 core mượt mà SD RAM: GB GPU: Broadcom VideoCore IV @ 250 MHz Khe cắm thẻ micro SD: Có thể nhận thấy khơng có ổ cứng Raspberry Pi thay vào thẻ nhớ SD Tất liệu lưu trữ thẻ nhớ Cần dùng thẻ 4GB class (4MB/s) cho Raspberry Pi (khuyên dùng thẻ 8GB class 10) Cổng USB: Raspberry Pi có cổng USB 2.0 Đủ để bạn cắm ngoại vi cần thiết chuột, bàn phím usb wifi Cổng Ethernet: Model có cổng Ethernet chuẩn RJ45 Cổng HDMI: Dùng để truyền tín hiệu Video Audio số Có tới 14 chuẩn video hỗ trợ tín hiệu HDMI dễ dàng chuyển đổi thành chuẩn khác DVI, RCA, SCART Ngõ Audio-Video: Ngõ giắc cắm chuẩn 3.5mm, hỗ trợ cho người dùng khơng có hình hỗ trợ HDMI Âm hình ảnh lấy từ cổng có chất lượng chút so với từ cổng HDMI Cổng cấp nguồn Micro USB: Một điều nhận thấy Raspberry Pi khơng có nút nguồn Micro USB chọn làm cổng cấp nguồn Nguồn cấp cho Raspberry Pi 5v điện áp (bắt buộc) dòng nên lớn hớn 1A Cấp nguồn 5v dễ làm cháy board mạch Cổng DSI (Display Serial Interface): Cổng dùng để kết nối với LCD hình OLED Cổng CSI (Camera Serial Interface): Cổng dùng để kết nối với module camera riêng Raspberry Pi Module thu hình ảnh chất lượng lên đến 1080p GPIO (General Purpose Input and Output): Giống chân vi điều khiển, IO Raspberry Pi sử dụng để xuất tín hiệu led, thiết bị… đọc tín hiệu vào từ nút nhấn, cơng tắc, cảm biến… Ngồi cịn có IO tích hợp chuẩn truyền liệu UART, I2C SPI Hình 1.7: Các cổng vào Raspberry Pi Hình 1.8 Kết nối Raspberry Pi 3.3 Raspberry Pi dùng để: Đầu coi phim HD giống Android Box, hỗ trợ KODI đầy đủ Máy chơi game cầm tay, console, game thùng Cắm tải liệu, file 24/24 Dùng làm VPN cá nhân Biến ổ cứng bình thường thành ổ cứng mạng (NAS) Làm camera an ninh, quan sát từ xa Hiển thị thời tiết, hiển thị thông tin mạng nội bộ… Máy nghe nhạc, máy đọc sách Làm thành máy Teminal di động có hình, bàn phím, pin dự phịng để dễ sử dụng lúc nơi, dò pass Wi-Fi… Làm thiết bị điều khiển Smart Home, điều khiển thiết bị điện tử nhà Điều khiển robot, máy in không dây từ xa, Airplay… 3.4 Những lý nên dùng Rasberry Pi: Giá rẻ: giá từ USD cho Pi (phiên rút gọn Raspberry Pi Zero) Bản Rasberry Pi mạnh có đầy đủ chức Đơn giản, tiết kiệm không gian: dùng cho công việc văn phòng đơn giản, gõ Word, Excel, PowerPoint, lướt web Tự học lập trình app đơn giản Raspberry Pi Tiêu thụ điện Có tính di động cao: bỏ vào túi mang đi, thích hợp làm máy nghe nhạc di động, máy đọc ebook, máy dò pass Wi-Fi, máy chơi game cầm tay 3.5 Sau mua phải cài hệ điều hành a Thiết lập kết nối trực tiếp: Kết nối trực tiếp cung cấp nhanh chóng đơn giản, tham gia vào mạng cục riêng tư Raspberry Pi bạn (ví dụ: mạng có dây Wi-Fi nhà, trường học văn phòng) Nếu bạn kết nối qua Internet, việc thiết lập kết nối đám mây an toàn thuận tiện nhiều Trên Raspberry Pi, tìm địa IP riêng cách nhấp đúp vào biểu tượng Máy chủ VNC tác vụ kiểm tra hộp thoại trạng thái: Hình 1.11 Địa IP Trên thiết bị bạn sử dụng để kiểm sốt, chạy chương trình VNC nhập địa IP vào tìm kiếm: Hình 1.12 Nhập địa vào tìm kiếm b Thiết lập kết nối clound Kết nối đám mây thuận tiện mã hóa từ đầu đến cuối, đặc biệt nên dùng cho kết nối qua Internet khơng có lại tường lửa định tuyến bạn không cần biết địa IP Raspberry Pi cung cấp địa tĩnh Đăng ký tài khoản RealVNC cách nhập địa email bạn vào ô trang làm theo hướng dẫn Trên Raspberry Pi bạn, chọn Licensing từ trình đơn trạng thái Máy chủ VNC, chọn Đăng nhập vào tài khoản RealVNC bạn nhập email mật tài khoản bạn: Hình 1.13 Cách đăng ký tài khoản RealVNC Trên thiết bị sử dụng để điều khiển, chạy Trình xem VNC đăng nhập thông tin đăng nhập tài khoản Trong VNC Viewer, kết nối đến Raspberry Pi tự động xuất tên nhóm Chỉ cần nhấn nhấp đúp để kết nối: Hình 1.14 Hiển thị tên nhóm Giao thức MQTT (Message Queuing Telemetry Transport) Là giao thức gởi dạng publish/subscribe sử dụng cho thiết bị Internet of Things với băng thông thấp, độ tin cậy cao khả sử dụng mạng lưới khơng ổn định Bởi giao thức sử dụng băng thông thấp môi trường có độ trễ cao nên giao thức lý tưởng cho ứng dụng M2M Publish, subscribe: Trong hệ thống sử dụng giao thức MQTT, nhiều node trạm (gọi mqtt client - gọi tắt client) kết nối tới MQTT server (gọi broker) Mỗi client đăng ký vài kênh (topic), ví dụ "/client1/channel1", "/client1/channel2" Quá trình đăng ký gọi "subscribe", giống đăng ký nhận tin kênh Youtube Mỗi client nhận liệu trạm khác gởi liệu kênh đăng ký Khi client gởi liệu tới kênh đó, gọi "publish" QoS: Ở có tuỳ chọn *QoS (Qualities of service) * "publish" "subscribe": QoS0 Broker/client gởi liệu lần, trình gởi xác nhận giao thức TCP/IP, giống kiểu đem bỏ chợ QoS1 Broker/client gởi liệu với lần xác nhận từ đầu kia, nghĩa có nhiều lần xác nhận nhận liệu QoS2 Broker/client đảm bảm gởi liệu phía nhận nhận lần, q trình phải trải qua bước bắt tay Client Khi nói client gần ln ln có nghĩa MQTT client Điều bao gồm publisher subscriber, hai gắn nhãn MQTT client publishe subscribe (Nói chung MQTT client vừa publisher subscriber) Một MQTT client thiết bị từ điều khiển vi mơ đến máy chủ hồn chỉnh, có thư viện MQTT chạy kết nối với MQTT broker qua loại mạng Đây thiết bị thực nhỏ tài nguyên, kết nối qua mạng không dây có thư viện gắn chặt với mức tối thiểu máy tính điển hình chạy client đồ hoạ MQTT cho mục đích thử nghiệm, thiết bị có ngăn xếp TCP / IP thực MQTT qua Việc thực client giao thức MQTT thẳng phía trước thực làm giảm chất Đó khía cạnh, MQTT lý tưởng cho thiết bị nhỏ Các thư viện MQTT client có sẵn cho nhiều ngơn ngữ lập trình khác nhau, ví dụ Android, Arduino, C, C ++, C #, Go, iOS, Java, JavaScript, NET Broker Đối tác MQTT client MQTT broker, trung tâm giao thức Pub/Sub Tùy thuộc vào việc thực cụ thể, broker xử lý hàng ngàn client kết nối MQTT đồng thời Broker chịu trách nhiệm việc nhận tất tin nhắn, lọc chúng, định quan tâm đến sau gửi thơng điệp đến tất client subscribe Nó giữ thơng tin tất client bao gồm subscribe tin nhắn bị bỏ lỡ Một trách nhiệm khác broker xác thực ủy quyền client Và hầu hết lần broker mở rộng, cho phép dễ dàng tích hợp xác thực, ủy quyền tích hợp vào hệ thống phụ trợ Đặc biệt, hội nhập khía cạnh quan trọng, thường broker thành phần trực tiếp tiếp xúc Internet xử lý nhiều khách hàng sau truyền thơng điệp đến hệ thống phân tích xử lý hạ nguồn Tất broker trung tâm, mà tin nhắn cần phải vượt qua Do điều quan trọng có khả mở rộng cao, tích hợp vào hệ thống phụ trợ, dễ kiểm tra tất nhiên khơng khuyết điểm MQTT nhẹ nhàng nhanh Nó bytes cho việc kết nối với server connection giữ trạng thái open xuyên suốt Ưu điểm giao tiếp liệu thời gian HTTP protocol MQTT hoạt động nào? Tồn hệ thống bao gồm có nhiều client thiết bị trung gian (broker) Thiết bị đóng vai trị clients Những Client điện thoại laptop Mỗi client giao tiếp với broker, clients không liên lạc với Tồn hệ thơng dựa phương pháp giao tiếp publish – subscribe Mỗi client publisher mà published messages, subcriber lắng nghe message tới, đồng thời hai Broker server có nhiệm vụ để chấp nhận published message từ publisher gửi tiếp chúng tới subscriber Hình 1.15 Liên kết Broker Sub CHƯƠNG II: THIẾT KẾ MƠ HÌNH ĐỀ TÀI Mơ hình Hình 2.1 Mơ hình phần kết nối Hình 2.2 Kết nối phần mềm Node-Red MQTT Rasberry Pi B1 khởi động Raspian lên mở Terminal lên bật Node-Red Gõ lệnh: rode-red Hình 2.3 node cài thành cơng B2 Vào trang giao diện Node-Red thông qua IP Address RasPi Kéo vào mqtt in debug để debug chương trình Hình 2.4: Kết nối mqtt debug B3 cấp nguồn cho module ESP8266 Nếu kết trả “debug” nhận “Reconnect” ESP8266 kết nối thành công với Server topic “Maker_relay” giao tiếp được” Hình 2.5 ESP8266 kết nối với server mqtt B4 thêm switch theo thứ tự sau: + Switch_1 – On payload -> number -> -> ON – Off payload -> number -> -> OFF + Switch_2,Switch_3,Switch_4 làm tương tự, cần thay đổi tên thông số On/Off payload – Switch_2: ON -> , OFF -> – Switch_3: ON -> , OFF -> – Switch_4: ON -> , OFF -> ... liệu, điều khiển thiết bị ghi chép lại cách tự động giúp tiết kiệm chi phí đáng kể Xuất phát từ ý tưởng nên em chọn đề tài ? ?SMART HOUSE, BẬT TẮT ĐÈN TỰ ĐỘNG” với Raspberry Pi 3, Node-Red MQTT, WiFi... Hình 1.10: Giao diện dịng Terminal GUI Raspbian Muốn khởi động lại tắt lệnh bạn dùng: Khởi động lại: pi@raspberrypi ~ $ sudo reboot Tắt raspberry Pi: pi@raspberrypi ~ $ sudo shutdown –h now Hoặc:... Excel, PowerPoint, lướt web Tự học lập trình app đơn giản Raspberry Pi Tiêu thụ điện Có tính di động cao: bỏ vào túi mang đi, thích hợp làm máy nghe nhạc di động, máy đọc ebook, máy dò pass