'Nấu một sản phẩm được kết nối'

Cập nhật: ngày 9 tháng 2023 năm XNUMX

'Nấu một sản phẩm được kết nối'

'Nấu một sản phẩm được kết nối'

Thêm một thiết bị được kết nối vào danh mục đầu tư của bạn có thể là một thách thức. Jonathan Pallant xem cách chọn 'nguyên liệu hoàn hảo'.

 

Các thiết bị được kết nối có xu hướng nằm ở phần cuối phức tạp hơn của phổ hệ thống nhúng, bất kể chúng tự thu thập dữ liệu cảm biến hay giao tiếp với thiết bị đã có từ trước.

Sự phức tạp của chúng phát sinh từ sự tương tác giữa ba phần cấu thành của chúng: phần cục bộ, tạo ra dữ liệu hoặc cần một số kiểm soát; hệ thống ghi lại dữ liệu và / hoặc cung cấp hướng dẫn; và kết nối giữa chúng, thường hoạt động trên một khoảng cách lớn và thường có thể quan sát được (và thậm chí có thể bị gián đoạn) bởi các bên thứ ba không đáng tin cậy.

Tuy nhiên, những phức tạp này thường vượt trội hơn nhờ sự tương tác của khách hàng được cải thiện, thông tin chi tiết về kinh doanh và thậm chí có thể đạt được các mô hình thương mại hoàn toàn mới.

Sự cân bằng tốt giữa độ phức tạp và chức năng có nghĩa là việc xây dựng đúng loại thiết bị được kết nối thường là một phần nghệ thuật, một phần khoa học. Trên thực tế, nó giống như nấu một bữa ăn tuyệt vời - thực tế có vô số cách để kết hợp các nguyên liệu và món ăn chính lại với nhau. Một số trong số đó có thể được lắp ráp khá nhanh chóng, trong khi những người khác sẽ mất nhiều thời gian và công sức hơn để hoàn thiện, nhưng có thể phù hợp hơn với thị hiếu của một người nào đó.

Một cách tiếp cận là chia quá trình phát triển IoT thành một số lựa chọn cụ thể nhưng được kết nối cơ bản. Nhưng không phải lúc nào cũng dễ dàng tìm ra quyết định nào nên thực hiện trước và luôn có rủi ro rằng một quyết định sớm có thể hạn chế các lựa chọn sau này của bạn và dẫn đến toàn bộ hệ thống trở nên kém tối ưu.

Chúng tôi đã nhóm một cách tổng thể các lựa chọn này thành sáu lĩnh vực khác nhau để xem xét khi lập kế hoạch cho một 'bữa tiệc' IoT hoàn hảo.

Kết nối có lẽ là nơi tốt nhất để bắt đầu, vì nó là thành phần cơ bản mà phần còn lại của dịch vụ lưu trữ. Khóa học chính, nếu bạn muốn.

Khóa học kết nối

Kết nối chính công nghệ yêu cầu đối với sản phẩm được xác định theo chi phí, mức tiêu thụ điện năng, phạm vi, tốc độ dữ liệu và độ trễ. Nhưng cuối cùng chúng được gắn với nhau bởi các Quy luật Vật lý và Kinh tế. Và tất cả các công nghệ ngày nay đều tồn tại ở vị trí đặc biệt của riêng chúng trong không gian đa chiều này.

Hầu hết các hệ thống có thể sẽ cần kết nối không dây để truy cập Internet, điều đáng buồn là thường kém tin cậy hơn và chi phí cao hơn so với sử dụng kết nối có dây. Hầu như tất cả các tiêu chuẩn không dây đều liên quan đến ít nhất hai loại thiết bị – một thành phần nhỏ hơn, tiêu thụ điện năng thấp hơn (như điện thoại di động) và một cổng lớn hơn, tiêu thụ nhiều năng lượng hơn (như Wi-Fi bộ định tuyến). Bạn cũng cần xem xét quyền sở hữu và độ tin cậy của các cổng đó, chẳng hạn như so sánh bộ định tuyến Wi-Fi của chủ nhà với việc truy cập mạng di động.

Cho dù bạn đi theo cách nào, hầu như luôn tốt hơn là dựa vào các tiêu chuẩn kết nối hiện có với sự chấp nhận của thị trường rộng rãi hơn là phát triển một thứ gì đó từ đầu.

Khóa học về Chipset

Quyết định đầu tiên cần đưa ra là chọn một chipset tích hợp bộ xử lý, bộ nhớ và radio hay kết hợp nhiều thành phần để có được sự kết hợp phù hợp giữa hiệu suất, giá cả và mức tiêu thụ điện năng.

Nếu bạn cần kết nối di động năng lượng thấp, với LTE-M hoặc NB-IoT, một thiết bị như Nordic nRF9160 là một gói CPU, RAM, Flash, GPS và Modem hấp dẫn. Nhưng, nếu bạn có đủ khả năng pcb không gian, bạn có thể thích sự linh hoạt của một "tiêu chuẩn" vi điều khiển và một LTE riêng biệt mô-đun. Câu chuyện tương tự cũng xảy ra với các tiêu chuẩn không dây như Wi-Fi và Bluetooth, nơi có các bộ vi điều khiển tích hợp sẵn sóng radio và cả các mô-đun modem độc lập.

Tất nhiên, các thiết bị IoT không chỉ chạy trên các bộ vi điều khiển cơ bản. Có rất nhiều ví dụ cho thấy sức mạnh và khả năng kỹ thuật của một hệ thống dựa trên Nhân Linux đầy đủ là sự lựa chọn đúng đắn, ngay cả với các tác động phụ lên tiêu thụ điện năng, không gian và gánh nặng hỗ trợ phần mềm.

Khóa học cốt lõi

Giai đoạn này liên quan đến việc đưa phần mềm đã có từ trước (về cơ bản là “IP của bên thứ ba”) bao gồm: nhân Hệ điều hành (hoặc Hệ điều hành thời gian thực); trình điều khiển chipset; và gói hỗ trợ bo mạch (BSP) tùy chỉnh các trình điều khiển đó cho thiết kế PCB cụ thể của bạn.

Các nhà cung cấp chipset thường cung cấp Bộ phát triển phần mềm (SDK) miễn phí chứa tất cả những điều này. Nhưng cần nhớ rằng SDK này có thể không hoạt động với silicon của bất kỳ ai khác, hạn chế khả năng thay đổi nhà cung cấp của bạn trong tương lai. Nếu điều đó quan trọng, có lẽ nên xem xét một dịch vụ trung lập với nhà cung cấp như Amazon FreeRTOS hoặc ThreadX của Microsoft.

Các hệ thống dựa trên Linux cũng có các tùy chọn tương tự - thường có "bản phân phối" miễn phí để bạn bắt đầu. Nhưng bạn có thể thích tự cuộn hoặc sử dụng bản phân phối Linux chung chung hơn, chẳng hạn như Ubuntu Smart Start hoặc Fedora IoT. Tất cả phụ thuộc vào yêu cầu bảo mật, khoảng thời gian phát triển và bất kỳ giới hạn nào của hệ thống về mức tiêu thụ điện năng và không gian lưu trữ.

Khóa học mã

Tất nhiên, bạn không thể chỉ cài đặt Linux nhúng trên thiết bị của mình hoặc flash trên RTOS và gọi nó là một ngày. Bạn sẽ cần thêm "nước sốt bí mật" bằng cách

viết mã để tùy chỉnh hệ thống này theo nhu cầu của bạn. Điều đó có thể đơn giản như chỉ định các điểm cuối và khóa để tải lên các kết quả đọc của cảm biến hoặc phức tạp như chạy nhiều ngăn xếp giao thức riêng và xử lý AI phức tạp ở rìa để có biện pháp tốt. Dù bằng cách nào, ngôn ngữ và công cụ bạn sử dụng sẽ có tác động rất lớn đến chương trình phát triển tiền đề của bạn, cũng như hỗ trợ và bảo trì đang diễn ra.

Ngôn ngữ lập trình C đã được mặc định trong gần 40 năm nay, nhưng có thể có giá trị trong việc thử một ngôn ngữ hệ thống an toàn cho bộ nhớ, như Rust hoặc thậm chí một thứ gì đó như MicroPython. Nhưng nếu bạn thấy Chipset hoặc Core của mình không thể xử lý lựa chọn ưa thích của bạn ở đây, bạn có thể cần phải quay lại và suy nghĩ lại.

Khóa học trên đám mây

Hầu hết các phát triển thiết bị được kết nối liên quan đến việc thu thập dữ liệu để phân tích sau này và ra lệnh để điều khiển các thiết bị “tại hiện trường”. Hầu như hợp lý khi giảm tải yêu cầu tính toán này cho một trong những dịch vụ lưu trữ dữ liệu và quản lý IoT được xây dựng sẵn từ các nhà cung cấp “đám mây” lớn, thay vì sử dụng các hệ thống tại chỗ.

Dù bạn chọn nền tảng đám mây nào, bạn sẽ cần phải cân đối chi phí tích hợp trả trước với hỗ trợ và bảo trì liên tục. Và hãy nhớ rằng, bạn sẽ cần hỗ trợ từ các nhà cung cấp dịch vụ đám mây, chipset và kết nối trong suốt thời gian sử dụng sản phẩm của bạn trong lĩnh vực này.

Và cuối cùng… khóa học Comms

Giao thức Truyền thông mặc định mà Mã của bạn sẽ sử dụng để nói chuyện với nhà cung cấp Đám mây của bạn thường sẽ dựa trên văn bản (chẳng hạn như JSON hoặc XML) chạy trên một liên kết HTTP hướng kết nối được mã hóa.

Trong khi loại ngăn xếp này phổ biến (đó là cách hầu hết các trang web hiện tại được xây dựng), bản chất văn bản thuần túy của nó làm tăng cả yêu cầu băng thông đối với kết nối và tài nguyên chipset của bạn, và bản chất hướng kết nối có thể tương tác xấu với một số dịch vụ không dây có độ trễ cao. Ví dụ: nếu bạn đang thiết kế một hệ thống giám sát điện năng cực thấp sử dụng NB-IoT, bạn có thể tốt hơn với một giao thức ít kết nối nhị phân như CoAP.

Ngoài ra, việc có thể dựa vào một ngăn xếp giao thức được sử dụng tốt, đã được thử nghiệm trong thế giới thực (chẳng hạn như giao thức đi kèm với phần mềm Core của bạn) gần như chắc chắn sẽ tốt hơn việc tự mình xoay xở.

Nó đáng để ghi nhớ

Có rất ít điều tuyệt đối trong công nghệ và sẽ luôn có nhiều giải pháp để đáp ứng yêu cầu của bạn. Điều gì hiệu quả nhất sẽ phụ thuộc vào ngân sách, khoảng thời gian và kỹ năng bạn có sẵn trong nội bộ, từ đối tác phát triển bên ngoài hoặc thông qua bất kỳ mối quan hệ hiện có nào với các nhà cung cấp phần cứng, phần mềm hoặc mạng. Tuy nhiên, ngay cả giải pháp kỹ thuật tốt nhất cũng sẽ không bao giờ trở thành người chiến thắng trừ khi nó được đưa ra thị trường đúng thời gian và có sự kết hợp phù hợp giữa giá cả, thông số kỹ thuật và tính sẵn có.