Đỗ Hữu Toàn gửi vào
- 60918 lượt xem
Giới thiệu
Ở bài viết này, mình sẽ phân tích về việc lựa chọn Raspberry Pi hay Arduino cho các dự án IoT. ( Bài viết được dịch từ trang web ReadWrite)
Nếu bạn là người quen thuộc với các dự án điện tử dạng tự làm (Do-It-Yourself hay còn gọi tắt là DIY), có lẽ bạn đã nghe nói về những tính năng tuyệt vời của Arduino và Raspberry Pi. Thậm chí bạn có thể cho rằng 2 nền tảng phần cứng này đang cạnh tranh quyết liệt để giải quyết các vấn đề giống nhau.
Trên thực tế, Arduino và Raspberry Pi là tương đối khác nhau. Nếu giải thích ngắn gọn cho những người mới bắt đầu thì Raspberry Pi là một máy tính đầy đủ chức năng, trong khi Arduino là một vi điều khiển (microcontroller), nó chỉ là một thành phần của một chiếc máy tính.
Dưới đây là một số đặc điểm để phân biệt Arduino và Raspberry Pi, và để xác định đâu là thiết bị DIY phù hợp nhất cho nhu cầu vọc vậy và thử nghiệm của bạn với các dự án thú vị.
Tổng quan
Cả Raspberry Pi và Arduino đều được thiết kế với mục đích ban đầu là trở thành các công cụ giảng dạy, đó là lý do tại sao chúng lại trở nên phổ biến - bạn rất dễ dàng học cách sử dụng hai thiết bị này.
Raspberry Pi đến từ Vương quốc Anh. Nhà phát minh Eben Upton và các đồng nghiệp của ông tại Phòng thí nghiệm máy tính của trường đại học Cambridge đã rất nản lòng bởi số lượng sinh viên theo học ngày càng giảm, và kỹ năng của các sinh viên thì rất kém khi tham gia vào chương trình học. Bởi vậy Raspberry Pi đã được thiết kế để trở thành một máy tính giá rẻ, có thể vọc vậy để làm tăng kỹ năng tìm hiểu của sinh viên. Mặc dù Upton làm việc trên các nguyên mẫu từ năm 2006, nhưng các sản phẩm Pi được ra mắt lần đầu tiên là vào tháng 4 năm 2012.
Mặt khác, Arduino được sinh ra ở Ý. Nó được đặt tên trùng với tên quán bar nơi nhà phát minh Massimo Banzi và các đồng sáng lập của ông nảy sinh ra ý tưởng đầu tiên. Banzi, một giáo viên tại học viện Interaction Design Institute Ivrea, muốn có một công cụ tạo mẫu phần cứng đơn giản cho các sinh viên thiết kế mạch của mình.
Vì là các công cụ giảng dạy nên cả Arduino và Raspberry Pi đều thích hợp cho người mới bắt đầu. Chỉ khi ta phân tích phần cứng và phần mềm của chúng thì mới thấy rõ chúng đang được sử dụng cho rất nhiều loại dự án khác nhau.
Phần cứng và phần mềm
Dưới đây là tổng quan của một vài các thông số kỹ thuật cho thấy sự khác biệt lớn nhất giữa hai thiết bị này:
Giá cả và kích thước của hai thiết bị này có thể nói là gần giống nhau; chúng ta đều biết là Raspberry Pi và Arduino có kích thước rất nhỏ và giá thành rẻ. Nhưng những thứ bên trong mới tạo cho chúng sự đặc biệt.
Nếu đánh giá về clock speed thì Raspberry Pi nhanh hơn khoảng 40 lần so với Arduino. Nếu so về dung lượng bộ nhớ RAM thì Pi gấp 128.000 lần so với Arduino. Raspberry Pi là một máy tính độc lập có thể chạy một hệ điều hành thực sự là Linux. Nó có thể hoạt động đa nhiệm, hỗ trợ hai cổng USB và kết nối không dây với Internet. Nói ngắn gọn, nó đủ mạnh để hoạt động như một máy tính cá nhân (mặc dù không đủ mạnh để cạnh tranh với máy Mac hoặc PC của bạn).
Nghe có vẻ như Raspberry Pi vượt trội hơn so với Arduino, nhưng đó là khi chỉ nói đến các ứng dụng phần mềm. Sự đơn giản của Arduino làm cho nó trở nên tốt hơn cho các dự án thuần về phần cứng.
Tôi đã hỏi Limor Fried, nhà sáng lập của Adafruit - một cửa hàng các thiết bị điện tử DIY cung cấp phụ tùng và bộ dụng cụ cho các dự án cả Arduino và Pi - cho biết ý kiến chuyên môn của cô về sự khác biệt của chúng. Cô là một kỹ sư tốt nghiệp từ trường đại học danh tiếng MIT và đã đặt ra cho mình một sứ mệnh là dạy điện tử cho tất cả mọi người, Fried cho biết cả hai nền tảng này là tốt hơn so với tất cả các nền tảng còn lại.
"Arduino có các khả năng 'thời gian thực (real-time)' và 'tương tự (analog)' mà Pi không có: Sự linh hoạt này cho phép nó có thể làm việc với bất kỳ loại cảm biến hoặc chip nào," Fried cho biết. "Pi thì không được linh hoạt lắm; ví dụ, việc đọc các cảm biến analog đòi hỏi phải có thêm phần cứng hỗ trợ. Ngoài ra còn có hàng ngàn hướng dẫn về cách gắn một Arduino vào rất nhiều phần khác nhau. Mặt khác, Pi được hưởng lợi từ lịch sử phát triển hàng thập kỷ của phần mềm Linux, vì vậy cả hai nền tảng này đều là sự lựa chọn tuyệt vời."
Arduino IDE thì dễ sử dụng hơn nhiều so với Linux. Ví dụ, nếu bạn muốn viết một chương trình để làm nhấp nháy đèn LED với Raspberry Pi, bạn sẽ cần phải cài đặt một hệ điều hành và một số thư viện code - và đó chỉ là mới bắt đầu. Với Arduino, bạn có thể làm cho đèn LED nhấp nháy chỉ trong 8 dòng code. Vì Arduino không được thiết kế để chạy một hệ điều hành hoặc rất nhiều phần mềm, nên bạn có thể chỉ cần cắm nó vào là bắt đầu vọc vậy ngay được.
Raspberry Pi có thể xử lý đa nhiệm - nó có thể chạy nhiều chương trình dưới background trong khi hoạt động. Ví dụ, tôi có một con Raspberry Pi mà có thể phục vụ như là một print server và một máy chủ VPN đồng thời.
Mặt khác, bạn có thể dùng một Arduino vào một hoạt động đơn lẻ nào đó trong thời gian dài, và chỉ tháo nó ra khi bạn không sử dụng nữa. Đây là lý do tại sao Fried muốn giới thiệu Arduino tới những người mới bắt đầu trước khi tiếp xúc với Pi:
"Arduino đơn giản hơn, khó bị 'vỡ' hay 'hư hỏng' và có nhiều nguồn tài nguyên học tập hơn cho người mới bắt đầu," Fried cho biết. "Với Pi bạn phải học một số kiến thức về Linux và lập trình Python. Arduino có thể làm việc với bất kỳ máy tính nào, bạn cũng có thể bật và tắt một cách an toàn bất cứ lúc nào. Phần thiết lập của Pi có thể bị hư hỏng nếu bạn rút nó ra mà không thông qua quá trình tắt máy thích hợp."
Trong khi Raspberry Pi tỏa sáng trong ứng dụng phần mềm, thì Arduino làm cho các dự án phần cứng trở nên đơn giản. Điều quan trọng là việc nhận ra bạn đang muốn làm gì trong dự án của mình.
Làm việc cùng nhau
Câu trả lời cuối cùng khi quyết định giữa Pi và Arduino là, "Tại sao lại lựa chọn?" Nếu bạn đang tìm kiếm cách để học về các thiết bị điện tử, mỗi nền tảng này sẽ dạy cho bạn một cái gì đó khác biệt.
Theo như Fried nói thì Raspberry Pi và Arduino là một sự bổ sung cho nhau. Cô lấy ví dụ về một dự án mà Arduino được dùng để nhận thông tin từ các cảm biến, trong khi Pi đưa ra những hướng đi:
"Chúng làm việc với nhau rất tốt", Fried cho biết. "Arduino là tốt nhất cho việc điều khiển mô-tơ, đọc dữ liệu từ cảm biến, điều khiển đèn LED, v.v... trong khi bạn có thể có một kết nối Internet thông qua Pi, một máy tính mini mà có thể play video, âm nhạc hoặc gửi email một cách dễ dàng."
Tác giả Simon Monk, người đã viết hàng chục cuốn sách về cả Pi và Arduino, đã viết một bài trên blog để hướng dẫn cách làm Raspberry Pi có thể làm việc với Arduino chỉ trong một vài dòng code. Hướng dẫn sử dụng một thư viện Python, có tên là PySerral, đó là thư viện mà hiệp hội Arduino khuyến khích như là một cách dễ nhất để các máy tính giao tiếp được với Arduino.
Một khi bạn đã thành thạo việc sử dụng chúng thì khả năng sáng tạo là vô tận. Bạn có thể thực hiện các dự án rất thú vị bằng cách thu nhận thông tin qua các cảm biến bằng Arduino và dùng Pi để ra mệnh lệnh điều khiển. Bạn cũng có thể tạo ra một nền tảng cho việc chế tạo robot có nhiều khả năng hơn so với Arduino hoặc Raspberry Pi thuần túy.
Cộng đồng
Cả Raspberry Pi và Arduino đều có các cộng đồng lớn hoạt động rất tích cực xung quanh chúng. Chúng không chỉ được sử dụng trong các trường trung học và đại học, mà còn được sử dụng trong các hackerspace trên toàn thế giới. Trong đó, có cộng đồng Arduino Việt Nam của chúng ta!!!
Lời kết
Tóm lại, nếu có thể các bạn hãy chọn cả raspberry pi và Arduino trong dự án IoT của mình, bởi kể cả raspberry pi và Arduino đều có cái hay riêng của nó. Chúc các bạn thành công. Nếu thấy hay thì Rate Node cho mình nhé