การใช้โมดูลวิทยุเซลลูลาร์ทั่วโลกเพื่อเชื่อมต่ออุปกรณ์ IoT กับคลาวด์อย่างรวดเร็วและปลอดภัย

By Jens Wallmann

Contributed By DigiKey's European Editors

ในการเชื่อมต่ออุปกรณ์ปลายทางเครือข่ายแบบพกพาหรืออุปกรณ์ระยะไกลกับ Internet of Things (IoT) หรือควบคุมเครื่องจักรจากระยะไกลโดยใช้การสื่อสารระหว่างเครื่อง (M2M) การเชื่อมต่อวิทยุเคลื่อนที่สำหรับการแลกเปลี่ยนข้อมูลผ่านระบบคลาวด์ถือเป็นตัวเลือกที่ดี อย่างไรก็ตาม ตัวเลือกนี้ทำให้เกิดอุปสรรคสำหรับนักพัฒนา เช่น การกำหนดว่าเครือข่ายไร้สายใดที่สามารถรองรับปริมาณข้อมูลที่ต้องการทั่วโลก และโมเด็มไร้สายต้องสามารถรองรับโปรโตคอลใดได้ นอกจากนั้นยังต้องพิจารณาความสามารถในการปรับขนาดของระบบ, ความปลอดภัยของข้อมูล, ต้นทุน, เวลาออกสู่ตลาด และต้นทุนค่าใช้จ่ายและการดำเนินงานที่เกิดขึ้นโดยผู้ใช้ด้วย

บทความนี้จะอธิบายโดยสังเขปว่า LTE Cat 1 เสนออะไรให้กับนักพัฒนา IoT และ M2M จากนั้นจะแนะนำโมดูลวิทยุซีรีส์ที่ LARA-R6 จาก u-blox ที่ให้การเชื่อมต่อแบบสากลและมีประสิทธิภาพที่น่าเชื่อถือ บทความนี้สรุปด้วยการแสดงให้เห็นว่านักพัฒนาสามารถใช้บอร์ดประเมินผล (EVB) เพื่อกำหนดค่าและควบคุมโมดูลได้อย่างง่ายดายผ่านคำสั่ง AT และสร้างสตริงคำสั่ง AT ผ่านฟังก์ชันไลบรารีได้อย่างไร

LTE Cat 1 เปรียบเทียบกับ LTE Cat 1bis, LTE Cat M และ LTE Cat NB

ในขณะที่วิทยุเซลลูล่าร์ LTE มีอัตราการส่งข้อมูลระดับกิกะบิตแล้ว แต่โปรโตคอลพื้นที่กว้างและใช้พลังงานต่ำ(LPWA) เช่น LTE Cat 1, LTE Cat 1bis, LTE Cat M และ LTE Cat NB ได้รับการออกแบบให้มีประสิทธิภาพเป็นพิเศษในแง่ของการใช้พลังงาน ทรัพยากรเครือข่ายและต้นทุน นี่เป็นสิ่งสำคัญอย่างยิ่งสำหรับอุปกรณ์ IoT

การมีแบนด์วิดท์ช่องสัญญาณสูงสุด 20 เมกะเฮิรตซ์ (MHz) ในแบบฟูลดูเพล็กซ์ ทำให้ LTE Cat 1 ให้อัตราการดาวน์โหลดข้อมูลสูงสุด 10 เมกะบิตต่อวินาที (Mbps) และอัตราการอัปโหลดข้อมูลสูงสุด 5 Mbps โดยเสาอากาศสองตัวช่วยให้ตัวรับสัญญาณ (Rx) มีความหลากหลายเพื่อประสิทธิภาพที่ดีขึ้น (ตารางที่ 1) โดย LTE Cat 1bis ใช้เสาอากาศเดี่ยว

LTE Cat1/Cat 1bis LTE Cat M1 LTE Cat NB1
3GPP Release Release 8 Release 13 Release 13
อัตราดาวน์ลิงก์สูงสุด 10 Mpbs 1 Mbps 26 kbps
อัตราอัปลิงค์สูงสุด 5 Mbps 1 Mbps 66 kbps (มัลติโทน)
16.9 kbps (ซิงเกิลโทน)
เวลาแฝง 50 ms ถึง 100 ms 10 ms ถึง 15 ms 1.6 s ถึง 10 s
จำนวนเสาอากาศ 2 (LTE Cat 1)
1 (LTE Cat 1bis)
1 1
โหมดดูเพล็กซ์ ฟูลดูเพล็กซ์ ฟลูหรือฮาล์ฟดูเพล็กซ์ ฮาล์ฟดูเพล็กซ์
อุปกรณ์รับแบนด์วิธ 1.4 MHz ถึง 20 MHz 1.4 180 kHz

ตารางที่ 1: การเปรียบเทียบประสิทธิภาพของโปรโตคอล LPWA LTE CAT 1 ใช้เสาอากาศสองตัวสำหรับความหลากหลายของ Rx โดย LTE Cat 1bis ใช้เสาอากาศเดียว (แหล่งรูปภาพ: Wikipedia, Jens Wallmann)

วิทยุเคลื่อนที่ LTE Cat 1 เพื่อความพร้อมใช้งานทั่วโลก

ซีรีส์ LARA-R6 ของ u-blox ประกอบด้วยโมดูลวิทยุเซลลูล่าร์ที่แข็งแกร่งซึ่งออกแบบมาสำหรับมาตรฐานเทคโนโลยีการเข้าถึงวิทยุ (RAT) LTE Cat 1 การแบ่งความถี่ดูเพล็กซ์ (FDD) และมาตรฐานดูเพล็กซ์การแบ่งเวลา (TDD) รองรับ 3G UMTS/HSPA และ 2G GSM/GPRS/EGPRS เป็นโซลูชันสำรอง โมดูลเหล่านี้เป็นโซลูชันที่ยอดเยี่ยมสำหรับการครอบคลุมทั่วโลก/หลายภูมิภาค และมาในรูปแบบ LGA ขนาดเล็กที่มีขนาด 26 x 24 มิลลิเมตร (มม.)

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

โมดูลทั้งหมดรองรับความหลากหลายของ Rx เพื่อประสิทธิภาพที่เชื่อถือได้ในสภาวะการครอบคลุมที่ยากลำบากหรือเมื่อจำเป็นต้องใช้เสียงผ่าน LTE (VoLTE) ซึ่งโปรแกรมเมอร์สามารถใช้ประโยชน์จากโปรโตคอล IoT ที่ฝังไว้ (LwM2M, MQTT) และคุณลักษณะด้านความปลอดภัย (TLS/DTLS, การอัปเดตที่ปลอดภัย และการบูตที่ปลอดภัย) เพื่อปรับใช้ฟังก์ชันต่างๆ รวมถึงการจัดการอุปกรณ์ การควบคุมอุปกรณ์ระยะไกลและการอัปเดตเฟิร์มแวร์ที่ปลอดภัยแบบ Over-the-air (FOTA)

ซีรีส์ LARA-R6 รองรับ LTE Cat 1 ตาม 3GPP Release 10 และครอบคลุมทั่วโลกด้วยประเภทตามภูมิภาค 3 แบบ:

  • โมดูล LARA-R6001-00B (ข้อมูลและเสียง) และ LARA-R6001D-00B (ข้อมูลเท่านั้น) รองรับคลื่นความถี่ LTE FDD/TDD 18 ความถี่ พร้อมด้วยทางเลือก 3G/2G สำหรับการเชื่อมต่อทั่วโลก
  • โมดูล LARA-R6401-00B (ข้อมูลและเสียง) และ LARA-R6401D-00B (ข้อมูลเท่านั้น) มอบโซลูชัน LTE Cat 1 ในอุดมคติสำหรับอเมริกาเหนือ โดยรองรับแบนด์ LTE จาก AT&T, FirstNet, Verizon และ T-Mobile
  • โมดูล LARA-R6801-00B (ข้อมูลและเสียง) และ LARA-R6801D-01B (ข้อมูลเท่านั้น) ได้รับการออกแบบมาเพื่อการใช้งานในภูมิภาคต่อไปนี้: ยุโรปและตะวันออกกลาง (EMEA), เอเชียแปซิฟิก (APAC), ญี่ปุ่น (JP) และละตินอเมริกา (LATAM) (รูปที่ 1)

แผนที่ประเภทโมดูล LARA-R6 ตามภูมิภาครูปที่ 1: โมดูล LARA-R6 ตามภูมิภาคสามรุ่นครอบคลุมทั่วโลก (แหล่งที่มาของภาพ: DigiKey แก้ไขโดยผู้เขียน)

สรุปคุณสมบัติพิเศษของ LARA-R6

โมดูล LARA-R6 รวมโปรเซสเซอร์เบสแบนด์เซลลูลาร์เข้ากับอินเทอร์เฟซภายนอก ตัวรับส่งสัญญาณ RF พร้อมเครื่องขยายสัญญาณและตัวกรอง หน่วยความจำ และหน่วยจัดการพลังงาน (รูปที่ 2)

แผนผังโครงสร้างภายในของโมดูล u-blox LARA-R6 (คลิกเพื่อดูภาพขยาย) รูปที่ 2: โครงสร้างภายในของโมดูล LARA-R6 (ที่มาของภาพ: u-blox)

ตัวรับส่งสัญญาณ RF ทำงานในย่านความถี่ 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1.7 GHz, 1.8 GHz, 1.9 GHz, 2.1 GHz และ 2.6 GHz โปรโตคอลการถ่ายโอนข้อมูลทั้งหมดของโปรเซสเซอร์เบสแบนด์เซลลูลาร์สามารถควบคุมและกำหนดค่าได้ผ่านคำสั่ง AT โดยใช้อินเทอร์เฟซ UART และ USB ภายนอก

โปรโตคอล

  • IPv4 และ IPv6 แบบสแต็กคู่
  • TCP/IP, UDP/IP, FTP และ HTTP แบบฝัง
  • MQTT และ MQTT-SN แบบฝัง
  • LwM2M แบบฝัง
  • eSIM และโปรโตคอลอิสระสำหรับผู้ถือ (BIP)

โมดูล LARA-R6 ต้องการแรงดันไฟฟ้า 3.1 ถึง 4.5 โวลต์ และมีการใช้กระแสไฟขณะทำงานประมาณ 1.1 มิลลิแอมแปร์ (mA) ในการใช้งาน 2G ช่องเวลา TDMA แต่ละช่องสามารถเข้าถึงกำลังส่งสูงสุดได้มากกว่า 33 เดซิเบล อ้างอิงถึง 1 มิลลิวัตต์ (mW) (dBm) (> 2.0 วัตต์) และ RAT อื่นๆ ทั้งหมดเข้าถึงระดับมากกว่า 24 dBm (> 0.25 วัตต์)

ความไวของเสาอากาศที่ยอดเยี่ยมที่น้อยกว่า -100 dBm ซึ่งสอดคล้องกับกำลังสัญญาณที่น้อยกว่า 0.1 พิโควัตต์ (pW) ช่วยให้การเชื่อมต่อวิทยุมีความเสถียรระดับเอดจ์ของเครือข่ายมือถือ

การประเมินและการเขียนโปรแกรม

วิธีที่เร็วที่สุดในการเริ่มประเมินและตั้งโปรแกรมโมดูล LARA-R6 คือการใช้ R6 EVB (EVK-R6) และบอร์ดอะแดปเตอร์ LARA-R6 ปลั๊กอิน (ADP-R6) สำหรับภูมิภาคที่เกี่ยวข้อง ตัวอย่างเช่น EVK-R6001-00B สำหรับการใช้งานทั่วโลกรวมถึงบอร์ดอะแดปเตอร์ปลั๊กอิน ADP-R6001-00B (เสียง + ข้อมูล) และบอร์ดอะแดปเตอร์ GNSS (รูปที่ 3)

รูปภาพของ u-blox LARA-R6 EVB (EVK-R6) พร้อมบอร์ดอะแดปเตอร์ LARA-R6 (คลิกเพื่อดูภาพขยาย)รูปที่ 3: LARA-R6 EVB (EVK-R6) พร้อมบอร์ดอะแดปเตอร์ LARA-R6 (ด้านล่าง) และบอร์ด GNSS (ซ้ายบน) (ที่มาของภาพ: u-blox)

EVK-R6401-00B รุ่นสำหรับอเมริกาเหนือประกอบด้วยอะแดปเตอร์ ADP-R6401-00B ในขณะที่ EVK-R6801-00B สำหรับ EMEA/APAC/JP/LATAM รวมถึงอะแดปเตอร์ ADP-R6801-00B แผงอะแดปเตอร์ทั้งสามแผงที่กล่าวถึงแล้วสำหรับการรับส่งข้อมูลด้วยเสียงและข้อมูลมีจำหน่ายแยกกัน เช่นเดียวกับรุ่นสำหรับการส่งข้อมูลเท่านั้น ซึ่งรวมถึง ADP-R6401D-00B (อเมริกาเหนือ) และ ADP-R6001D-00B (ทั่วโลก)

บอร์ดอะแดปเตอร์ R6 ขยายโมดูล LARA-R6 ด้วยเสาอากาศสองตัวและตัวเชื่อมต่อ MiniUSB สองตัว R6 EVB เพิ่มโมดูล GNSS, ช่องใส่ซิมการ์ด, การเชื่อมต่อปลั๊กอินเพิ่มเติม, จัมเปอร์, สวิตช์ และแหล่งจ่ายไฟให้กับอุปกรณ์ต่อพ่วงโมดูล (รูปที่ 4)

แผนภาพบล็อกการทำงานของ u-blox R6 EVB พร้อมอะแดปเตอร์ GNSS และ LARA-R6 ที่เสียบอยู่ (คลิกเพื่อดูภาพขยาย)รูปที่ 4: บล็อกไดอะแกรมการทำงานของ R6 EVB พร้อมอะแดปเตอร์ GNSS และ LARA-R6 ที่เสียบอยู่ (แหล่งรูปภาพ: u-blox)

แต่ละชุดประกอบด้วย EVB หนึ่งตัวพร้อมบอร์ดอะแดปเตอร์ LTE Cat 1 LARA-R6 และโมดูล GNSS จาก u-blox, สาย USB หนึ่งเส้น, เสาอากาศวิทยุเคลื่อนที่ LTE สองเสา, เสาอากาศ GPS/GLONASS และหน่วยจ่ายไฟ

การทดสอบการทำงานของ EVK

ชุด EVK-R6 ที่ใช้งานง่ายและทรงพลังจาก u-blox ช่วยลดความยุ่งยากในการประเมินโมดูลเซลลูล่าร์ LTE Cat 1 / 3G / 2G แบบมัลติโหมด Windows PC ที่มีไดรเวอร์ยูเอสบี LARA-R6 ควบคุมโมเด็ม LARA-R6 ผ่านขั้วต่อ USB และทำให้การตั้งค่าการเชื่อมต่อง่ายขึ้นผ่านการตั้งค่าระบบ ในการเริ่มต้น นักพัฒนาซอฟต์แวร์จำเป็นต้อง:

  1. ใส่ซิมการ์ดและเชื่อมต่อทั้งเสาอากาศเซลลูลาร์และเสาอากาศ GNSS
  2. กำหนดค่าจัมเปอร์และสวิตช์ของ EVK อย่างระมัดระวัง
  3. ใช้แรงดันไฟฟ้าและเปิดสวิตช์หลัก SW400 บน EVB
    1. สำหรับการทำงานเป็นโมเด็มอัตราข้อมูลต่ำผ่านอินเทอร์เฟซ “Main UART” ให้เชื่อมต่อพีซีเข้ากับแจ็ค MiniUSB J501 หรือแจ็ค RS232 J500 บน EVK
    2. สำหรับการใช้งานเป็นโมเด็มอัตราข้อมูลต่ำผ่าน "Two UART" ให้เชื่อมต่อพีซีเข้ากับอินเทอร์เฟซ J201 ของแจ็ค USB มือถือบน ADP
    3. สำหรับการใช้งานเป็นโมเด็มอัตราการส่งข้อมูลสูงผ่าน "Native Cellular USB" ให้เชื่อมต่อพีซีเข้ากับแจ็ค MiniUSB J105 บน ADP
  4. กดปุ่มเปิดเครื่องมือถือ SW302 บน EVB
  5. เรียกใช้ซอฟต์แวร์แอปพลิเคชันเทอร์มินัล (เช่น m-center) ไปที่เมนูการตั้งค่าพอร์ต COM เลือกพอร์ต AT ที่สอดคล้องกับ 4a, 4b หรือ 4c และตั้งค่าเหล่านี้: อัตราข้อมูล: 115,200 bps; บิตข้อมูล: 8; ความเท่าเทียมกัน: N; หยุดบิต: 1.

สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ EVK-R6_UserGuide_UBX-21035387 . เครื่องมือ m-center ช่วยประเมิน กำหนดค่า และทดสอบผลิตภัณฑ์เซลลูล่าร์ u-blox และมีเทอร์มินัลคำสั่ง AT

การเชื่อมต่ออินเทอร์เน็ตอย่างง่ายโดยใช้ Windows PC

ในการเชื่อมต่อ Windows PC เข้ากับ EVK ผู้ใช้สามารถเชื่อมต่ออินเทอร์เน็ตไร้สายได้สองวิธี:

1: การเชื่อมต่อข้อมูลแพ็คเก็ตความเร็วต่ำ: ใช้สแต็ก TCP/IP ของ Windows PC ผ่านทางอินเทอร์เฟซ UART ของโมดูล LARA-R6 โดย PC และ EVK เชื่อมต่อกันตามวิธีที่ 4a นักพัฒนาจะต้องเลือก Phone and Modem > Modems > Add โดยใช้ Control Panel ของ Windows ขั้นตอนต่อไปคือเลือกช่องทำเครื่องหมาย "Don’t detect my modem" เลือก "Standard 33.6 kbps Modem" และจัดสรรพอร์ต COM หากจำเป็น นักพัฒนาสามารถเพิ่ม Properties > Advanced > Extra initialization commands

2: การเชื่อมต่อข้อมูลแพ็คเก็ตความเร็วสูง: เข้าถึงอินเทอร์เน็ตโดยใช้สแต็ก TCP/IP ของ Windows PC ผ่านทางอินเทอร์เฟซ USB แบบเนทิฟมือถือของโมดูล LARA-R6 โดย PC และ EVK จะเชื่อมต่อกันตามวิธีที่ 4c นักพัฒนาจะต้องเลือก Network and Sharing Center > Set up a new connection or network ผ่านแผงควบคุม Windows และคลิก "Connect to the Internet" ขั้นตอนต่อไปคือเลือก “Dial-up” และหนึ่งในพอร์ต AT USB ขั้นตอนสุดท้ายคือการป้อนพารามิเตอร์การเรียกผ่านสายโทรศัพท์ (หมายเลขโทรเข้า, ชื่อผู้ให้บริการ, ID ผู้ใช้ และรหัสผ่าน)

การลงทะเบียนซิมการ์ดกับผู้ให้บริการมือถือ

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

คำสั่งที่ส่งโดย DTE (ผู้ใช้) การตอบสนอง DCE (โมดูล) คำอธิบาย
AT+CREG? +CREG: 0,1 OK ตรวจสอบการลงทะเบียนเครือข่าย
AT+COPS=0 OK ลงทะเบียนโมดูลบนเครือข่ายเฉพาะในกรณีที่การลงทะเบียนอัตโนมัติล้มเหลว (AT+CREG? ส่งกลับ 0,0)
AT+COPS? +COPS: 0,0,"I TIM",7 OK อ่านชื่อผู้ดำเนินการและเทคโนโลยีการเข้าถึงวิทยุ (RAT)

ตารางที่ 2: คำสั่งการลงทะเบียน AT (ที่มาของตาราง: u-blox ดัดแปลงโดยผู้เขียน)

การสื่อสารไปยังเซิร์ฟเวอร์ HTTP ระยะไกลผ่านคำสั่ง AT

พื้นที่เก็บข้อมูล GitHub ”Firechip_u-blox_LARA-R6_Arduino_Library” มีคลังคำสั่ง AT มากมายสำหรับโมดูล LARA-R6 ซึ่งเขียนด้วยภาษา C++ สำหรับตัวควบคุม Arduino ตัวอย่างการใช้งาน 16 ตัวอย่าง รวมถึงการทดสอบ Ping, การลงทะเบียน, สวิตช์แพ็คเก็ต, SMS, GNSS และคลาวด์ IoT ให้คำแนะนำสำหรับโครงสร้างโค้ดที่กำหนดเอง

คำสั่ง AT ยังสามารถส่งคำขอไปยังเซิร์ฟเวอร์ HTTP ระยะไกลในระหว่างการเชื่อมต่อที่ใช้งานอยู่ รับการตอบสนองของเซิร์ฟเวอร์ และจัดเก็บการตอบสนองนั้นอย่างโปร่งใสในระบบไฟล์ในเครื่อง วิธีการที่รองรับคือ HEAD, GET, DELETE, PUT, ไฟล์ POST และข้อมูล POST

Lara_R6_Example9 ส่งอุณหภูมิแบบสุ่มไปยัง RemoteHTTP-Server ThingSpeak.com ใช้ HTTP POST หรือ GET ThingSpeak เป็นบริการแพลตฟอร์มการวิเคราะห์ IoT โดย MathWorks ที่ช่วยรวบรวม แสดงภาพ และวิเคราะห์สตรีมข้อมูลสดในระบบคลาวด์ ตารางที่ 3 แสดงไวยากรณ์ของคำสั่ง HTTP “ข้อมูล POST”

ประเภท ซินเท็กซ์ การตอบสนอง ตัวอย่าง
ชุด AT+UHTTPC=<profile_id>,5,
<path>,<filename>,<data>,
<HTTP_content_type>
[,<user_defined_content_type>]
OK AT+UHTTPC=0,5,"/path/file.html", "responseFilename","data",0 OK

ตารางที่ 3: “ข้อมูล POST” คือคำสั่ง HTTP หมายเลข 5 และมีการจัดรูปแบบตามที่แสดง (ที่มาของตาราง: u-blox ดัดแปลงโดยผู้เขียน)

ตัวอย่างนี้สามารถตั้งโปรแกรมบนตัวควบคุมโฮสต์ Arduino ซึ่งควบคุมโมดูล LARA-R6 บนบอร์ด EVK ผ่านคำสั่ง AT นอกจากนี้ จำเป็นต้องมีซิมการ์ดที่กำหนดค่าไว้

โปรแกรมเมอร์จะต้องสร้างบัญชีผู้ใช้ ThingSpeak และตั้งค่าช่อง 1 สำหรับค่าการวัดอุณหภูมิแบบสุ่มผ่านรายการเมนู Channels > My Channels > New Channel มีการป้อน "Write API Key" ที่เกี่ยวข้องในโปรแกรมหลัก "LARA-R6_Example9_ThingSpeak.ino" ในตัวแปรmyWriteAPIKey

โปรแกรมหลัก C++ จะสร้างค่าอุณหภูมิแบบสุ่ม สร้างสตริงข้อมูลเฉพาะคลาวด์ และเรียกใช้ฟังก์ชันไลบรารีsendHTTPPOSTdata ทุก ๆ 20 วินาที (รายการ 1)

สำเนา
...
1  String myWriteAPIKey = "PFIOEXW1VF21T7O6"; // Change this to your API key
2  String serverName = "api.thingspeak.com"; // Domain Name for HTTP POST/GET
3  [...]

4  void loop() 5  { 6    // Create a random temperature between 20 and 30  7    float temperature = ((float)random(2000,3000)) / 100.0; 8 9 10   // Send data using HTTP POST 11   String httpRequestData = "api_key=" + myWriteAPIKey + "&field1=" +
                                
String(temperature); 12 13   Serial.print(F("POSTing a temperature of ")); 14   Serial.print(String(temperature)); 15   Serial.println(F(" to ThingSpeak")); 16        17   // Send HTTP POST request to /update. The reponse will be written to
        post_response.txt in the LARA's file system
18   myLARA.sendHTTPPOSTdata(0, "/update", "post_response.txt", httpRequestData,
                             LARA_R6_HTTP_CONTENT_APPLICATION_X_WWW);
19 20 21   // Send data using HTTP GET 22      ==> see original code on Github 23 24   for (int i = 0; i < 20000; i++) // Wait for 20 seconds    25   { 26     myLARA.poll(); // Keep processing data from the LARA so we can catch
                            the HTTP command result
27     delay(1); 28   } 29  } ...

รายการ 1: โปรแกรมหลักนี้สร้างค่าอุณหภูมิแบบสุ่มและเรียกใช้ฟังก์ชันไลบรารีsendHTTPPOSTdata ทุก ๆ 20 วินาที (แหล่งที่มาของโค้ด: Firechip บน Github)

สร้างสตริงคำสั่ง AT ที่เรียกใช้ฟังก์ชันไลบรารี

ส่วนหัวของไลบรารี “Firechip_u-blox_LARA-R6_Arduino_Library.h” ส่งต่อการเรียกใช้ฟังก์ชันส่งข้อมูล HTTPPOST ไปยังขั้นตอนไลบรารี “Firechip_u-blox_LARA-R6_Arduino_Library.cpp” โดยที่สตริงคำสั่ง AT ที่จัดรูปแบบครบถ้วนจะถูกสร้างขึ้นและส่ง (รายการ 2)

สำเนา
...
1  LARA_R6_error_t LARA_R6::sendHTTPPOSTdata(int profile, String path, 
                              String responseFilename, String data, 
                              LARA_R6_http_content_types_t httpContentType)
2  { 3    LARA_R6_error_t err; 4    char *command; 5 6    if (profile >= LARA_R6_NUM_HTTP_PROFILES) 7     return LARA_R6_ERROR_ERROR; 8 9    command = lara_r6_calloc_char(strlen(LARA_R6_HTTP_COMMAND) + 24 +
                                  path.
length() + responseFilename.length()
                                  + data.
length()); 10   if (command == nullptr) 11     return LARA_R6_ERROR_OUT_OF_MEMORY; 12   sprintf(command, "%s=%d,%d,\"%s\",\"%s\",\"%s\",%d",
             LARA_R6_HTTP_COMMAND, profile, LARA_R6_HTTP_COMMAND_POST_DATA,
             path.
c_str(), responseFilename.c_str(), data.c_str(),
             httpContentType);
13 14   err = sendCommandWithResponse(command, LARA_R6_RESPONSE_OK_OR_ERROR,
                                 
nullptr, LARA_R6_STANDARD_RESPONSE_TIMEOUT); 15 16   free(command); 17   return err; 18 } ...

รายการ 2: ขั้นตอนไลบรารี C ++ นี้สร้างและส่งสตริงคำสั่ง AT ที่จัดรูปแบบอย่างสมบูรณ์ (บรรทัดที่ 12) (แหล่งที่มาของโค้ด: Firechip บน Github)

ขั้นตอนการทำงานของไลบรารีLARA_R6::sendHTTPPOSTdata (รายการ 2) ใช้พารามิเตอร์ที่ส่งผ่านของการเรียกใช้ฟังก์ชันmyLARA.sendHTTPPOSTdata() (รายการ 1) และประกาศตัวแปรเพิ่มเติมจากส่วนหัวของไลบรารีเพื่อสร้างสตริงคำสั่ง HTTP ที่สมบูรณ์ตามตารางที่ 3 สุดท้าย โมเด็ม LARA-R6 จะส่งสตริงคำสั่ง AT ที่เป็นผลลัพธ์ไปยังเซิร์ฟเวอร์ ThingSpeak RemoteHTTP:

AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0

สรุป

สำหรับเครือข่ายทั่วโลกของ IoT และ M2M ที่ใช้พลังงานต่ำ โมดูลวิทยุหลายโหมด LTE Cat 1 จากซีรีส์ LARA-R6 นั้นมีประสิทธิภาพและคุ้มค่า ดังที่แสดงไว้ข้างต้น นักพัฒนาสามารถเข้าถึงอินเทอร์เฟซทั้งหมดได้โดยใช้ EVK และสามารถกำหนดค่าและควบคุมโปรโตคอลและฟังก์ชันของโมดูลได้อย่างง่ายดายผ่านคำสั่ง AT นี่เป็นตัวเลือกง่ายๆ สำหรับการใช้งานเป็นโมเด็มพีซี การส่งข้อมูลไปยังคลาวด์ และสร้างสตริงคำสั่ง AT ผ่านฟังก์ชันไลบรารี

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this author

Jens Wallmann

Jens Wallmann

Jens Wallmann เป็นบรรณาธิการอิสระและมีส่วนร่วมในการตีพิมพ์สื่ออิเล็กทรอนิกส์ทั้งรูปแบบสื่อสิ่งพิมพ์และสื่อออนไลน์ ในฐานะวิศวกรไฟฟ้า (วิศวกรรมการสื่อสาร) และวิศวกรอิเล็กทรอนิกส์อุตสาหกรรมที่ผ่านการฝึกอบรม เขามีประสบการณ์มากกว่า 25 ปีในการพัฒนาอุปกรณ์อิเล็กทรอนิกส์ โดยมุ่งเน้นที่เทคโนโลยีการวัด อุปกรณ์อิเล็กทรอนิกส์ในยานยนต์ อุตสาหกรรมกระบวนการ และความถี่วิทยุ

About this publisher

DigiKey's European Editors