সুচিপত্র:

সহজ Arduino LoRa যোগাযোগ (5km এর বেশি): 9 টি ধাপ
সহজ Arduino LoRa যোগাযোগ (5km এর বেশি): 9 টি ধাপ

ভিডিও: সহজ Arduino LoRa যোগাযোগ (5km এর বেশি): 9 টি ধাপ

ভিডিও: সহজ Arduino LoRa যোগাযোগ (5km এর বেশি): 9 টি ধাপ
ভিডিও: 10 Minute School #viral #shortvideo #trending #aymansadik #wedding #viralvideo #english 2024, নভেম্বর
Anonim
সহজ Arduino LoRa যোগাযোগ (5km এর বেশি)
সহজ Arduino LoRa যোগাযোগ (5km এর বেশি)

আমরা আমার লাইব্রেরি দিয়ে E32-TTL-100 পরীক্ষা করতে যাচ্ছি। এটি একটি ওয়্যারলেস ট্রান্সসিভার মডিউল, 410 441 MHz (বা 868MHz বা 915MHz) এ কাজ করে SEMTECH থেকে আসল RFIC SX1278 এর উপর ভিত্তি করে, স্বচ্ছ ট্রান্সমিশন পাওয়া যায়, TTL লেভেল। মডিউল LORA স্প্রেড বর্ণালী প্রযুক্তি গ্রহণ করে।

সরবরাহ

  • আরডুইনো ইউএনও
  • LoRa e32 ডিভাইস

চ্ছিক

  • Mischianti Arduino LoRa ieldাল (মুক্ত উৎস)
  • Mischianti WeMos LoRa ieldাল (মুক্ত উৎস)

ধাপ 1: ডিভাইসের স্পেস

মডিউলটিতে FEC ফরওয়ার্ড ত্রুটি সংশোধন অ্যালগরিদম রয়েছে, যা এর উচ্চ কোডিং দক্ষতা এবং ভাল সংশোধন কর্মক্ষমতা নিশ্চিত করে। হঠাৎ হস্তক্ষেপের ক্ষেত্রে, এটি স্বয়ংক্রিয়ভাবে হস্তক্ষেপিত ডেটা প্যাকেটগুলি সংশোধন করতে পারে, যাতে নির্ভরযোগ্যতা এবং ট্রান্সমিশন পরিসীমা সংশ্লিষ্টভাবে উন্নত হয়। কিন্তু এফইসি ছাড়া, সেই দা তে প্যাকেটগুলি কেবল বাদ দেওয়া যেতে পারে। এবং কঠোর এনক্রিপশন এবং ডিক্রিপশন দিয়ে, ডেটা ইন্টারসেপশন অর্থহীন হয়ে যায়। ডেটা সংকোচনের কার্যকারিতা ট্রান্সমিশন সময় এবং হস্তক্ষেপের সম্ভাবনা হ্রাস করতে পারে, যখন নির্ভরযোগ্যতা এবং সংক্রমণ দক্ষতা উন্নত করে।

  • মডিউল আকার: 21*36 মিমি
  • অ্যান্টেনা টাইপ: এসএমএ-কে (50Ω প্রতিবন্ধকতা)
  • ট্রান্সমিশন দূরত্ব: 3000 মি (সর্বোচ্চ)
  • সর্বোচ্চ শক্তি: 2dB (100mW)
  • বায়ু হার: 2.4Kbps (6 alচ্ছিক স্তর (0.3, 1.2, 2.4, 4.8, 9.6, 19.2kbps)
  • নির্গমন দৈর্ঘ্য: 512ByteReceive
  • দৈর্ঘ্য: 512 বাইট
  • যোগাযোগ ইন্টারফেস: UART - 8N1, 8E1, 8O1,
  • আট ধরণের UART বাড রেট, 1200 থেকে 115200bps (ডিফল্ট: 9600)
  • RSSI সমর্থন: না (অন্তর্নির্মিত বুদ্ধিমান প্রক্রিয়াকরণ)

ধাপ 2: ট্রান্সমিশন প্রকার

ট্রান্সমিশন টাইপ
ট্রান্সমিশন টাইপ

স্বচ্ছ ট্রান্সমিশন এটিকে "ডেমো মোড" এর মতো বিবেচনা করা যেতে পারে, ডিফল্টরূপে আপনি একই কনফিগার করা ঠিকানা এবং চ্যানেলের সমস্ত ডিভাইসে বার্তা পাঠাতে পারেন।

স্থির সংক্রমণ

এই ধরনের ট্রান্সমিশন আপনি একটি ঠিকানা এবং একটি চ্যানেল নির্দিষ্ট করতে পারেন যেখানে আপনি বার্তা পাঠাতে চান। আপনি একটিতে বার্তা পাঠাতে পারেন:

  • পূর্বনির্ধারিত ঠিকানা নিম্ন, ঠিকানা উচ্চ এবং চ্যানেল সহ নির্দিষ্ট ডিভাইস।
  • চ্যানেল ডিভাইসের একটি সেটে বার্তা সম্প্রচার করুন সাধারণ মোড কেবল বার্তা পাঠান।

ধাপ 3: ডিভাইস মোড

সাধারণ মোড সহজভাবে বার্তা পাঠান।

ওয়েক-আপ মোড এবং পাওয়ার-সেভিং মোড

যেমন আপনি ইচ্ছা করতে পারেন যদি কোনও ডিভাইস ওয়েক-আপ মোডে থাকে তবে একটি বা একাধিক ডিভাইস যা একটি প্রস্তাবিত যোগাযোগের সাথে পাওয়ার-সেভিং মোডে রয়েছে সেগুলিকে "জাগিয়ে তুলতে" পারে।

প্রোগ্রাম/স্লিপ মোড

এই কনফিগারেশনের মাধ্যমে আপনি আপনার ডিভাইসের কনফিগারেশন পরিবর্তন করতে পারেন।

ধাপ 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); প্রিন্ট প্যারামিটার (কনফিগারেশন); ResponseStructContainer cMi; cMi = e32ttl100.getModuleInformation (); // অন্য সব অপারেশনের পূর্বে তথ্য পয়েন্টার পাওয়া গুরুত্বপূর্ণ। Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); printModuleInformation (mi); }

ধাপ 6: কনফিগারেশনের ফলাফল

এবং ফলাফল হয়ে যায়

সফলতা শুরু করুন 1 ---------------------------------------- হেড বিন: 11000000 192 C0 অ্যাডএইচ BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433MHz SpeedParityBit BIN: 0 -> 8N1 (Default) SpeedUARTDataRate BIN: 11 -> 9600bps (default) SpeedAirDataRate BIN: 10 -> 2.4kbps (default) OptionTrans BIN: 0 - > ট্রান্সপারেন্ট ট্রান্সমিশন (ডিফল্ট) OptionPullup BIN: 1 -> TXD, RXD, AUX হল push -pulls/pull -ups OptionWakeup BIN: 0 -> 250ms (default) OptionFEC BIN: 1 -> Forward Error Correction Switch (Default) চালু করুন OptionPower BIN: 0-> 20dBm (ডিফল্ট) ---------------------------------------- সাফল্য 1 ---------------------------------------- হেড বিন: 11000011 195 C3 মডেল নং ।: 32 সংস্করণ: 44 বৈশিষ্ট্য: 14 ----------------------------------------

ধাপ 7: বার্তা পাঠান

বার্তা পাঠান
বার্তা পাঠান

চ্যানেলের সাথে সংযুক্ত সমস্ত ডিভাইসে একটি বার্তা পাঠানোর জন্য এখানে একটি সহজ স্কেচ

void loop () {// যদি কিছু পাওয়া যায় যদি (e32ttl100.available ()> 1) {// স্ট্রিং মেসেজ ResponseContainer rc = e32ttl100.receiveMessage () পড়ুন; // যদি কিছু ভুল হয়ে যায় প্রিন্ট ত্রুটি যদি (rc.status.code! = 1) {rc.status.getResponseDescription (); } অন্যথায় {// প্রাপ্ত তথ্য প্রিন্ট করুন Serial.println (rc.data); }} if (Serial.available ()) {String input = Serial.readString (); e32ttl100.sendMessage (ইনপুট); }}

ধাপ 8: Arduino জন্য elাল

Arduino জন্য elাল
Arduino জন্য elাল

আমি Arduino জন্য একটি ieldাল তৈরি করি যা প্রোটোটাইপিংয়ের জন্য খুব দরকারী হয়ে ওঠে।

এবং আমি এটিকে ওপেন সোর্স প্রকল্প হিসাবে এখানে প্রকাশ করছি

www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html

ধাপ 9: লাইব্রেরি

গ্রন্থাগার
গ্রন্থাগার

GitHub সংগ্রহস্থল

সাপোর্ট ফোরাম

অতিরিক্ত ডকুমেন্টেশন

প্রস্তাবিত: