การทดสอบความสำเร็จของการอัปเดต Over the Air [ปิด]


10

แนวปฏิบัติที่ดีที่สุดเพื่อให้แน่ใจว่าอุปกรณ์ IoT ได้รับการอัปเดตสำเร็จแล้วเป็นอย่างไร

คุณต้องทำอะไรเพื่อทดสอบการอัปเดต OTA และตรวจสอบสิทธิ์อุปกรณ์ ก้าวไปอีกขั้นคุณจะสามารถตรวจสอบ / จัดการเวอร์ชันซอฟต์แวร์ (อัพเดต) ของกลุ่มอุปกรณ์ IoT ได้อย่างไร


1
มันกว้างเกินไปเช่นคำถามอื่นของคุณ และมันจะขึ้นอยู่กับประเภทของอุปกรณ์และโหมดการใช้งานเป็นอย่างมาก
Gilles 'หยุดความชั่วร้าย'

1
เมื่อคุณพูดว่า "เรือเดินสมุทร" คุณหมายถึงเรือเดินสมุทรยานพาหนะหรือไม่? ถ้าเป็นเช่นนั้นฉันเข้าใจการสื่อสารด้วย (เข้ารหัส) SMS หรือ HTTPS ผ่าน GPRS หรือดาวเทียมเหตุการณ์โดยใช้บางอย่างเช่นโมเด็ม SkyWave หากคุณสามารถแก้ไขคำถามของคุณเพื่อชี้แจงได้ฉันมั่นใจว่าจะเปิดใหม่อีกครั้ง
Mawg กล่าวว่าคืนสถานะโมนิก้า

คำตอบ:


10

ฉันมีซอฟต์แวร์ (Windows Server - แตกต่างเล็กน้อยกับ 'สิ่งของ' แต่ตัวการเหมือนกัน) ที่เรียกใช้ในทุก ๆ 24 ชั่วโมง - มันส่งข้อมูลเมตากลับมาต่าง ๆ เกี่ยวกับตัวเอง:

  • ชื่อลูกค้า (หรือ ID เฉพาะ)
  • เวอร์ชันของซอฟต์แวร์
  • เวลาบันทึกการโทร / การร้องขอ
  • ประเภทผลิตภัณฑ์ / id

บริการเว็บจะแยกวิเคราะห์ข้อมูลและส่วนแทรก (หรืออัปเดตหากลูกค้ามีแถวที่มีอยู่) แถวในฐานข้อมูล

วิธีนี้ลูกค้าใหม่จะถูกเพิ่มลงในฐานข้อมูลโดยอัตโนมัติลูกค้าปัจจุบันจะได้รับการอัพเดตเวลาล่าสุดที่เห็นและเรามีซอฟต์แวร์รุ่นล่าสุดอยู่เสมอ ฉันสามารถเรียกใช้แบบสอบถาม DB ที่บอกฉันว่าลูกค้ารายใดอยู่ในรุ่นที่เก่ากว่าและ / หรือลูกค้ารายใดที่ไม่ได้โทรหามาระยะหนึ่ง

นอกจากนี้เรายังได้ใช้การอัปเดตอัตโนมัติ (คิดว่าอัปเดต OTA) เมื่อเร็ว ๆ นี้และเนื่องจากนี่เป็นกระบวนการที่สำคัญที่เราใช้ระบบตรวจสอบและส่งข้อมูลระยะไกลโดยเฉพาะสำหรับเรื่องนี้

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

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

ข้อแตกต่างที่สำคัญกับ 'สิ่งของ' คือโดยทั่วไปคุณมีข้อ จำกัด ด้านหน่วยความจำดังนั้นเพื่อทำการอัพเดต OTA xxx Kbของเฟิร์มแวร์ที่คุณต้องการxxx Kb * 2ของหน่วยความจำที่มีอยู่ (เฟิร์มแวร์ที่มีอยู่ + หน่วยความจำเพียงพอสำหรับจัดเก็บเฟิร์มแวร์ใหม่


1
ขอบคุณสำหรับการแบ่งปัน. การใช้หน่วยความจำเป็นจุดสำคัญที่จะทำให้ คุณจะดำเนินการเกี่ยวกับการอนุญาตและการยอมรับของลูกค้าอย่างไรเมื่อมีผล? คุณต้องการรหัสผ่านเพื่อยอมรับการอัพเดทหรือไม่?
Noam Hacker

2
เป็นกรณีการใช้งานที่แตกต่างกัน (เพราะเป็น Windows Server) แต่เรามี UI ที่ปรากฏขึ้นการแจ้งเตือนเมื่อมีการดาวน์โหลดการอัปเดต OTA - การแจ้งเตือนจะถามลูกค้าว่าพวกเขาต้องการอัปเดตหรือไม่ ในthingฉันอาจแฟลช LED หรือบางสิ่งบางอย่างเพื่อแจ้งเตือนผู้ใช้ (สมมติว่าคุณต้องการให้ผู้ใช้ 'อนุญาต' การอัปเดต) และจากนั้นให้พวกเขากดปุ่ม 'ยาว' เพื่อเริ่ม ...
KennetRunner

5

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


1
บัญชีนี้สำหรับอุปกรณ์ที่ถูกปิดกั้นหรือไม่สามารถอัปเดตให้เสร็จสมบูรณ์ได้ (อาจติดอยู่ในการรีบูตดาวน์โหลดรอบการทำงานผิดพลาด)
Sean Houlihane

1
ใช่แล้ว หากคุณมีอุปกรณ์ 100 รายการในวันที่ 1 คุณผลักดันการอัปเดตในวันที่ 2 และวันที่ 3 ที่คุณได้รับเพียง 25 อุปกรณ์เกี่ยวกับการวิเคราะห์มันหมายถึงสิ่งที่ไม่ดีเกิดขึ้น
WayToDoor

1
นั่นดูน่าสนใจ. มีวิธีแยกความแตกต่างระหว่างประเภทของความล้มเหลวหรือไม่?
Noam Hacker

1
แบ่งการปรับปรุงออกเป็นขั้นตอนต่อเนื่อง (เช่นเพิ่มค่าใหม่การตั้งค่า , จีพีเอสรีบูต , รหัสอุปกรณ์ชุด , เฟิร์มแวทับ , ฯลฯ ) ด้วยแต่ละคนมีการเริ่มต้น ..โทรส่ง 'บ้าน' และเสร็จสมบูรณ์ด้วยสถานะ xxบ้านโทรที่ส่ง ด้วยวิธีนี้คุณสามารถบอก (คร่าว ๆ ) ว่ามันล้มเหลวที่ไหนและ (หวังว่า) รหัสสถานะคืออะไร
KennetRunner

4

ทุกอย่างเกี่ยวกับนโยบายการซิงโครไนซ์อัจฉริยะ

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

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

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

การยืนยันการซิงโครไนซ์

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

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


ฉันไม่คิดว่านี่จะเป็นทางออกสำหรับคำถามของ OP
WayToDoor

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