Haberler

LR ve LoRaWAN arasındaki fark nedir?

Seeed Studio’da, birçok LoRa ve LoRaWAN ürünümüz var. Bugünkü blogda, LoRa ve LoRaWAN hakkında derinlemesine bir inceleme yapacağız.

  1. LoRa ve LoRaWAN nedir?
    1. LoRa ve LoRaWAN arasındaki farklar
    2. LoRa Yayılma Spektrumu Teknolojisi Tanıtımı
      1. Yayılma spektrumu nedir
      2. Yayılma spektrumu teknolojisinin kullanımı
      3. Yayılma spektrumu teknolojisinin ortak terimlerine giriş
    3. LoRaWAN çerçeve yapısı
    4. Donanım Çözümü Tanıtımı
      1. Terminal ekipman çözümü
      2. Ağ geçidi çözümü
  2. LoRaWAN ağ mimarisi
  3. LoRaWAN terminal ekipman sınıflandırması
  4. LoRaWAN terminal ekipmanının ağa erişimi
    1. OTAA (Over-The-Air Activation)
    2. ABP (Activation by Personalization)
  5. LoRaWAN terminal ekipmanının veri iletimi
    1. Veri yukarı akış ve aşağı akış tanıtımı
    2. Veri iletiminin temel kuralları
  6. ADR mekanizmasına giriş
    1. ADR nedir
    2. ADR’nin kullanımı nedir
    3. ADR nasıl çalışır
  7. CAD mekanizmasına giriş
    1. Hava uyandırma teknolojisi
    2. CAD nasıl çalışır
      1. CAD iş akışı
      2. CAD döngü hesaplaması
      3. Ön ek zaman hesaplaması
  8. MAC komutlarına giriş

1.1 LoRa ve LoRaWAN arasındaki farklar

LoRa, düşük güçlü geniş alan ağı iletişim teknolojilerinden biridir ve Semtech’in yayılma spektrumu teknolojisine dayanan özel ultra uzun mesafe kablosuz iletim teknolojisidir. LoRaWAN, LR uzun mesafe iletişim ağları için tasarlanmış bir dizi iletişim protokolü ve sistem mimarisidir. Bu, bir medya erişim kontrolü (MAC) katmanı protokolüdür.

    LoRa = PHY Katmanı

    LoRaWAN = MAC Katmanı

1.2 LR Yayılma Spektrumu Teknolojisi Tanıtımı

1.2.1 Yayılma Spektrumu nedir

Temel bant sinyali, daha yüksek frekanslı bir sinyal enjekte edilerek daha geniş bir frekans bandına genişletilir. Temel özelliği, bilgi iletimi için kullanılan sinyalin bant genişliğinin, bilginin kendisinin bant genişliğinden çok daha büyük olmasıdır.

1.2.2 Yayılma spektrumu teknolojisinin kullanımı

Shannon’un formülüne göre: C = B × log2 (1 + S / N). Bu formülde, C, bit başına saniye (bps) cinsinden kanal kapasitesidir ve teorik olarak kabul edilebilir bit hata oranı (BER) altında izin verilen maksimum veri hızıdır; B, gereken kanal bant genişliğidir (Hz cinsinden); S / N, sinyal-gürültü güç oranıdır. C, iletişim kanalının izin verdiği bilgi miktarını temsil eder ve aynı zamanda istenen performansı temsil eder. Yukarıdaki formülden görülebileceği gibi, sinyal bant genişliğini (B) artırarak, iletişim performansı (C) korunabilir veya artırılabilir ve hatta sinyal gücü gürültü tabanından daha düşük olabilir (güçlü anti-parazit, daha uzak iletim olarak temsil edilir).

1.2.3 Yayılma spektrumu teknolojisinin ortak terimlerine giriş

Bant Genişliği

Her kanalın üst frekansı ile alt frekansı arasındaki fark. BW’yi artırmak, etkili veri hızını artırarak iletim süresini kısaltabilir, ancak kısmi kabul hassasiyetinin bedeliyle. Bant genişliğini artırmak neden sinyal hassasiyetini feda eder?

SNR

Sinyal-gürültü oranı, ölçüm birimi dB’dir ve hesaplama yöntemi 10lg (PS / PN) şeklindedir. Hesaplama formülüne göre, SNR 0’dan küçük olduğunda, sinyal gücü gürültü gücünden daha azdır ve SNR 0’dan büyük olduğunda, sinyal gücü gürültü gücünden daha fazladır.

RSSI

RSSI, alım hassasiyetinin kısaltmasıdır (dBm cinsinden). Saf bir ortamda, RSSI değeri ile mesafe arasında doğrusal olmayan bir eğri vardır, bu nedenle sürüş testleri sırasında belirli bir mesafe içindeki RSSI değeri referans değeri taşır ve mesafe aşıldığında temel olarak referans değeri yoktur.

SF

Yayılma spektrumu modülasyon teknolojisi, yük bilgisi her bir bitini temsil etmek için birden fazla bilgi çipi kullanır. Yayılma spektrumu bilgisinin iletim hızı sembol hızı (Rs) olarak adlandırılır ve çip hızı ile nominal sembol hızı arasındaki oran yayılma faktörüdür; bu, her bilgi biti başına gönderilen sembol sayısını temsil eder. Rs = BW / 2 ^ SF.

CR

Kodlama oranı, veri akışındaki yararlı parçaların oranıdır. Kodlama oranı k / n ise, her k bit yararlı bilgi için, kodlayıcı toplamda n bit veri üretir; burada n-k, fazladır. LR, ileri hata tespiti ve düzeltme için döngüsel hata düzeltme kodlaması kullanır.

EIRP (Effective Isotropic Radiated Power)

Etkin çok yönlü radyasyon gücü. LR’de, her bölgede belirtilen maksimum EIRP değeri farklıdır, EIRP = P (LR çip iletim gücü) + G (antenna kazancı) – Kayıp (kayıp).

  1.3 LoRaWAN çerçeve yapısı

LoRa’nın iki paket formatı vardır, açık mod ve görünmez mod. Dominant modda bir Başlık kısmı vardır, ancak görünmez modda yoktur.

Ön ek: alıcının gelen veri akışıyla senkronize kalmasını sağlamak için kullanılır. Varsayılan olarak 12 sembol uzunluğundadır ve LoRaWAN’da 8 sembol uzunluğu kullanılır. Ön ek uzunluğu, programlama ile ayarlanabilen bir değişkendir, bu nedenle ön ek uzunluğu uzatılabilir. Alıcının ön ek uzunluğu, vericinin ön ek uzunluğu ile aynı olmalıdır. Ön ek uzunluğu bilinmiyorsa veya değişebilir durumdaysa, alıcının ön ek uzunluğu maksimum değere ayarlanmalıdır. Paket iletişimini sağlamak için ön ek değeri ayarlanarak adres filtrelemesi yapılabilir.

Başlık: yük içindeki byte sayısı, kodlama oranı ve yük CRC’sinin etkinleştirilip etkinleştirilmeyeceği gibi bilgileri içerir. Dominant mod, LoRaWAN’da kullanılır. Gizli modda, bu üç içerik iletişimin her iki ucunda manuel olarak yapılandırılmalıdır.

Yük: Gerçekten gönderilen veridir.

Yük CRC: Yükün CRC kontrolü, 2 byte.

Not: Onaylı tipte bir mesaj alındığında, alıcı, onay bitini ayarlanmış bir mesajla yanıt vermelidir (ACK 1’e ayarlanmış). Gönderen bir terminal ise, ağ, terminal tarafından açılan alım penceresine onay mesajı gönderir. Gönderen bir ağ geçidi ise, onay mesajının gönderilmesi terminalin kendisi tarafından belirlenir.

Not: Çerçeve askıya alma durumu (FPending): yalnızca aşağı yönlü etkileşimde kullanılır ve ağ geçidinin hala teslim edilmesi beklenen verileri olduğunu belirtir. Bu durumda, terminalin mümkün olan en kısa sürede bir yukarı akış mesajı göndermesi gerekmektedir, böylece veri almak için alım penceresini açar.

FPort: 0, FRMPayload’da yalnızca MAC komutu olduğunu gösterir. 1 … 223 (0x01 … 0xDF) aralığındaki FPort, uygulama tarafından belirlenir; FPort = 224, özellikle LoRaWAN Mac katmanı test protokolü hizmeti içindir.

1.4 Donanım Çözümünün Tanıtımı

1.4.1 Terminal Ekipman Çözümü

Şekilden görülebileceği gibi, sx1276 fonksiyonu ve frekans bandı kapsama alanı en kapsamlı olanıdır. Avrupa standartlarına, Amerikan standartlarına, Çin standartlarına ve uluslararası standart pazarlarına hedef alabilir. Şu anda, sx1278 genellikle Çin’de kullanılmaktadır.

SX1276 / 77/78, üç farklı RF güç amplifikatörü ile donatılmıştır. Bunlardan ikisi sırasıyla RFO_LF ve RFO_HF pinlerine bağlıdır ve +14dBm’ye kadar güç amplifikasyon işlevini gerçekleştirebilir. Üçüncü güç amplifikatörü, PA_BOOST pinine bağlıdır ve özel bir eşleme ağı aracılığıyla +20dBm’ye kadar güç amplifikasyonu sağlar.

RFO_LF, esasen LF frekans bandına (düşük frekans bantları 169M ve 433M, 470M) yöneliktir, RFO_HF ise esasen yüksek frekans bandına (868M-915M) yöneliktir ve PA_BOOST tüm frekans bantlarını kapsayabilir. Genel olarak, PA_BOOST pini şimdi +20dBM iletim gücünü sağlamak için tasarlanmıştır.

SPI iletişimi 10M’ye kadar ulaşabilir. Genel olarak, LoraWAN, SPI iletişim süresinin göz ardı edilebilmesi için 10M gerektirir.

1.4.2 Geçit Çözümü

Geçit, SX1301 + SX1255 / 57 şemasını benimsemektedir.

SX125X, I / Q (In-phase / Quadrature, fazda dikdörtgen dijital sinyal) ve radyo analog sinyalleri arasındaki dönüşümden sorumlu olan bir radyo frekansı ön uç çipidir. 1255’in desteklediği frekans bandı 400 ~ 510M, 1257’nin desteklediği frekans bandı ise 862 ~ 1020M’dir.

SX1301, 2 MCU ve ASIC (Uygulamaya Özel Entegre Devre) ile oluşmaktadır. Ana bileşenler şunlardır:

Radyo frekansı MCU: MCU, iki SX125x ile SPI veriyolu üzerinden bağlantılıdır ve esasen gerçek zamanlı otomatik kazanç kontrolü, radyo frekansı kalibrasyonu ve verici-alıcı geçişinden sorumludur.

Veri MCU: MCU, 8 LR modemini birden fazla kanala tahsis etmekten sorumludur. Veri paketlerini arbitre etme mekanizması, hız, kanal, radyo frekansı ve sinyal gücünü içerir.

IF0 ~ IF7 kanalları: bant genişlikleri 125kHz olarak sabitlenmiştir ve her kanal için merkez frekansı ayarlanabilir, her kanal 6 hızda SF7 ~ SF12 ile LR sinyallerini alabilir. Teorik olarak, 6 * 8 = 48 terminalin uplink verilerini aynı anda işleyebilir, ancak yalnızca 8 LR demodülatörü vardır, bu nedenle bir kanal (IF0 ~ IF7) 6 ortogonal veri paketini alır ve demodülatör yalnızca birini işlemekten sorumludur.

IF8 kanalı: bant genişliği 125/250 / 500kHz’yi destekler, baz istasyonları arasında yüksek hızlı iletişim için kullanılır.

IF9 kanalı: (G) FSK sinyalini iletmek ve almak için kullanılır, LoRaWAN bu kanalı Avrupa’da kullanmaktadır.

1. LoRaWAN Ağ Mimarisi

LoRaWAN ağ varlığı dört parçaya ayrılmıştır: uç düğümler, geçitler, LoRaWAN sunucuları ve kullanıcı sunucuları.

Uç Düğüm: Uç düğümler genellikle her türlü sensördür, veri toplama ve anahtar kontrolü yaparlar.

Geçit: LR geçidi, toplanan düğüm verilerini kapsülleyip ileten birimdir.

Ağ Sunucusu: Yukarı ve aşağı akış veri paketlerinin bütünlüğünden sorumludur.

Uygulama Sunucusu: OTAA cihazlarının ağ aktivasyonundan ve uygulama verilerinin şifrelenmesi ve şifre çözülmesinden sorumludur.

Müşteri Sunucusu: AS’den düğümden veri alır, iş mantığı işlemesi yapar ve AS tarafından sağlanan API arayüzü aracılığıyla düğüme veri gönderir.

2. LoRaWAN Terminal Ekipman Sınıflandırması

Protokole göre, Class A / B / C terminal cihazları bulunmaktadır ve bunlar temel olarak Nesnelerin İnterneti’nin tüm uygulama senaryolarını kapsamaktadır. CLASSA / B / C’nin uygulama ve farklılıkları aşağıdaki tabloda görülebilir.

3. LoRaWAN Terminal Ekipmanının Ağa Erişimi

  3.1 OTAA(Hava Üzerinden Aktivasyon)

  • DevEUI (cihazın benzersiz tanımlayıcısı, Sunucu ve Düğüm tarafından önceden depolanır)
  • AppEUI (uygulamanın benzersiz tanımlayıcısı, Sunucu ve Düğüm tarafından önceden depolanır)
  • AppKey (Sunucu ve Düğüm tarafından önceden depolanmalıdır, join_accept mesajını şifrelemek ve şifre çözmek için kullanılır ve düğüm AppSKey ve NwkSKey oluşturmak için kullanılır)
  • DevNonce (LR çipinin RSSI rastgele değerinden elde edilebilir)
  • NetID’nin en az 7 anlamlı biti NwkID olarak adlandırılır, bu da DevAddr’ın (terminal kısa adresi) en anlamlı 7 bitidir. Komşu veya örtüşen alanlara sahip ağların NwkID’leri aynı olamaz. Kalan 17 en anlamlı bit, ağ operatörü tarafından serbestçe tahsis edilir.

Gelen paket formatı

Gelen paket formatı

  • DevAddr: Cihazın kısa adresi, IP adresine benzer.
  • DLSettings: Alt 4 bit RX2’nin hızını, üst 4 bit ise RX1’in hız kaymasını gösterir.
  • RxDelay: Gönderim tamamlandıktan sonra RX1 penceresinin açılma süresini ayarlar.
  • CFList: Sunucu, terminale kanal listesini getirir. Her kanal üç bayt kaplar ve en fazla 5 kanal gönderilebilir.

  3.2 ABP(Kişiselleştirme ile Aktivasyon)

Bu yöntem oldukça basittir. DevAddr, NwkSKey ve AppSKey’yi doğrudan yapılandırın. LoRaWAN’ın son iletişimi için bu üç parametre artık katılma sürecini gerektirmez. Bu durumda, cihaz doğrudan uygulama verilerini gönderebilir.

4. LoRaWAN Terminal Ekipmanının Veri İletimi

  4.1 Veri Yukarı ve Aşağı Akışının Tanıtımı

Bu, Class A uplink ve downlink için zamanlama diyagramıdır. Şu anda, alım penceresi RX1 genellikle uplink’ten 1 saniye sonra başlar ve alım penceresi RX2 uplink’ten 2 saniye sonra başlar.

Class C ve A temelde aynıdır, tek fark, Class A’nın uyku sırasında RX2 alım penceresini açmış olmasıdır.

Class B zaman dilimi daha karmaşıktır, bir senkronizasyon zaman dilimi işareti ve sabit bir alım penceresi ping zaman dilimi vardır. Bu örnekte, işaret periyodu 128 saniye ve ping periyodu 32 saniyedir.

“`html

  • Ekran eklendikten sonra, uygulama verileri şifrelenir.
  • LoRaWAN, iki tür veri çerçevesi olduğunu belirtir: Onaylı veya Onaysız, yani yanıt türü ve yanıt türü. Üretici, uygulama ihtiyaçlarına göre uygun türü seçebilir.
  • Ayrıca, girişten de görebileceğiniz gibi, LoRaWAN tasarımının başlangıcındaki önemli bir husus, uygulama çeşitliliğini desteklemektir. Uygulamaları ayırmak için AppEUI kullanmanın yanı sıra, veri iletiminde FPort uygulama portunu kullanarak verileri ayrı ayrı işleyebilirsiniz. FPort’un değer aralığı (1 ~ 223) uygulama katmanı tarafından belirlenmiştir.

4.2 Veri iletiminin temel kuralları

Kanal değiştirme Terminal düğümü, her veri paketi gönderdiğinde kanalı rastgele değiştirir. Kanal değiştirme, ortak kanal parazitini ve kablosuz sinyal zayıflamasını etkili bir şekilde azaltabilir.

Görev Döngüsü (DutyCycle) Farklı ülkelerde ve bölgelerde, ISM bandında, her kablosuz cihaz için izin verilen maksimum iletim görevi sınırlıdır. Bu, adalet sağlamak ve kanalların yasadışı işgalini önlemek içindir. Avrupa örneğini alırsak, DutyCycle = %1, eğer bir cihazın iletim süresi 1s ise, sonraki 99s boyunca kablosuz sinyalleri iletemez (ancak alınabilir).

DwellTime: Bu limit esasen Kuzey Amerika’dadır. ISM bandında, bir radyo cihazı her 0.4s’de kanalları değiştirmelidir. Bu, kanal kullanımını sağlamak ve parazit önleme yeteneklerini artırmak için yapılır. Örneğin, bir cihazın iletim süresi 1s ise, lansman görevini tamamlamak için 3 kez ayarlanmalıdır.

5. ADR mekanizmasının tanıtımı

5.1 ADR nedir

LR ağı, terminal cihazlarının mevcut tüm veri hızlarını birer birer kullanmasına izin verir. LoRaWAN protokolü, bu özelliğe göre statik terminalin veri hızını ayarlayıp optimize eder, buna veri hızı adaptasyonu (ADR) denir.

5.2 ADR’nin kullanımı nedir

ADR mevcut olduğunda, ağ hızı optimize eder, böylece kullandığı veri hızı mümkün olduğunca hızlı olur. Bu, terminalin pil ömrünü uzatabilir ve ağ bant genişliğinden tam olarak yararlanabilir.

5.3 ADR nasıl çalışır

Eğer terminalin veri hızı, ağ optimizasyonundan sonra minimum hızdan yüksekse, o zaman düğüm, sunucunun hala yüklenen verileri alıp almadığını kontrol etmek için periyodik olarak kontrol etmelidir.

Her terminalin yukarı akış çerçeve sayacı arttığında (sayacı yeniden iletim sırasında artmaz), cihazın ADR_ACK_CNT sayacı da artar. Eğer ADR_ACK_LIMIT (ADR_ACK_CNT >= ADR_ACK_LIMIT) ikinci yukarı akıştan sonra bir aşağı akış yanıtı almazsa, ADR isteği yanıt bit’i ayarlanır (ADRACKReq’i 1 olarak ayarla). Bu durumda, ağın bir sonraki ADR_ACK_DELAY yukarı akışında yanıt vermesi gerekmektedir. Herhangi bir yukarı akıştan sonra aşağı akış verilerini aldıktan sonra, düğüm ADR_ACK_CNT sayacını sıfırlar. Bu süre zarfında, aşağı akış verileri ACK bitini ayarlamaya gerek yoktur, çünkü terminal, alım beklerken herhangi bir yanıt alır, bu da ağ geçidinin cihazdan yukarı akış verilerini alabileceği anlamına gelir. Eğer bir sonraki ADR_ACK_DELAY süresince yanıt alınmazsa (örneğin: toplam iletim sayısı ADR_ACK_LIMIT + ADR_ACK_DELAY), daha düşük bir veri hızına geçerek daha uzun RF iletim mesafesi elde edilir ve yukarıdaki işlem tekrarlanır. Terminal cihazı her ADR_ACK_DELAY’ye ulaştığında, veri hızını tekrar azaltacaktır. Eğer cihaz varsayılan veri hızını kullanıyorsa, ADRACKReq artık ayarlanmamaktadır. Bu durumda, iletim mesafesi zaten maksimumdur ve herhangi bir işlem iyileştirilmeyecektir.

6. CAD mekanizmasının tanıtımı

6.1 Hava uyanma teknolojisi

Kablosuz sensör ağlarının tasarımında, çoğu kablosuz alıcı-verici düğümü genellikle düşük güç tüketimi gerektirir. Güç tüketimini azaltmak için, gereksiz çalışma süresini azaltmak gerekir. Çoğu IoT uygulamasında, radyo frekansı kablosuz iletişim sırasında çoğu zaman alım durumundadır, bu da ana enerji tüketimidir. Tüm kablosuz ağda veri miktarı az olduğunda, düğüm her an veri almak için hazır olmalıdır. İdeal durum, veri alacak bir şey olduğunda düğümün alım durumunda olması ve bilgi alacak bir şey olmadığında düğümün uyku durumunda olmasıdır, bu da hava uyanma teknolojisini gerektirir.

Fenomen açısından bakıldığında, verici alıcıyı uykudan uyandırıyormuş gibi görünse de, durum böyle değildir. Aslında, alıcı periyodik olarak hava içinde bir çağrı sinyali olup olmadığını kontrol etmek için uyanır, eğer yoksa, uyumaya devam eder; eğer varsa, alım durumuna uyanır. Bu nedenle, hava içinde çağrı sinyali yoksa, alıcının ortalama güç tüketimi daha düşüktür.

Peki çağrı sinyalini nasıl buluruz, geleneksel yöntem, RSSI eşiği belirleyerek yargılamaktır, yalnızca sinyal gücü yeterli olduğunda etkili kabul edilir ve düğümü uyandırır, aksi takdirde tam tersi. Yayılma spektrumu modülasyon teknolojisinin uygulanmasıyla, insanların alıcının gürültü tabanının altında olabilecek bir sinyalin zaten bir kanal kullanıp kullanmadığını belirlemede birçok zorlukla karşılaştığı durumlar ortaya çıkmaktadır. Bu durumda, RSSI kullanmak kesinlikle işe yaramaz. Bu sorunu çözmek için, bir kanal aktivite dedektörü kullanılarak sinyal tespit edilebilir.

6.2 CAD nasıl çalışır

6.2.1 CAD iş akışı

Slave’in frekansını ve yayılma faktörünü ayarlayın ve CAD modunu açın. Uygun (aynı frekans ve yayılma faktörü) bir sinyal geldiğinde, bir CADDetect kesmesi oluşturulacak ve CADDone da oluşturulacaktır (bir sinyal gelip gelmediğine bakılmaksızın CADDone kesmesi oluşturulacaktır). Eğer CADDetect kesmesi algılanırsa, alınacak bir sinyal olduğu anlamına gelir ve slave veri almak için alım moduna geçer, aksi takdirde kesme bayrağı temizlenir ve bir sonraki tespiti bekler.

6.2.2 CAD döngüsü hesaplama

Gönderenin ön ek süresi, alıcının normal olarak veri almasını sağlamak için tüm CAD döngüsünden daha uzun olmalıdır. CAD alma süresi: Trec = (2 ^ SF + 32) / BW, tüm CAD döngüsü: Tcad = 1.85 * Trec.

6.2.3 Ön ek süresi hesaplama

Tpreamble = (Npreamble + 4.25) * Tsym

Tsym = 1 / Rs

Rs = BW / (2 ^ SF)

BW = 125kHz, SF = 7 olduğunda, Tpreamble = 12.544ms

7. MAC komutlarının tanıtımı

Ağ yönetimi sırasında, ağ sunucusu ile terminalin MAC katmanı arasında bir dizi MAC komutu iletilir. MAC katmanı komutları, uygulamalara, uygulama sunucularına ve terminal cihazlarındaki uygulamalara asla görünmez.

Bir veri çerçevesi, herhangi bir MAC komut dizisini içerebilir. MAC komutu FOpts’e yerleştirilebilir ve normal verilerle birlikte gönderilebilir; ayrıca FRMPayload içinde ayrı olarak da gönderilebilir. Bu durumda, FPort = 0’dır, ancak her iki alanda da MAC komutları taşınamaz. FOpts’e yerleştirilen MAC komutları şifrelenmez ve 15 bayttan fazla olamaz. FRMPayload içinde yer alan MAC komutu şifrelenmeli ve aynı zamanda FRMPayload’un maksimum uzunluğunu aşmamalıdır.

Bir MAC komutu, bir komut ID’si (CID) ve belirli bir komut dizisinden oluşur, bu dizi boş olabilir. Yaygın komutlar aşağıdaki tabloda gösterilmiştir.

8. Bölgesel parametreler

     Not: İlk alım penceresinde (RX1) kullanılan frekans ile yukarı akış iletiminde kullanılan frekans ve veri hızı arasında bir eşleme ilişkisi vardır. İkinci pencere, her bölge için tanımlanmış bir varsayılan değere sahiptir ve bu değer MAC komutu ile değiştirilebilir.

————————————————

Telif hakkı beyanı: Bu makale, CSDN blog yazarı “o倚楼听风雨o”nın orijinal makalesidir ve CC 4.0 BY-SA telif hakkı anlaşmasına tabidir. Lütfen orijinal kaynak bağlantısını ve bu beyanı yeniden basarken ekleyin.

“`

Leave a Reply

Your email address will not be published. Required fields are marked *