'Memasak produk yang terhubung'

Pembaruan: 9 Desember 2023

'Memasak produk yang terhubung'

'Memasak produk yang terhubung'

Menambahkan perangkat yang terhubung ke portofolio Anda bisa jadi menantang. Jonathan Pallant mempelajari cara memilih 'bahan yang sempurna'.

 

Perangkat yang terhubung cenderung berada di ujung yang lebih kompleks dari spektrum sistem tertanam, terlepas dari apakah perangkat tersebut mengumpulkan data sensor sendiri atau berinteraksi dengan peralatan yang sudah ada sebelumnya.

Kompleksitasnya muncul dari interaksi antara tiga bagian penyusunnya: bagian lokal, yang menghasilkan data atau membutuhkan kendali; sistem jauh yang mencatat data dan / atau memberikan instruksi; dan hubungan di antara mereka, yang biasanya beroperasi dalam jarak yang jauh dan sering kali dapat diamati (dan bahkan dapat disela) oleh pihak ketiga yang tidak dapat dipercaya.

Namun, kerumitan ini sering kali sebanding dengan peningkatan keterlibatan pelanggan, wawasan bisnis yang terperinci, dan bahkan model komersial yang sama sekali baru yang dapat dicapai.

Keseimbangan yang baik antara kompleksitas dan fungsi berarti bahwa membangun jenis perangkat terhubung yang tepat sering kali merupakan bagian dari seni, sebagian ilmu. Faktanya, ini seperti memasak makanan enak - praktis ada banyak cara untuk menyatukan bahan-bahan utama dan hidangan. Beberapa di antaranya dapat dirakit dengan cukup cepat, sedangkan yang lain akan membutuhkan lebih banyak waktu dan tenaga untuk menyempurnakannya, tetapi yang mungkin lebih sesuai dengan selera seseorang.

Salah satu pendekatannya adalah memecah proses pengembangan IoT menjadi beberapa pilihan spesifik tetapi terhubung secara fundamental. Tetapi tidak selalu mudah untuk menentukan keputusan mana yang harus diambil terlebih dahulu, dan selalu ada risiko bahwa keputusan awal dapat membatasi pilihan Anda di kemudian hari dan menyebabkan keseluruhan sistem menjadi kurang optimal.

Kami telah mengelompokkan pilihan-pilihan ini secara aliteratif menjadi enam area berbeda untuk dipertimbangkan ketika merencanakan 'pesta' IoT yang sempurna.

Konektivitas mungkin adalah tempat terbaik untuk memulai, karena ini adalah komponen fundamental yang tersisa dari penawaran. Hidangan utama, jika Anda mau.

Kursus Konektivitas

Konektivitas utama teknologi persyaratan untuk produk ditentukan oleh biaya, konsumsi daya, jangkauan, kecepatan data, dan latensi. Tetapi mereka pada akhirnya diikat oleh Hukum Fisika dan Ekonomi. Dan semua teknologi saat ini ada di sweet-spot khusus mereka sendiri dalam ruang multi-dimensi ini.

Sebagian besar sistem mungkin memerlukan konektivitas nirkabel untuk mengakses Internet, yang sayangnya biasanya kurang dapat diandalkan dan berbiaya lebih tinggi dibandingkan menggunakan koneksi kabel. Hampir semua standar nirkabel melibatkan setidaknya dua kelas perangkat – komponen yang lebih kecil dan berdaya rendah (seperti telepon seluler) dan gateway yang lebih besar dan berdaya lebih tinggi (seperti telepon seluler). Wi-Fi router). Anda juga perlu mempertimbangkan kepemilikan dan keandalan gateway tersebut, misalnya membandingkan router Wi-Fi pemilik rumah versus mengakses jaringan seluler.

Ke mana pun Anda pergi, hampir selalu lebih baik mengandalkan standar konektivitas yang ada dengan penerimaan pasar yang luas daripada mengembangkan sesuatu dari awal.

Kursus Chipset

Keputusan pertama yang harus diambil adalah apakah akan memilih chipset yang mengintegrasikan prosesor, memori, dan radio, atau apakah akan menggabungkan beberapa bahan untuk mendapatkan perpaduan yang tepat antara kinerja, harga, dan konsumsi daya.

Jika Anda membutuhkan konektivitas seluler berdaya rendah, baik dengan LTE-M atau NB-IoT, perangkat seperti Nordic nRF9160 adalah paket CPU, RAM, Flash, GPS, dan Modem yang menarik. Tapi, jika Anda mampu membelinya PCB ruang, Anda mungkin lebih suka fleksibilitas "standar" mikrokontroler dan LTE terpisah modul. Kisah serupa juga berlaku untuk standar nirkabel seperti Wi-Fi dan Bluetooth, di mana terdapat mikrokontroler yang tersedia dengan radio internal, dan juga modul modem yang berdiri sendiri.

Tentu saja, perangkat IoT tidak hanya berjalan pada mikrokontroler dasar. Ada banyak contoh di mana kekuatan dan kemampuan teknis dari sistem penuh berbasis Kernel Linux adalah pilihan yang tepat, bahkan dengan efek langsung pada konsumsi daya, ruang dan beban dukungan perangkat lunak.

Kursus Inti

Tahap ini melibatkan memasukkan perangkat lunak yang sudah ada sebelumnya (pada dasarnya "IP pihak ketiga") termasuk: kernel Sistem Operasi (atau Sistem Operasi Real-Time); driver chipset; dan paket dukungan papan (BSP) yang menyesuaikan driver tersebut untuk desain PCB khusus Anda.

Vendor chipset sering kali menyediakan Software Development Kit (SDK) gratis yang berisi semua ini. Namun perlu diingat bahwa SDK ini mungkin tidak bekerja dengan silikon orang lain, membatasi kemampuan Anda untuk berganti pemasok di masa mendatang. Jika itu penting, mungkin pertimbangkan penawaran netral vendor seperti Amazon FreeRTOS atau Microsoft's ThreadX.

Sistem berbasis Linux juga memiliki opsi yang serupa - seringkali dengan "distribusi" gratis untuk Anda mulai. Tetapi Anda mungkin lebih suka menggulung sendiri atau menggunakan distribusi Linux off-the-shelf yang lebih umum, seperti Ubuntu Smart Start atau Fedora IoT. Itu semua tergantung pada persyaratan keamanan Anda, skala waktu pengembangan, dan batasan sistem apa pun pada konsumsi daya dan ruang penyimpanan.

Kursus Kode

Tentu saja, Anda tidak bisa hanya menginstal Linux yang disematkan di perangkat Anda, atau mem-flash pada RTOS, dan menyebutnya sehari. Anda harus menambahkan "saus rahasia" dengan

menulis kode untuk menyesuaikan sistem ini dengan kebutuhan Anda. Itu bisa sesederhana menentukan titik akhir dan kunci untuk mengunggah bacaan sensor, atau serumit menjalankan beberapa tumpukan protokol yang dipesan lebih dahulu dan pemrosesan AI canggih di edge untuk pengukuran yang baik. Bagaimanapun, bahasa dan alat yang Anda gunakan akan berdampak besar pada program pengembangan di muka Anda, serta untuk dukungan dan pemeliharaan yang berkelanjutan.

Bahasa pemrograman C telah menjadi default selama hampir 40 tahun sekarang, tetapi mungkin ada manfaatnya mencoba bahasa sistem yang aman dari memori, seperti Rust atau bahkan sesuatu seperti MicroPython. Tetapi jika Anda menemukan Chipset atau Inti Anda tidak dapat menangani pilihan yang Anda sukai di sini, Anda mungkin perlu kembali dan berpikir ulang.

Kursus Cloud

Sebagian besar pengembangan perangkat yang terhubung melibatkan pengumpulan data untuk analisis nanti, dan mengeluarkan perintah untuk mengontrol perangkat "di lapangan". Masuk akal hampir secara universal untuk memindahkan persyaratan komputasi ini ke salah satu manajemen IoT pra-bangun dan penawaran penyimpanan data yang tersedia dari penyedia "cloud" besar, daripada menggunakan sistem di lokasi.

Platform cloud mana pun yang Anda pilih, Anda harus menyeimbangkan biaya integrasi di muka dengan dukungan dan pemeliharaan yang sedang berlangsung. Dan ingat, Anda akan membutuhkan dukungan dari cloud, chipset, dan penyedia konektivitas selama masa pakai produk Anda di lapangan.

Dan akhirnya… Kursus Komunikasi

Protokol Komunikasi default yang akan digunakan Kode Anda untuk berbicara dengan penyedia Cloud biasanya berbasis teks (seperti JSON atau XML) yang dijalankan melalui tautan HTTP berorientasi koneksi terenkripsi.

Sementara tumpukan semacam ini ada di mana-mana (begitulah kebanyakan situs web saat ini dibangun), sifat teks biasa meningkatkan persyaratan bandwidth pada konektivitas dan sumber daya chipset Anda, dan sifat berorientasi koneksi dapat berinteraksi buruk dengan beberapa layanan nirkabel latensi tinggi. Misalnya, jika Anda merancang sistem pemantauan daya ultra-rendah menggunakan NB-IoT, Anda mungkin lebih baik dengan protokol tanpa koneksi biner seperti CoAP.

Juga, dapat mengandalkan tumpukan protokol yang digunakan dengan baik dan teruji di dunia nyata (seperti yang disertakan dengan perangkat lunak Core Anda) hampir pasti akan lebih baik daripada mencoba memutarnya sendiri.

Ini perlu diingat

Ada beberapa hal yang mutlak di dalamnya teknologi dan akan selalu ada berbagai solusi untuk memenuhi kebutuhan Anda. Apa yang terbaik akan bergantung pada anggaran, rentang waktu, dan keterampilan yang Anda miliki sendiri, dari mitra pengembangan eksternal, atau melalui hubungan yang ada dengan penyedia perangkat keras, perangkat lunak, atau jaringan. Namun, bahkan solusi teknis terbaik pun tidak akan pernah menjadi pemenang kecuali solusi tersebut dipasarkan tepat waktu dan dengan kombinasi harga, spesifikasi, dan ketersediaan yang tepat.