สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ข้อกำหนดอุปกรณ์
- ขั้นตอนที่ 2: ประเภทการส่ง
- ขั้นตอนที่ 3: โหมดอุปกรณ์
- ขั้นตอนที่ 4: อุปกรณ์เดินสาย
- ขั้นตอนที่ 5: การกำหนดค่า
- ขั้นตอนที่ 6: ผลการกำหนดค่า
- ขั้นตอนที่ 7: ส่งข้อความ
- ขั้นตอนที่ 8: โล่สำหรับ Arduino
- ขั้นตอนที่ 9: ห้องสมุด
วีดีโอ: การสื่อสาร Arduino LoRa อย่างง่าย (มากกว่า 5 กม.): 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
เราจะทดสอบ E32-TTL-100 กับห้องสมุดของฉัน เป็นโมดูลตัวรับส่งสัญญาณไร้สาย ทำงานที่ 410 441 MHz (หรือ 868MHz หรือ 915MHz) ตาม RFIC SX1278 ดั้งเดิมจาก SEMTECH มีการส่งแบบโปร่งใส ระดับ TTL โมดูลนี้ใช้เทคโนโลยีการแพร่กระจายคลื่นความถี่ LORA
เสบียง
- Arduino UNO
- อุปกรณ์ LoRa e32
ไม่จำเป็น
- Mischianti Arduino LoRa shield (โอเพ่นซอร์ส)
- โล่ Mischianti WeMos LoRa (โอเพ่นซอร์ส)
ขั้นตอนที่ 1: ข้อกำหนดอุปกรณ์
โมดูลนี้มีอัลกอริธึมการแก้ไขข้อผิดพลาดไปข้างหน้าของ FEC ซึ่งรับประกันประสิทธิภาพการเข้ารหัสสูงและประสิทธิภาพการแก้ไขที่ดี ในกรณีที่เกิดการรบกวนอย่างกะทันหัน มันสามารถแก้ไขแพ็กเก็ตข้อมูลที่รบกวนโดยอัตโนมัติ เพื่อให้ความน่าเชื่อถือและช่วงการส่งข้อมูลดีขึ้นตามลำดับ แต่ถ้าไม่มี FEC แพ็กเก็ต da te เหล่านั้นสามารถทิ้งได้เท่านั้น และด้วยการเข้ารหัสและถอดรหัสที่เข้มงวด การสกัดกั้นข้อมูลจึงไม่มีประโยชน์ การทำงานของการบีบอัดข้อมูลสามารถลดเวลาการส่งและความน่าจะเป็นของการถูกรบกวน ในขณะเดียวกันก็ปรับปรุงความน่าเชื่อถือและประสิทธิภาพในการรับส่งข้อมูล
- ขนาดโมดูล: 21*36mm
- ประเภทเสาอากาศ: SMA-K (อิมพีแดนซ์ 50Ω)
- ระยะการส่ง: 3000m (สูงสุด)
- กำลังไฟสูงสุด: 2dB (100mW)
- อัตราค่าบริการอากาศ: 2.4Kbps (สามารถเลือกได้ 6 ระดับ (0.3, 1.2, 2.4, 4.8, 9.6, 19.2kbps)
- ความยาวการปล่อย: 512ByteReceive
- ความยาว: 512Byte
- อินเทอร์เฟซการสื่อสาร: UART – 8N1, 8E1, 8O1,
- UART baud Rate แปดชนิดจาก 1200 ถึง 115200bps (ค่าเริ่มต้น: 9600)
- รองรับ RSSI: ไม่ (การประมวลผลอัจฉริยะในตัว)
ขั้นตอนที่ 2: ประเภทการส่ง
การส่งแบบโปร่งใสนี่ถือได้ว่าเป็น "โหมดสาธิต" โดยค่าเริ่มต้น คุณสามารถส่งข้อความไปยังอุปกรณ์ทั้งหมดที่มีที่อยู่และช่องที่กำหนดค่าเดียวกันได้
เกียร์ธรรมดา
การส่งประเภทนี้ คุณสามารถระบุที่อยู่และช่องทางที่คุณต้องการส่งข้อความ คุณสามารถส่งข้อความไปที่:
- อุปกรณ์ที่ระบุด้วย Address Low, Address High และ Channel ที่กำหนดไว้ล่วงหน้า
- บรอดคาสต์ข้อความไปยังชุดอุปกรณ์ช่องสัญญาณ โหมดปกติ เพียงส่งข้อความ
ขั้นตอนที่ 3: โหมดอุปกรณ์
โหมดปกติเพียงส่งข้อความ
โหมดปลุกและโหมดประหยัดพลังงาน
ตามที่คุณตั้งใจได้หากอุปกรณ์อยู่ในโหมด Wake-up สามารถ "ปลุก" อุปกรณ์หนึ่งเครื่องขึ้นไปที่อยู่ในโหมดประหยัดพลังงานด้วยการสื่อสารแบบนำหน้า
โปรแกรม/โหมดสลีป
ด้วยการกำหนดค่านี้ คุณสามารถเปลี่ยนการกำหนดค่าอุปกรณ์ของคุณได้
ขั้นตอนที่ 4: อุปกรณ์เดินสาย
นี่คือสคีมาของการเชื่อมต่อของอุปกรณ์ นี่คือการเชื่อมต่ออย่างสมบูรณ์ ด้วยการจัดการพิน M0 และ M1 อนุญาตให้เปลี่ยนกิริยาของอุปกรณ์ ดังนั้นคุณสามารถสลับไปยังการกำหนดค่าหรือโหมดปลุกด้วยโปรแกรม ไลบรารีช่วยคุณได้ทั้งหมด การดำเนินการ.
ขั้นตอนที่ 5: การกำหนดค่า
มีคำสั่งที่ระบุเพื่อตั้งค่าและรับการกำหนดค่า
การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); ล่าช้า (500); // เริ่มต้นพินทั้งหมดและ UART e32ttl100.begin(); ResponseStructContainer ค; c = e32ttl100.getConfiguration(); // สิ่งสำคัญคือต้องได้รับตัวชี้การกำหนดค่าก่อนการดำเนินการอื่นๆ การกำหนดค่าการกำหนดค่า = *(การกำหนดค่า*) c.data; Serial.println(c.status.getResponseDescription()); Serial.println (c.status.code); printParameters (การกำหนดค่า); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // การรับตัวชี้ข้อมูลเป็นสิ่งสำคัญก่อนการดำเนินการอื่น ๆ ทั้งหมด ModuleInformation mi = *(ModuleInformation*)cMi.data; Serial.println(cMi.status.getResponseDescription()); Serial.println (cMi.status.code); printModuleInformation(ไมล์); }
ขั้นตอนที่ 6: ผลการกำหนดค่า
และผลลัพธ์ก็กลายเป็น
Begin Success 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (ค่าเริ่มต้น) SpeedUARTDataRate BIN: 11 -> 9600bps (ค่าเริ่มต้น) SpeedAirDataRate BIN: 10 -> 2.4kbps (ค่าเริ่มต้น) OptionTrans BIN: 0 - > การส่งแบบโปร่งใส (ค่าเริ่มต้น) OptionPullup BIN: 1 -> TXD, RXD, AUX เป็น push-pulls/pull-ups OptionWakeup BIN: 0 -> 250ms (ค่าเริ่มต้น) OptionFEC BIN: 1 -> เปิดสวิตช์แก้ไขข้อผิดพลาดไปข้างหน้า (ค่าเริ่มต้น) OptionPower BIN: 0 -> 20dBm (ค่าเริ่มต้น) ---------------------------------------- สำเร็จ 1 ---------------------------------------- HEAD BIN: 11000011 195 C3 Model no.: 32 เวอร์ชัน: 44 คุณสมบัติ: 14 ----------------------------------------
ขั้นตอนที่ 7: ส่งข้อความ
นี่คือภาพร่างง่ายๆ ในการส่งข้อความไปยังทุกอุปกรณ์ที่เชื่อมต่อกับช่อง
วงเป็นโมฆะ () (// หากมีบางสิ่งที่สามารถใช้ได้หาก (e32ttl100.available ()>1) { // อ่านข้อความสตริง ResponseContainer rc = e32ttl100.receiveMessage (); // เกิดข้อผิดพลาดในการพิมพ์หรือไม่ ถ้า (rc.status.code!=1) { rc.status.getResponseDescription(); }อื่น{ // พิมพ์ข้อมูลที่ได้รับ Serial.println(rc.data); } } if (Serial.available ()) { อินพุตสตริง = Serial.readString (); e32ttl100.sendMessage (อินพุต); } }
ขั้นตอนที่ 8: โล่สำหรับ Arduino
ฉันสร้างเกราะป้องกันสำหรับ Arduino ที่มีประโยชน์มากสำหรับการสร้างต้นแบบ
และฉันปล่อยมันเป็นโครงการโอเพ่นซอร์สที่นี่
www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html
ขั้นตอนที่ 9: ห้องสมุด
ที่เก็บ GitHub
ฟอรั่มสนับสนุน
เอกสารเพิ่มเติม
แนะนำ:
การสื่อสาร Modbus TCP ระหว่าง Arduino และอุปกรณ์อุตสาหกรรม: 3 ขั้นตอน
การสื่อสาร Modbus TCP ระหว่าง Arduino และอุปกรณ์อุตสาหกรรม: วิธีอุตสาหกรรมในการควบคุมบอร์ด Arduino ด้วย HMI อุตสาหกรรมและเชื่อมโยงไปยังเครือข่ายอุตสาหกรรมด้วยการสื่อสาร Modbus TCP
การสื่อสาร Arduino กับโหนด: 4 ขั้นตอน
Arduino to Node Communication: คำแนะนำนี้มีไว้เพื่อการสาธิตขั้นพื้นฐานเกี่ยวกับวิธีส่งและรับข้อมูลผ่าน UART (Serial) ระหว่างบอร์ดที่เข้ากันได้กับ Arduino สองบอร์ด
การสื่อสาร ESP-NOW Control Remoto De Vehículo, Joystick, Arduino Wemos.: 28 ขั้นตอน
การสื่อสาร ESP-NOW Control Remoto De Vehículo, Joystick, Arduino Wemos.: Todo parte de la idea de poder mover una silla de ruedas para personal discapacitado ผ่านทาง remota y poder acompañarlos sin necesidad de empujar la misma. ตัวอย่างจาก funcionamiento เขาสร้าง este proyecto เบื้องหลัง se pueden cambiar los cir
การสื่อสาร Arduino กับ Laravel: 4 ขั้นตอน
การสื่อสาร Arduino กับ Laravel: สวัสดีทุกคน ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถส่งข้อมูลจาก Arduino ไปยังแอปพลิเคชัน Laravel ได้อย่างไร
การสื่อสาร LoRa ESP8266 และวิทยุ RFM95: 9 ขั้นตอน
การสื่อสาร LoRa ESP8266 และวิทยุ RFM95: หนึ่งในเทคโนโลยีที่มีชื่อมากที่สุดที่จะนำไปใช้กับอินเทอร์เน็ตของสรรพสิ่ง ซึ่งมีคุณสมบัติที่โดดเด่นมากในการสื่อสารทางไกลและพลังงานต่ำที่สะท้อนให้เห็นในการบริโภคที่ต่ำ LoRa "Lo ng - Ra nge" ประเภทของการปรับฮา