SİM800c - L çalışma mantığı

Merhaba. Uzun zamandır üzerinde uğraştığım bir sistemi sizlere anlatmak isterim. Konu başlığında da belirmiş olduğum sim800 modellerinde besleme voltajı 5v ile olmakla birlikte entegrenin iç yapısı 3.3v ile 4.7v aralığında çalışmaktadır. Sim800 modellerine verilmiş olan besleme tek başına yeterli değildir. Bu sebeple 3.7v li-po pil ile Vbat soketleri veya pinlerinde giriş yapmanız gerekmektedir. Bağlanan pinler sim800 modülünün hem dışarıdan beslenmesine hemde enerji kesintisi halinde çalışmaya devam etmesini sağlamaktadır.

Araştırmalarıma göre sim800 modülüne gelen sms verisi doğrudan işlenemiyor. Gönderilen veri içeriği, (gönderenin telefon numarası, gönderme tarihi, ve gönderilen sms verisini barındırıyor).Böylece almak istediğimiz bilgiye ulaşamadan hafızada kalıyor.

Bunun çözümü ise sms content ini ayıklamaktan geçiyor.
Yani almak istediğimiz sms verisini yazılımsal olarak gönderme tarihinden sonraki içeriği al şeklinde olmalıdır.
Alınan content i doğru işleyebilmek için .trim komutu ile geri kalan içerikleri silerek saklı tuttuğumuz veriyi daha doğru işlememizi sağlıyor.

Unutulmaması gereken bir konu daha var; Gelen tüm sms verisi "STRING" olarak gelmektedir. Burada anlatmak istediğim şey şu: sms içerisinde numara varsa bu numarayı direkt char olarak alamıyoruz. STRING olarak saklayıp char olarak değiştiriyoruz. Tabikide sadece char olarak değil farklı veri tiplerine de sokabiliyoruz.
 
Son düzenleme:
https://www.picproje.org/index.php/topic,71706.msg549930.html#msg549930

PIC mcu ve Telit GL865 modül ile yapılmış bir uygulama var. Hem komut gönderme hem de alınan komutları işlemek için rutinler var.

https://www.hackster.io/FiDeNet/remote-read-project-v1-857b3d
Üstteki linkte ise Quectel M95 ve ESP32-C3 ile yapılmış bir proje var. Örnek kodları da içeriyor. SMS bölümü oldukça geniştir.
Çalışmanızı inceledim ve güzel bir içerik çıkartmışsınız. Fakat günün sonunda fiyatlara bakacak olursak Sim800 modülünün yarı yarıya daha ucuz olduğunu fark ettim. Şu anki tek problemim gelen her sms verisini tek tek ayıklıyorum. bunun için otomatik bir ayırıcı yapmam gerekiyor. her komutun öncesine ayıklamak istediğim veriyi tek tek belirmem gerekiyor, bunu her sms için yapabilirsem sorunun ortadan kalkacağına inanıyorum.
 
İşe modül yada maliyet olarak bakma. İş yapma yöntemi olarak bak. Komutlar nasıl gönderilmiş, nasıl alınmış bunu incele. Tipografik farklılıklar dışında bütün modüllerin AT komut yapısı benzer çalışıyor. Komut yapısı için düzgün bir yapı oluşturursanız iş daha kolay olur.

https://www.hackster.io/FiDeNet/sms-location-info-with-arduino-telit-gm862gps-2d3076

Yukarıda Arduino ile oluşturulan başka bir örnek var. Onun SMS bölümüne bakabilirsiniz.
SMS rutininğ for döngüsü içine alırsanız iş yapmanız daha kolay olur.
 
İşe modül yada maliyet olarak bakma. İş yapma yöntemi olarak bak. Komutlar nasıl gönderilmiş, nasıl alınmış bunu incele. Tipografik farklılıklar dışında bütün modüllerin AT komut yapısı benzer çalışıyor. Komut yapısı için düzgün bir yapı oluşturursanız iş daha kolay olur.

https://www.hackster.io/FiDeNet/sms-location-info-with-arduino-telit-gm862gps-2d3076

Yukarıda Arduino ile oluşturulan başka bir örnek var. Onun SMS bölümüne bakabilirsiniz.
SMS rutininğ for döngüsü içine alırsanız iş yapmanız daha kolay olur.
Aslında komutlar birbirine çok benziyor gördüğüm o ki yine ayıklama işlemi yapılmış. Ama buradaki anlatmak istediğim olay şu; Her farklı işlem için sürekli ayıklama yapılması gerekiyor. Birde birşey fark ettim o kod içerisinde gsm modülü softwareSerial.h kütüp hanesi ile çekilmemiş ve gsmOn komutundan sonra her hangi bir kütüphane başlatılmamış ya ben görmedim yada bu kod üzerinde eksiklikler var. Gsm haberleşme pinlerini de göremedim
 
278 ve 280. Satırlarda Hardware uart kullanılmış. Fiziki pinler müsait olduğu için soft-uart kullanılmamış. Sadece iletişim hızı belirtilmesi yeterli.

Kod:
Serial2.begin(115200);
delay(500);
Serial3.begin(115200);
delay(500);
Serial2.println("merhaba");
Serial3 GSM, serial2 debug port olarak kullanıldı.

Board Arduino Due
 

Forum istatistikleri

Konular
7,285
Mesajlar
123,181
Üyeler
2,939
Son üye
Cano

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top