CHƯƠNG I. KHÁI NIỆM CHUNG VỀ IOT (INTERNET OF THINGS) 1. Khái niệm chung Tất cả các nước tiên tiến đều coi IoT là một trong số 5 ngành then chốt của cuộc cách mạng công nghiệp 4. Khái niệm và thuật ngữ IoT lần đầu tiên được đưa ra bởi người sáng lập nhóm nghiên cứu Auto-ID tại Viện Công nghệ Massachusetts Kevin Ashton vào năm 1999 tại một buổi thuyết trình cho lãnh đạo của Procter & Gamble.
Bài thuyết trình nói về cách triển khai toàn diện các thẻ tần số vô tuyến có thể sửa đổi hệ thống quản lý chuỗi hậu cần trong một tập đoàn. Vào năm 2004, Science American đã xuất bản một bài báo viết về cho IoT, trong đó cho thấy rõ khả năng của IoT trong những ứng dụng thực tiễn. Bài báo cung cấp những minh họa cho thấy các thiết bị gia dụng (đồng hồ báo thức, điều hòa không khí), hệ thống nhà ở (hệ thống tưới vườn) hệ thống an ninh, hệ thống chiếu sáng), cảm biến (cảm biến nhiệt, ánh sáng và chuyển động) và những thứ khác (ví dụ, các loại thuốc có dấu hiệu nhận dạng) tương tác với nhau thông qua các mạng truyền thông (hồng ngoại, không dây mạng có dây, điện và dòng điện thấp) và cung cấp các quy trình thực hiện hoàn toàn tự động (bao gồm cả từ máy pha cà phê, máy thay đổi ánh sáng, máy nhắc nhở bện nhân về thuốc, duy trì nhiệt độ, cung cấp nước cho khu vườn, cho phép ta tiết kiệm năng lượng và quản lý mức tiêu thụ của nó). Các biến thể được trình bày trong quá trình tự động hóa điều khiển các thiết bị trong gia đình không phải là cái mới đối với bản thân chúng, nhưng sự nhấn mạnh trong việc kết hợp các thiết bị và các thứ khác vào một mạng máy tính được phục vụ bởi các giao thức Internet và coi Internet là một công nghệ đặc biệt góp phần làm cho khái niệm này trở nên phổ biến.
Quá trình phát triển Tại Việt Nam IoT đã được ứng dụng từ lâu dưới các hình thức tự động hóa như hệ thống điều khiển đèn giao thông, hệ thống tưới tiêu tự động,… Tuy nhiên chỉ đến những năm gần đây thì khái niệm IoT tại Việt Nam mới được nhắc đến nhiều thông qua các hội thảo, hội nghị về xu hướng công nghệ của Cisco, Intel, Hội Tin học TP HCM và một số công ty trong nước như Mobiphone, DTT, Sao Bắc Đẩu. Trước đó, IBM có chiến dịch “Hành tinh thông minh hơn” và nhấn mạnh vào các thành phố thông minh trong đó Đà Nẵng được chọn thực hiện thí điểm này từ năm 2012-2013. Ở thời điểm hiện tại Việt Nam đang có rất nhiều công ty tập trung phát triển giải pháp và sản phẩm công nghệ thông minh với nền tảng IoT. Có thể kể đến những cái tên quen thuộc và được thị trường dần đón nhận trong thời gian vừa qua như: Lumi, BKAV, SmartHome,… Một điểm chung dễ nhận thấy ở các nhà cung cấp này là họ tập trung vào thiết bị cho ngôi nhà ở thông minh (SmartHome) hướng tới đối tượng khách hàng là những người sẵn sàng bỏ chi phí để tiện dụng hóa các hoạt động trong gia đình.
Các Xây dựng các thí nghiệm IoT 4 Báo cáo kết quả đề tài nghiên cứu khoa học sản phẩm này được đầu tư khá bài bản về mặt hình thức nhằm giúp cho căn nhà trở nên sang trọng hơn. Dự tính trong tương lai IoT tại Việt Nam sẽ diễn ra một cách mạnh mẽ khi ngày càng có nhiều doanh nghiệp đã bắt đầu triển khai những dự án về IoT. IoT mang lại một cơ hội doanh thu cho rất nhiều ngành và những giải pháp đó bắt đầu thương mại hóa với tốc độ rất nhanh. Ngành dịch vụ tiện ích, giao thông, tòa nhà thông minh và các ngành bán lẻ là những ngành đi đầu trong việc ứng dụng IoT.
Và để có thể triển khai IoT thành công và bền vững cần phải cân nhắc đến bốn yếu tố đó là nền tảng phần mềm, hệ sinh thái giữa các ngành, quy trình chuẩn hóa về công nghệ và giải quyết được những lo lắng của khách hàng liên quan đến đảm bảo tính riêng tư và an toàn. Tại Trường Đại học Hòa bình, sinh viên, học viên cao học cũng đã bước đầu làm quen với IoT qua việc hợp tác với Hội Hàng không Vũ trụ Việt nam thực hiện các đề tài nghiên cứu cấp nhà nước về thiết kế, chế tạo máy bay không người lái, tham gia các cuộc thi của sinh viên trong cả nước về sử dụng vi điều khiển SG-8, Arduino intel. Có sản phẩm đã được vào chung kết. Đề tài: Xây dựng một số thí nghiệm IoT-ngôi nhà thông minh phục vụ việc học và làm đồ án tốt nghiệp ngành CNTT và ngành Điện tử viễn thông của Trường Đại Học Hòa Bình.
Đề cương nghiên cứu được kèm theo ở cuối tài liệu này. Xây dựng các thí nghiệm IoT 5 Báo cáo kết quả đề tài nghiên cứu khoa học CHƯƠNG II. XÂY DỰNG PHẦN MỀM Phần mềm cho hầu hết các thiết bị điều khiển tự động trong đó có phần mềm cho các đối tượng thuộc IoT đều phụ thuộc vào phần cứng. Phần lớn phần cứng dùng trong IoT đều dùng vi điều khiển (Microcontroller) kết hợp hoặc độc lập với xử lý (Microprocessor).
Sơ đồ chức năng bộ Vi xử lý. Cấu trúc Von Neumann Để lập trình cho Microcontroller người ta sử dụng các ngôn ngữ lập trình khác nhau. Chính vì thế trước khi xây dựng phần mềm cần thiết phải lựa chọn phần cứng. Vi điều khiển (thường tần số clock thấp hơn nhiều so với tham số này của vi xử lý): ROM RAM 2.
Khái niệm về bộ tự động điều khiển Một bộ thiết bị IoT tối thiểu phải gồm một phần cứng trong đó có 1 hoặc nhiều bộ vi xử lý hoặc Vi điều khiển, các bộ cảm biến(nhiệt độ, độ ẩm, ánh sáng, phát hiện vật cản,.), các cổng giao tiếp RS-232, I2C,USB, các cổng số và thiết bị chỉ thị, thiết bị chấp hành. Điều khiển toàn bộ các thiết bị trên theo chức năng bằng phần mềm nạp vào bộ nhớ của Vi xử lý, vi điều khiển. Xây dựng các thí nghiệm IoT 6 Báo cáo kết quả đề tài nghiên cứu khoa học Ví dụ điển hình của 1 thiết bị IoT Đ/K từ xa Board Cảm biến 1 Cảm biến 2 Arduino(uno, Chỉ thị Cơ cấu atmega- 2560,.) chấp hành Hoặc 89c51RD2 Hình: 1 Ví dụ điển hình về IoT 2. Xây dựng phần mềm a.
Lựa chọn phần cứng Sơ đồ chức năng của một thiết bị IoT rất gần với sơ đồ chức năng của một thiết tự động điều khiển điển hình. Hình: 2 Bộ nạp điện tự động Một bộ nạp điện cần: Nguồn điện xoay chiều, bộ nắn điện 1 chiều, mạch đo điện áp, mạch đo dòng điện nạp. Khi điện áp đã nạp đủ. Mạch này có thể tự động ngắt nếu chúng ta thêm vào các cảm biến và cơ chế ngắt mạch.
Xây dựng các thí nghiệm IoT 7 Báo cáo kết quả đề tài nghiên cứu khoa học Hình: 3 Bộ vi điểu khiển P89c51 Hình: 4 Mạch điện của vi điều khiển 89C51 Để có thể điều khiển và thực hiện các chức năng phức tạp, việc sử dụng trực tiếp các bộ vi điều khiển như bộ P89c51-hình 3 với sơ đồ chức năng hình 4 là rất khó khăn. Một công ty của Italia đã tích hợp các linh kiện điện tử lại thành board để dễ sử dụng vì chúng có thể lập trình theo một cách đơn giản hơn. Các Board họ đề xuất được đặt tên chung là Arduino. Để Board có thể áp dụng tùy thuộc vào nhu cầu rất đa dạng của khách hàng nên đã có các board arduino: - Arduino Diecimila in - Arduino UNO R3 - Arduino Leonardo - Arduino Mega Xây dựng các thí nghiệm IoT 8 Báo cáo kết quả đề tài nghiên cứu khoa học - Arduino MEGA 2560 R3 Và các mạch trợ giúp (shield).
Kết quả là có thể sử dụng các board Arduino để xây dựng các thiết bị trong một loạt các bài toán IoT thường gặp. Lựa chọn này cho phép nhanh chóng phát triển IoT. Ngôn ngữ lập trình Hãng arduino xây dựng hẳn một ngôn ngữ Arduino để lập trình điều khiển các board arduino. Hãng Intel cũng xây dựng các board arduino của riêng mình trên cơ sở công nghệ arduino cơ bản và hãng đã đặt tên ngôn ngữ là ngôn ngữ arduinoIntel.
Về cơ bản 2 ngôn ngữ có thể áp dụng lẫn cho nhau với các arduino cơ bản. Với ArduinoIntel thì nhất thiết phải dùng ngôn ngữ của Intel. Ngoài ra trong quá trình học lập trình và thực hành trên các board, đôi khi không có sẵn board và việc học không thể thực hiện được nên có thể khắc phục bằng cách sử dụng phần mềm mô phỏng. Quá trình thực hiện đề tài các phần mềm sau đây đã được cài đặt trên các máy tính của phòng 302: Processing, arduino, unoardusim.
Phần mềm processing-3.4-window64 download từ đây: Sau cài đặt có thể chạy thử một phần mềm ví dụ: Xây dựng các thí nghiệm IoT 9 Báo cáo kết quả đề tài nghiên cứu khoa học Sự tương đồng giữa processing và arduino có cả từ cách đặt tên file đến những thủ tục khác nữa. Một số phần mềm có thể chuyển đổi qua lại nếu chúng cùng chạy trên 1 CPU! Cài đặt phần mềm arduino. Tải phần mềm ở đây: Nhấn vào để tải xuống rồi nhấn tiếp để cài. Sau khi cài đặt cần chú ý : Xây dựng các thí nghiệm IoT 10 Báo cáo kết quả đề tài nghiên cứu khoa học 1.
Board arduino phải truyền thông tin sang máy tính và ngược lại qua cổng RS- 232. Để tiện việc truyền thông qua cổng USB của máy tính nên phải có sự chuyển đổi cổng. Ngôn ngữ Arduino do hãng arduino xây dựng nên phần chuyển đổi được xây dựng cho chính các Board của arduino và nếu ta dùng các Board của arduino thì mọi việc Ok hết. Tuy vậy Board arduino hiện đã có nhiều nước sản xuất.
Một mặt giá từ xấp xỉ 100us$ một Board đã giảm xuống khá nhiều nhưng driver cho cổng rs-232 đã không tương thích nữa. Để cài driver cần tải file sau đây về máy: Giải nén ta được: Quá trình cài đặt tiếp theo như sau: Nhấn chuột vào Computer, chọn Manage, ta được như hình trên. Nhấn tiếp vào Device Manager ta được: khi ta có nối cổng USB có Board arduino với máy tính. Như thế cổng đã có driver để làm việc bình thường.
Xây dựng các thí nghiệm IoT 11 Báo cáo kết quả đề tài nghiên cứu khoa học Khi có hiện usb2.0-ser! với dấu ! bên trên mục Port (COM & LPT) thì phần mềm quản lý máy tính báo là cổng không nhận đúng phần mềm điều khiển. Khi đó ta phải chỉ chuột vào usb2.0-ser, nhấn update để cài lại driver: Nhấn tiếp vào Browse rồi chỉ đến path của phần mềm driver trên.