Smarthome hay Nhà thông minh là thuật ngữ công nghệ được sử dụng để chỉ những ngôi nhà có thiết bị gia dụng, đèn, máy sưởi, tivi, máy tính, hệ thống âm thanh & video, hệ thống camera an
Trang 2CHƯƠNG 2 TỔNG QUAN VỀ ĐỀ TÀI
1.1 GIỚI THIỆU
Cuộc sống ngày càng hiện đại cuốn con người theo guồng quay của xã hội vàmang đến nhiều áp lực Điều này khiến quỹ thời gian dành cho bản thân và chămsóc gia đình, quan tâm đến ngôi nhà bị thu hẹp Nếu không có biện pháp kịp thời cóthể khiến bạn thêm căng thẳng, mệt mỏi Từ nhu cầu thực tế, smarthome ra đời nhưgiải pháp đáp ứng mong muốn của người dùng
Bên cạnh đó, sự phát triển của từng thiết bị điện tử dẫn đến một xu hướng mới - nhàthông minh Smarthome hay Nhà thông minh là thuật ngữ công nghệ được sử dụng
để chỉ những ngôi nhà có thiết bị gia dụng, đèn, máy sưởi, tivi, máy tính, hệ thống
âm thanh & video, hệ thống camera an ninh, hệ thống sân vườn, có khả năng kếtnối với nhau và có thể được điều khiển từ xa theo lịch trình thời gian, từ bất kỳphòng nào trong nhà cũng như bất kỳ vị trí nào trên thế giới, thông qua điện thoại,Internet Nhờ đó, những ngôi nhà thông minh mang đến cho người chủ cảm giác antoàn, thoải mái, tiện lợi, tiết kiệm năng lượng hơn theo cách mà bạn muốn
Đơn giản hóa việc điều khiển và giám sát thiết bị điệu từ xa, đảm bảo sự an toàncho người già và trẻ nhỏ, đa dạng trải nghiệm và tối ưu chất lượng cuộc sống củacon người Từ những yêu cầu thực tế đó và cũng để bắt kịp xu hướng của thế giới,tôi đã quyết định chọn đề tài đồ án: “ ĐI U KHI N, GIÁM SÁT THI T B ĐI NỀU KHIỂN, GIÁM SÁT THIẾT BỊ ĐIỆN ỂN, GIÁM SÁT THIẾT BỊ ĐIỆN ẾT BỊ ĐIỆN Ị ĐIỆN ỆN TRONG NHÀ S D NG TR LÍ O “ Ử DỤNG TRỢ LÍ ẢO “ ỤNG TRỢ LÍ ẢO “ Ợ LÍ ẢO “ ẢO “.
2.1 HƯỚNG NGHIÊN CỨU
- Điều khiển và giám sát thiết bị điện trong nhà trên một giao diện chung, có thểtruy cập điều khiển ở bất cứ đâu qua Internet hoặc mạng Lan
- Tạo ngữ cảnh và các thao tác tự động để tối ưu hóa việc điều khiển thiết bị điệntiện lợi và thông minh hơn
- Kết hợp sử dụng trợ lí giọng nói để điều khiển thiết bị từ xa thuận tiện hơn vàđem lại những trải nghiệm đa dạng hơn
Trang 4CHƯƠNG 3 THIẾT KẾ HỆ THỐNG VÀ THIẾT BỊ SỬ DỤNG
1.2TỔNG QUAN VỀ HỆ THỐNG VÀ GIẢI PHÁP SMARTHOME
1.1.1 Giới thiệu nền tảng Home Assistant
– Hiện nay ngoài giải pháp Smarthome với chi phí rất cao của Bkav và Lumithì một số giải pháp của một số hãng với thiết bị nhỏ lẻ và không đồng bộ – Để có được một smarthome thì chúng ta cần có nền tảng để làm điều đó Ở
đề tài này tôi đã lựa chọn nền tảng tự động hóa với mã nguồn mở chạy trênPython 3.x - Home Assistant và triển khai trên Raspberry Pi 3 B+ Và cùngvới sự hỗ trợ đắc lực từ trợ lí ảo Google Home Mini
– Hơn thế nữa là HA có thể giải quyết bài toán ở trên: kết nối, đồng bộ cácthiết bị của nhiều hãng khác nhau phù hợp với ngôi nhà của bạn nhất
Hình 1 1: Giới thiệu Home Assistant Với HA chúng ta có thể:
– Giám sát, theo dõi trạng thái của tất cả các thiết bị trong nhà, miễn là thiết bị
đó nằm trong kho khổng lồ các thiết bị mà được HA hỗ trợ
– Điều khiển tất cả các thiết bị từ một giao diện duy nhất, thân thiện với điệnthoại Đặc biệt, nền tảng này không lưu trữ bất kỳ dữ liệu nào của ngườidùng trên máy chủ, vì thế đảm bảo tính riêng tư khá cao
Trang 5– Thiết lập ngữ cảnh và tự động cho các thiết bị trong nhà của chúng ta hoạtđộng một cách thông minh hơn bao giờ hết.
Home Assistant là một nên tảng tự động hóa nhà thông minh mã nguồn mở chạytrên Python 3 Theo dõi và kiểm soát tất cả các thiết bị trong nhà và tự động kiểmsoát
Home Assistant được thiết kế để dễ dàng triển khai trên bất kỳ máy tính nào từRaspberry đến các thiết bị lưu trữ trên mạng (NAS) và thậm chí là một containerDocker để triển khai trên các hệ thống khác một cách dễ dàng
Home Assistant tích hợp với một số lượng lớn các sản phẩm Nhà thông minh khác
từ mã nguồn mở cũng như thương mại, cho phép bạn liên kết các thiết bị, dữ liệuvới nhau, ví dụ như IFTTT (if this then that – công cụ để tự động hóa các thao tác),thông tin thời tiết hay Amazon Echo, Google Home để kiểm soát phần cứng trongnhà từ khóa cửa cho đến đèn điện
Home Assistant có phiên bản cài sẵn, gọi là Hass.io, bằng cách đóng gói cả hệ điềuhành và Home Assistant và file img và cho phép người dùng bung nó trên thẻ nhớ
để cài trên Raspberry Pi một cách nhanh nhất Trọng tâm của hệ thống là trở thànhmột hệ điều hành “nhẹ nhàng” và hiệu quả cao để chạy Docker như một hypervisor
Nó sẽ có đủ các phần mềm cơ bản được cài đặt sẵn, để hoạt động như chức nănggiám sát
1.1.2 Tính năng của Home Assistant ?
Tính tới thời điểm viết bài nền tảng này hỗ trợ 1215 thiết bị nhà thông minh đến từNest, IFTTT, Google, Hue, MQTT, Alexa, Xiaomi ,…
Có một điểm mạnh của Home Assistant do Python mang tới đó là: Việc mở rộng hệthống rất dễ dàng Python là ngôn ngữ năng động, nó cho phép tạo ra sự linh hoạt
mà những nhà lập trình Java luôn thèm khát Với Python thật dễ dàng để kiểm tra vàtạo các mẫu thử cho từng phần mới trên bản cài đặt hiện có mà không bị ảnh hưởngvĩnh viễn đến các thành phần khác Python chạy trên Linux các bản distro khác
Trang 6nhau ổn định, và đương nhiên hầu hết các thiết bị nhúng hay máy tính nhúng đều hỗtrợ Linux.
Hình 1 2: Home Assistant Cloud
Home Assistant có 1 phiên bản cloud miễn phí trước kia, gọi là Home AssistantCloud nó cho phép bạn truy cập thiết bị Home Assistant qua mạng Internet để điềukhiến miễn phí Bây giờ phiên bản đó đã thành phiên bản trả phí mang tên là Nabu Casa Nabu Casa hiện tại cho miễn phí dùng thử 31 ngày, sau đó trả 5$/ tháng choviệc sử dụng Home Assistant Cloud
1.3 YÊU CẦU HỆ THỐNG
Hình 2 1: Sơ đồ nguyên lý hệ thống điều khiển Smarthome
Điều khiển, theo dõi, kiểm soát tất cả các thiết bị điện trong nhà và tự động kiểmsoát kết hợp với trợ lí giọng nói
Hệ thống hoạt động như sau: để điều khiển thiết bị trong nhà chúng ta cần nềntảng tự động hóa – máy chủ cục bộ để đồng bộ, kết nối tất cả các thiết bị để có thể
Trang 7điều khiển và kiểm soát Và điều khiển thiết bị qua giao diện web có thể truy cập từ
xa và điều khiển qua trợ lí giọng nói Hệ thống kết nối, tích hợp các thiết bị trongnhà qua mạng Internet/Lan
Google Home mini / Alexa Echo Dot
Broadlink RM mini3 ( Điều khiển RF/IR)
Bóng đèn Yeelight
Ổ cắm Broadlink MP1
Công tắc Sonoff us 3G
Cảm biến Broadlink A1
Mạch Thu Phát Bluetooth BLE 4.0 SoC CC2640 Beacon
1.1.3 Tổng quan về Raspberry Pi 3 Model B+
Hình 2 2: Máy tính Raspberry Pi3 B+
Trang 8 Nhờ khả năng có thể hoạt động 24/24 tốt hơn máy tính thường, thiết kế nhỏgọn, có thể hỗ trợ quản lí thiết bị trong nhà với hassio.
Máy tính Raspberry Pi là board mạch Mini Computer được sử dụng nhiềunhất hiện nay, ngoài việc sử dụng như một máy tính bình thường chạy hệđiều hành Linux hoặc Windows 10 IoT, máy còn có khả năng xuất tín hiệu ra
40 chân GPIO giúp bạn có thể giao tiếp và điểu khiển vô số các board mạch
và ngoại vi bên ngoài để thực hiện vô số các ứng dụng khác nhau Ở đâychúng ta sử dụng nền tảng hassio
Máy tính Raspberry Pi 3 Model B+ (Made in UK/Japan) được sản xuất tạiUK/Japan với quy trình gia công và linh kiện chất lượng cao, đảm bảo choviệc chạy bền bỉ và lâu dài, máy có kích thước nhỏ gọn, giá thành phảichăng, cách sử dụng dễ dàng, chỉ cần cài hệ điều hành vào thẻ nhớ và cấpnguồn là có thể sử dụng
CPU phiên bản mới BCM2837B0 từ Boardcom với vỏ bọc kim loại tản nhiệtcho khả năng tăng tốc độ lên đến 1.4Ghz 4 nhân với kiến trúc ARM Cortex-A53 64-bit
Hình 2 3: CPU Raspberry Pi3 B+
Tốc độ Ethernet nhanh (Gigabit via USB) lên đến 300Mb/s với chip xử lýLAN7515 từ Microchip
Trang 9Hình 2 4: Chip xử lí Raspberry
Wifi Dual-band 2.4GHz & 5GHz với vỏ bọc IC kim loại chống nhiễu và tảnnhiệt cho tốc độ và độ ổn định cao hơn
Hình 2 5: Cấu trúc wifi Raspberry
IC quản lý nguồn thông minh MXL7704 giúp đơn giản hóa phần thiết kếnguồn trên board cho khả năng cấp nguồn ổn định và an toàn hơn
Trang 10Hình 2 6: IC nguồn MXL7704
1.1.1.1 Thông số kỹ thuật chi tiết:
Hãng RS Components
CPU Broadcom BCM2837B0 quad-core A53 (ARMv8) 64-bit @ 1.4GHz
GPU Broadcom Videocore-IV
GPIO: 40-pin GPIO header, populated
Ports: HDMI, 3.5mm analogue audio-video jack, 4x USB 2.0, Ethernet,Camera Serial Interface (CSI), Display Serial Interface (DSI)
Dimensions: 82mm x 56mm x 19.5mm, 50g
3.1.1 Google Home mini
GOOGLE HOME MINI, LOA THÔNG MINH TÍCH HỢP TRỢ LÝ ẢO
Trang 11Hình 2 7: Trợ lí giọng nói thông minh
– Google Home Mini là một chiếc loa thông minh kiêm trợ lý ảo Google
Assistant cho phép tương tác, ra lệnh và điều khiển các thiết bị nhà thông minh So với đàn anh “Google Home”, giá thành Google Home mini cũng tiết kiệm hơn để có thể trải nghiệm và phủ song Google Assistant đến mọi nơi trong căn nhà.
– Là một thiết bị trung tâm giúp điều khiển các thiết bị thông minh trong nhànên Google Home Mini được cấp nguồn qua cổng microUSB, không sửdụng pin Sản phẩm được thiết lập hết sức đơn giản – cắm nguồn và kết nốithông qua ứng dụng Google Home trên điện thoại (hỗ trợ cả Android vàiOS)
– Lần đầu kết nối sẽ lưu tài khoản Google của bạn và áp dụng cấu hình đồng
bộ cho các thiết bị kết nối sau
– Loa Google Home Mini có thiết kế nhỏ gọn, bắt mắt với nhiều màu sắc cóthể lựa chọn
Trang 12tiết, tình hình giao thông, tài chính… Đặc biệt, thông tin mang tính chất cập nhậttrực tiếp như thời tiết, tin tức thời sự.
Điều quan trọng nhất là Google Home mini có thể kết nối với nền tảng HomeAssistant icloud để hỗ trợ như một trợ lí ảo điều khiển thiết bị trong nhà
Bên cạnh đó, chỉ với 1 câu lệnh đơn giản, chúng ta có thể yêu cầu Google Home bậtnhạc, đài phát thanh từ các dịch vụ trực tuyến như Google Play Music, Spotify,YouTube Music, Pandora và TuneIn
Kết nối Wi-Fi Dual-Band
Stream nhạc không dây qua Wi-Fi
Loa 1.58″ cho âm thanh 360°
Dùng với trợ lý ảo Google Assistant
Thiết kế nhỏ gọn 3.86″ Wide, 1.65″ High
1.1.4 Broadlink RM mini3
Đ IỀU KHIỂN RF/IR
Bộ điều khiển mở rộng Broadlink RM Mini 3 là phiên bản cập nhật của RMHome, với cấu trúc nhỏ gọn hơn, điều khiển đồng bộ các chương trình hơn và hoạtđộng ổn định hơn
Trang 13Bộ điều khiển mở rộng Broadlink RM Mini 3 là thiết bị điều khiển từ xa
hồng ngoại, kết hợp và điều khiển các thiết bị dùng remote hồng ngoại như TV,điều hòa, thiết bị âm thanh
Chúng ta sử dụng Broadlink RM mini3 tích hợp vào cấu hình hassio để hỗ trợđiều khiển điều hòa, tivi, quạt, trong nhà với khả năng học lệnh IR Chúng ta cóthể điều khiển thiết bị của rất nhiều hãng thay vì phải sử dụng nhiều loại remotekhác nhau cho mỗi thiết bị
Hình 2 8: Bộ điều khiển sóng RF/IR
Trang 14 Nhiệt độ: 0 – 50°C
Độ ẩm hoạt động: ≤ 85%
Chuẩn Wifi: wifi 2.4GHz 802.11b/g/n
Chuẩn bảo mật: WPA/WPA2
1.1.5 Cảm biến Broadlink A1
- Thiết bị kiểm soát môi trường sống Broadlink A1
Broadlink A1 thuộc dòng sản phẩm e-Air giúp chúng ta theo dõi được các chỉ số
về môi trường không khí xung quanh trên điện thoại di động Đặc biệt hơn,Broadlink A1 còn có thể kết hợp các thiết bị điều khiển khác cải thiện môi trườngsống mội cách hoàn toàn tự động khi có vấn đề trong không khí, môi trường như:quá nóng, lạnh, độ ẩm cao, có chất lượng không khí môi trường kém…
Trang 15– Broadlink A1 phát hiện ra môi trường của bạn vào mùa mưa quá ẩm và tựđộng ra lệnh cho ổ cắm Broadlink SP2 bật máy hút ẩm, hoặc gửi tín hiệu đếntrung tâm điều khiển Broadlink RM2 bật điều hòa chế độ hút ẩm.
– Broadlink A1 phát hiện ra môi trường quá nóng vào mùa hè nên gửi lệnh đếntrung tâm điều khiển Broadlink RM2 giảm nhiệt độ của điều hòa, nhưng khimôi trường nhiệt độ tối ưu rồi thì ra lệnh điều hòa duy trì nhiệt độ tối ưu.Broadlink A1 phát hiện môi trường quá ồn không tốt cho tai nghe do thóiquen bạn quên bật to nhạc, nên gửi lệnh đến trung tâm điều khiển BroadlinkRM2 giảm volumn của thiết bị phát xuống.Broadlink A1 phát hiện ra dò rỉ khí gas và gửi cảnh báo sớm cho bạn biết để
xử lý…
1.1.6 Bóng đèn Yeelight
Bóng đèn thông minh Yeelight của hãng Xiaomi được sản xuất bởi cty CREEngành công nghiệp chiếu sáng LED, tích hợp vỏ nhôm và nhựa tản nhiệt, hỗ trợđiện áp toàn cầu, đảm bảo an toàn chứng nhận SRRC
Hình 2 10: Bóng đèn 16 triệu màu Yeelight
Trang 16Điều đặc biệt là Yeelight hỗ trợ tới 16 triệu màu, chúng ta có thể thiết lập các chế
độ sáng với màu sắc khác nhau phù hợp với ngữ cảnh của mình ví dụ như xemphim, thư giãn, đọc sách, xem phim, lãng mạn, đèn ngủ,
Hình 2 11: Chế độ đèn theo ngữ cảnh
T HÔNG SỐ CƠ BẢN :
Màu sắc: Trắng + RGB đầy đủ màu sắc
Nguồn điện: 6 watt
Điện dự phòng: Ít hơn 0,3 watt
Trang 17Điện áp hoạt động: AC 100 ~ 240V 50 ~ 60Hz.Tuổi thọ trung bình thọ: 20.000 giờ.
Nhiệt độ màu: 6000K
1.1.7 Ổ cắm Wifi điều khiển từ xa Broadlink MP1
Hình 2 12: Ổ cắm Wifi di động
Trang bị công tắc nguồn ngay trên ổ cắm
Lõi đồng giúp tang khả năng dẫn điện, tính ổn định cao
Lớp vỏ nhựa có khả năng chịu nhiệt lên tới 750 độ C
Trang 18Thông số chi tiết:
1.1.8 Công tắc Sonoff us 3G
Hình 2 13: Công tắc cảm ứng
Công tắc cảm ứng Sonoff T1 US là một bộ điều khiển 1,2,3 nút cảm ứng tinh thểsang trọng Công tắc âm tường không dây với đèn nền LED phát sáng cho phépngười dùng dễ dàng tìm và bật đèn vào ban đêm Công âm tắc tường WiFi có thểđược sử dụng để điều khiển đèn chiếu sáng hoặc đồ gia dụng Nâng cấp ngôi nhàcủa bạn thông minh, sang trọng hơn công tắc truyền thống
Đ ẶC ĐIỂM KỸ THUẬT
Nguồn điện: 90 ~ 250V AC
Trang 19 Tần số định mức: 50Hz / 60Hz.
Tối đa Hiện tại: 2A / 250V / nút, gang
Tối đa Công suất: 400W / nút, gang
Kích thước: 120mm * 72mm (Tiêu chuẩn Mỹ)
Phương pháp kiểm soát: Chạm vào / Ứng dụng eWeLink / RF từ xa
Chuẩn không dây: WiFi 2.4GHz và RF 315MHz
Chất liệu: Nhựa ABS + Tấm kính Toughened( cường lực)
Cơ chế bảo mật: WEP / WPA-PSK / WPA2-PSK
Bản chất của Sonoff là chạy chip esp8266, arduino, nên ta có thể cài bất cứ thứ gìvào để nó chạy, dung lượng bộ nhớ 1MB Nên để sử dụng bộ công tắc này cùng vớihassio chúng ta phải flash Tasmota - một bản fỉmware mode khác bản chính thứccủa sonoff
1.1.9 Mạch Thu Phát Bluetooth BLE 4.0 SoC CC2640 Beacon
Hình 2 14: Mạch thu phát Bluetooth Beacon
Trang 20iBeacon là nhãn hiệu hàng hoá của Apple cho một hệ thống định vị trong nhà,
mà Apple gọi là "thế hệ mới của bộ phát chi phí thấp thấp được hỗ trợ có thể thôngbáo cho thiết bị iOS về sự hiện diện của nó"
iBeacon giao thức truyền nhận (protocols), thiết bị và sử dụng Bluetooth LE để tạo
ra trải nghiệm người dùng
Bluetooth năng lượng thấp (Bluetooth Low Energy): Đây là một đặc điểm kỹ
thuật cho một loại tín hiệu mà beacons truyền
Nó sử dụng Bluetooth năng lượng thấp với kỹ thuật xác định khoảng cách để truyềntải một nhận diện duy nhất, thường gọi là UUIDs, nó tương tác với ứng dụng tươngthích (Apps) hoặc hệ điều hành (OS), để nhận dạng một vị trí hoặc kích hoạt mộthành động trên thiết bị, ví dụ như Check-in trên mạng xã hội.Các ibeacon có thể ở định dạng khác nhau, như thiết bị hỗ trợ di động kích thướcnhư đồng xu nhỏ , thiết bị USB và các phiên bản phần mềm
Mạch thu phát Bluetooth BLE 4.0 SoC CC2640 Beacon
Mạch sử dụng IC Bluetooth 4.0 BLE CC2640 từ chính hãng Texas Instrument vớikhả năng truyền nhận ổn định và tiết kiệm năng lượng tối đa, mạch sử dụng nguồnnăng lượng từ khe gắn pin CR2032
Trang 21 1¯A Standby (SRAM/CPU retention and RTC running) with quick 100 ¯s start up
200nA Shutdown
61¯A/MHz Active CPU Current
Drivers, Bluetooth Low Energy
Controller, and bootloader in ROM
Flexible peripheral set
On board 32 kHZ and 24 MHz Crystals
Khoảng cách truyền: lớn hơn 30m
Firmware tương thích IOS 7.0 / Android 4.3 trở lên
Kích thước: 25 x 4.6mm
- Trong đồ án này, Công nghệ Beacon sẽ hỗ trợ chúng ta xác định vị trí chínhxác nhất của người dùng để thực hiện các thao tác tự động hóa bật tắt thiết bịtrong ngôi nhà
Sử dụng Beacon để làm gì ?
- Trong đồ án này, tôi đã sử dụng phần mềm Owntrack trên hệ điều hành đểxác định vị trí của người dùng với định vị GPS giúp thực hiện các thao tác tựđộng hóa, cụ thể là bật tắt thiết bị trong nhà khi có người về nhà hoặc dời đi
Trang 22CHƯƠNG 4 LẬP TRÌNH VÀ CẤU HÌNH GIAO DIỆN ĐIỀU KHIỂN1.4 SƠ ĐỒ KHỐI HỆ THỐNG
Hình 3 1: Sơ đồ khối hệ thống Smarthome
Nền tảng HA sẽ được đóng gói và cài đặt trên thẻ nhớ và gắn vào Raspberry Pi3B+ tạo thành máy chủ cục bộ điều khiển và kiểm soát căn nhà Người dùng ( chủnhà) sẽ tương tác trực tiếp với căn nhà của mình qua giao diện điều khiển Web hoặctương tác điều khiển gián tiếp qua trợ lí ảo thông minh – trợ lí giọng nói GoogleAssistant ( Google Home mini ) Google Assistant sẽ gửi lệnh điều khiển qua HACloud và điều khiển các thiết bị trong nhà khi các thiết bị đã được kết nối cấu hìnhvới HA qua mạng LAN/Internet Đồng thời trạng thái của thiết bị cũng được cậpnhật gửi tín hiệu lên HA và hiển thị trên giao diện điều khiển
1.5 CÁC GIAO THỨC VÀ HỆ THỐNG SỬ DỤNG
1.1.10 Samba Share
Samba (SMB) là một giao thức chia sẻ file khá phổ biến khi chúng ta dùngWindows Gần như mặc định khi dùng các nền tảng Windows 7/8/10 khi chia sẻ filethì bạn sẽ đụng đến giao thức này
Đây là một giao thức có thiết kế rất đơn giản và đáp ứng dụng đầy đủ nhu cầu cơbản của người dùng Với giao thức này người dùng có thể cấu hình quyền Read-
Trang 23Only (chỉ đọc) hoặc Read-Write (đọc và ghi) hoặc đặt mật khẩu đối với dữ liệuđược chia sẻ Dữ liệu đó có thể là một tập tin hay là một thư mục.
Điểm hay khác của SMB là nó còn hỗ trợ Unicode, đồng thời phù hợp với mô hìnhmột server tập trung, mọi dữ liệu được xử lý từ client đều được khuyến nghị là lưutrữ tại server
SMB chạy trực tiếp trên TCP/IP, chỉ sử dụng cổng 445 (TCP)
Và tôi sử dụng giao thức Samba để đọc và ghi tập tin vào thẻ nhở của Raspberry từmáy tính cá nhân
1.1.11 Domain Name System ( DNS)
DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống phângiải tên được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiếtlập tương ứng giữa địa chỉ IP và tên miền Hệ thống tên miền (DNS) là một hệthống đặt tên theo thứ tự cho máy vi tính, dịch vụ, hoặc bất kỳ nguồn lực tham giavào Internet Nó liên kết nhiều thông tin đa dạng với tên miền được gán cho nhữngngười tham gia Quan trọng nhất là, nó chuyển tên miền có ý nghĩa cho con ngườivào số định danh (nhị phân), liên kết với các trang thiết bị mạng cho các mục đíchđịnh vị và địa chỉ hóa các thiết bị khắp thế giới
Chức năng của DNS:
Mỗi Website có một tên (là tên miền hay đường dẫn URL:Universal ResourceLocator) và một địa chỉ IP Địa chỉ IP gồm 4 nhóm số cách nhau bằng dấuchấm(Ipv4) Khi mở một trình duyệt Web và nhập tên website, trình duyệt sẽ đếnthẳng website mà không cần phải thông qua việc nhập địa chỉ IP của trang web Quátrình "dịch" tên miền thành địa chỉ IP để cho trình duyệt hiểu và truy cập được vàowebsite là công việc của một DNS server Các DNS trợ giúp qua lại với nhau đểdịch địa chỉ "IP" thành "tên" và ngược lại Người sử dụng chỉ cần nhớ "tên", khôngcần phải nhớ địa chỉ IP (địa chỉ IP là những con số rất khó nhớ)
Và chúng ta sử dụng Duck DNS để dịch tên miền thành địa chỉ truy cập vào webserver điều khiển thiết bị
Trang 241.1.12 Giao thức MQTT
Hình 3 2: Giao thức MQTT
MQTT (Message Queuing Telemetry Transport) là một giao thức gởi dạng publish/subscribe sử dụng cho các thiết bị Internet of Things với băng thông thấp, độ tin cậycao và khả năng được sử dụng trong mạng lưới không ổn định
Giao thức MQTT, bao gồm các định nghĩa :
"subscribe", "publish" : Trong một hệ thống sử dụng giao thức MQTT,
nhiều node trạm (gọi là mqtt client - gọi tắt là client) kết nối tới một MQTT server(gọi là broker) Mỗi client sẽ đăng ký một vài kênh (topic), ví dụ như
"/client1/channel1", "/client1/channel2" Quá trình đăng ký này gọi là "subscribe",giống như chúng ta đăng ký nhận tin trên một kênh Youtube vậy Mỗi client sẽ nhậnđược dữ liệu khi bất kỳ trạm nào khác gởi dữ liệu và kênh đã đăng ký Khi mộtclient gởi dữ liệu tới kênh đó, gọi là "publish"
"qos": Có 3 tuỳ chọn *QoS (Qualities of service) * khi "publish" và
"subscribe":
QoS0 Broker/client sẽ gởi dữ liệu đúng 1 lần, quá trình gởi được xác nhận
bởi chỉ giao thức TCP/IP, giống kiểu đem con bỏ chợ
QoS1 Broker/client sẽ gởi dữ liệu với ít nhất 1 lần xác nhận từ đầu kia, nghĩa
là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu
QoS2 Broker/client đảm bảm khi gởi dữ liệu thì phía nhận chỉ nhận được
đúng 1 lần, quá trình này phải trải qua 4 bước bắt tay
"retain": Nếu RETAIN được set bằng 1, khi gói tin được publish từ Client,
Broker PHẢI lưu trữ lại gói tin với QoS, và nó sẽ được gởi đến bất kỳ Client nàosubscribe cùng kênh trong tương lai Khi một Client kết nối tới Broker và subscribe,
nó sẽ nhận được gói tin cuối cùng có RETAIN = 1 với bất kỳ topic nào mà nó đăng
ký trùng Tuy nhiên, nếu Broker nhận được gói tin mà có QoS = 0 và RETAIN = 1,
Trang 25nó sẽ huỷ tất cả các gói tin có RETAIN = 1 trước đó Và phải lưu gói tin này lại,nhưng hoàn toàn có thể huỷ bất kỳ lúc nào.
Khi publish một gói dữ liệu đến Client, Broker phải đặt RETAIN = 1 nếu gói đượcgởi như là kết quả của việc subscribe mới của Client (giống như tin nhắn ACK báosubscribe thành công) RETAIN phải bằng 0 nếu không quan tâm tới kết quả củaviẹc subscribe
"last will and testament (lwt)": Gói tin LWT (last will and
testament) không thực sự biết được Client có trực tuyến hay không, cái này do góitin KeepAlive đảm nhận Tuy nhiên gói tin LWT như là thông tin điều gì sẽ xảy đếnsau khi thiết bị ngoại tuyến
4.1 NGÔN NGỮ LẬP TRÌNH
Hình 3 3: Ngôn ngữ Python
NGÔN NGỮ LẬP TRÌNH PYTHON được sử dụng trong đồ án này
Python là một ngôn ngữ lập trình phổ biến Được tạo ra bởi Guido van Rossum vàonăm 1991
Ngày nay, Python được sử dụng trong các mục đích như:
- Phát triển web (trên máy chủ)
Trang 26 Python khi sử dụng trên máy chủ có thể tạo ra các ứng dụng nền web (webapplication).
Python có thể chạy song song cùng các phần mềm khác để dễ phân luồngcông việc
Python có thể kết nối dễ dàng đến cơ sở dữ liệu, hay cả việc đọc và ghi file
Với Python, việc xử lý Big Data và các phép toán phức tạp trở nên dễ dàng
Dễ dàng sử dụng Python để tạo ra các sản phẩm demo một cách nhanhchóng Hơn nữa, các công ty, hoặc lập trình viên chuyên nghiệp luôn ưu tiên
sử dụng Python cho việc phát triển những sản phẩm chất lượng
Hiện nay, với khả năng xử lý các phép toán phức tạp của mình, Python đangđược sử dụng nhiều trong việc phát triển Trí Tuệ Nhân Tạo và các nghiên cứu tronglĩnh vực Machine Learning
Phần mềm lập trình: Notepad ++
1.6 CÔNG NGHỆ iBEACON
Trang 27Hình 3 4: Mô tả sự liên kết trong vùng sóng Beacon
- Như đã giới thiệu ở trên về công dụng của iBeacon, tôi đã sử dụng iBeacon
để cải thiện sự phát hiện sự hiện diện của người Để các tác vụ bật tắt thiết bị
tự động hóa hoạt động tốt hơn
Đầu tiên là để cải thiện dữ liệu vị trí của Owntracks:
- Khi chúng ta sử dụng phần mềm OwnTracks để định vị vị trí của người dùng( chủ nhà ) đôi khi phần mềm không thể cập nhật trạng thái khi chúng tamuốn, nói cụ thể là nó sẽ chậm hơn và thiếu chính xác khi chúng ta vào trongnhà
- Vì lý do đó, tôi đã sử dụng iBeacon để xác đinh vị trí chính xác hơn ( mộtiBeacon tốt có thể định vị vị trí chính xác lên tới 10cm) Tôi đặt iBeacon ởcửa ngoài – owntracks sẽ thấy bạn qua điện thoại của bạn và cho HA biết đã