สารบัญ:
- ขั้นตอนที่ 1: SIM900A - โมดูลราคาไม่แพงสำหรับตลาดเอเชีย
- ขั้นตอนที่ 2: ถอด Diode
- ขั้นตอนที่ 3: เชื่อมต่อกับโมดูล SIM900A
- ขั้นตอนที่ 4: ตรวจสอบว่าโมดูลของคุณทำงานในที่ที่คุณอาศัยอยู่หรือไม่
- ขั้นตอนที่ 5: รีเฟรชโมดูล
- ขั้นตอนที่ 6: ตรวจสอบส่วนที่ 2
วีดีโอ: โมดูล SIM900A 2G + ซิมการ์ดโฮโลแกรม = การรวมกันที่ชนะในหมวด "สิ่งสกปรกราคาถูก"?: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
IoT คำศัพท์ของทศวรรษนี้ บางครั้งมันก็เข้ามาในจิตใจของผู้คนที่คิดว่าตนเองต่อต้านแฟชั่น โดยมีฉันอยู่ท่ามกลางพวกเขา
อยู่มาวันหนึ่งฉันกำลังท่องอินเทอร์เน็ตและเห็นบริษัทที่ฉันไม่เคยรู้จักมาก่อน (โฮโลแกรม) แจกซิมการ์ดฟรี โดยระบุเจตนาที่จะส่งเสริม IoT ในหมู่นักพัฒนาฮาร์ดแวร์ ฉันตรวจสอบข้อตกลงและดูเหมือนว่าจะดีเกินกว่าจะเป็นจริงได้ - ซิมการ์ดพร้อมข้อมูล GPRS มูลค่า 1Mb ฟรี และพร้อมจัดส่งฟรีด้วย - ความเอื้ออาทรประเภทนี้มักปรากฏโดยบริษัทขนาดใหญ่ นั่นทำให้ฉันคิดว่า: ทำไมไม่สั่งสักชิ้นล่ะ แม้ว่าอย่างที่ฉันพูดไป ฉันไม่ได้สนใจ IoT เลยจริงๆ ดังนั้นฉันจึงทำ
กรอไปข้างหน้าสองสามเดือน โฮโลแกรมซิมกำลังรวบรวมฝุ่นในลิ้นชักของฉัน แต่มีความคิดที่คลุมเครือเกี่ยวกับมันได้เริ่มแล่นไปตามขอบของจิตสำนึกของฉัน - จะเกิดอะไรขึ้นถ้าแผนฟรี 1Mb / เดือนนี้สามารถนำมาใช้อย่างชาญฉลาดโดยไม่เคย จ่ายสำหรับข้อมูลเพิ่มเติม?
สมมติว่าสถานการณ์กรณีเลวร้ายที่สุด - เดือนมี 31 วัน และเมื่อพวกเขาพูดว่า 'เมกะไบต์' หมายถึง 1 000 Kb หรือ 1 000 000 ไบต์ (ซึ่งต่างจาก MiB) และทำให้เรามีอิสระที่จะใช้ 32.258 Kb หรือ 32258 ไบต์ วันหนึ่ง. ตัวเลขนั้นดูสมจริง เช่น เซ็นเซอร์ระยะไกลบางประเภทที่จะส่งการวัดไปยังเซิร์ฟเวอร์วันละครั้ง
ด้วยความสงสัยนั้นจึงหายไปด้วยการคำนวณอย่างรวดเร็ว แผนใหม่จึงถูกสร้างขึ้น - รวมซิมการ์ดโฮโลแกรมเข้ากับโมดูล 2G ราคาไม่แพงเพื่อหลีกทางให้เซ็นเซอร์ระยะไกลในราคาประหยัด
ขั้นตอนที่ 1: SIM900A - โมดูลราคาไม่แพงสำหรับตลาดเอเชีย
ในช่วงหลายปีที่ผ่านมา ฉันได้ทำงานกับโมดูล 2G ที่ถูกที่สุดในตลาด นั่นคือ Neoway M590 ด้วยเหตุนี้ จึงได้รับการบันทึกไว้เป็นอย่างดีในบล็อกนี้ในชุดบทความยอดนิยม (โพสต์ที่หนึ่ง สอง และสาม) กล่าวโดยสรุป การขาดความน่าเชื่อถือของโมดูลเหล่านี้เป็นตัวทำลายข้อตกลง นั่นเป็นเหตุผลที่ฉัน (ค่อนข้างคาดเดาได้) ออกเดินทางเพื่อค้นหาโมดูล 2G ราคาไม่แพงเป็นอันดับสองรองจากตลาด การค้นหาเสร็จสมบูรณ์และฉันให้คุณ - SIM900A
แผนภาพ Pinout มักจะไม่พบเมื่อคุณซื้อโมดูลเหล่านี้ ดังนั้นฉันจึงสร้างมันขึ้นมาเอง โดยพบว่ามันแนบมากับขั้นตอนนี้
เอกสารสำคัญบางอย่างที่คุณต้องการอย่างแน่นอน:
- คู่มือการออกแบบฮาร์ดแวร์
- คู่มือเชิง Arduino จากเว็บสโตร์ของอินเดียบางแห่ง
- ชุดคำสั่ง AT
สิ่งที่ฉันมองข้ามไปคือ ความหลากหลายของ SIM900 ที่มีตัวอักษร 'A' ถูกล็อกไว้สำหรับตลาดเอเชีย นั่นหมายความว่าคุณจะไม่สามารถใช้สิ่งเหล่านั้นนอกเอเชียได้โดยไม่ต้องทำการรีแฟลช
ดูแผนที่ความครอบคลุมของ GSM นี้ก่อนที่จะซื้อโมดูล เนื่องจาก SIM900A เป็นโมดูลดูอัลแบนด์ ซึ่งหมายความว่าใช้งานได้กับแถบความถี่ 900 และ 1800 MHz เท่านั้น (ดูคำอธิบายที่นี่) ดังนั้น หากประเทศของคุณเลิกใช้ 2G เพื่อรองรับ 3G และ 4G แล้ว SIM900A อาจไม่ทำงาน (แม้ว่าโฮโลแกรมจะอ้างว่าครอบคลุมทั่วโลก ฉันก็เลยไม่แน่ใจจริงๆ)
คำแนะนำโดยละเอียดในการจัดเตรียมโมดูลนี้ให้พร้อมสำหรับเซ็นเซอร์ระยะไกลที่ใช้พลังงานจากแบตเตอรี่ให้ปฏิบัติตามในขั้นตอนต่อไป
ขั้นตอนที่ 2: ถอด Diode
โมดูลที่เป็นปัญหาวางตลาดว่า "สอดคล้องกับ 5V" อย่ารีบไปเชื่อมต่อกับ Arduino เพราะสิ่งที่ทีมการตลาดต่างประเทศหมายถึงนั่นไม่ใช่สิ่งที่คุณคิด ตามที่ระบุไว้ในเอกสารข้อมูล SIM900 สามารถโม้ช่วงการจ่ายไฟ 3.4 ถึง 4.5V (สูงสุด 5.5V)
ในการบังคับใช้ขีดจำกัด 4.5V บอร์ดนี้จะเพิ่ม (เดาสิ!) ไดโอดในอนุกรมที่มีพิน Vcc ดังนั้นจึงจำกัดแรงดันไฟฟ้าไว้ที่ 5V - หนึ่งไดโอดตก ≈ 4.3V แม้ว่าพิน Rx จะไม่ได้รับการปกป้องเลย แม้แต่ตัวแบ่งความต้านทาน ดังนั้นฉันจึงแนะนำให้ถอดไดโอดออกและเปลี่ยนเป็น 3.3V ทั้งหมดดังที่แสดงในภาพ
สำหรับการทดสอบและ reflashing ฉันใช้ Arduino Uno modified สำหรับการทำงาน 3.3V (วิธีสร้าง Uno ปกติ) และเป็นหนึ่งในไม่กี่สิ่งที่คุณต้องการ ดูภาพสำหรับรายการทั้งหมด
อย่าสนใจว่าแบตเตอรี่ของฉันดูเหมือนตัวเก็บประจุขนาดใหญ่ มันเป็นเพียงแบตเตอรี่ LiPo แบบชาร์จไฟได้ 3.7V ธรรมดาที่สกัดจากบุหรี่อิเล็กทรอนิกส์เก่า ซึ่งเป็นสิ่งที่ฉันมีอยู่ในขณะนี้ สำหรับผู้ที่สั่งซื้อโมดูลจาก ali แล้ว ขอแนะนำให้ซื้อแบตเตอรี่แบบ 18650 แบบนี้ พร้อมที่ยึดหนึ่งอัน
ขั้นตอนที่ 3: เชื่อมต่อกับโมดูล SIM900A
นอกจากนี้ ให้กำหนดอัตราบอดและขนาดแฟลชของโมดูลของคุณในขณะที่คุณใช้งาน
SIM900 รองรับคุณสมบัติ autobauding ซึ่งหมายความว่าโมดูลของคุณจะกำหนดอัตราบอดโดยอัตโนมัติตามข้อมูลที่คุณป้อน โมดูลของคุณมีการกำหนดค่าอย่างไร - ออโต้บอดหรือความเร็วบางอย่าง อย่างแรกเลย แม้แต่แผ่นข้อมูลก็มีข้อมูลที่ขัดแย้งกันเอง (ดูรูป) และถึงแม้คุณจะไม่ใช่โมดูลที่ใช้งานแล้วก็ตาม
โปรดใช้ร่าง Arduino ที่เชื่อถือได้เก่าของฉันเพื่อทำทั้งอัตราบอดและการกำหนดขนาดแฟลช มันอยู่ในบล็อกของฉัน ในโพสต์ที่สะท้อนสิ่งนี้
เชื่อมต่อฮาร์ดแวร์ทั้งหมดตามที่แสดงในแผนผังและอัปโหลดแบบร่าง
หลังจากตรวจพบอัตราบอดแล้ว คุณสามารถป้อนคำสั่ง AT จำนวนเท่าใดก็ได้
ดังที่คุณเห็นในภาพหน้าจอที่แนบมากับขั้นตอนนี้ โมดูลของฉันได้รับการกำหนดค่าเป็น 115200 บอด เนื่องจากเอาต์พุตที่อ่านไม่ออกที่ความเร็วอื่น
โปรดทราบว่าคุณไม่สามารถบอกได้ว่า autobauding เปิดใช้งานอยู่หรือไม่ด้วยคุณสมบัติการรู้จำแบบอัตโนมัติของสเก็ตช์ของฉัน - เมื่อเปิดใช้งาน autobauding โมดูลควรเริ่มทำงานที่อัตรา baud ใด ๆ ที่คุณจะส่งข้อมูลในครั้งแรก ตัวพิมพ์ใหญ่ 'A' เพราะทุกคำสั่ง AT เริ่มต้นด้วยตัวพิมพ์ใหญ่ A จะไม่ทำงานกับ 'a' ขนาดเล็ก)
ดังที่แสดงในภาพหน้าจอที่แล้ว หลังจากเปิดใช้งาน autobauding ภาพร่างนี้อาจ "ตรวจจับ" ความเร็วใดๆ ก็ได้ เนื่องจากโมดูลจะทำงานด้วยความเร็วใดๆ ที่คุณใช้สำหรับการส่งครั้งแรก
AT+IPR? คำสั่งจะแสดงอัตราการรับส่งข้อมูลจริง (0 หมายถึง autobauding) ฉันแนะนำให้ตั้งค่าอัตราบอดเป็นค่าที่เป็นรูปธรรมด้วย AT+IPR=baudrate ไม่ควรต่ำเกินไป ตัวอย่างเช่น การอัปโหลดเฟิร์มแวร์ใหม่จะใช้เวลาประมาณหนึ่งชั่วโมงที่ 9600! การตั้งค่าที่ฉันชอบคือ 115200 บอด - ดีสำหรับทุกวัตถุประสงค์
ด้วยทั้งหมดที่ได้รับการดูแล คุณสามารถตรวจสอบข้อมูลที่จำเป็นเกี่ยวกับโมดูลของคุณได้ในที่สุด
ขั้นตอนที่ 4: ตรวจสอบว่าโมดูลของคุณทำงานในที่ที่คุณอาศัยอยู่หรือไม่
หลังจากค้นหาข้อมูลเกี่ยวกับอัตราบอดแล้ว ต่อไปนี้คือคำสั่งสำคัญ 3 คำสั่งที่คุณควรป้อนเพื่อให้ทราบว่าคุณต้องการเฟิร์มแวร์ใหม่หรือไม่:
- AT+CREG? ขอสถานะการลงทะเบียนเครือข่าย +CREG: 0, 0 ในการตอบสนองหมายความว่าซิมของคุณไม่ได้ลงทะเบียนในเครือข่าย - ข้ามไปที่คำสั่งที่สามในกรณีนี้ เมื่อโมดูลของคุณแยกสิ่งที่แตกต่างไปจาก 0, 0 (เช่น +CREG: 0, 5) คุณไม่จำเป็นต้องรีแฟลชเฟิร์มแวร์ใดๆ เลย - รันคำสั่งถัดไปเพื่อดูว่าคุณเชื่อมต่อเครือข่ายเซลล์ใด
- AT + ตำรวจ? รับชื่อเครือข่าย คุณจะเห็น +COPS: 0 สำหรับซิมที่ไม่ได้ลงทะเบียน หรือบางอย่างเช่น +COPS: 0, 0, "TELE2" สำหรับซิมที่ลงทะเบียน อีกครั้ง คุณไม่จำเป็นต้องแฟลชเฟิร์มแวร์ใหม่หากซิมของคุณสามารถใช้งานได้ในภูมิภาคของคุณอยู่แล้ว
- AT+CMGR รับเวอร์ชันเฟิร์มแวร์ นั่นคือวิธีบอกขนาดแฟลชของโมดูลของคุณ SIM900 มาในสองรูปแบบ: หน่วยความจำแฟลช 32Mb และ 64Mb เฟิร์มแวร์ยังได้รับการปรับแต่งให้เหมาะกับแต่ละรุ่นด้วย (เช่น SIM900, SIM900A, SIM900B)
เจ้าของโมดูล 64Mb จะเห็นบางสิ่งที่คล้ายกับสิ่งนี้:
การแก้ไข:1137B13SIM900A64_ST
ในขณะที่โมดูล 32Mb มักจะตอบสนองด้วย
การแก้ไข:1137B12SIM900A32_ST
สิ่งที่พบได้ทั่วไปในผลิตภัณฑ์เหล่านี้คือกลุ่มผลิตภัณฑ์ SIM900A ที่แสดงถึงความจริงที่ว่า fiirmwares เหล่านี้จะใช้งานได้ในบางประเทศเท่านั้น แม้ว่าโมเดลเหล่านี้จะเหมือนกันกับฮาร์ดแวร์ก็ตาม การรีแฟลชจะทำให้ SIM900A ทำงานเหมือนรุ่นอื่น
หลังจากรีแฟลช โมดูล 64Mb ของคุณจะกลายเป็น SIM900M:
การแก้ไข:1137B02SIM900M64_ST_ENHANCE
และโมดูล 32Mb กลายเป็น SIM900B:
การแก้ไข:1137B09SIM900B32_ST
ตอนนี้เราดำเนินการกับรุ่นเฟิร์มแวร์และอัตราบอดเฉพาะเสร็จแล้ว และหาก SIM900 ของคุณปฏิเสธที่จะลงทะเบียนซิมการ์ดของคุณในเครือข่าย 2G - ได้เวลาอัปเกรดแล้ว!
ขั้นตอนที่ 5: รีเฟรชโมดูล
ฉันได้ลองทำตามคำแนะนำมากมายจากแหล่งต่างๆ (ส่วนใหญ่บ่งบอกว่าโมดูลมีพิน POWER_KEY เชื่อมต่อกับปุ่มออนบอร์ด แม้ว่าโมดูลของฉันจะขาดมัน) แต่วิธีเดียวที่ประสบความสำเร็จในการรีเฟรช SIM900A ฉันพบว่าตัวเองผ่านการลองผิดลองถูก
ฉันหวังว่าคุณจะทำตามขั้นตอนที่ 2 แล้วและรู้ทั้งอัตราบอดและขนาดแฟลชของโมดูลของคุณ
วิธีปลดล็อกโมดูล SIM900A เพื่อทำงานนอกเอเชีย:
- เชื่อมต่อพีซีของคุณกับ SIM900A ด้วยตัวแปลง USB-to-Serial - ฉันใช้ Arduino Uno ตัวเดียวกันกับชิปเนื่องจากมีอยู่แล้ว 3.3V ตลอด
- ตรวจสอบให้แน่ใจว่าโมดูลตอบสนองต่อคำสั่ง AT (โดยส่วนตัวแล้ว ฉันผสม RX และ TX ตลอดเวลา)
- ดาวน์โหลดไฟล์เก็บถาวรที่มีซอฟต์แวร์กะพริบ v1.9 และไฟล์เฟิร์มแวร์สำหรับทั้ง 32 และ 64Mb ฉันลองใช้เวอร์ชันที่เก่ากว่า (v. 1.01) ก่อน แต่ทุกความพยายามจบลงด้วยข้อผิดพลาด "Err 307 - Error during change baud rate" และไม่มีอะไรจะปรับแต่งที่นั่น
- เลือกเฟิร์มแวร์ตามขนาดแฟลชของคุณ (คุณจะไม่สามารถอัปโหลดเฟิร์มแวร์ที่ไม่ถูกต้องได้ ไม่ต้องกังวลเรื่องนั้น) และอัตราบอด (สำหรับโมดูลที่มีการตั้งค่าอัตราบอดอัตโนมัติ คุณสามารถเลือกค่าใดก็ได้จากเมนูแบบเลื่อนลง) สำคัญ: เลือกตัวเลือกทั้งหมด: อย่าตรวจสอบชื่อไฟล์ กู้คืนอย่างผิดปกติ และรีบูตอุปกรณ์!
- ถอดปลั๊กสายบวกออกจากโมดูล กด "เริ่มดาวน์โหลด" แล้วเสียบกลับเข้าไปใหม่
- เมื่อ 'รีเซ็ตโมดูลทันที โปรดรอ' ปรากฏขึ้น เชื่อมต่อสายกลับไปที่หน้าสัมผัส Vcc ของโมดูล การดำเนินการนี้อาจใช้เวลาสองสามครั้ง เนื่องจากบางครั้งโปรแกรมจะไม่รอให้โมดูลแสดงสัญญาณชีวิตใดๆ เลย ทำให้ไบต์กะพริบเป็นความว่างเปล่าอย่างมีความสุข เมื่อมันเกิดขึ้น ให้หยุดการอัปโหลด และทำซ้ำโดยเริ่มที่ขั้นตอนก่อนหน้า
- รอให้กระบวนการเสร็จสิ้น - จะใช้เวลาประมาณ 2 นาทีที่ 115200 บอด
- เสร็จแล้ว! หลังจากนั้นคุณจะต้องตัดกระแสไฟของโมดูลเพื่อรีสตาร์ทเท่านั้น
โมดูลของคุณควรเชื่อมต่อกับเครือข่ายและระบุตัวเองว่าเป็น SIM900 รุ่นอื่นในขณะนี้ คุณสามารถตรวจสอบได้ในเทอร์มินัลใดก็ได้!
ขั้นตอนที่ 6: ตรวจสอบส่วนที่ 2
นี่เป็นการสรุปส่วนหนึ่งของโครงการที่กำลังดำเนินการอยู่ของฉัน นอกจากนี้ยังมีส่วนที่ 2 ซึ่งฉันจะแสดงวิธีลงทะเบียนและใช้งาน Hologram SIM ของคุณ และแม้แต่เผยแพร่การอ่านเซ็นเซอร์บางส่วนไปยัง Thingspeak