Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 482 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
482
Dung lượng
17,19 MB
Nội dung
Python H Thư viện - ĐH Quy Nhơn HHI i l i l l l l l i l l l VVD NHÀ XUÃT BÁN THANH NIÊN python T ỉ NGUYỄN TÂTIẢU THIỆN KS PIẠM QUANG HUY LẬP TRÌNHIOTvìii ARDUINO ESP82BG& XREE ị TRƯỜ NG OẠI H Ọ C QUỸ NHOi T H Ư / I Ệ N v y p 'I4 I^S NHA XUẤT BẢN TNANH NIÊN C|0I Ỵ IIÊ II _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ LẬP TRÍHHIOT «ứl ARĐUIHQ, ESP82B8 VẤ XBEE TÀI LIỆU THAM KHẢO LẬP TRÌNH I0T V0IARDUINO Lê Mỹ Hà - Phạm Quang Huy Nhà xuất Thanh Niên-2017 HƯỚNG DẪNsí DỤNGARDUINO Trương Đình Nhơn - Phạm Quang Huy Nhà xuất Thanh Niên-2017 ARDUINO DÀNHCHO NGƯƠI ĩự HỌC Phạm Quang Huy - Nguyễn Trọng Hiếu Nhà xuất Bách Khoa Hà Nội-2016 GIÁO TRÌNHDOLƯ0N6 CẢMDIẾN Lê Chí Kiên Nhà xuất Đại học Quốc gia T P HCM-2013 ESP8266 INTERNET OF THINGS COOKBOOK Marco Schwartz Nhà xuất Packt-2017 INTERNET OF THINGS WITH ARDUINO COOKBOOK Marco Schwartz Nhà xuất Packt-2016 INTERNET OF THINGS WITH ARDUINO Marco Schwartz Nhà xuất Open Home Automation-2014 CÁC TRANG WEB https://learn.adafruit.com/category/learn-arduino http://www.lady ada.net/learn/arduino/ https://circuitdigest.com /search/node/arduino https://w w w allaboutcircuits.com /search7qsARDU IN O https://www.electronicshub.org https://www.sparkfun.com https://www.instructables.com/howto/ARDUINO/ ĩ LẬP TBÌHMIOT VƠI ABDUINO, ESP8Z6B VÀ XBEE BỨ I THIỆU GIÚI THIỆU Chúc mừng bạn đến với họ sách thực'hành Arduino bo mạch có giá rẻ, dễ sử dụng, ứng dụng nhiều ngành nghề Arduino kit dùng để lập trình tương tác với thiết bị phần cứng, bo mạch (phần cứng) thiết kế có mã nguồn mỏ cho phần cứng lẫn phần mềm với ngôn ngữ dễ học (C, C++), liên kết với chương trình Labview, Matlab để tận dụng sức mạnh chương trình lập trình, mơ C ác phần tử ngoại vi bo mạch Arduino chuẩn hóa, với giá thành rẻ phù hợp với túi tiền cho người dùng • Arduino dễ dàng phát triển nhiều chức qua ■ bo mạch mở rộng có tên chung Shields Bo mạch Arduino lắp ráp với linh kiện điện tử, thiết bị điện khác đủ linh hoạt chuyên gia phát triển dự án từ đơn giản phức tạp chun gia • Arduino thích hợp với người dùng có trình độ trải rộng từ bậc phổ thông lên đến đại học làm cho người tạo chúng phải ngạc nhiên mức độ phổ biến Đây tập sách học, khai thác sử dụng Arduino lập trình điều khiển thiết bị dân dụng cơng nghiệp LẬP TRÌNH ĐIỀU KHIỂN V0IARDUINO arruino Dành cho hướng dần Sử dụng arruino LẬP TRÌNH I0T V0IARDUIỈIO LẬP TRÌNH I0T V0I ARDUIN0, ESP8200 & XOEE LẬP TRÌNH I0T CHO NHÀ VÀ NƠNG TRẠI THONG MINH V0IARDUINO VI DIỀU KHIỂN VÀ 0NG DỤNG-ARDUINO VÀ CẢM RIẾN LẬP TRÌNH ARDUINO VOI MATLAB NGươi Tự HỌC 6IỬI THIỆU LẶP TRÌNH IOT vứl AHPUINO, E8P8288 VÀ XBEE LẬP TRÌNH ARDUINQ VƠI LABVIEW 10 ARDUINO DÀNH CHO NGtftfl BẮT ĐẦU Nếu tập chủ yếu giới thiệu tới bạn đọc kiến thức ve phần cứng, phần mềm bo mạch Arduino Lập trình diều khiển thành phần mạch điện tử như: > Điều khiển LED đơn, LED đoạn, LED ma trận, LCD > Điều khiển dộng DC, dộng servo, động bước > Điều khiển ngõ theo yêu cầu với đầu vào cảm biến nhiệt độ, áp suất, độ ẩm, hồng ngoại, quang trỗ, âm thanh, siêu âm, dịch chuyển > Nhiều ứng dụng khác Thì tập hướng đến bạn đọc lập trình điều khiển xa qua mạng có dây khơng dây (Wifi) qua lịnh kiệnI chủI yếu bo mạch Arduino, bo mạch mở rộng Ethernet (Shield Ethernet) va bo mạch chuyên dùng Wifi Xbee ESP8266 ực c a tập tập hướng bạn dọc tới việc thiet ke hẹ thong nhúng làm quen với việc lập trình IOT cho nha va nong trại thơng minh trình bày chi tiết tập Phan trinh ay tạp “LẬP TRÌNH IOT VỔI ARDUINO, ESP8266 & X B E E ” xem phần nâng cao cua tạp lin kiện sử dụng để lập trình truyền thơng khơng dây (Wifi) chun đề chủ yếu dùng ESP8266 có giá thành rẻ dễ mua so với việc dùng Xbee (trình bày tạp 4) biến phương Tây khó mua Việt Nam có giá cao ESP8266 Do lập trình hệ thống nhúng hay IOT liên quan tới cảm biến có nhiều loại cảm biến mà tập từ 1-6 chưa trình bày hay chưa chi tiết tủ sách S T K trình bay tập “VI ĐIỂU KHIỂN VÀ ỨNG DỤNG-ARDUINOVA CAM BIẾN ” Ngoài tập bạn đọc hướng dân chi tiet cách dùng hình LCD Oled để hiển thị thông số ngõ vào ngõ cảm biến LẬP TRIM IOT V0IARDUINO, ESP8266 «A XBEE S IỨ IT IIỆU Ngôn ngữ để lập trình Arduino c, nhiên người thiết kế tận dụng sức mạnh chương trình khác Matlab Labview để lập trình Việc tận dụng công cụ mô Matlab lập trình đồ họa Labview giúp cho người thiết kế có thêm cơng cụ thiết kế mà lập trình trực tiếp Arduino gặp nhiều khó khăn Phần hướng dẫn liên kết khai thác Matlab Labview thiết kế dân dụng cơng nghiệp trình bày tập Tập 10 dành cho đối tượng người học không học chuyên ngành điện tử chí học sinh cấp chưa biết diện tử khai thác, ứng dụng Arduino điều khiển nhiều thiết bị có ích sống giúp em học sinh làm quen dần với khoa học kỹ thuật từ năm học trung học Đây tập khó biên soạn tủ sách S T K làm hướng dẫn, giải thích mạch điện lý thú sống thực tế mà em học sinh chuyên viên kỹ thuật khác ngành nghề Công nghệ thực phẩm, Vật lý, Hóa học, Sinh học, Kiến trúc, Xây dụng nhiều hiểu lập trình với Arduino lắp ráp sản phẩm cụ thể ứng dụng đời thường • ĐỐI TƯỢNG SỬ DỤNG SÁCH Sách biên soạn cho người làm quen với Arduino, qua tập thực hành điều khiển Led đơn, LCD, Led ma trận, động DC, động servo, động bước muốn lập trình hệ thống nhúng lập trình IOT nâng cao qua ứng dụng điều khiển thu nhận liệu từ xa qua truyền không dây.(Wifi) Tương ứng với tập có mã (code) chương trình với giải thích giúp người học dễ theo dõi, cho phép người có kiến thức Điện-Điện tử từ ba tới năm ngày thực hành bắt đầu khai thác sử dụng Arduino lập trinh IOT LẶP TBÌHHIOT tffll ABDIIIHD ESP8286 VÂ XBEE 6IỬI H IỆ U Từ ý tưởng trình bày sách, bạn đọc sáng tạo thiết kế nhiều mạch ứng dụng thực tế vào sống Nội dung sách gồm phần với 10 chương phụ lục PHẦN 1: GIỚI THIỆU Chương 1: > Tổng quan hệ thống nhúng > Tổng quan IOT > Tổng quan Arduino > Arduino Raspberry > Serial monitor > Các linh kiện thực hành PHẦN 2: ARDUINO VÀ CÀM BIÊN Chương 2: Tổng quan cảm biến Chương 3: Thực hành với Ardulno > Bài tập 1: Đọc giá trị điện áp ngõ vào Analog > Bài tập 2: Điều khiển tốc độ sáng tắt với biến trở > Bài tập 3: Lập trình với ngõ vào (Input) > Bài tập 4: Mạch sử dụng hai nút nhấn Led >■ Bài tập 5: Mạch sử dụng chiết áp Chương 4: Arduino cảm biến >• Arduino cảm biến Nhiệt độ-ĐỘ ẩm > Cảm biến tiệm cận > Arduino cảm biến hồng ngoại > Cảm biến Quang 'r Cảm biến khói - đầu dị khói LẬP THÌNHIOT vửl AHDUIND, ESP8266 «À X8EE tlứl THIỆU > Arduino cảm biến dịch chuyển PIR > Đo nhiệt độ, độ ẩm từ xa với bo thu phát cao tần PHẦN 3: LẬP TRÌNH IOT VỚI ARDUINO VÀ ESP8266 Chương 5: Truyền thơng có dây khơng dây Chương 6: cấu hình cho ESP8266 Chương 7: Các tập dùng ESP8266 Chương 8: Một số tính khác ESP8266 Chương 9: s dụng Micro Python ESP8266 PHẦN 4: LẬP TRÌNH IOT VỚI ARDUINO VÀ XBEE Chương 10: LẬP TRÌNH IOT VỚI ARDUINO VÀ X B E E > Cấu hình cho X B E E > Các tập dùng X B E E PHỤ LỤC GIỚI THIỆU SÁCH MỚI Một số điểm cần lưu ý sử dụng sách: • Tài liệu biên soạn phiên Arduino chạy Windows, máy tính bạn dùng hệ điều hành Linus hay Mac thực hành tập sách mà không ảnh hưởng nhiều đến việc thực hành (tham khảo thêm trang web: http://www.arduino.cc/) • Bo mạch Arduino sử dụng sách Ardulno UNO, người học dùng bo mạch Arduino có cổng USB khác dể thực hành • Trong q trình biên soạn khơng thể tránh khịi thiếu sót, chúng tơi mong bạn đọc góp ý, trao đổi để nội dung biên soạn ngày tốt Hy vọng bạn nhanh chóng khai thác có hiệu bo mạch Arduino cơng việc a l THIỆU LẬP TBÌHHIOT VỚI A8DƯIN0, ESP8268 VÀ XBEE Mọi thắc mắc, góp ý xin gửi địa sau: HỌC VIỆN CÔNG NGHỆ Bưu CHÍNH VIỄN THƠNG C SỞ THÀNH PHỐ HỔ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ T S NGUYỄN TẤT BẢO THIỆN ĐT: 0966685030 Email: nguyentatbaothien@ptithcm.edu.vn ĐẠI HỌC S PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN-ĐIỆN TỬ KS PHẠM QUANG HUY s 0903728344 Email: huypq@hcmute.edu.vn Rất mong nhận nhiều ýkiến đóng góps ý kiến thầy, có nhiều kinh nghiệm giảng dạy cac c u len quan sách Chúng tin r ằ n g việc học ly thuyet iẹn iẹn tử trở nên thú vi sau bạn xây dựng cac t let ! c c Với thông tin phản hồi, sách hoan thiẹn ơn lần tái sau TP.HCM 20-7-2018 Các tác giả LẬP TRÌN8IOT wđl ABĐUIHO, E8P8288 VÁ XBEE CHƯƠNG 1: TỔNG QUAN CIƯ 0NG TỔNGQUAN Trước thực hành lập trình IOT với Arduino, Esp8266 & Xbee tìm hiểu phần sau để hiểu rõ thực chương T Ổ N G Q U AN V Ề H Ệ T H Ố N G N H Ú N G T Ổ N G Q UAN V Ề IO T T Ổ N G Q UAN V Ề A R D U IN O A R D U IN O V À R A S P B E R R Y S E R I A L M O N ITO R C Á C LIN H K IỆ N T H Ự C H ÀN H T Ổ N G Q U A N V Ề H Ệ T H Ố N G N H Ú N G Hệ thống nhúng môn học giảng dạy nhiều môn chuyên ngành Điện tử, Điện tử cơng nghiệp, Tự động hóa, Viễn thơng Nhiều sinh viên chí giáo viên mơ hồ chưa hiểu rõ hệ thống nhúng Nếu dùng cơng cụ dị tìm mạng Yahoo, Google cho từ khóa “Hệ thống nhúng”, “Embedded System” bạn tìm nhiều báo, Ebook, giáo trình tiếng Anh lẫn tiếng Việt nói vể chủ đề có định nghĩa làm bạn rối rắm Phần trình bày sau giải thích bạn đọc thuật ngữ' theo cách gián tiếp tác giả nghĩ bạn hình dung thuật ngữ Một mục tiêu mà người học Điện-Điện tử cần phải thực điều khiển, tự động hóa q trình dân dụng cơng nghiệp Tùy vào thời điểm mà linh kiện sử dụng khác Vào năm 1975-1985 linh kiện sử dụng chủ yếu Op-Amp, mạch số linh kiện điện tử công suất Từ năm 1985-1995 Việt Nam bắt đầu sử dụng vi xử lý, vi điều khiển thiết kế Máy tính sử dụng điều khiển nhiều lĩnh vực khác CHƯđHB10: LẬP IBÌHH VƠI ABDƯIHO«À XBEE LẬP TBÌHHIŨT ưứl ABDUINO, ESP828B VÀ XBEE void get_address(ZBRxloSampleResponse *ioSampíe) { Serial.print("Received data from address: "); Serial.print(ioSample>getRemoteAddress64().getMsb(), HEX); Serial.print(ioSample>getRemoteAddress64().getLsb(), HEX); Serial println(""); } // Nhận giả trị nhiệt độ hiển thị void *ioSample) { get_temperature(ZBRxloSampleResponse float adc_data = ioSample->getAnalog(3); Serial.print("Temperature is "); float temperatureC = ((adc_data * 1200.0 / 1024.0) - 500.0)/ 10.0; Serial print(temperatureC); Serial.print("c, "); float temperatureF = ((temperatureC * 9.0)/5.0) + 32.0; Serial print(temperatureF); Serial príntln("f"); } // Nhận giá trị điện áp cung cấp hiển thị void get_supply_voltage() { Serial.print("Supply voltage is "); int ref = xbee.getResponse().getFrameData()[17] « 8; ref += xbee.getResponse().getFrameData()[18]; CHƯƠNG10: LẬP THỈNHVƠI ABDUIHOVÀ XBEE LẬP TBÌHHIOT tfửl ABBUIHO, ESP8266 ƯÀ XBEE float volts 1024.0))/1000.0; = (float(ref) * float(1200.0 / Serial.print(" = "); Serial.print(volts); Serial.println(" volts."); } void loop() { // sẵn sàng đọc gói liệu xbee.readPacket(); if (xbee.getResponse().isAvailable()) { if (xbee.getResponse().getApild() ZB_IO _SAM PLE_RESPON SE) { == // Nhận gói liệu xbee.getResponse().getZBRxloSampleResp onse(ioSample); // Đọc hiển thị liệu get_address(&ioSample); get_temperature(&ioSample)j get_supply_voltage(); } else { Serial.print("Expected I/O Sample, but got ")• Serial.print(xbee.getResponse().getApild(), HEX)} } else if (xbee.getResponse().isError()) { Serial.print("Error code: "); reading packet Error LẬP THÍMI0T VƠI ABDUIHŨ, ESP826B VÀ XBEE CIMN61B: IẬP Him vửl ABDUINOVÀ XBEE Serial.println(xbee.getResponse().getErrorCode()) } } Cần lưu ý thực thao tác biên dịch chương trình trước nạp chương trình vào Arduino Sau chương trình nạp vào Arduino, chương trình thực thi CHẠY THỬ MẠCH ĐIỆN HOÀN CHỈNH Để chạy thử mạch điện, trước tiên cần khởi động Arduino sau khởi động cho mạch cảm biến XBee Khi khởi động Arduino xong, cần nạp chương trình điều khiển bật cửa sổ Serial Monitor Bạn cần quan sát xem đèn báo bo breakout có chức ổn áp XBee có nhấp nháy hay khơng, đèn nhấp nháy nghĩa mạch XBee diều phối chấp nhận kết nối với Arduino thêm vào mạng Trong vòng giây sau đó, mạch cảm biến XBee bắt đầu gửi liệu Khi trình bắt đầu, chương trình Arduino bắt đầu hiển thị thông báo lên Serial Monitor Hình giới thiệu ví dụ cho thấy tín hiệu ngõ hiển thị lên Serial Monitor ft ° n /d ew /cu.utb strM ii~ A 40Ọ 7ro aK < Send J Received dato from address: 13A200409029O8 Temperature is 21.37c, 70.46f Supply voltage is - 3.25 volts Received data from oddress: 13A200409029O0 Temperature is 21.25c, 70.25f Supply voltage is * 3.25 volts Received data from oddress: 13A200409029OB Temperature is 21.37c, 70.46f Supply voltage is * volts Autoic'oll No j D Hình 10-55: Tín hiệu ngõ Serial Monitor LẬP TBÌHBIOT vứl ABDUIHO, ESP8266 VÀ XBEE CHƯƠH610: LẬP TBÌHHvứl ARDUIHOVÀ XBEE Nếu mạch điện thực tế bạn hoạt động cho hiển thị liệu tương tự Serial Monitor, nghĩa bạn ráp mạch thành công Nếu mạch điện khơng hiển thị tín hiệu lên Serial Monitor, cần kiểm tra lại xem mô đun XBee có kết nối xác mạch Arduino hay không, kiểm tra xem tên chân mà ta dùng chương trình tên chân kết nối mạch XBee phần cứng có khớp hay khơng Lưu ý: Không phải tất bo mở rộng sử dụng chân số loại bo SparkFun Nếu cần xem lại datasheet loại bo mà bạn sử dụng Nếu chưa phát điều bất thường, cần đảm bảo bạn sử dụng điều phối firmware API mô đun XBee nối với Arduino firmware API định tuyến nằm mạch cảm biến XBee Nếu không khắc phục cố, cần quay trở lại tập trước để kiểm tra xem mạch cảm biến có hoạt động bình thường hay khơng Bạn sử dụng cách sau: Trước tiên tắt bo Arduino lẫn mạch cảm biến XBee, sau bật nguồn cho Arduino, chờ khoảng 10 giây bật nguồn trở lại cho mạch cảm biến XBee ĐÔI qua trình kết nối mạch cú thể bị tạm ngưng giây lát Việc tắt mô đun XBee bật trở lại giúp cho việc cấu hình kết nối dược thực lại lần Một trường hợp khác, bạn thấy tượng: Dữ liệu nhận dược khơng xác tính tốn cho kết chênh lệch so với nhiệt độ thực tế mơi trường Ngun nhân mối nối cảm biến bị lỏng (mất kết nối) Do cách khắc phục hiệu luôn kiểm tra kỹ vị trí mối nối mạch điện CHƯƠH618: IẬP TRÌNHvứl ARDUIWO«À XBEE LẬPTRÌNHIOT VƠI ABDUIHỮ, E8P8288 VÂ XBEE CẢI TIẾN MẠCH ĐIỆN Nếu bạn muốn mở rộng thêm cho tập này, bạn gắn thêm mạch cảm biến XBee thứ Chĩnh sửa chương trình Arduino để tạo vị trí riêng cho mạch cảm biến XBee Ví dụ, mạch gắn nhãn “office” (văn phòng) mạch lại “kitchen” (nhà bếp) Chương trình diều khiển ghi lại (ghi liệu đến Serial Monitor) vị trí mạch cảm biến liệụ đọc từ XBee TÓM TẮT Chương giới thiệu đến bạn đọc nhiều nội dung Bạn khám phá nển tảng Arduino, bao gồm nhiêu dịng Arduino có thị trường cách lập trình đê điêu khiển Arduino Ngoài chương giới thiệu cách sử dụng cảm biến với Arduino (thơng qua mạch ví dụ sử dụng cam biến nhiệt độ độ ẩm) Bạn áp dụng nội dung học vê XBee đê ráp mạch cảm biến XBee nhằm đọc liệu nhiệt độ Sau bạn thiết lập cho Arduino với điều phôi XBee dê nhận dư liệu cảm biên từ mạch cảm biến XBee rôi hiên thị dư liẹu len Serial Monitor Bạn thực hành lập trình IOT với Arduino, ESP8266 Xbee qua 10 chương lý thuyết tập Với bạn chuyên thiết kê cân tham khao va thực hành với bo mạch Raspberry mà trình bày chương 1> nhiều vần đề kỹ thuật khó hay dùng Arduino để điều khiển Hãy tham khảo chuyên đề sau tủ sách STK biên soạn để học lập trình với Raspberry 470 • Lập trình điều khiển với Raspberry • Lập trinh hệ thống nhúng với Raspberry • Lập trình IOT với Raspberry • Giáo trình: Lập trình xử lý ảnh với Raspberry LẬP TBÌHBIOT vứl ABDUINO, ESP82B8 VÂ XBEE • GHƯƯHB10: LẬP TRÌHHvõl ABĐUIHO«À XBEE Lập trình với Raspberry Matlab Một số điểm cần lưu ý Do điều kiện in ấn phát hành nên với số trang chuyên đề gần 500 trang khổ 16 X 24 cm nhiều chủ đề cần cho lập trình IOT với Arduino chưa trình bày chuyên đề tác giả trình bày tập Có thể nêu số vấn đề sau: • Việc dùng bo wifi giới thiệu bo ESP8266 Xbee, bo Wifi CC300 hay dùng nước phương Tây chưa dược trình bày gây khó khăn cho bạn gặp phải bo mạch thiết kế sửa chữa • Ngồi việc điều khiển từ xa dùng bo Wifi ESP8266 Xbee, sách giới thiệu tới bạn đọc điều khiển từ xa hổng ngoại sóng cao tần (Chương ) Tuy nhiên, ứng dụng sử dụng nhiều xu điều khiển thời điểm dùng Bluetooth thông qua Smart phone để điều khiển chuyên đề chưa trình bày Việc dùng Smartphone với bo thu phát Bluetooth chuyên dùng HC05 có giá thành rẻ (Khoảng 90.000 vnd), nhỏ gọn kết hợp với ngôn ngữ lập trình Android giúp bạn đọc có thêm nhiều tùy chọn diều khiển 471 entume 10: LẬP THIN» vứl ABPUIHO«À XBEE LẬPTBim IOT vđl ARDUIWO, E8P8268 «À XBEE Phần hướng dẫn với tên chung ĐIỀU KHIỂN TH IẾT BỊ QUA BLUETOOTH dự kiến tác giả trình bàỵ riêng chương sách “LẬP TRÌNH IOT CHO NHÀ VÀ NƠNG TRẠI THƠNG MINH VỚI ARDUINO” 472 • Lập trình IOT gắn liền với sở liệu điện toán đám mây Lấy ví dụ dễ hiệu dùng cảm biên siêu âm đe đo khoảng cách, phát chướng ngại gắn xe, robot Nếu bạn người có kinh nghiệm ý tưởng sáng tạo khơng dùng cảm biến để làm thiêt bị rât hữu ích cho người mù (gậy dẫn đường cho người mù) thay khoảng cách đo từ cảm biến siêu âm hiên thỊ tren LCD người mù đâu thấy, bạn cần thiết kế loa nhỏ (buzzer) phát âm người dùng gạy phát vật cản bao xa theo thiêt đặt san cap cao ứng dụng y khoa, môi bệnh nhân kham sức khỏe tổng quát phải cân, đo chiêu cao phai^ ghi lại (nhập) thông số nhiều thời gian côn9 sưc de lưu liệu gửi di trung tâm Nếu dùng cảm biên siêu âm đe đo khoảng cách dỷ cao mơi người trước đo có đầy đủ thơng so, VƠI viẹc ạp trinh ứng dụng IOT, thơng số có thê truy cập hai chiều tới sở liệu liệu (gửi hay nhạn ve lập tức) không thêm nhân lực nhập so liệu giảm chi phí sai sót nhạp Van de an đến yêu cầu: Làm “Gửi liệu từ Ardu.no lên trang web ngược lại” trình bày phần “GIAM SAT Dữ LIỆU ĐÁM MÂY” • Chúng ta đươc hướng dẫn lập trình IOT mưc thap, đe điều khiển mức cao “GIÁM SÁT DỮ LIỆU DAM MÂY” chưa tác giả trình bày Để giám sát liệu đám mây vần đề sau cần phải quan tâm: r Các tảng IOT cho ESP8266 r Kết nôi cảm biến với bo ESP8266 LẬP TBiM lOT vứl ARDUINO, ESP8266 VÀ XBEE CHƯƠNG 10: LẬP TRÌNH vửl ABPƯINŨ «À XBEE > Tương tác dịch vụ Web o Gửi liệu cảm biến trực tuyến lên web, o Truy xuất liệu trực tuyến từ web > Bảo mật liệu trực tuyến > Giám sát liệu cảm biến từ bảng điều khiển đám mây • Tạo cảnh báo tự động dựa liệu đo • Theo dõi nhiều mơ đun ESP8266 lúc • Trong lập trình IOT cho nhà, nơng trại, xưởng máy thông minh tách rời với việc xử lý ảnh, camera quan sát chưa trình bày chun đề • Thay kết hợp Arduino với bo wifi ESP8266, Xbee lập trình IOT họ Arduino bo chuyên dùng tích hợp sẵn wifi bo đáng để quan tâm lập trình IOT Phần hướng dẫn sử dụng Arduino YUN tủ sách S TK biên soạn qúy 4-2018 • Giao tiếp cơng suất • Cịn nhiều rất nhiều vần đề kỹ thuật đặt mà chuyên viên IOT cần phải quan tâm giải Những vấn đề thiết thực mà trình giảng dạy cậ,c tác giả gặp phải từ câu hỏi em sinh viên Chính câu hỏi giúp tác giả phải học cập nhật thường xuyên lý thuyết lẫn thực hành Và nhờ sinh viên bạn đọc có sách trình bày lĩnh vực đáp ứng yêu cầu đại hóa cơng nghiệp Các tác giả xin cám ơn nghiệp, em sinh viên hành tác giả trình thực nghiệm Labs để có kết ngày hôm Rất mong cộng tác nhiều thầy, cô giảng dạy trường kỹ thuật để biên soạn nhiều tài liệu có ích góp phần dổi việc dạy học trường LẬP THỈNHIBT vửl ABDI1IH0, ESP8266 VÀ XBEE PHỤLỰC: Glửl TI1ỆU SÁCHMƠI PHỊ) LÚC GI0I THIỆU SÁCH M 0I VI ĐIỀU KHIỂN VÀ ỨNG DỤNG-ARDUINO VÀ CẢM BIẾN Do lập trình hệ thống nhúng hay IOT liên quan tới cảm biến có nhiều loại cảm biến mà tập từ 1-6 chưa trình bày hay chưa chi tiết tủ sách S TK trình bày tập “VI ĐIỀU KHIEN v ứ n g DỤNG-ARDUINO v c ả m BIẾN” Sách trình bày với nội dung chính: • Arduino hình hiển thị Hướng dẫn chi tiết cách dùng hình LCD Oled để hiển thị thông số ngõ vào ngõ nhiều loại cảm biến • Lập trình Arduino với cảm biến Hướng dẫn chi tiết lập trình Arduno cho nhiều loại cảm biến • Lập trình IOT với Arduino Lập trình Arduino kết hợp cảm biến với bo Wifi LẬP TRÌNH ARDUINO VÀ MATLAB LẬP TRÌNH ARDUINO VÀ LABVIEW Tập chủ yếu tập thực hành lập trình với Arduino Ngồi bạn đọc hướng dẫn chi tiết lập trình với Labview qua phong cách lập trình họa dễ sử dụng chun viên kỹ thuật biêt đên Với Matlab sinh viên quen thuộc Bạn đọc biêt cách cài đặt, kết nối Arduino VỚI hai chương trình Lúc Arduino xem bo phần cứng giao tiếp với giới thực bên ngồi, Người thiết kê t-hay dùng c lập trình trực tiếp cho Arduino sẽ khai thác thư viện, phân hệ, tool có sẵn hai chương trình để lập trình sau dó đổ code vào Arduino để điều khiển theo yêu cầu đề 474 LẬP TBÌHHIOT vửl ABĐUIHD, ESP826B VÀ KBEE PHU LỰC: 6IỨI THIỆU SÁCH M0I Hai chuyên đề cần thiết với sinh viên làm đồ án môn học, đề tài trường để thiết kế sản phầm (máy thiết bị đo lường ) có hàm lượng học thuật cao LẬP TRÌNH NHÀ VÀ NƠNG TRẠI THƠNG MINH Sách chủ yếu trình bày tập lập trình cho nhà, nơng trại thơng minh thiết kế trạm giám sát cho chuyên ngành Khí tượng-Thủy văn gửi thơng số dịng chảy, nhiệt độ, độ ẩm, bụi, lưu lượng dòng chảy qua mạng khơng dây có dây trung tâm xử lý Đây yêu cầu thiết thực chuyên viên ngành Khí tượng-Thủy văn sâu nghiệp vụ lại khơng có nhiều kiến thức Điện thiết kế sản phẩm Chuyên đề xem giải đáp chung cho câu hỏi mà tác giả thường gặp Các bạn hướng dẫn sử dụng Android để lập trình Arduino qua Smartphone với bo mạch thu phát Bluetooth chuyên dùng HC05 nhỏ gọn, có giá thành rẻ (Khoảng 90.000 vnd) LẬP TRÌNH HỆ THỐNG NHÚNG VỚI RASPBERRY LẬP TRÌNH IOT VỚI RASPBẸRRY Bo mạch Raspberry sử dụng ngày nhiều điều khiển giám sát liệu đám mây (Cloud) Tuy có giá thành mắc Arduino UNO nhiều lần mà Raspberry mang lại xứng dáng với số tiền bỏ Như tên gọi sách, tập tập hướng dẫn bước cài đặt phần mềm lập trình liên quan tập thiên điều khiển sản phẩn dân dụng nhu công nghiệp Các bạn lập trình cho ngõ vào ra, hiển thị Led đoạn, LCD Led Ma trận, động DC, Servo, động bước, loại cảm biến làm sở cho việc lập trình IOT trình bày tập Các bạn khai thác mạnh lập trình Raspberry Cloud với ngôn ngữ phát triển nhanh Python 475 IẬP TRIM IOT VỚI ABPOIHO, ESP8266 «À XBEE PIỤ LỤC: B t l TIIỆBIẢCH MƠI Một làm quen với Python việc lập trình MicroPython ESP8266 trình bày chương trỏ nên dễ dàng Rất nhiều tập lập trình Python nâng cao cho ESP8266 giúp nhà thiết kế tạo sản phẩm có giá trị cao, hữu ích cho dân dụng cơng nghiệp ST TS NGUYỀN TẤT BÀO THIỆN KS PHẠM QUANG HUY •3 I r e ll= TS LÊ MỸ HÀ KS PHẠM QUANG HUY R E LÂP TRÌNH LẬP TRÌNH V 0I HỆ thang nhúng V0I R A S P B ER R Y M ATLA P RASPBERRY LẬP TRÌNH VỚI RASPBERRY VÀ MATLAB Ngồi tập lập trình với Raspberry (phần 1), tương tự tập “Lập trình Arduino Matlab” Nếu cáe bạn khơng quen ngơn ngữ Python lập trình với Raspberry đồng thời muốn tận dụng Tool mơ có sẵn tiếng Matlab lập trình OpenCV, xử lý ảnh với nhiều tài liệu, Ebook, đổ án tiếng Anh lẫn tiếng Việt nói chủ đề chuyên dề dành cho bạn Trong phần bạn hướng dẫn cài đặt, liên kết Raspberry với Matlab vấ thực hành lập trình Matlab sau đổ code qua Raspberry để điểu khiển giám sát LẬP TRÌNH IOT V0IARDUINO, ESP8ZG6 & XBEE Tỉ NGUYỄN TÍT BẦO THIỆN - HS PHẠMQUANG HUY NỘI DUNG GIỚI THIỆU CHƯƠNG 1: TỔNG QUAN > Tổng quan hệ thống nhúng > Tổng quan loT o Cảm biến cấu tác động o Mức độ rộng lớn thị trường loT o Kết luận > Tổng quan Arduino o Thông số kỹ thuật bo mạch o Đầu vào đầu > Arduino Raspberry o Lịch sử o Bản chất Arduino Raspberry Pi o Các loại Arduino Raspberry Pi o Loại bạn nên chọn? > Serial monitor-đọc nối tiếp tín hiệu tương tự (analog) > Các linh kiện thực hành CHƠƠNG 2: TổNG QUAN VỀ CẢM BIẾN 2.1 Các khái niệm 2.2 Phân loại cảm biến 2.3 Đơn vị đo lường 2.4 Nguyên lý cảm biến 2.5 C ầ u W h e a tsto n e 2.6 ứng dụng Op-Amp mạch đo 2.7 Tuyến tính hóa CHUƠNG 3: THỰC HÀNH VỚI ARDUINO > Bài tập 1: Đọc giá trị điện áp ngõ vào Analog > Bài tập 2: Điều khiển tốc độ sáng tắt với biến trở *• Bài tập 3: Lập trình với ngõ vào (Input) TRANG 9 12 16 23 24 24 29 35 38 39 40 41 42 45 46 55 56 59 71 72 75 75 55 87 87 90 96 477 > Bài tập 4: Mạch sử dụng nút nhấn Led > Bài tập 5: Mạch sử dụng chiết áp CHƯƠNG 4: ARDUINO VÀ CẢM BIẾN ứng dụng thời gian thực cảm biến 4.2 Cảm biến gì? 4.3 Phân loại cảm biến 4.4 Các loại cảm biến khác 4.5 Lập trình Arduinọ với cảm biến 4.5A Cảm biến nhiệt độ 4.5A1 Hệ thống kiểm soát nhiệt độ dùng mạch rời 4.5A2 Mạch đo nhiệt độ sử dụng Arduino cảm biến LM35 4.5A3 Đo nhiệt độ sử dụng cảm biến LM35 hiển thị hình LCD 4.5B Cảm biến tiệm cận 4.5C Cảm biến hồng ngoại 4.5C1 Arduino cảm biến hồng ngoại 4.5C2 Điều khiển từ xa nhiêu kênh dùng Led hồng ngoại 4.5D Cảm biến quang 4.5D1 Sử dụng LDR Op-Amp phát ánh sáng 4.5D2 Sử dụng LDR Transitor phát ánh sáng 4.5E Cảm biến khói 4.5E1 Cảm biến khói-Mạch báo động dị khói 4.5E2 Mạch phát rị rỉ khí hóa lỏng LPG 4.5F Arduino cảm biến dịch chuyển PIR 4.5G Đo nhiệt độ, độ ẩm từ xa với bo thu phát cao tan CHƯƠNG 5: TÌM HlỂU TRUYỀN THƠNG KHƠNG DÂY Giao tiếp khơng dây: giới thiệu, loại ứng dụng Các loại hệ thống truyền thông không dây Truyền liệu 'r Truyền liệu nối tiếp đồng không đồng ^ Chuẩn giao tiếp UART o M2M MQTT > Tổng quan truyền liệu chuẩn I2C SPI 471 101 106 113 114 115 116 114 1"*7 117 118 123 127 ^29 ^ 131 134 152 152 153 00 155 159 164 182 193 193 302 298 207 208 209 313 CHƯƠNG > > > > 6: CẤU HÌNH CHO ESP8266 Thiết lập môi trường phát triển Arduino với ESP8266 Hướng dẫn chọn lựa ESP8266 * Một số linh kiện bổ sung cần dùng Nạp chương trình vào ESP8266 > Kết nối ESP8266 với mạng WiFi cục >• Kết nối ESP8266 với máy chủ đám mây > Chắn đoán số cố liên quan đến ESP8266 CHƯƠNG 7: BÀI TẬP c BẢN DÜNG ESP8266 > Các tính mơ đun ESP8266 > Đọc tín hiệu digital > Đọc tín hiệu analog > Điều khiển LED sáng tắt > Điều khiển độ sáng LED > Điều khiển động servo ' > Đọc liệu từ cảm biến digital > Điều khiển hình OLED > Khắc phục số cổ thưông gặp CHƯƠNG 8: MỘT s ố TÍNH NĂNG KHÁC CỦA ESP8266 > Các tính nâng cao ESP8266 > Sừ dụng thư viện ESP8266 > Tìm hiểu hệ thống tập tin ESP8266 > Lưu trữ liệu ESP8266 > Khám phá cập nhật Over The Air (OTA) ESP8266 > Lập trình ESP8266 OTA > Khắc phục số cố thưông gặp > Giới thiệu Python 221 221 224 235 243 246 250 255 257 257 263 267 271 275 279 285 291 303 305 305 309 316 321 329 332 344 343 > Chạy Python chế độ hoạt động Python CHƯƠNG 9: s DỤNG MICRO PYTHON TRONG ESP8266 357 375 CHƯƠNG 10: LẬP TRÌNH IOT VỔI ARDUINO VÀ X B E E > Tổng quan Xbee-Cấu hình hệ thống > Bài tập thực hành 407 407 437 PHỤ LỤC: GIÔI THIỆU SÁCH MỔI MỤC LỤC 474 477 478 LẬP TRÌNHIOT V0IARDUINO, ESP826G &XBEE TS NGOVỄN TẤT BÀO THIỆN - KS PHẠM QUANG MOV Chịu trách nhiệm xuất bản: Giám đốc - Tổng Biên Tập: Nguyễn Xuân Trường Biên tập: Mai Thị Ánh Duyên Sửa in thử: Phạm Quang Hiển Trình bày: Cơng ty TNHH Thương mại STK NHÀ XUẤT BẢN THANH NIÊN 64 Bà Triệu - Hà Nội - ĐT: (84.024) 39434044 - 62631719 Fax: 024.39436024 Website: nxbthanhnien.vn Email: info@nxbthanhnien.vn Chi nhánh: 27B Nguyễn Đình Chiểu, Phường Đa Kao, Quận 1, TP Hồ Chí Minh —ĐT: (028) 62907317 Website: nxbthanhnien.com.vn TỔNG PHÁT HÀNH f ^ CÔNG TY TNHH Thương mại STK 742 Điện Biên Phủ, Phường 10, Quận 10, Tp Hổ Chí Minh Điện thoại: (+84)02838334168 Fax: (+84)02838334168 Website: www.stkbook.com Mail: nhasachstk@ yahoo.com vn- stkbook@ yahoo.com.vn In 1.200 cuốn, khổ (16 X 24) cm, Công ty TNHH sả n xuất in ấn Tuấn Nam Địa ch?: 57A, đường Nguyên Hồng, p 11 Quận Bình Thạnh, T P.H C M Số đăng ký xuất bản: 2455-2018/CXBIPH/4-101/TN; ISBN: 978-604-970-790-2 Số QĐXB: 428/QĐ-TN ngày 23 tháng năm 2018 In xong nộp lưu chiểu tháng năm 2018 4M ... cho ESP8266 Chương 7: Các tập dùng ESP8266 Chương 8: Một số tính khác ESP8266 Chương 9: s dụng Micro Python ESP8266 PHẦN 4: LẬP TRÌNH IOT VỚI ARDUINO VÀ XBEE Chương 10: LẬP TRÌNH IOT VỚI ARDUINO. .. ngõ vào ngõ cảm biến LẬP TRIM IOT V0IARDUINO, ESP8266 «A XBEE S IỨ IT IIỆU Ngơn ngữ để lập trình Arduino c, nhiên người thiết kế tận dụng sức mạnh chương trình khác Matlab Labview để lập trình. .. dị khói LẬP THÌNHIOT vửl AHDUIND, ESP8266 «À X8EE tlứl THIỆU > Arduino cảm biến dịch chuyển PIR > Đo nhiệt độ, độ ẩm từ xa với bo thu phát cao tần PHẦN 3: LẬP TRÌNH IOT VỚI ARDUINO VÀ ESP8266