Layanan IoT apa yang tersedia untuk menyimpan / mengirim / menerbitkan (dan operasi berlawanan) generik sejumlah kecil data di cloud?
Saya mencari, misalnya, untuk layanan di mana perangkat dapat menyimpan nilai di cloud. Dan beberapa entitas lain (perangkat lain, situs web dengan beberapa kode JS, server web, aplikasi seluler) dapat mengambil nilai ini.
Ini bisa berupa komunikasi asinkron, misalnya untuk menyimpan dan mengambil sesuatu yang sekecil pasangan kunci & nilai, <255bytes, integer, string, paling banyak objek JSON kecil. Layanan dapat menawarkan API REST (sehingga dapat diakses oleh berbagai bahasa) dengan beberapa tanda untuk otentikasi dan kunci & nilai untuk menyimpan.
Contoh terperinci dari use case adalah:
Ada sensor suhu di rumah, dan saya ingin menyimpan nilai di cloud (di suatu tempat di luar rumah ). Sedemikian rupa, saya bisa mengaksesnya, terlepas dari koneksi rumah saya sedang turun atau tidak. Terlebih lagi, ini akan menghindari menjaga dan memelihara server khusus + portForwarding + DynamicDNS.
Sejauh ini saya belum dapat menemukan sesuatu seperti ini, tetapi kadang-kadang, saya telah menemukan beberapa contoh dari apa yang saya maksudkan untuk dijelaskan:
Apa alternatif lain yang serupa (gratis / terbuka) yang ada?
sumber
Jawaban:
Lihatlah layanan ini:
Kedua layanan ini akan menerima data kunci / nilai sederhana dari perangkat. Saya percaya mereka berdua memiliki perpustakaan yang siap untuk diimpor untuk perangkat Partikel karena Anda menyebutkannya.
sumber
Banyak penyedia cloud seperti Amazon, Microsoft, Google, IBM dll., Berusaha menarik ruang IoT dengan menyediakan cara yang lebih mudah untuk mengirim / menyimpan / menganalisis data sensor ke cloud mereka. Bahkan mereka akan mengakuisisi vendor perangkat keras untuk meningkatkan cakupan mereka di IoT.
Saya tidak menggunakan layanan apa pun selain AWS, jadi saya bisa menjelaskan pengalaman saya dengan AWS dan bagaimana kami mengintegrasikan ini untuk penggunaan produksi.
Skenario:
Kami memiliki ratusan sensor yang masing-masing mengirimkan 184-428 byte data setiap menit ke gateway lokal yang mengumpulkan data dan menyimpan data secara lokal dan mengirimkan data yang sama ke cloud AWS. Kami juga memiliki sensor khusus yang mengirim data langsung ke cloud.
Layanan Cloud
Kami menggunakan AWS IoT , AWS S3, AWS DynamoDB, AWS Lambda, AWS API Gateway, AWS SNS, AWS Cloudwatch, AWS RedShift untuk membangun seluruh solusi. Pada dasarnya, ini tidak khusus untuk IoT (Kecuali AWS IoT) karena kita dapat menggunakannya untuk seluler, web.
Gateway menggunakan AWS IoT SDK untuk menghubungkan, mengotentikasi, dan bertukar pesan dengan AWS IoT menggunakan protokol MQTT, HTTP, atau WebSockets (Kami menggunakan simpul JS SDK yang terhubung melalui MQTT). Kami adalah broker MQTT secara lokal di gateway perangkat dan menjembatani ke titik akhir AWS IoT dari sana kami menjalankan pemeriksaan instan pada data yang diterima (menggunakan mesin aturan, fungsi AWS Lambda) dan menyimpannya ke dalam pengarsipan DynamoDB ke dalam S3, Glacier (Menyimpan dilakukan tanpa menulis satu baris pun dilakukan hanya menggunakan pemicu AWS untuk menyimpan data).
sumber
Ini hanya untuk percobaan atau penggunaan tes tapi mungkin itu akan berubah di masa depan.
Jadi saran saya adalah menggunakan MQTT , lebih tepatnya penerapan Mosquitto -nya . Mereka meng-host pialang uji yang dapat Anda hubungkan dengan pelanggan dan klien penerbit Anda. ( Ini adalah panduan tentang proses pengaturan pada Windows 7. )
Perhatikan yang berikut ini:
Tetapi pada dasarnya Anda dapat mempublikasikan data suhu ke broker ini.
Di sisi pelanggan-klien saya baru-baru ini menggunakan aplikasi Android ini . Ini adalah aplikasi yang sangat mendasar, masih dalam pengembangan tetapi untuk tujuan pengujian sangat bagus. Pesan yang diterima ditampilkan di dasbor, tidak ada yang lebih mewah dari nilai yang telanjang.
Saya sudah mulai menggunakan keduanya sebagai tahap pertama dari proses pembelajaran MQTT saya dan menemukan keduanya bagus untuk pemula.
sumber
Ada dua komponen untuk ini:
Bagaimana Anda ingin data Anda disimpan? Tidak ada cara nyata untuk membuat layanan data "generik" yang benar-benar sesuai dengan semua kebutuhan. Apa yang Anda inginkan disebut "Time Series Databases" , dan ada ratusan dari mereka karena setiap detail tentang bagaimana Anda menyimpan data penting pada skala. (Jika Anda tidak dalam skala, simpan saja di basis data lama apa pun, itu akan berfungsi untuk sementara waktu.)
Setiap database deret waktu ditulis karena yang lain tidak melakukan persis seperti yang mereka inginkan. Misalnya, pertimbangkan bagaimana Graphite menyimpan data itu: Setiap metrik (katakan suhu dari satu sumber) disimpan dalam file ukuran tetap. Tidak peduli seberapa sering Anda mengirim metrik, atau berapa lama Anda mengirimnya, file tersebut berukuran konstan.
Kelemahannya adalah bahwa data yang lebih lama berada pada resolusi yang lebih rendah, dan setelah interval yang Anda tentukan (seperti 1 tahun) data tersebut dibuang. Namun, kelebihannya adalah membuat grafik satu hari dalam setahun, dan metrik tidak bertambah besar seiring waktu.
Dalam sistem penyimpanan lain, membuat grafik selama satu tahun mungkin melibatkan pengambilan jutaan titik data, dan mungkin membutuhkan sejumlah besar penyimpanan data.
Kelemahan besar dari Graphite adalah bahwa setiap metrik membuat file baru, jadi jika Anda memiliki metrik dinamis (misalkan kotak cloud datang dan pergi), itu mungkin tidak cocok.
Bandingkan dengan Prometheus , di mana metrik disimpan kebanyakan berdasarkan waktu. Anda dapat memiliki banyak metrik dinamis, dan itu bagus. Tapi jangan coba menyimpan metrik itu untuk jangka panjang, akan butuh waktu lama untuk kembali dan membacanya.
Tidak ada satu ukuran yang cocok untuk semua.
PS Graphana adalah cara terbaik untuk memvisualisasikan data Anda. Ini memiliki plug-in untuk sebagian besar database time-series.
Siapa yang akan menyimpan data Anda? Ada ribuan dari tempat-tempat seperti yang Anda sebutkan. Sangat mudah untuk memutar DB time-series di cloud, tetapi BENAR-BENAR susah untuk menghasilkan uang darinya. Sebagian besar perusahaan ini akan gulung tikar setelah beberapa saat, atau mulai mencungkil harga. (Bahkan menjaga harga mereka tetap stabil adalah harga mencungkil - karena biaya komputasi turun terus-menerus.) Sering kali, mereka menemukan bahwa mereka tidak dapat menarik pelanggan baru sebanyak mungkin, jadi mereka mencoba menaikkan harga (dengan kedok mengubah model penetapan harga mereka). Ternyata biaya BANYAK uang untuk menyimpan data semua orang ...
Saya merekomendasikan hosting sendiri, atau menggunakan penyedia cloud yang memiliki reputasi seperti AWS CloudWatch . (Mahal jika Anda memiliki banyak metrik, tetapi gratis untuk di bawah 50 metrik!)
sumber
uBeac adalah alat visualisasi freeware baru yang telah kami kembangkan dan merupakan versi Beta. Ini bukan opensource, tetapi sepenuhnya gratis untuk digunakan.
Anda dapat menentukan gateway dan Anda akan mendapatkan URI unik. Anda dapat mengatur URI di gateway atau perangkat Anda untuk mengirim data HTTP / MQTT.
Ini adalah beberapa fiturnya:
Ini mendukung format data Json generik dan gateway standar yang berbeda juga. Jika Anda tidak ingin menggunakan format muatan yang telah ditentukan, mereka terbuka untuk mengembangkan pemrosesan muatan kustom Anda.
sumber
Saya terkejut tidak ada orang di sini yang menyebutkan Dweet . Ini adalah cara yang super sederhana, super menyenangkan untuk berkomunikasi. Anda pasti harus mencobanya, karena hei, gratis!
sumber
flespi menyediakan layanan cloud gratis dan komersial:
Penafian wajib: Saya bekerja untuk perusahaan yang mengembangkan platform flespi. Sementara saya melakukan yang terbaik untuk tetap objektif, seperti biasa di Internet, silakan periksa kembali semua informasi dalam jawaban ini untuk mengesampingkan bias yang dapat mempengaruhi keputusan Anda.
sumber