CHƯƠNG 1. TỔNG QUAN qua wifi. Hướng dẫn thao tác sử dụng app Android điều khiển thiết bị trong hệ thống. Chương 5: Kết Quả, Nhận Xét và Đánh Giá Chương này sẽ trình bày tất cả những kết quả đã làm được thông qua hình ảnh, đánh giá sản phẩm qua thực tế.
Chương 6: Kết Luận và Hướng Phát Triển Chương này trình kết luận những gì làm được, chưa làm được và hướng phát triển. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương 2.1 TÌM HIỂU CỞ SỞ DỮ LIỆU GOOGLE FIREBASE Google Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu. Google Firebase bao gồm: lưu trữ dữ liệu thời gian thực, xác thực người dùng, Firebase Hosting.1: Cấu trúc của Google Firebase 2.1 Lưu trữ dữ liệu thời gian thực - Firebase Realtime Database Dữ liệu trong cơ sở dữ liệu Firebase được lưu trữ dưới dạng JSON và đồng bộ Realtime đến mọi kết nối Client.
Khi xây dựng những ứng dụng đa nền tảng như Android, iOS và JavaScrip SDKs, tất cả các Client sẽ chia sẻ trên một cơ sở dữ liệu Firebase và tự động cập nhật với dữ liệu mới nhất. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Tự động tính toán quy mô ứng dụng mới của bạn. Khi muốn phát triển ứng dụng, không cần lo lắng về việc nâng cấp máy chủ.Firebase sẽ xử lý việc tự động.
Các máy chủ của Firebase quản lý hàng triệu kết nối đồng thời và hàng tỉ lượt truy vấn mỗi tháng. Các tính năng bảo mật lớp đầu: Tất cả dữ liệu được truyền qua một kết nối an toàn SSL (Secure Sockets Layer) với một chứng nhận 2048-bit. Cở sở dữ liệu truy vấn và việc xác nhận được điều khiển tại một cấp độ chi tiết sử dụng theo một số các quy tắc mềm dẻo Security Rules Language. Tất cả các logic bảo mật dữ liệu được tập trung ở một chỗ để dễ dàng cho việc cập nhật và kiểm tra.
Sự ổn định: Firebase hoạt động dựa trên nền tảng Cloud cung cấp bởi Google do đó hãy yên tập về việc một ngày đẹp trời nào đó Server ngừng hoạt động hay như DDOS hoặc là tốc độ kết nối như rùa bò. Một điều đáng lưu ý nữa đó là do hoạt động trên nền tảng Cloud vì vậy việc nâng cấp hay bảo trì Server cũng diễn ra rất đơn giản mà không cần phải dừng Server. Firebase sẽ duy trì tương tác bất chấp một số các vấn đề về internet xảy ra. Trước khi bất kỳ dữ liệu được ghi đến Server thì tất cả dữ liệu lập tức sẽ được viết vào một cơ sử dữ liệu Firebase ở Local.
Ngay khi có thể kết nối lại, Client đó sẽ nhận bất kỳ thay đổi mà nó thiếu và đồng bộ hoá nó với trạng thái hiện tại Server.2 Xác thực người dùng Với Firebase, bạn dễ dàng xác thực người dùng từ ứng dụng trên Android, iOS và JavaScript SDKs chỉ với một vài đoạn mã. Firebase đã xây dựng chức năng cho việc xác thực người dùng với Email, Facebook, Twitter, GitHub, Google và xác thực nạc danh. Các ứng dụng sử dụng chức năng xác thực của Firebase có thể giải quyết được vấn đề khi người dùng đăng nhập, nó sẽ tiết kiện thời gian và rất nhiều các vấn đề phức tạp về phần backend. Hơn nữa có thể tích họp xác thực người dùng với các chức năng backend đã có sẵn sử dụng Custom Auth Tokens.
Với việc sử dụng các kết nối thông qua giao thức bảo mật SSL (Secure Sockets Layer) hoạt động trên nền tảng Cloud đồng thời cho phép phân quyền người dùng cơ sở dữ liệu bằng cú pháp Javascipt cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng của bạn. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 5 do an CHƯƠNG 2.3 Firebase Hosting Phát triển ứng dụng của bạn web trong một thời gian ngắn với các Hosting tĩnh đã được cung cấp sẵn. Tất cả các kết nối được phân phối qua SSL (Secure Sockets Layer) từ CDN (Content Devilery Network) trên toàn thế giới của Firebase. Triển khai ứng dụng của bạn cực nhanh, Firebase cung cấp cho bạn khá nhiều các API (Application Programming Interface), hỗ trợ đa nền tảng giúp bạn tiết kiệm thời gian quản lý cũng như đồng bộ dữ liệu cung cấp Hosting, hỗ trợ xác thực người dùng thì việc triển khai ứng dụng sẽ giảm được rất nhiều thời gian phát triển.Tất cả các ứng dụng sẽ có đường dẫn mặc đinh ở sau firebaseapp.2 MODULE WIFI ESP8266 V12E 2.1 Giới thiệu module wifi ESP8266 V12E Module wifi ESP8266 là một wifi SOc (system on a chip) được phát triển bởi Espressif Systems.
ESP8266 được tích hợp với đầy đủ các tính năng về internet với kích thước rất nhỏ gọn với mức giá khiêm tốn. Đây là sự lựa chọn tuyệt vời cho những ai triển khai dự án IoT, thiết bị cầm tay, mobile… Hình 2.2: Module wifi ESP8266 V12E Module wifi ESP8266 V12E là module wifi giá rẻ và được đánh giá rất cao cho các ứng dụng liên quan đến internet và wifi cũng như các ứng dụng truyền nhận sử dụng thay thế cho các module RF khác. Sử dụng chip ic wifi SOc ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu nghiên cứu về IoT hiện nay. ESP8266 có khả năng xử lý và lưu trữ mạnh mẽ cho phép tích hợp được với các bộ cảm biến, vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua các chân GPIO.
Cung cấp một giải pháp kết BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 6 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT nối mạng wifi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng dụng hoặc để giảm tải tất cả các chức năng kết nối mạng wifi điều khiển từ xa. Module wifi ESP8266 V12E có kích thước nhỏ gọn, ra chân đầy đủ của ic wifi SOc ESP8266, module được thiết kế và gia công chất lượng tốt với vỏ bọc kim loại chống nhiễu và anten wifi PCB tích hợp cho khoảng các truyền xa và ổn định.2 Đặc điểm và thông số của module wifi ESP8266 Số chân GPIO của module wifi ESP8266 có tổng cộng 9 GPIO, tương tự như vi điều khiển các chức năng của chân có thể được lập trình bởi phần mềm. Việc cấu hình Input và Output cho nó được cấu hình bởi các thanh ghi.
Các chân này có thể sử dụng nhiều mục đích như I2C, I2S, PWM, UART,… Bảng 2.1: Bảng thông số kỹ thuật của module wifi ESP8266 V12E DANH MỤC TIÊU CHÍ GIÁ TRỊ Chứng chỉ FCC/CE/TELEC/SRRC Giao thức Wifi 802.11 g: +17 dBm THÔNG SỐ 802.11 n: +14 dBm WIFI Rx 802.11 n: -72 dbm (MCS7) Loại Anten PCB Trace, External, IPEX Connector, Ceramic Chip THÔNG SỐ UART/SDIO/SPI/I2C/I2S Bus Ngoại vi PHẦN CỨNG GPIO/PWM BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 7 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Điện áp hoat động 3.6V Dòng điện tiêu thụ Trung bình 80mA WiFi mode Station/SoftAP/SoftAP+Station Bảo mật WPA/WPA2 Mã hóa WEP/TKIP/AES ĐẶC TÍNH PHẦN MỀM Supports Cloud Server Development/ Software Development SDK for custom firmware Development Giao thức mạng hổ trợ IPv4, TCP/UDP/HTTP/FTP Bảng 2.2: Bảng so sánh các module IoT wifi ESP8266 ST GIÁ KÍCH TÊN MODULE GPIO GHI CHÚ T (VNĐ) THƯỚC CC3000 WiFi 68.61mm x Có tích hợp 1 Shield for 420,000 15 53.38mm x firmware trên Arduino 2.87mm Arduino IDE Module Wifi 40 mm x Có tích hợp 2 UART HLK- 450,000 11 29mm x firmware RM04 2.87mm 15mm x Có tích hợp LinkIt Connect 3 286,000 5 18mm x firmware 7681 2.87mm Có tích hợp firmware trên 16mm x 4 ESP8266 V12E 90,000 9 Arduino IDE. 24mm x 3mm Không tích hợp mạch nạp BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 8 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Có tích hợp ESP8266 V12E firmware trên 42mm x 5 NodeMCU 200,000 13 Arduino IDE.
25mm x 5mm CP2102 Có tích hợp mạch nạp Không có tích hợp 24.5mm x Không tích hợp 1mm mạch nạp Bảng 2.3: Bảng tiêu thụ dòng ở các chế độ khác nhau của ESP8266 V12E Parameters Min Typical Max Unit Tx802.11b, CCK 11Mbps, POUT=+17dBm 170 mA Tx802.11g, OFDM 54Mbps, P OUT=+15dBm 140 mA Tx802.11N, MCS7, P OUT=+13dBm 120 mA Rx802.11b, 1024 bytes packet length, -80dBm 50 mA Rx802.11g, 1024 bytes packet length, -70dBm 56 mA Rx802.11n, 1024 bytes packet length, -65dBm 56 mA Modem-Sleep 1 15 mA Light-Sleep 2 0.9 mA Deep-Sleep 3 10 mA 2.3 TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID Android – hệ điều hành dành cho điện thoại đi động và máy tính bảng được phát triển bởi Google ngày càng trở nên phổ biến với các hãng điện thoại. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 9 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Android được xây dựng trên nhân Linux và được phân phối miễn phí. Không giống như Windows Mobile và iOS, tuy cả 2 hệ điều hành đều cung cấp một mới trường phát triển ứng dụng phong phú và đơn giản dễ tiếp cận nhưng luôn có sự ưu tiên cho các ứng dụng mặc định sẵn của hệ điều hành Android.
Với Android mọi ứng dụng điều được viết trên cùng một tập tin API, thế nên không có sự phân biệt giữa các ứng dụng mặc định và các ứng dụng của bên thứ 3. Người dùng hoàn toàn có thể thay thế mọi ứng dụng mặc định bằng cách ứng dụng yêu thích của mình, thậm chí ngay cả màn hình thực hiện cuộc gọi và màn hình nhà (Home screen). Các nhà phát triển viết ứng dụng cho Android dựa vào ngôn ngữ Java. Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của thế giới thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đích tạo nên một chuẩn mở cho điện thoại di động trong tương lai.
Google công bố hầu hết các mã nguồn của Android theo bản cấp phép Apache.1 Các ứng dụng có sẵn trên Android (Native Applications) Một hệ điều hành Android thông thường sẽ đi kèm với một vài ứng dụng đã được cài đặt sẵn bao gồm: Chương trình quản lý tin nhắn SMS. Một trình email tương thích với gmail. Chương trình quản lý thông tin cá nhân, bao gồm cả lịch làm việc, danh bạ dược đồng bộ với dịch vụ của Google. Trình duyệt Web dựa trên nhân Webkit.
Trình đa phương tiện (chơi nhạc, xem ảnh, xem video, …) Android CH Play – cho phép người dùng tải ứng dụng mới. Phiên bản thu nhỏ của Google Map cho điện thoại, bao gồm: StreetView, tìm kiếm địa điểm, chỉ đường,. Tất cả ứng dụng có sẵn được viết bằng ngôn ngữ Java và sử dụng Android Studio.