บริการ IoT ใดบ้างที่มีให้สำหรับจัดเก็บ / ส่ง / เผยแพร่ข้อมูลทั่วไปในคลาวด์


16

บริการ IoT ใดบ้างที่มีให้สำหรับการจัดเก็บ / การส่ง / การเผยแพร่ (และการดำเนินการตรงข้าม) ข้อมูลทั่วไปจำนวนเล็กน้อยในระบบคลาวด์

ยกตัวอย่างเช่นฉันกำลังมองหาบริการที่อุปกรณ์สามารถเก็บค่าไว้ในคลาวด์ และเอนทิตีอื่น ๆ (อุปกรณ์อื่นเว็บไซต์ที่มีรหัส JS, เว็บเซิร์ฟเวอร์, แอพมือถือ) สามารถเรียกคืนค่านี้ได้

อาจเป็นการสื่อสารแบบอะซิงโครนัสบางชนิดตัวอย่างเช่นการจัดเก็บและเรียกข้อมูลบางอย่างที่เล็กเป็นคู่คีย์ & ค่า <255bytes จำนวนเต็มสตริงในที่สุดวัตถุ JSON ขนาดเล็ก บริการสามารถเสนอ REST API (เพื่อให้สามารถเข้าถึงได้โดยภาษาที่หลากหลาย) พร้อมโทเค็นบางอย่างในการตรวจสอบสิทธิ์และคีย์ & ค่าที่จะจัดเก็บ

ตัวอย่างโดยละเอียดของกรณีการใช้งานคือ:

มีเซ็นเซอร์วัดอุณหภูมิอยู่ที่บ้านและฉันต้องการให้เก็บค่าไว้ในคลาวด์ ( ที่ไหนสักแห่งนอกบ้าน ) ด้วยวิธีดังกล่าวฉันสามารถเข้าถึงได้ไม่ว่าการเชื่อมต่อที่บ้านของฉันจะล่มหรือไม่ก็ตาม ยิ่งไปกว่านั้นสิ่งนี้จะหลีกเลี่ยงการเก็บและบำรุงรักษาเซิร์ฟเวอร์ + พอร์ตเฉพาะสำหรับการส่งต่อ + DynamicDNS

จนถึงตอนนี้ฉันไม่สามารถหาสิ่งนี้ได้ แต่บางครั้งฉันได้พบตัวอย่างของสิ่งที่ฉันหมายถึง:

มีทางเลือกอื่นอะไรที่คล้ายคลึงกัน (ฟรี / เปิด)


@BentKaulics ฉันคิดว่าทั้งสองกรณีใช้จะนำไปใช้ โซลูชันระดับมืออาชีพอาจบ่งบอกถึงความได้เปรียบและความน่าเชื่อถือที่มากขึ้น โซลูชันทดลองอาจเป็นโครงการโอเพ่นซอร์สที่น่าสนใจสำหรับเข้าร่วม
urnenfeld

ฉันเกลียดที่จะเป็นกีฬาที่น่าเบื่อ แต่ฉันไม่เห็นว่านี่เป็นคำขอ IoT เหมือน web serives ซึ่งเรามีเว็บไซต์อื่น ๆ ใช้สิ่งที่คุณต้องการ - เว็บไซต์ของคุณเองฟรีโฮสติ้งบริการเว็บ Amazon ฯลฯ คุณไม่ได้บอกเราจริง ๆ ว่าคุณพยายามทำอะไร ตัวอย่างเช่นคุณต้องการรหัสซอฟต์แวร์เซิร์ฟเวอร์ใด ๆ ไม่มีรายละเอียดเพียงความรู้สึกอบอุ่นเป็นฝอยดังนั้นมันจึงเป็นเรื่องยากที่จะตอบคุณ
Mawg พูดว่าคืนสถานะโมนิก้า

2
@Mawg มันมีแท็กบริการเว็บ (ซึ่งฉันไม่ได้สร้าง) กรณีการใช้งานจะเน้น IoT ตามที่ได้รับการอ้างอิงคือ มันขอบริการที่มีอยู่ในขณะที่สามารถทำได้โดย php + db แบบง่าย ๆ ความตั้งใจนั้นไม่ได้คิดค้นขึ้นมาใหม่และทำความรู้จักกับบริการที่ชุมชน IoT รู้ แต่ให้ฉันรู้ว่าคุณคิดว่าชุมชนแบบไหนดีกว่ากัน
urnenfeld

มันเป็นสายที่ใกล้ชิด ฉันจะยอมรับว่าบางครั้งฉันโพสต์ใน Stack Overflow ซึ่งเว็บไซต์อื่นจะถูกต้องมากขึ้น แต่มีกลุ่มเป้าหมายที่ใหญ่กว่าดังนั้นฉันจึงมีโอกาสได้รับคำตอบมากขึ้น มีการทับซ้อนกับไซต์อื่น ๆ อยู่เสมอและเราจะต้องดำเนินการให้สำเร็จเมื่อเราดำเนินการต่อ +1 สำหรับการไม่กระทำผิดกฎหมายและตอนนี้คุณได้ตระหนักถึงไซต์ความปลอดภัยแล้ว คำถาม *ยังสามารถใช้รายละเอียดเพิ่มเติมได้เล็กน้อยแม้ว่า :-)
Mawg กล่าวว่าการคืนสถานะโมนิก้า

2
@Mawg แน่นอนไม่มีการกระทำผิดกฎหมาย :) ฉันใช้เวลาคิดว่าจะวางคำถามไว้ที่ไหน ... ฉันพยายามสร้างคำถามเพิ่มเติมก่อนหน้านี้มาดูกันตอนนี้ฉันได้เพิ่มกรณีการใช้งานที่แน่นอนและวิธีแก้ปัญหาเบื้องต้น
urnenfeld

คำตอบ:


10

ดูบริการเหล่านี้:

บริการทั้งสองนี้จะยอมรับข้อมูลคีย์ / ค่าอย่างง่ายจากอุปกรณ์ ฉันเชื่อว่าพวกเขาทั้งสองมีห้องสมุดพร้อมที่จะนำเข้าสำหรับอุปกรณ์อนุภาคตั้งแต่คุณกล่าว


7

ผู้ให้บริการคลาวด์จำนวนมากเช่น Amazon, Microsoft, Google, IBM และอื่น ๆ พยายามดึงดูดพื้นที่ IoT ด้วยวิธีที่ง่ายกว่าในการส่ง / จัดเก็บ / วิเคราะห์ข้อมูลเซ็นเซอร์ไปยังคลาวด์ แม้ว่าพวกเขาจะได้รับผู้ผลิตฮาร์ดแวร์เพื่อเพิ่มขอบเขตใน IoT

ฉันไม่ได้ใช้บริการใด ๆ นอกจาก AWS ดังนั้นฉันสามารถอธิบายประสบการณ์ของฉันกับ AWS และวิธีที่เรารวมสิ่งนี้ไว้สำหรับการใช้งานจริง


สถานการณ์:

เรามีเซ็นเซอร์หลายร้อยตัวที่ส่งข้อมูล 184-428 ไบต์ทุกนาทีไปยังเกตเวย์ท้องถิ่นซึ่งรวบรวมข้อมูลและจัดเก็บข้อมูลในเครื่องและส่งข้อมูลเดียวกันไปยังคลาวด์ AWS นอกจากนี้เรายังมีเซ็นเซอร์พิเศษที่ส่งข้อมูลไปยังคลาวด์โดยตรง

บริการคลาวด์

เราใช้AWS IoT , AWS S3, AWS DynamoDB, AWS แลมบ์ดา, เกตเวย์ AWS API, AWS SNS, AWS Cloudwatch, AWS RedShift เพื่อสร้างโซลูชันทั้งหมด โดยทั่วไปสิ่งเหล่านี้ไม่ได้มีเฉพาะกับ IoT (ยกเว้น AWS IoT) เนื่องจากเราสามารถใช้พวกมันสำหรับมือถือและเว็บ

Gateway ใช้ AWS IoT SDK เพื่อเชื่อมต่อรับรองและแลกเปลี่ยนข้อความกับ AWS IoT โดยใช้โปรโตคอล MQTT, HTTP หรือ WebSockets (เราใช้โหนด JS SDK เชื่อมต่อผ่าน MQTT) เราเป็นนายหน้า MQTT ในประเทศบนเกตเวย์อุปกรณ์และเชื่อมต่อไปยังจุดปลายทาง AWS IoT จากที่นั่นเรากำลังเรียกใช้การตรวจสอบข้อมูลที่ได้รับทันที (โดยใช้เอ็นจิ้นกฎ, ฟังก์ชั่น AWS Lambda) และเก็บไว้ใน DynamoDB โดยไม่ต้องเขียนบรรทัดเดียวให้ใช้เพียง AWS ทริกเกอร์เพื่อเก็บข้อมูล)


6

ใช้สำหรับการทดลองหรือการทดสอบเท่านั้น แต่อาจมีการเปลี่ยนแปลงในอนาคต

ดังนั้นข้อเสนอแนะของฉันคือใช้MQTTการใช้งานMosquittoแม่นยำยิ่งขึ้น พวกเขาโฮสต์ทดสอบโบรกเกอร์ที่คุณสามารถเชื่อมต่อสมาชิกและลูกค้าผู้เผยแพร่ของคุณ ( นี่คือคำแนะนำเกี่ยวกับกระบวนการตั้งค่าใน Windows 7 )

หมายเหตุดังต่อไปนี้:

คุณมีอิสระที่จะใช้มันสำหรับแอปพลิเคชันใด ๆ แต่โปรดอย่าใช้ในทางที่ผิดหรือพึ่งพาเพื่อความสำคัญ คุณควรสร้างลูกค้าของคุณเพื่อรับมือกับการรีสตาร์ทโบรกเกอร์

แต่โดยทั่วไปคุณสามารถเผยแพร่ข้อมูลอุณหภูมิให้กับนายหน้ารายนี้

ในด้านสมาชิก - ลูกค้าฉันเพิ่งใช้แอปพลิเคชัน Androidนี้ มันเป็นแอพพลิเคชั่นพื้นฐานที่ยังอยู่ในการพัฒนา แต่สำหรับการทดสอบมันยอดเยี่ยมมาก ข้อความที่ได้รับจะแสดงบนแดชบอร์ดไม่มีสิ่งใดแปลกใหม่เพียงแค่ค่าเปลือย

ฉันเริ่มใช้ทั้งสองอย่างนี้เป็นขั้นตอนแรกของกระบวนการเรียนรู้ MQTT ของฉันและพบว่าทั้งสองเหมาะสำหรับผู้เริ่มต้น


1
MQTT จะไม่เป็นทางออกที่เหมาะสมในบริบท LAN หรือไม่ สำหรับปัญหาเช่นความเป็นส่วนตัว / ความปลอดภัย / ผู้ใช้หลายคน?
urnenfeld

@urnenfeld MQTT สามารถรองรับความต้องการเว็บไซต์แอพมือถือของคุณและ "อุปกรณ์อื่น ๆ " ที่คุณสามารถสมัครกับพวกเขาทั้งหมด แน่นอนว่าคุณต้องการส่งข้อมูลจากอุปกรณ์อื่น ๆ ในอนาคตและไม่ใช่แค่อุณหภูมิดังนั้นความสามารถของผู้ใช้หลายคนจึงเป็น IMO ที่ดีแม้ว่าจะเป็นเครือข่ายผู้สมัครสมาชิกเพียงรายเดียวเท่านั้น ความปลอดภัยและความเป็นส่วนตัวควรเป็นปัญหาเสมอ สำหรับ LAN บางทีมันอาจจะเหมาะสมกว่านั้น แต่ถ้าคุณดูแลความปลอดภัยคุณสามารถทำให้นายหน้าของคุณพร้อมใช้งานได้จากทุกที่ไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้
Bence Kaulics

1
เอ้อโบรกเกอร์ทดสอบนี้เป็นโบรกเกอร์ทดสอบดังนั้นจึงไม่ควรใช้สำหรับแอปพลิเคชันที่ทำงานอยู่ แต่แนวคิดอยู่ที่นี่: คุณสามารถเปิดพอร์ตของโบรกเกอร์ MQTT ของคุณจากไฟร์วอลล์ของคุณและเชื่อมต่อจากทุกที่
Goufalite

ฉันขอโทษ แต่ OP ต้องการเก็บข้อมูล MQTT เป็นเพียงผู้ส่งสาร แต่คุณสามารถใช้เพื่อส่งข้อมูลไปยังเซิร์ฟเวอร์เฉพาะได้ เพื่อดึงค่าลูกค้าต้องส่งแบบสอบถามไปที่ MQTT เพื่อดึงค่าผ่านสิ่งพิมพ์ MQTT นั้นยอดเยี่ยม แต่ webservice มีสถานที่ที่ดีกว่าที่นี่ ...
Goufalite

@Goufalite ใช่การจัดเก็บข้อมูลมีความซับซ้อนมากขึ้น
Bence Kaulics

5

มีสององค์ประกอบนี้:

  1. คุณต้องการจัดเก็บข้อมูลของคุณอย่างไร ไม่มีวิธีจริงในการสร้างบริการข้อมูล "ทั่วไป" ที่จะตอบสนองทุกความต้องการได้อย่างแท้จริง สิ่งที่คุณต้องการเรียกว่า"ฐานข้อมูลอนุกรมเวลา"และมีหลายร้อยรายการเพราะทุกรายละเอียดของวิธีการจัดเก็บข้อมูลของคุณมีความสำคัญ (หากคุณไม่ได้อยู่ในระดับเพียงเก็บไว้ในฐานข้อมูลเก่าใด ๆ มันจะทำงานในขณะที่.)

    แต่ละฐานข้อมูลอนุกรมเวลาถูกเขียนขึ้นเพราะคนอื่นไม่ได้ทำอย่างที่พวกเขาต้องการ ตัวอย่างเช่นพิจารณาวิธีการเก็บข้อมูลของไฟท์ : ทุกตัวชี้วัด (บอกอุณหภูมิจากแหล่งหนึ่ง) จะถูกเก็บไว้ในไฟล์ขนาดคงที่ ไม่ว่าคุณจะส่งเมทริกบ่อยแค่ไหนหรือนานแค่ไหนที่คุณส่งไฟล์นั้นขนาดนั้นก็คงที่

    ข้อเสียคือข้อมูลเก่าจะมีความละเอียดต่ำกว่าและหลังจากช่วงเวลาที่คุณกำหนด (เช่น 1 ปี) ข้อมูลจะถูกโยนทิ้ง แต่กลับหัวกลับหางก็คือว่ามันเร็วกราฟในแต่ละวันเป็นปีและตัวชี้วัดไม่ได้เติบโตขนาดในช่วงเวลา

    ในระบบจัดเก็บข้อมูลอื่น ๆ การสร้างกราฟเป็นเวลาหนึ่งปีอาจเกี่ยวข้องกับการดึงจุดข้อมูลหลายล้านจุดและอาจต้องใช้พื้นที่เก็บข้อมูลจำนวนมาก

    ข้อเสียที่สำคัญของกราไฟต์คือทุกตัวชี้วัดจะสร้างไฟล์ใหม่ดังนั้นหากคุณมีตัวชี้วัดแบบไดนามิก (บอกว่าช่องคลาวด์จะเข้ามาและออกไป) มันอาจไม่เหมาะสม

    ตรงกันข้ามกับPrometheusที่ซึ่งเมตริกถูกเก็บไว้ตามเวลาเป็นส่วนใหญ่ คุณสามารถมีเมตริกแบบไดนามิกจำนวนมากและใช้ได้ แต่อย่าพยายามจัดเก็บตัวชี้วัดเหล่านั้นในระยะยาวมันจะใช้เวลานานในการย้อนกลับไปอ่าน

    ไม่มีขนาดใดจะพอดีทั้งหมด

    PS Graphanaเป็นวิธีที่ยอดเยี่ยมในการแสดงข้อมูลของคุณ มีปลั๊กอินสำหรับฐานข้อมูลอนุกรมเวลาส่วนใหญ่

  2. ใครจะเก็บข้อมูลของคุณ มีหลายพันของสถานที่เช่นคนที่คุณกล่าวถึง มันง่ายมากที่จะหมุน DB ชุดเวลาในคลาวด์ แต่มันยากมากที่จะทำเงินได้ส่วนใหญ่ของ บริษัท เหล่านี้จะออกไปทำธุรกิจหลังจากนั้นไม่นานหรือเริ่มต้นราคาแซะ (แม้การรักษาราคาของพวกเขาให้มั่นคงคือการเซาะราคา - เนื่องจากค่าใช้จ่ายในการคำนวณลดลงอย่างต่อเนื่อง) หลายครั้งพวกเขาพบว่าพวกเขาไม่สามารถดึงดูดลูกค้าใหม่ ๆ ได้มากเท่าที่พวกเขาคิดดังนั้นพวกเขาจึงพยายามขึ้นราคา ของการเปลี่ยนรูปแบบการกำหนดราคา) ปรากฎว่ามีค่าใช้จ่ายเป็นจำนวนมากในการจัดเก็บข้อมูลของทุกคน ...

    ผมขอแนะนำตัวเองโฮสติ้งหรือใช้ผู้ให้บริการคลาวด์ที่มีชื่อเสียงเช่น AWS CloudWatch (ราคาแพงถ้าคุณมีเมตริกเยอะ แต่ฟรีต่ำกว่า 50 เมตริก!)


ความคิดคือการได้รับสิ่งที่ดีที่สุดในบรรดา "สถานที่นับพัน" ฉันได้รวบรวมคอลเล็กชัน (ทำเองแล้ว) ซึ่งจะโพสต์ที่นี่ในบางครั้ง
urnenfeld

3

uBeacเป็นเครื่องมือสร้างภาพข้อมูลฟรีแวร์ตัวใหม่ที่เราได้พัฒนาขึ้นและเป็นเวอร์ชั่นเบต้า มันไม่ได้เป็น opensource แต่ใช้งานได้ฟรีอย่างเต็มที่

คุณสามารถกำหนดเกตเวย์และคุณจะได้รับ URI ที่ไม่ซ้ำกัน คุณสามารถตั้งค่า URI ในเกตเวย์หรืออุปกรณ์ของคุณเพื่อส่งข้อมูล HTTP / MQTT ไปที่

นี่คือคุณสมบัติบางอย่าง:

  • คำจำกัดความของทีมอาคารสิ่งปลูกสร้าง
  • การสร้างภาพข้อมูลแบบเรียลไทม์
  • การออกแบบแดชบอร์ดที่กำหนดเองโดยใช้วิดเจ็ตที่แตกต่างกัน
  • กำหนดประเภทเซ็นเซอร์หน่วยและคำนำหน้าแผนที่การสร้างภาพ
  • ...

สนับสนุนรูปแบบข้อมูล Json ทั่วไปและเกตเวย์ที่กำหนดไว้ล่วงหน้าที่แตกต่างกันเช่นกัน หากคุณไม่ต้องการใช้รูปแบบของส่วนของข้อมูลที่กำหนดไว้ล่วงหน้ารูปแบบเหล่านั้นจะเปิดขึ้นเพื่อพัฒนาการประมวลผลในส่วนของคุณ


สวัสดี @Amir เราสังเกตว่าคำตอบของคุณซ้ำซ้อนกันและกำลังโปรโมตผลิตภัณฑ์ของคุณ การตอบว่าผลิตภัณฑ์ของคุณเกี่ยวข้องตรงไหนดี แต่โปรดอ่านหลักเกณฑ์การส่งเสริมตนเองในศูนย์ช่วยเหลือ มันเป็นความคิดที่ดีที่จะปรับแต่งคำตอบของคำถามในมือแทนที่จะโพสต์ข้อความที่เหมือนกันเพื่อให้แน่ใจว่าคุณกำลังตอบคำถามอย่างแท้จริงไม่ใช่แค่โปรโมตผลิตภัณฑ์ของคุณ ขอบคุณ
Aurora0001

1

ฉันประหลาดใจที่ไม่มีใครกล่าวถึงที่นี่ในDweet นี่เป็นวิธีที่ง่ายและสนุกสุด ๆ ในการสื่อสารสิ่งต่าง ๆ แน่นอนว่าคุณควรลองเพราะมันฟรี!


1
มันถูกเสนอแน่นอน แต่การกลั่นกรองลบมัน หนึ่งในสิ่งที่ยอดเยี่ยมของบริการนี้คือคุณไม่จำเป็นต้องแม้แต่ลงทะเบียนและพวกเขาจะแสดงการวางแผนข้อมูลของคุณ ในอีกทางหนึ่งข้อมูลของคุณเป็นสาธารณะค่อนข้าง :)
22414

0

flespiให้บริการคลาวด์ฟรีและในเชิงพาณิชย์:

  • MQTT นายหน้าบริการ PUB / การดำเนินงาน SUB และคุณยังสามารถจัดเก็บข้อมูลในเก็บรักษาข้อความ ;
  • เอ็นจิ้นการจัดเก็บข้อมูลสำหรับการทำงานของคีย์ / ค่าโดยเฉพาะอย่างยิ่งข้อมูลไทม์ซีรี่และการจัดเก็บไฟล์ทั่วไป (CDN) ดำเนินการผ่านทางREST API

ข้อจำกัดความรับผิดชอบ: ฉันทำงานให้กับ บริษัท ที่พัฒนาแพลตฟอร์ม flespi ในขณะที่ฉันพยายามอย่างเต็มที่เพื่อให้วัตถุประสงค์อยู่บนอินเทอร์เน็ตเสมอโปรดตรวจสอบข้อมูลทั้งหมดในคำตอบนี้เพื่อแยกแยะอคติที่อาจมีผลต่อการตัดสินใจของคุณ


อีกครั้งโปรดประกาศการเชื่อมต่อใด ๆ กับบริการเมื่อแนะนำ (เช่นคุณทำงานเพื่อ flespi)
hardillb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.