فهرست مطالب:

مکالمه ساده آردوینو LoRa (بیش از 5 کیلومتر): 9 مرحله
مکالمه ساده آردوینو LoRa (بیش از 5 کیلومتر): 9 مرحله

تصویری: مکالمه ساده آردوینو LoRa (بیش از 5 کیلومتر): 9 مرحله

تصویری: مکالمه ساده آردوینو LoRa (بیش از 5 کیلومتر): 9 مرحله
تصویری: کارآمدترین روش یادگیری مکالمه انگلیسی بدون نیاز به کلاس در 1 ماه | تضمینی 2024, جولای
Anonim
مکالمه ساده آردوینو LoRa (بیش از 5 کیلومتر)
مکالمه ساده آردوینو LoRa (بیش از 5 کیلومتر)

ما قصد داریم E32-TTL-100 را با کتابخانه ام آزمایش کنیم. این یک ماژول فرستنده بی سیم است ، با سرعت 410 441 مگاهرتز (یا 868 مگاهرتز یا 915 مگاهرتز) بر اساس RFIC SX1278 اصلی از SEMTECH کار می کند ، انتقال شفاف در دسترس است ، سطح TTL. این ماژول از فناوری طیف گسترده LORA استفاده می کند.

تدارکات

  • آردوینو UNO
  • دستگاه های LoRa e32

اختیاری

  • سپر Mischianti Arduino LoRa (منبع باز)
  • سپر Mischianti WeMos LoRa (منبع باز)

مرحله 1: مشخصات دستگاه ها

این ماژول دارای الگوریتم FEC Forward Error Correct است که کارایی بالای کدگذاری و عملکرد تصحیح خوب آن را تضمین می کند. در صورت تداخل ناگهانی ، می تواند بسته های داده تداخلی را به طور خودکار تصحیح کند ، به طوری که قابلیت اطمینان و محدوده انتقال به ترتیب بهبود می یابد. اما بدون FEC ، بسته های da te فقط قابل حذف هستند. و با رمزگذاری و رمزگشایی دقیق ، رهگیری داده ها بی معنی می شود. عملکرد فشرده سازی داده ها می تواند زمان انتقال و احتمال تداخل را کاهش دهد ، در حالی که قابلیت اطمینان و کارایی انتقال را افزایش می دهد.

  • اندازه ماژول: 21*36 میلی متر
  • نوع آنتن: SMA-K (امپدانس 50Ω)
  • فاصله انتقال: 3000 متر (حداکثر)
  • حداکثر قدرت: 2dB (100mW)
  • نرخ هوا: 2.4 کیلوبیت بر ثانیه (6 سطح اختیاری (0.3 ، 1.2 ، 2.4 ، 4.8 ، 9.6 ، 19.2 کیلوبیت بر ثانیه)
  • طول انتشار: 512ByteReceive
  • طول: 512 بیت
  • رابط ارتباطی: UART - 8N1 ، 8E1 ، 8O1 ،
  • هشت نوع سرعت UART ، از 1200 تا 115200bps (به طور پیش فرض: 9600)
  • پشتیبانی RSSI: ندارد (پردازش هوشمند داخلی)

مرحله 2: نوع انتقال

نوع انتقال
نوع انتقال

انتقال شفاف این را می توان مانند "حالت نمایشی" در نظر گرفت ، به طور پیش فرض می توانید پیام را به تمام دستگاه های آدرس و کانال پیکربندی شده یکسان ارسال کنید.

انتقال ثابت

در این نوع انتقال می توانید آدرس و کانالی را مشخص کنید که در آن می خواهید پیام را ارسال کنید. می توانید به آیدی زیر پیام ارسال کنید:

  • دستگاه مشخص شده با آدرس از پیش تعیین شده کم ، آدرس بالا و کانال.
  • پخش پیام به مجموعه ای از دستگاه های کانال حالت عادی به سادگی پیام ارسال کنید.

مرحله 3: حالت دستگاه

حالت عادی فقط پیام ارسال کنید

حالت بیداری و حالت صرفه جویی در مصرف برق

همانطور که می دانید اگر دستگاهی در حالت بیداری باشد می تواند یک یا چند دستگاه را که در حالت صرفه جویی در مصرف برق هستند با یک ارتباط مقدماتی "بیدار" کند.

برنامه/حالت خواب

با این پیکربندی می توانید پیکربندی دستگاه خود را تغییر دهید.

مرحله 4: دستگاه سیم کشی

دستگاه سیم کشی
دستگاه سیم کشی
دستگاه سیم کشی
دستگاه سیم کشی

در اینجا طرح اتصال دستگاه ، این کاملاً متصل است ، با مدیریت پین M0 و M1 اجازه تغییر حالت دستگاه را می دهد ، بنابراین می توانید با برنامه به حالت پیکربندی یا حالت بیدار شدن بروید ، کتابخانه در همه این موارد به شما کمک می کند عمل.

مرحله 5: پیکربندی

پیکربندی
پیکربندی

برای تنظیم و دریافت پیکربندی ، یک دستور مشخص وجود دارد

void setup () {Serial.begin (9600)؛ تأخیر (500) ؛ // راه اندازی همه پین ها و UART e32ttl100.begin ()؛ ResponseStructContainer c؛ 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 (mi) ؛ }

مرحله 6: نتیجه پیکربندی

و نتیجه می شود

شروع موفقیت 1 ---------------------------------------- HEAD BIN: 11000000 192 C0 AddH BIN: 0 AddL BIN: 0 Chan BIN: 23 -> 433 مگاهرتز 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 (default) OptionFEC BIN: 1 -> Turn Forward Error Correct Switch (Default) OptionPower BIN: 0-> 20dBm (به طور پیش فرض) -------------------------------------------- موفقیت 1 ---------------------------------------- HEAD BIN: 11000011 195 C3 شماره مدل.: 32 نسخه: 44 ویژگی ها: 14 --------------------------------------------

مرحله 7: ارسال پیام

پیام فرستادن
پیام فرستادن

در اینجا یک طرح ساده برای ارسال پیام به همه دستگاه های متصل به کانال وجود دارد

void loop () {// اگر چیزی در دسترس باشد اگر (e32ttl100.available ()> 1) {// پیام رشته را بخوانید ResponseContainer rc = e32ttl100.receiveMessage ()؛ // آیا مشکلی پیش می آید اگر (rc.status.code! = 1) {rc.status.getResponseDescription ()؛ } else {// چاپ داده های دریافت شده Serial.println (rc.data)؛ }} if (Serial.available ()) {String input = Serial.readString ()؛ e32ttl100.sendMessage (ورودی) ؛ }}

مرحله 8: سپر برای آردوینو

سپر برای آردوینو
سپر برای آردوینو

همچنین یک سپر برای آردوینو ایجاد می کنم که برای نمونه سازی بسیار مفید است.

و من آن را به عنوان پروژه منبع باز در اینجا منتشر می کنم

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

مرحله نهم: کتابخانه

کتابخانه
کتابخانه

مخزن GitHub

انجمن پشتیبانی

مستندات اضافی

توصیه شده: