Microsoft Word BCKLTN KHÓA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG 43 CHƯƠNG 2 TÌM HIỂU VỀ ESP8266 VÀ ỨNG DỤNG GIÁM SÁT TRÊN ĐIỆN THOẠI SỬ DỤNG MIT APP INVENTOR 2 1 TÌM HIỂU về ESP8266 ESP8266 là dòng chip tích hợp Wi Fi 2 4Ghz có thể lập trình được, rẻ tiền được sản xuất bởi một công ty bán dẫn Trung Quốc Espressif Systems Được phát hành đầu tiên vào tháng 8 năm 2014, đóng gói đưa ra thị trường dạng Mô dun ESP 01, được sản xuất bởi bên thứ 3 AI Thinker Có khả năng kết nối Internet qua mạng Wi Fi một.
KHĨA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG CHƯƠNG 2: TÌM HIỂU VỀ ESP8266 VÀ ỨNG DỤNG GIÁM SÁT TRÊN ĐIỆN THOẠI SỬ DỤNG MIT APP INVENTOR 2.1 TÌM HIỂU ESP8266 ESP8266 dịng chip tích hợp Wi-Fi 2.4Ghz lập trình được, rẻ tiền sản xuất công ty bán dẫn Trung Quốc: Espressif Systems Được phát hành vào tháng năm 2014, đóng gói đưa thị trường dạng Mơ dun ESP-01, sản xuất bên thứ 3: AI-Thinker Có khả kết nối Internet qua mạng Wi-Fi cách nhanh chóng sử dụng linh kiện kèm Với giá nói rẻ so với tính khả ESP8266 làm ESP8266 có cộng đồng nhà phát triển giới lớn, cung cấp nhiều Module lập trình mã mở giúp nhiều người tiếp cận xây dựng ứng dụng nhanh Hiện tất dòng chip ESP8266 thị trường mang nhãn ESP8266EX, phiên nâng cấp ESP8266 Sơ đồ chân sơ đồ khối: Hình 2.1 :sơ đồ chân chip wifi ESP8266EX 43 KHÓA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG 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 2.1.1 Mạch phát triển NodeMCU NodeMCU V1.0 phát triển dựa Chip WiFi ESP8266EX bên Module ESP-12E dễ dàng kết nối WiFi với vài thao tác.Board tích hợp IC CP2102, giúp dễ dàng giao tiếp với máy tính thơng qua Micro USB để thao tác với board Và có sẳn nút nhấn, led để tiện qua q trình học, nghiên cứu Với kích thước nhỏ gọn, linh hoạt board dễ dàng liên kết với thiết bị ngoại vi để tạo thành project, sản phẩm mẫu cách nhanh chóng 44 KHĨA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG Hình 2.2: sơ đồ chân NodeMcu Thơng số kỹ thuật: Chip: ESP8266EX WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n Điện áp hoạt động: 3.3V Điện áp vào: 5V thông qua cổng USB Số chân I/O: 11 (tất chân I/O có Interrupt/PWM/I2C/One-wire, trừ chân D0) Số chân Analog Input: (điện áp vào tối đa 3.3V) Bộ nhớ Flash: 4MB Giao tiếp: Cable Micro USB Hỗ trợ bảo mật: WPA/WPA2 Tích hợp giao thức TCP/IP Lập trình ngơn ngữ: C/C++, Micropython, NodeMCU – Lua 45 KHÓA LUẬN TỐT NGHIỆP 2.2 NGUYỄN THÀNH TRUNG Giới Thiệu Về Phần Mềm Lập Trình MIT-App Inventor App Inventor dành cho Android ứng dụng web nguồn mở ban đầu cung cấp Google trì Viện Cơng nghệ Massachusetts (MIT) Nền tảng cho phép nhà lập trình tạo ứng dụng phần mềm cho hệ điều hành Android (OS) Bằng cách sử dụng giao diện đồ họa, tảng cho phép người dùng kéo thả khối mã (blocks) để tạo ứng dụng chạy thiết bị Android Đến thời điểm 07/2017, phiên iOS tảng bắt đầu đưa vào thử nghiệm Thunkable, nhà cung cấp ứng dụng web cho ngôn ngữ Mục tiêu cốt lõi MIT App Inventor giúp đỡ người chưa có kiến thức ngơn ngữ lập trình từ trước tạo ứng dụng có ích hệ điều hành Android Phiên MIT App Inventor Ngày nay, MIT hồn thiện App Inventor chia sẻ tài khoản Google Các lập trình viên bắt đầu muốn tạo ứng dụng Android cần vào địa web MIT, nhập thông tin tài khoản Google, từ mảnh ghép nhỏ, xây dựng ý tưởng Những tính có MIT App Inventor là: Cho phép xây dựng nhanh chóng thành phần (components) ứng dụng Android: Nút bấm, nút lựa chọn, chọn ngày giờ, ảnh, văn bản, thông báo, kéo trượt, trình duyệt web Sử dụng nhiều tính điện thoại: Chụp ảnh, quay phim, chọn ảnh, bật video audio, thu âm, nhận diện giọng nói, chuyển lời thoại thành văn Hỗ trợ xây dựng game components: Ball, Canvas, ImageSprite Cảm biến: đo gia tốc (AccelerometerSensor), đọc mã vạch, tính giờ, quay hồi chuyển (gyroscopeSensor), xác định địa điểm (locationSensor), NFC, đo tốc độ (pedometer), đo khoảng cách xa gần với vật thể (proximitySensor) Kết nối: Danh bạ, email, gọi điện, chia sẻ thông qua ứng dụng mạng xã hội khác thiết bị, nhắn tin, sử dụng twitter qua API, bật ứng dụng khác, bluetooth, bật trình duyệt 46 KHĨA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG Lưu trữ: đọc lƣu tệp txt, csv, sử dụng FusiontablesControl, tạo sở liệu đơn giản điện thoại đám mây thông qua server tự tạo Firebase Điều khiển robot thông qua LegoMindstorms Và nhiều mở rộng nhà lập trình hoạt động riêng liên tục thêm vào là: mua bán ứng dụng, Floating button, Báo thức, cảm biến ánh sáng, kết nối liệu SQLite… Những nhược điểm App Inventor là: Lập trình viên chưa thể sử dụng tính Android việc phụ thuộc vào mở rộng có tính bạn cần có tạo Khuyết điểm khắc phục cách tự xây dựng mở rộng cho App Inventor Vì website với mục đích giáo dục, MIT App Inventor khơng hỗ trợ quảng cáo Chính nhược điểm Thunkable AppyBuilder sinh Giao diện chưa chuyên nghiệp Chuyển mã từ ngôn ngữ Drag and Drop sang Java chưa thực dễ dàng Trong viết sau hướng dẫn thêm Do ứng dụng phát triển server MIT, giới hạn dung lượng project 5mb Mặc dù có nhược điểm vậy, MIT App Inventor tảng mạnh mẽ giúp bắt đầu lập trình Android tạo ứng dụng hoàn thiện giúp nhà phát triển chuyên nghiệp nhanh chóng phác thảo lên ý tưởng Để sử dụng App Inventor, ta truy cập vào địa http://ai2.appinventor.mit.edu sau tiến hành đăng nhập tài khoản Google bạn để mở trang quản lí project 47 KHĨA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG Hình 2.3: Giao diện quản lí project Hình 2.4: Giao diện thiết kế (design) Hình 2.5: Giao diện lập trình ( khối block) 48 KHĨA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG 2.2.1 Các Bước Thiết Kế Ứng Dụng Bước 1: tạo project: Hình 2.6: Tạo đặt tên project Bước 2: thiết kế giao diện: Cửa sổ thiết kế gồm khung chức hình đây: Hình 2.7: cửa sổ thiết kế App Inventor 49 KHÓA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG Đầu tiên, ứng dụng có nhiều cửa sổ giao diện, MIT AI2 gọi Screen Palette: Chứa thành phần đặt lên Screen như: Button, Label, Image, Listview, Video player, … Đến phần chức khơng nhìn thấy Screen như: BLE extension, Notifier, sensors, … Viewer: Hiển thị giao diện screen Kéo thả thành phần từ khung Palette sang để thiết kế giao diện cho phần mềm bạn Components: Sơ đồ thể cấu trúc thành phần đƣợc bố trí Screen Properties: Hiển thị thuộc tính component tương ứng chọn Bước 3: lập trình chức Trong MIT AI2, code Blocks, việc kéo thả blocks sang khung Viewer kết nối chúng theo chức mong muốn Hình 2.8: cửa sổ lặp trình App Inventor Blocks gồm nhóm chính: Các block chức chƣơng trình nhƣ: điều khiển luồng, logic, tốn học, ký tự, biến, 50 KHÓA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG Hình 2.9: hàm tốn học logic Hình 2.10: hàm xử lý Text list Các block chức theo component ứng dụng: Mỗi component ứng dụng có block chức tương ứng 51 KHÓA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG Nhóm gồm kiểu chính: Phương thức (Method): Hình 2.11: hàm phương thức Thuộc tính (properties): Hình 2.12: hàm thuộc tính Sự kiện (event): Hình 2.12: hàm kiện 52 KHĨA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG Bước 4: biên dịch thử nghiệm Để biên dịch thực thi chương trình viết MIT App Inventor có hai cách: Cách 1: sử dụng phần mềm MIT Companion Với cách bạn cần phải cài phần mềm MIT Companion điện thoại Sau đó, kết nối với project bạn để tự động dowload chạy phần mềm Cách 2: biên dịch file APK cài đặt, bao gồm tùy chọn download file APK máy tính chép qua điện thoại để cài đặt biên dịch tài online thơng qua mã QR code Hình 2.13: biên dịch phần mềm Kết quả: Hình 2.14: kết thiết kế giao diện 53 KHÓA LUẬN TỐT NGHIỆP NGUYỄN THÀNH TRUNG Code app: 54 ... TRUNG Hình 2.2: sơ đồ chân NodeMcu Thông số kỹ thuật: Chip: ESP8266EX WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n Điện áp hoạt động: 3. 3V Điện áp vào: 5V thông qua cổng USB Số chân I/O: 11... tạo sở liệu đơn giản điện thoại đám mây thông qua server tự tạo Firebase Điều khiển robot thông qua LegoMindstorms Và nhiều mở rộng nhà lập trình hoạt động riêng liên tục thêm vào là: mua bán... project bạn để tự động dowload chạy phần mềm Cách 2: biên dịch file APK cài đặt, bao gồm tùy chọn download file APK máy tính chép qua điện thoại để cài đặt biên dịch tài online thông qua mã QR