Firebase chia các dịch vụ thành 3 nhóm chính:
Hình 2.31 Các nhóm dịch vụ Firebase
Firebase Realtime Database là một cơ sở dữ liệu đám mây dưới dạng JSON, cho phép lưu trữ và đồng bộ hóa dữ liệu giữa các client theo thời gian thực. Với API, Realtime Database cung cấp cho ứng dụng giá trị hiện tại của dữ liệu và cập nhật giá trị nhanh chóng. Đồng bộ hóa thời gian thực giúp người dùng truy cập dữ liệu và tương tác với các người dùng khác một cách dễ dàng [9].
Authentication
Firebase Authentication cung cấp dịch vụ backend, SDKs sẵn sàng sử dụng, và các thư viện UI được làm sẵn để giúp ứng dụng của bạn xác thực người dùng [9].
Hình 2.32 Dịch vụ Authentication của Firebase
Firebase Cloud Messaging (FCM)
FCM miễn phí và không có giới hạn, cho phép bạn gửi và nhận tin nhắn hoặc thông báo trên iOS, Android và Web… tối ưu hướng bảo mật [9].
Hình 2.33 Dịch vụ Firebase Cloud Messaging
2.7 PHẦN MỀM LẬP TRÌNH ARDUINO IDE
Hiện nay có rất nhiều ngôn ngữ lập trình được phát triển mạnh mẽ. Đi kèm với sự hỗ trợ của một hay nhiều phần mềm lập trình mà chúng ta thường gọi là IDE [2]. Các IDE phổ biến đang được sử dụng gồm có Netbeans IDE, Eclipse, , Visual Studio...
Hình 2.34 IDE – môi trường phát triển tích hợp
IDE - Integrated Development Environment (tạm dịch là “môi trường phát triển tích hợp”) là một ứng dụng cung cấp cho người dùng môi trường để viết mã lệnh hay code, tổng hợp, sửa lỗi hay debbug, nạp chương trình, chạy mô phỏng.
Để vi điều khiển Arduino hoạt động, chúng ta cần phần mềm Arduino IDE, tạo môi trường viết, tổng hợp, kiểm tra và nạp chương trình.
Hình 2.35 Giao diện phần mềm Arduino IDE
Chương trình viết bởi Arduino IDE được gọi là sketch, sketch được lưu dưới định dạng .ino [2]. Hàm Setup(): chỉ chạy một lần sau khi cấp nguồn hoặc reset mạch, được sử dụng để khởi tạo biến, đặt các chế độ chân, khởi động một thư viện. Hàm Loop(): khởi chạy sau hàm setup. Hàm loop tạo các vòng lặp liên tục, có cho phép sự thay đổi và đáp ứng - tương tự như vòng lặp while() trong c.
Khi cần sử dụng các thư viện, có hai cách để thêm thư viện có sẵn. Chọn Sketch → Include Library, nếu muốn tải trực tiếp trên phần mềm, chọn “Manage Libraries ”. Nếu muốn thêm tệp *.zip thì chọn “Add .ZIP library”
Hình 2.36 Thêm thư viện cho chương trình
Serial Monitor là thành phần của Arduino IDE cho phép mạch và máy tính có thể gửi và nhận dữ liệu với nhau qua giao tiếp USB. Để mở màn hình Serial Monitor, chọn Tool → Serial Monitor hoặc Serial Plotter.
2.8 LẬP TRÌNH PHẦN MỀM ANDROID VỚI MIT APPINVENTOR INVENTOR
Công cụ App Inventor xây dựng ứng dụng giành cho điện thoại di động, là một ứng dụng web ban đầu được cung cấp bởi Google chạy bởi trình duyệt trên máy tính [10]. Và chúng ta phải cài đặt phần mềm Java để sử dụng App. Sử dụng giao diện đồ họa với mục tiêu tạo ra ứng dụng mà không cần hiểu biết nhiều về lập trình, người dùng kéo và thả các khối mã (blocks) để tạo ra các ứng dụng. Ngày nay, MIT đã hoàn thiện App Inventor và nó được chia sẻ ngay trên tài khoản Google. Người dùng có thể sử dụng tài khoản gmail của mình và đăng nhập, bắt đầu thiết kế app từ những ý tưởng đơn giản.