Raspberry Pi - Sự lựa chọn tối ưu cho các dự án IoT
Hôm nay, BKAII muốn chia sẻ với các bạn, nhất là các bạn start-up công nghệ trong lĩnh vực IoT về Raspberry Pi, một bài viết khá hữu ích để các bạn có một cái nhìn tổng quan về hệ thống.
Trong thực tế, phần khó khăn nhất của việc sử dụng Raspberry Pi để học về IoT là lựa chọn các dự án phù hợp để bắt đầu. Trên Internet, chúng ta có thể tìm thấy hàng ngàn dự án dựa trên Raspberry Pi. Một số trong đó chứa đầy tham vọng, một số khác thì khá vô bổ nhưng hầu hết đều là những ví dụ tuyệt vời cho việc tương tác với Raspberry Pi cũng như nguồn thông tin hữu ích cho IoT. Điều gì làm cho dự án trải nghiệm IoT thành công? Đầu tiên là việc sử dụng nhiều loại cảm biến hoặc các hệ thống điều khiển phổ biến. Phần cứng có thể được tùy chỉnh theo sở thích từng người nhưng đối với một dự án nghiêm túc thì mọi thứ cần có những tiêu chuẩn nhất định. Tiếp theo đó là phần mềm điều khiển phải có điểm thú vị, tính năng đặc trưng. Dưới đây là 10 trong số những dự án ấn tượng trong việc ứng dụng Raspberry Pi.Một trong những nền tảng quan trọng cho việc học IoT là mạch tính toán nhỏ và đơn giản, nhắm đến khả năng tạo một máy tính nhỏ gọn, giá rẻ phục vụ cho công tác học tập, nghiên cứu và thử nghiệm. Nhưng cùng với đó, chiếc máy tính giá 35 USD này lại có một mảng ứng dụng khác rất có giá trị trong ngành CNTT truyền thống và doanh nghiệp.
Dự án Pi in the Sky
Thiết bị này là một máy thu GPS kiêm máy phát vô tuyến được thiết kế để theo dõi các chuyến bay khinh khí cầu ở các tầng độ cao. Sản phẩm này sử dụng máy phát vô tuyến UHF, ngoài ra cần thêm máy thu sóng ở trên không và một máy tính kết nối dưới mặt đất. Cùng với phần mềm mã nguồn mở, hệ thống Raspberry Pi này đã được thực nghiệm thành công trên hơn 50 chuyến bay. Dự án này có nhiều tiềm năng trong ứng dụng thực tế khi hệ thống này đơn giản chỉ là tiện ích bổ sung mà không nhất thiết phải tích hợp gắn thêm vào thiết bị cần theo dõi. Vậy dự án này mang lại cho người phát triển điều gì? Đầu tiên bạn sẽ nhận được những kinh nghiệm thực tế trong việc khai thác ứng dụng GPS, module truyền RF cũng như cảm biến nhiệt độ.
Raspberry Pi được thiết kế trong việc định vị và xác định độ cao |
Cảm biến nhiệt độ và độ ẩm
Trong nhiều thời điểm, bạn cần tìm ra câu trả lời cho việc tìm ra những điểm nóng và ẩm thấp của các tủ chứa đồ. Một khi chỉ số vượt qua con số đáng báo động mà bản thân mình không biết thì chi phí cho dịch vụ bảo trì hoặc thay thế cho thiết bị đang bảo quản là rất đáng kể. Đối với những người bắt đầu quá trình học tập với Raspberry Pi thì tình huống này là một trong những bài thử rất tốt. Raspberry Pi Temperature & Humidity Network Monitor là một sản phẩm được thiết kế cho các tủ chứa nhằm cảnh báo nhiệt độ và độ ẩm chỉ với chi phí chừng 50 USD. Raspberry Pi đóng vai trò thiết bị giám sát với khả năng truy cập đến cơ sở dữ liệu SQL và lấy dữ liệu từ các cảm biến được tích hợp. Màn hình hiển thị giám sát nhiệt độ với đồ thị giao diện web, qua đó cho phép dễ dàng đọc dữ liệu và lưu trữ kết quả đến cơ sở dữ liệu.
Trong nhiều thời điểm, bạn cần tìm ra câu trả lời cho việc tìm ra những điểm nóng và ẩm thấp của các tủ chứa đồ. Một khi chỉ số vượt qua con số đáng báo động mà bản thân mình không biết thì chi phí cho dịch vụ bảo trì hoặc thay thế cho thiết bị đang bảo quản là rất đáng kể. Đối với những người bắt đầu quá trình học tập với Raspberry Pi thì tình huống này là một trong những bài thử rất tốt. Raspberry Pi Temperature & Humidity Network Monitor là một sản phẩm được thiết kế cho các tủ chứa nhằm cảnh báo nhiệt độ và độ ẩm chỉ với chi phí chừng 50 USD. Raspberry Pi đóng vai trò thiết bị giám sát với khả năng truy cập đến cơ sở dữ liệu SQL và lấy dữ liệu từ các cảm biến được tích hợp. Màn hình hiển thị giám sát nhiệt độ với đồ thị giao diện web, qua đó cho phép dễ dàng đọc dữ liệu và lưu trữ kết quả đến cơ sở dữ liệu.
Cảm biến giám rát độ ẩm Raspberry Pi Temperature & Humidity |
Máy chủ Raspberry Pi
Một trong những ứng dụng tốt nhất của Raspberry Pi chính là trở thành trung tâm điều khiển dành cho các thiết bị sử dụng nguồn điện áp thấp. Trong lĩnh vực này, Raspberry Pi có thể thu thập và báo các về các điều kiện hay sự thay đổi của cơ sở dữ liệu rồi trả về trung tâm. Giao thức Web chính là ứng dụng thực tế hiệu quả nhất. Một dự án đơn giản mà chúng ta có thể thực hiện là thiết lập một máy chủ Web Apache trên hệ điều hành Linux chạy trên Raspberry Pi. Dự án máy chủ Stratum 1 Network Time Protocol sử dụng nền tảng Raspberry Pi là minh chứng rõ ràng nhất khi tạo nên một thiết bị có khả năng xác thực dựa trên thư mục. Ngoài ra Stratum 1 Network Time này còn giúp giải quyết vấn đề về độ trễ trong việc xác thực máy chủ.
Một trong những ứng dụng tốt nhất của Raspberry Pi chính là trở thành trung tâm điều khiển dành cho các thiết bị sử dụng nguồn điện áp thấp. Trong lĩnh vực này, Raspberry Pi có thể thu thập và báo các về các điều kiện hay sự thay đổi của cơ sở dữ liệu rồi trả về trung tâm. Giao thức Web chính là ứng dụng thực tế hiệu quả nhất. Một dự án đơn giản mà chúng ta có thể thực hiện là thiết lập một máy chủ Web Apache trên hệ điều hành Linux chạy trên Raspberry Pi. Dự án máy chủ Stratum 1 Network Time Protocol sử dụng nền tảng Raspberry Pi là minh chứng rõ ràng nhất khi tạo nên một thiết bị có khả năng xác thực dựa trên thư mục. Ngoài ra Stratum 1 Network Time này còn giúp giải quyết vấn đề về độ trễ trong việc xác thực máy chủ.
Hệ thống máy chủ tạo từ Raspberry Pi |
Cụm máy tính nhúng
Đặt một cụm các máy tính nhúng chi phí thấp cùng nhau không phải là điều mới – nó được thực hiện với bo mạch vi xử lý Arduino và điều khiển nhúng giống như những gì thập niên 80 đã từng làm. Arduino là bo mạch đã thiết kế sẵn các thành phần điện tử, những ai không am hiểu về điện tử nhưng có kiến thức cơ bản về tin học và lập trình là có thể lập trình để điều khiển được.
Đặt một cụm các máy tính nhúng chi phí thấp cùng nhau không phải là điều mới – nó được thực hiện với bo mạch vi xử lý Arduino và điều khiển nhúng giống như những gì thập niên 80 đã từng làm. Arduino là bo mạch đã thiết kế sẵn các thành phần điện tử, những ai không am hiểu về điện tử nhưng có kiến thức cơ bản về tin học và lập trình là có thể lập trình để điều khiển được.
Trong trường hợp hợp dự án này, Raspberry Pi được thiết kế để làm hệ thống nền tảng cho ngăn xếp ứng dụng trên Drupal – một hệ thống quản lý nội dung, đối thủ lớn nhất của WordPress hiện nay. Những gì bạn có thể học hỏi với các dự án này? Ngoài hữu ích với chính người dùng Drupal thì bạn có thể hiểu biết sâu hơn về việc thiết lập các hệ thống đa xử lý và các cụm máy tính Raspberry Pi.
The Pirate Box
Không phải tất cả các dự án IoT có thể sử dụng máy chủ Web công cộng. Ngay cả với mã hóa, chứng thực, đôi khi IoT đơn giản là chỉ để kiểm soát và báo cáotình trạng giao thông thông qua mạng riêng biệt. Dự án Pirate Box này sử dụng các giao thức Torrent và mạng Wi-Fi để chia sẻ các tập tin với các máy tính Raspberry Pi khác. Có thể bạn không muốn sử dụng Torrent cho các dự án doanh nghiệp nhưng Pirate Box sẽ cho bạn hiểu rõ hơn các khái niệm về thiết lập mạng Wi-Fi và cách sử dụng giao thức cấp cao hơn để giữ cho dòng chảy dữ liệu thông suốt, an toàn giữa các trạm.
Không phải tất cả các dự án IoT có thể sử dụng máy chủ Web công cộng. Ngay cả với mã hóa, chứng thực, đôi khi IoT đơn giản là chỉ để kiểm soát và báo cáotình trạng giao thông thông qua mạng riêng biệt. Dự án Pirate Box này sử dụng các giao thức Torrent và mạng Wi-Fi để chia sẻ các tập tin với các máy tính Raspberry Pi khác. Có thể bạn không muốn sử dụng Torrent cho các dự án doanh nghiệp nhưng Pirate Box sẽ cho bạn hiểu rõ hơn các khái niệm về thiết lập mạng Wi-Fi và cách sử dụng giao thức cấp cao hơn để giữ cho dòng chảy dữ liệu thông suốt, an toàn giữa các trạm.
Pirate Box cho việc chia sẻ tệp tin |
Nhạc cụ điện tử ảo
Raspberry Pi và Pi2 đã có sức mạnh xử lý hơn một máy tính để bàn từ năm 99. Vì vậy không có gì ngạc nhiên khi những dụng cụ âm nhạc như Moog, Yamaha DX, Casio CZ đều có thể Raspberry Pi mô phỏng . Các ứng dụng ảo hóa nhạc cụ được tổng hợp âm thanh dựa trên yếu tố kỹ thuật của phần mềm chạy trên Pi. Việc ảo hóa này yêu cầu người thực hiện phải kết hợp các thiết bị chuyển mạch, cảm biến và khả năng chuyển đổi từ analog sang kỹ thuật số.
Raspberry Pi và Pi2 đã có sức mạnh xử lý hơn một máy tính để bàn từ năm 99. Vì vậy không có gì ngạc nhiên khi những dụng cụ âm nhạc như Moog, Yamaha DX, Casio CZ đều có thể Raspberry Pi mô phỏng . Các ứng dụng ảo hóa nhạc cụ được tổng hợp âm thanh dựa trên yếu tố kỹ thuật của phần mềm chạy trên Pi. Việc ảo hóa này yêu cầu người thực hiện phải kết hợp các thiết bị chuyển mạch, cảm biến và khả năng chuyển đổi từ analog sang kỹ thuật số.
The Beet Box |
Một sản phẩm được thiết kế dựa trên nền tảng công nghệ cho phép người dùng chơi nhịp trống bằng cách chạm vào củ cải đường, Beetbox là một dự án IoT như vậy. Thiết bị này được được trang bị một Raspberry Pi với bộ cảm biến cảm ứng và một bộ khuếch đại âm thanh. Cảm biến MPR121 Capacitive Touch Sensor của Sparkfun được hoạt động thông qua những đoạn mã kịch bản viết bằng Python, cho phép việc chạm vào rau củ có thể phát ra tiếng trống. Âm thanh được xử lý qua một bộ khuếch đại LM386 trước khi kết nối tới hệ thống loa.
Robot
Một trong những dự án đình đàm trên trang gọi vốn cộng đồng Kickstarter là chú robot Rapiro được vận hành bởi Raspberry Pi. Dự án này là một trong những chương trình được phát triển với mục đích giáo dục cho đối tượng mới bắt đầu chế tạo robot. Tại Việt Nam có thể nhắc đến K-Bot Wi-Fi Robot của Ngô Huỳnh Ngọc Khánh thiết kế hồi năm 2013. Robot này có thể đồng thời thực hiện ba nhiệm vụ: quan sát, tìm kiếm và an ninh. Tính năng nổi trội nhất của K-Bot là quay được video và truyền trực tuyến về trung tâm điều khiển, chủ động phát hiện chuyển động và ghi lại hình ảnh. Ngoài ra robot còn có radar gắn phía sau để hỗ trợ di chuyển, có thể khảo sát và vẽ biểu đồ, tính thông số về nhiệt độ, độ ẩm ở nơi đang hoạt động… Những dự án về robot này có thể giúp người thực hiện nhận thức rõ hơn về việc sử dụng động cơ hồi tiếp vòng kín Servo, thiết kế hệ thống điều khiển nhúng cho các vật thể chuyển động.
Một trong những dự án đình đàm trên trang gọi vốn cộng đồng Kickstarter là chú robot Rapiro được vận hành bởi Raspberry Pi. Dự án này là một trong những chương trình được phát triển với mục đích giáo dục cho đối tượng mới bắt đầu chế tạo robot. Tại Việt Nam có thể nhắc đến K-Bot Wi-Fi Robot của Ngô Huỳnh Ngọc Khánh thiết kế hồi năm 2013. Robot này có thể đồng thời thực hiện ba nhiệm vụ: quan sát, tìm kiếm và an ninh. Tính năng nổi trội nhất của K-Bot là quay được video và truyền trực tuyến về trung tâm điều khiển, chủ động phát hiện chuyển động và ghi lại hình ảnh. Ngoài ra robot còn có radar gắn phía sau để hỗ trợ di chuyển, có thể khảo sát và vẽ biểu đồ, tính thông số về nhiệt độ, độ ẩm ở nơi đang hoạt động… Những dự án về robot này có thể giúp người thực hiện nhận thức rõ hơn về việc sử dụng động cơ hồi tiếp vòng kín Servo, thiết kế hệ thống điều khiển nhúng cho các vật thể chuyển động.
Robot Rapiro được vận hành bởi Raspberry Pi |
Hệ thống giải trí XBMC
XBMC là mã nguồn mở miễn phí được thiết kế cho việc quản lý và xem phim, nhạc, ảnh, trò chơi. Khả năng sắp xếp thông tin dữ liệu là điểm mạnh nhất của XBMC, ngoài ra truy xuất thông tin phim ảnh từ các kho dữ liệu trực tuyến (như IMDB, The MovieDB) có thể làm cho hệ thống của bạn khá phong phú. Quy trình cài HĐH cho Raspberry Pi về rất đơn giản, chỉ cần tải Win32DiskImager rồi flash image sang thẻ SD. Dự án này không đòi hỏi nhiều trong cách bẻ khóa phần cứng nhưng mang đến nhiều kinh nghiệm trong việc tương tác với thiết bị đầu vào và đầu ra theo phương pháp chuẩn, các chuyển đổi cơ bản và khả năng xử lý lưu trữ.
XBMC là mã nguồn mở miễn phí được thiết kế cho việc quản lý và xem phim, nhạc, ảnh, trò chơi. Khả năng sắp xếp thông tin dữ liệu là điểm mạnh nhất của XBMC, ngoài ra truy xuất thông tin phim ảnh từ các kho dữ liệu trực tuyến (như IMDB, The MovieDB) có thể làm cho hệ thống của bạn khá phong phú. Quy trình cài HĐH cho Raspberry Pi về rất đơn giản, chỉ cần tải Win32DiskImager rồi flash image sang thẻ SD. Dự án này không đòi hỏi nhiều trong cách bẻ khóa phần cứng nhưng mang đến nhiều kinh nghiệm trong việc tương tác với thiết bị đầu vào và đầu ra theo phương pháp chuẩn, các chuyển đổi cơ bản và khả năng xử lý lưu trữ.
Hệ thống giải trí XBMC được cài đặt trên Raspberry Pi |
Dựng phim time-lapse với Raspberry Pi
Phim tua nhanh thời gian có các khung hình ở tốc độ thấp hơn nhiều so với chuẩn điện ảnh là 24, 25 hoặc 30 hình/giây. Những hình ảnh thu được sử dụng để dựng những cảnh hoặc sự kiện diễn ra lâu trong thực tế, ví dụ như toàn cảnh mặt trời mọc hay quay lại một bông hoa đang nở… Một thiết bị hỗ trợ chụp ảnh time-lapse chuyên nghiệp có giá tầm hơn 15 triệu VNĐ, nhưng với một dự án như RasPiLapse dựa trên nền tảng Raspberry Pi thì chi phí này thấp hơn rất nhiều. Ngoài Raspberry Pi, hệ thống này còn được trang bị kết nối GPIO (General Purpose Input / Output) mà chúng ta có thể dễ dàng kiểm soát. Các kịch bản hoạt động đều được viết bằng Python, từ việc kiểm soát thời gian cho đến số lượng hình chụp. Dự án này cho phép bạn tiếp cận các kỹ năng trong việc kiểm soát động cơ, điều khiển thiết bị bên ngoài thông qua nguồn năng lượng duy nhất, sử dụng thời gian chính xác và cuối cùng là khả năng đồng bộ hệ thống.
Phim tua nhanh thời gian có các khung hình ở tốc độ thấp hơn nhiều so với chuẩn điện ảnh là 24, 25 hoặc 30 hình/giây. Những hình ảnh thu được sử dụng để dựng những cảnh hoặc sự kiện diễn ra lâu trong thực tế, ví dụ như toàn cảnh mặt trời mọc hay quay lại một bông hoa đang nở… Một thiết bị hỗ trợ chụp ảnh time-lapse chuyên nghiệp có giá tầm hơn 15 triệu VNĐ, nhưng với một dự án như RasPiLapse dựa trên nền tảng Raspberry Pi thì chi phí này thấp hơn rất nhiều. Ngoài Raspberry Pi, hệ thống này còn được trang bị kết nối GPIO (General Purpose Input / Output) mà chúng ta có thể dễ dàng kiểm soát. Các kịch bản hoạt động đều được viết bằng Python, từ việc kiểm soát thời gian cho đến số lượng hình chụp. Dự án này cho phép bạn tiếp cận các kỹ năng trong việc kiểm soát động cơ, điều khiển thiết bị bên ngoài thông qua nguồn năng lượng duy nhất, sử dụng thời gian chính xác và cuối cùng là khả năng đồng bộ hệ thống.
Dựng phim time-lapse với Raspberry Pi |