monsieurvechai gửi vào
- 70163 lượt xem
"Cuộc chiến" giữa Raspberry Pi và Arduino vẫn chưa đến hồi kết. Tuy nhiên câu hỏi đặt ra là 2 đồng chí này có nhất thiết phải như nước với lửa không? Bài này tui sẽ viết kinh nghiệm cá nhân về cách kết hợp giữa Arduino và Raspberry Pi trong cùng 1 dự án.
4 boards tui đã sử dụng
UNO thần thánh: Đây là board tui đầu tiên vọc (sử dụng trong đề án nghiên cứu của trường). Dễ sử dụng nhất. Thư viện và ví dụ bao la. Giá thành chấp nhận được. Nhược điểm: đau đầu với ngôn ngữ C. Còn cồng kềnh và chưa "bỏ túi" được.
Pro Micro: Tui tình cờ vớ phải 2 em này ở chợ trời với giá bèo như không và kết luôn từ đó. Ưu điểm là có hỗ trợ cổng HID (chế ứng dụng chuột và keyboard, hack crack @@). Rất mi nhon bỏ túi được. Giá mềm hơn UNO rất nhiều. Tuy nhiên Pro Micro có 2 phiên bản 3.3V và 5V. Nếu bạn chọn nhầm board trên IDE và upload thì phải thao tác reset bằng tay rất phiền phức. Thứ 2 là Pro Micro không phải từ công ty mẹ Arduino nên bạn phải cài thêm 1 số thứ lặt vặt trên Arduino IDE thì mới upload được. Với Windows thì còn chấp nhận được. Nhưng vơi Linux (đặc biệt là trên Raspberry Pi) thì đôi khi là cơn ác mộng .
Raspberry Pi 3: Tên tuổi làm nên huyền thoại. Ưu điểm lớn nhất là đã có Wifi và Bluetooth đi kèm (Raspberry Pi 1, 2 ko có nhé). Thư viện Python bao la. Ưu nhiều nhưng nhược còn nhiều hơn: giá chát với túi tiền sanh dziên. To kềnh không bỏ túi được. Không phải open source. Khó hack. Không có GPIO analog. Linux cần nhiều thời gian làm quen hơn.
Pi Zero: Cao nhân ở ẩn. Giá "2 tô phở", có là chộp ngay. Mi nhon bỏ vừa ví tiền. Nhược điểm là phải mua kèm nhiều phụ kiện để setup lần đầu. Có đúng 1 cổng USB. Bạn có thể mua thêm 1 HAT (giống như shield trong thuật ngữ Arduino) để mở ra thành 4 cổng, nhưng giá HAT gần bằng 2 lần giá Pi Zero.
Tiêu chuẩn đánh giá
Tiêu chí của tui rất đơn giản. Chọn 1 trong 2 sau đây:
- Khỏe: board làm được gì khi không phải mua thêm phụ kiện? Mua UNO hoặc Raspberry rồi thì tui không mua shield hoặc HAT nữa.
- Nhỏ nhưng có võ: Giá thành mềm để có thể bỏ túi chu di thiên hạ được.
Combo UNO + Raspberry Pi 3
Về cơ bản thì Raspberry Pi 3 đã là 1 máy tính nên bạn chỉ cầm cắm cổng USB của UNO và Raspberry Pi là đã có thể sử dụng được. Tui đã viết 1 bài ví dụ ở đây: http://arduino.vn/bai-viet/988-di-hoc-thoai-mot-du-thu-vi-voi-raspberry-pi-va-arduino-canh-bao-chay-qua-email
UNO chắp cánh cho Raspberry Pi 3 bằng các cổng analog của mình, còn Raspberry Pi 3 nâng UNO lên tầng cao mới với khả năng mạng, xử lí dữ liệu qua các ngôn ngữ lập trình mạnh mẽ. Tuy nhiên đây là combo con nhà giàu có điều kiện. Ngoài giá ra thì 70 GPIO pins là quá nhiều khó có khả năng bạn sử dụng tối đa tài nguyên. Và bạn phải sử dụng tốt song ngữ Python và C. 2 cái này thực sự là nước với lửa. Ví dụ: Python không cần dấu chấm phẩy cuối dòng (;) trong khi bạn quên 1 phát trong C là rắc rối ngay.
Combo Pro Micro + Raspberry Pi 3
Đây là combo tốt cho các bạn muốn gắn thêm cảm biến vào Raspberry Pi 3 nhưng không muốn dự án của mình quá cồng kềnh hoặc cháy túi. Rất tốt cho các bạn bắt đầu từ Raspberry Pi và muốn làm quen với môi trường Arduino. Chỉ cần gắn Pro Micro vào 1 trong 4 cổng USB của Raspberry Pi 3, sử dụng mẹo serial.print() trong code Arduino là đã có thể giao tiếp với các sensor của mình bằng Python. Hoặc bạn có thể dùng chức năng HID của Pro Micro để làm chuột, bàn phím cho Raspberry Pi.
Nhược điểm duy nhất là là để cho Pro Micro giao tiếp được với Arduino IDE trên Raspberry Pi 3 bạn cần qua nhiều bước phức tạp.
Combo Pro Micro + Pizero
Cái khó ló cái khôn: 2 boards mi nhon nhất nhà, dành cho dân pro thừa thời gian nhưng thiếu tiền và không gian. Về cơ bản thì đây là phiên bản giá rẻ của Combo Pro Micro + Raspberry Pi 3. Tuy nhiên Pizero chỉ có 1 cổng USB và không có Ethernet các bạn phải tốn nhiều thời gian hack hơn để combo hoạt động trơn tru. Hiện giờ tui vẫn chưa tìm được cách cho 2 em này hoạt động chung với nhau được vì tui phải gắn wifi vào cổng USB duy nhất để SSH. Còn các giao tiếp SPI hay UART thì vẫn chưa có thời gian ngâm cứu.
Combo UNO + Pizero
Đây là combo tốt cho các bạn muốn mày mò Raspberry Pi nhưng không muốn dự án của mình quá cồng kềnh hoặc cháy túi. Rất tốt cho các bạn bắt đầu từ Arduino và muốn làm quen với môi trường Raspberry Pi. Tuy nhiên bạn nên thủ sẵn 1 USB hub để gắn bàn phím, chuột và wifi.Tương tự như Combo UNO + Raspberry Pi 3, bạn sử dụng mẹo serial.print() trong code Arduino là đã có thể giao tiếp với các sensor của mình bằng Python.
Túm lại
Make love, not war: Hãy iu nhao đì, vì nền hòa bình thế giới.
- Combo UNO + Raspberry Pi 3: Con nhà giàu có điều kiện. Quýxtộc công chú hoàng tử môn đăng hộ đối sống nhung lụa suốt đời.
- Combo Pro Micro + Raspberry Pi 3: Hoàng tử iu Lọ Lem. Dành cho các đồng chí sống nhung lụa với sức mạnh của microcprocessor nhưng muốn vi hành tìm hiểu về cuộc sông thanh tịnh của thế giới microcontroller.
- Combo UNO + Pizero: Kiêu hãnh và định kiến. Dành cho các đồng chí muốn vươn ra thế giới từ microcontroller nhưng chưa có điều kiện. Từ từ khoai sẽ nhừ.
- Combo Pro Micro + Pizero: 1 túp lều tranh 2 trài tim vàng. Dành cho các đồng chí thừa thời gian nhưng thiếu tiền và không gian