CHƯƠNG 1: TÍNG QUAN (2) Các cảm biến không dây nhúng trong hệ thống đậu xe sẽ giúp xe biết được vị trí nào còn trống để đậu, cũng như tự động thanh toán phí đậu xe. (3) Bằng thông tin về vị trí đậu xe trong bãi được hệ thống liên lạc trong xe cung cấp, nhân viên sửa xe lưu động có-thể đến để thay dầu cho xe khi đến lịch bảo trì. “Tại trung tâm thành phố San Francisco, có 20-30% nguyên nhân kẹt xe là do lái xe phải chạy xe lòng vòng để tìm chỗ đậu xe.” Nguồn: San Francisco Municipal Transportation Agency (SFM TA). ứng dụng loT trong lĩnh vực kết hợp giữa chăm sóc sức khỏe và căn nhà thông minh (1) Một người lớn tuổi phải sống một mình ở một căn hộ riêng, điều này làm con/cháu lo lắng về tình hình sức khòe/sự an toàn.
(2) Các cảm biến không dây được đặt trong căn nhà này sẽ đo các thông sô' về sức khỏe của người này như: Các hoạt động thể chất hằng ngày, thời gian ngủ cũng như giúp xác định thời gian biểu chăm sóc sức khỏe. (3) Khi có hiện tượng bất thường về sức khỏe, tín hiệu báo động sẽ được tự động gửi về trung tâm y tế và người thân, đổng thời nhân viên y tế sẽ có mặt để hỗ trợ kịp thời. “Ở Mỹ, Canada và châu Âu, có tổng cộng khoảng 40 triệu người trên 65 tuổi vẫn sống một mình”. Department of Health and Human Services: Administration for Community Living (A C L) ứng dụng loT trong lĩnh vực kết hợp giữa tòa nhà thòng minh và di chuyển CltfdNG 1: TỔNG QUAN ABDUIHD «À LẬP TRÌHI i l l (1) Một nhân viển trẻ đang gặp áp lực vì được giao nhiệm vụ cắt giảm chi phí sử dụng (điện, nước, chiếu sáng,.) ở tòa nhà văn phòng mới của công ty.
(2) Sau khi trao đổi với chuyên gia, nhân viên này đã lắp thêm các cảm biến cho tòa nhà, nhằm tự động điều chỉnh mức tiêu thụ năng lượng tùy thuộc vào lưu lượng người, nhiệt độ và các điều kiện môi trường xung quanh. Nhờ đó đã cải thiện được hiệu quả sử dụng của văn phòng. “Tại Mỹ, năng lượng sử dụng trong các toà nhà văn phòng và các nhà máy công nghiệp tạo ra gần 50% lượng khí thải gây hiệu ứng nhà kính”. Nguồn: United States Environmental Protection Agency.
MỨC ĐỘ RỘNG LỚN CỦA THỊ TRƯỜNG loT Trong năm 2014 có gần 2 tỷ thiết b| kết nốl với loT sẽ được chuyển giao. Đến năm 2020, con số này sẽ tăng lên đến gẩn 8 tỷ thiết b| (khống tính các dòng điện thoại dl dộng).70 Số lượng các thiết bị kết nối với loT • Home (Căn hộ): 3.745,71 triệu thiết bị. • Transport (Vận tải): 392,72 triệu thiết bị. • Body (Heath) Chăm sóc sức khỏe: 360,03 triệu thiết bị.
• Building Xây dựng, hạ tầng: 1.726,59 triệu thiết bị.524,700 triệu thiết bị. » ABĐUIHG ựfl LẬP TBÌHH lo ĩ CRƯ0HG1: TỂNG QUAN KẾT LUẬN Sự ra đời của Internet đã giúp chúng ta có được một phương pháp kết nối mà trước đây không ai có thể “mơ ước” tới. Đối với Internet of Things (Internet Vạn vật - loT), chủng ta còn tiến xa hơn trong việc kết nối và trở thành một “hệ thần kinh toàn cầu” mà ta đang sống và làm việc trong đó. Dù bạn là một người dùng cá nhân, một nhà phát triển công nghệ hay một người chuyển giao công nghệ, loT cũng sẽ giúp bạn mở rộng thêm biên giới của nhiều hệ thống khác nhau.
Liệu bạn có sẵn sàng cho những thách thức trong việc học, làm việc và cải tiến mà loT sẽ mang lại trong tương lai? 3. TỔNG QUAN VỀ ARDUINO Như đã trình bày, một hệ thống nhúng về cơ bản có hai thành phần chính đó là: Phần cứng và phần mềm. Phần cứng trước đây thường là một chip vi xử lý (sau năm 2000 vi điều khiển hầu như được dùng). Nếu trước đây các nhà thiết kế sử dụng 8951 sau đó là các dòng PIC, thì những năm gần đây các nhà thiết kế có khuynh hướng dùng ARM (viết tắt từ tên gốc là Advanced RISC Machine) là một loại cấu trúc vi xử lý 32 bit và 64 bit kiểu R ISC được sử dụng rộng rãi trong các thiết kế nhúng.
Chúng có đặc điểm tiết kiệm năng lượng, vì vậy các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động. Các đặc tính của ARM bao gồm: - Cấu trúc nạp/IƯu trữ. - Hỗ trợ tập lệnh trực giao. Clơơne 1: TẩHG QUAW' ARBUINO VÀ LẬP TRÌNH loT ■ Thanh ghi lớn.
■ Hầu hết các lệnh được thực hiện trong 1 chu kỳ CPU. Chiểu dài mã máy cố định, do đó dễ dàng thực hiện đường ống hóa (pipeline). Còn nhiều tính năng của ARM tốt hơn so với các vi điều khiển trước đó không trình bày trong chuyên để này. Tại các cơ sở giáo dục, người học có khuynh hướng sử dụng các bo mạch tích hợp sẵn các vl điều khiển như Arduino, Raspberry, Beaglebone.Trong số các bo mạch trên, người học hay sử dụng Arduino và Raspberry trong các bài tập lớn đo án môn học cũng như đồ án ra trường.
Do giá thành của bo Raspberry còn cao so với tài chính của sinh viên (~1.000 vnđ), trư những yêu cầu thiết kế phải xử lý bộ nhớ lớn (như âm thanh, xử lý ảnh), tốc dộ cao. phải dùng Raspberry, thường Arduino được các sinh viên, kỹ sư thiết kế sử dụng ngày càng nhiều hơn do giá thành ngày càng rẻ (vào thời điểm biên soạn quyển sách này bo Arduino UNO có giá chỉ còn -100.000 vnđ), dễ sử dụng và có nhiều tài liệu hướng dân với code mẫu giúp người học nhanh chóng tìm hiêu, khai thac và ứng dụng Arduino trong công việc. Phần trình bày sau giới thiệu tóm tắt một sô thông tin về bo mạch Arduino, phần so sánh giữa Arduino và Raspberry sẽ được trình bày cuối chương. Arduino là dự án nguồn mở làm việc dựa trên bo mạch điện tử (Kít) bao gồm một VI điều khiển, với các đầu vào/đầu ra, một ngôn ngữ lạp trình và một IDE (trình soạn thảo trong môi trường phát triển tích hợp) có thể được tải về miễn phí từ: http://www.
Arduino là một công cụ để thực hiện các ứng dụng tương tác dộc lập hoặc có thể được kết nối với phần mềm trên máy tính của người học (chẳng hạn như Flash, Processing hoặc Max/MSP). Có thể nêu một số ưu diêm cua bo mạch Arduino: • Phần cứng cho Arduino có giá khá rẻ, tại thơi điẹm tháng 1-2020, chỉ với khoảng 65.000 vnđ, người dùng đã có thể sồ hữu một bo mạch Arduino UNO R3 (chip dán) hay 120.000 VNĐ cho loại chip rời với số lượng cổng giao tiếp ngoại vi và dung lượng bộ nhớ nhiều nhất so với các dạng bo mạch của Arduino. ARDUINO VÀ LẬ P ĨR ÌN H IO Ĩ CRƯƯN61: TỔNSQUAN • Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng rất dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình. Arduino có nền tảng làm việc khác với các bo mạch trước đó có trên thị trường từ các hãng khác nhau vì các tính năng sau: • Arduino làm việc trong một môi trường đa hệ điều hành, nó có thể chạy trên Windows, Macintosh, và Linux.
Nó làm việc dựa trên IDE với một trình soạn thảo trong môi trường phát triển tích hợp, môi trường phát triển này rất dễ sử dụng. • Chương trình thiết kế có thể được tải từ máy tính vào bo mạch thông qua cổng USB (cáp U SB), không phải là một cổng nối tiếp (serial port). Tính năng này rất hữu ích, bởi vì nhiều máy tính đời mới không có cổng nối tiếp. • Do dự án Aduino có mã nguồn mở cả phần cứng và phần mềm nên nếu muốn, người dùng có thể tải về các sơ đồ mạch, mua tất cả các thành phần, và làm bo mạch cho riêng mình mà không phải trả bất cứ điều gì tới các nhà sản xuất của Arduino.
• Arduino có một cộng đồng năng động của người sử dụng, vì vậy rất tốt cho người mới bắt đầu làm quen với Arduino có được những thứ làm việc một cách nhanh chóng. • Sách hướng dẫn sử dụng Arduino rất đa dạng từ nhiều nguồn, nhiều tác giả (tiếng Anh). Đa sô' các sách đều có các bài tập từ cơ bản cho đến nâng cao. Các bài tập trong sách đều có mã nguồn để người đọc dễ theo dõi kiểm tra.
Vào năm 2020, Arduino Uno có lẽ là bo mạch tốt nhất dành cho các bạn sinh viên, học sinh muốn tìm hiểu, nghiên cứu về vi điều khiển để ứng dụng trong cuộc sống, trong công nghiệp, trong khoa học, thi Robocon. Vi điều khiển trong bo mạch Arduino như là một máy tính, đây là bộ não của một hệ thống nhúng. Arduino là sự kết hợp giữa phần cứng và phần mềm chạy trong một môi trường dễ dàng phát triển tạo các mẫu mới. Đây là nền tảng cho các dự án (bài tập) mà chúng tôi sẽ hướng dẫn bạn thực hành trong các chương sắp tới.
Một vi điều khiển là một máy tính nhỏ với một bộ xử lý và bộ nhớ có thể điều khiển các chUc năng của nhiều thiết bị đã và đang sử dụng. C1ƯƠHC1: TỔHB QUAH ' • AHDUINO tffl LẬP THÍNH lo i Một số vi điều khiển được thiết kế để kết nối dễ dàng với máy tính để lập trình cho các mục đích chuyên ngành. Arduino là một ví dụ về một trong các vl điều khiển dễ dàng lập trình để xây dựng các thiết bị điện tử bởi vì bạn có thể kiểm soát chức năng theo yêu cầu thông qua mã (code). Vi diều khiển có thể điều khiển và kiểm soát của cả hai đầu vào và đầu ra.
Ví dụ, bạn có thể làm nhấp nháy một đèn LED bằng cách kết nối nó vào một chân (pin) trong bo mạch Arduino cụ thể VỚI mã điều khiển cho phép có dòng điện tại một chân trong L giây và sau đó tắt trong t2 giây. LED là một ví dụ của ngõ ra, bạn có thể điều khiển LED bằng cách sử dụng một cảm biến, nút nhấn, chuyển đổi, hoặc một thiết bị khác từ đầu vào. Hình trang bên là mặt trước của hai bo mạch Arduino UNO. Nhìn thoáng thì thấy hai bo mạch này giống nhau, nhưng nhìn kỹ bạn thấy một số khác biệt, về cơ bản, các chân ngõ vào và ngõ ra trên bo mạch như nhau nhưng một số linh kiện ở vị trí khác nhau.
Khác biệt dễ nhận thấy là nút nhấn Reset. Một mạch thì nút Reset thì bố trí ở góc trên bên trái bo mạch, một mạch thì bố trí ở giữa bên phải bo mạch.