Layanan IoT apa yang tersedia untuk menyimpan / mengirim / menerbitkan data generik di cloud?


16

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?


@ BenceKaulics Saya pikir kedua use case akan berlaku. Solusi profesional dapat menyiratkan lebih banyak standarisasi dan keandalan. Solusi eksperimental bisa menjadi proyek open-source yang menarik untuk bergabung.
urnenfeld

Saya benci menjadi olahraga yang memanjakan, tetapi saya tidak melihat ini sebagai permintaan IOT, lebih seperti web serives, di mana kami memiliki situs lain. Gunakan apa pun yang Anda suka - situs Anda sendiri, hosting gratis, Layanan Web Amazon, dll. Anda belum benar-benar memberi tahu kami apa yang ingin Anda capai. Misalnya, apakah Anda ingin membuat kode perangkat lunak server apa pun? Tidak ada detail, hanya perasaan hangat dan tidak jelas, sehingga akan sangat sulit untuk menjawab Anda.
Mawg mengatakan mengembalikan Monica

2
@ Mawg Memiliki tag layanan web (yang tidak saya buat). Case use adalah fokus IoT, seperti referensi yang diberikan. Ia meminta layanan yang tersedia, sementara ini bisa dicapai dengan php + db sederhana, maksudnya bukan menciptakan kembali roda dan mengenal layanan mana yang diketahui oleh komunitas IoT. Tapi beri tahu saya komunitas mana yang menurut Anda lebih cocok.
urnenfeld

Ini panggilan akrab. Saya akan mengakui bahwa saya kadang-kadang memposting di Stack Overflow, di mana situs lain lebih tepat. TETAPI, SO memiliki audiens yang lebih besar, jadi saya memiliki lebih banyak kesempatan untuk menjawab. Selalu ada sedikit tumpang tindih dengan situs lain dan kita harus menyelesaikannya seiring berjalannya waktu. +1 karena tidak tersinggung & sekarang Anda mengetahui situs keamanan. Pertanyaan * masih bisa menggunakan sedikit lebih detail, meskipun :-)
Mawg mengatakan mengembalikan Monica

2
@Moh tentu saja jangan tersinggung :). Saya benar-benar menghabiskan waktu memikirkan di mana harus meletakkan pertanyaan ... Saya memang mencoba untuk membentuk lebih banyak pertanyaan sebelumnya, Mari kita lihat sekarang, saya menambahkan kasus penggunaan yang tepat, dan solusi sementara.
urnenfeld

Jawaban:


10

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.


7

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).


6

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:

Anda bebas menggunakannya untuk aplikasi apa pun, tetapi jangan menyalahgunakan atau mengandalkannya untuk hal-hal penting. Anda juga harus membangun klien Anda untuk mengatasi restart broker.

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.


1
Bukankah MQTT akan menjadi solusi yang lebih pas dalam konteks LAN? Untuk masalah seperti privasi / keamanan / multi-pengguna?
urnenfeld

@urnenfeld MQTT dapat mendukung situs web Anda, aplikasi seluler, dan persyaratan "perangkat lain" karena Anda dapat berlangganan semuanya. Juga tentunya Anda ingin mengirim data dari perangkat lain di masa depan dan tidak hanya suhu sehingga kemampuan multiuser adalah IMO yang baik bahkan jika itu hanya jaringan pelanggan tunggal multi penerbit. Keamanan dan privasi juga harus selalu menjadi masalah. Sedangkan untuk LAN, mungkin lebih cocok, tetapi jika Anda menjaga keamanan Anda bisa membuat broker Anda tersedia dari mana-mana, bukan ahli dalam hal ini.
Bence Kaulics

1
Eh, pialang uji ini adalah pialang uji sehingga tidak boleh digunakan untuk aplikasi yang sedang berjalan. Tapi idenya ada di sini: Anda dapat membuka port broker MQTT Anda dari firewall Anda dan terhubung dari mana saja.
Goufalite

Maaf, OP ingin menyimpan data, MQTT hanyalah messenger tetapi Anda dapat menggunakannya untuk mengirim data ke server khusus. Untuk mengambil nilai, klien harus mengirim kueri ke MQTT untuk mengambil nilai melalui publikasi. MQTT hebat tetapi layanan web memiliki tempat yang lebih baik di sini ...
Goufalite

@Goufalite Ya, menyimpan data lebih rumit.
Bence Kaulics

5

Ada dua komponen untuk ini:

  1. 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.

  2. 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!)


Idenya adalah untuk mendapatkan satu set yang terbaik dari "ribuan tempat" itu. Saya sudah mengumpulkan koleksi (bahkan
buatan

3

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:

  • Definisi tim, bangunan, denah lantai
  • Visualisasi data waktu nyata
  • Desain dasbor khusus menggunakan berbagai widget
  • Tentukan jenis sensor, unit, dan awalan visualisasi Peta
  • ...

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.


Halo @Amir, kami melihat jawaban Anda sejauh ini merupakan duplikat satu sama lain dan mempromosikan produk Anda. Menjawab di mana produk Anda relevan baik-baik saja, tetapi pastikan untuk membaca panduan promosi mandiri di pusat bantuan. Ini juga merupakan ide yang bagus untuk menyesuaikan jawaban Anda untuk pertanyaan yang ada daripada mengirim teks yang sama untuk memastikan bahwa Anda benar-benar menjawab pertanyaan sepenuhnya daripada hanya mempromosikan produk Anda. Terima kasih.
Aurora0001

1

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!


1
Itu memang diusulkan, tetapi moderasi menghapusnya. Salah satu hal keren dari layanan ini adalah Anda bahkan tidak perlu mendaftar, dan mereka menunjukkan beberapa plot data Anda. Pada rekannya, data Anda cukup umum :)
urnenfeld

0

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.


Sekali lagi, tolong nyatakan koneksi apa pun ke layanan ketika merekomendasikannya (mis. Anda bekerja untuk flespi)
hardillb
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.