GPRS a6 modülünün sim900'e bağlanması. Bir GSM modülünün bağlanması. Sunucuya yanlış GET isteği

Herhangi bir tesisin otomasyonunun önemli bir bileşeni izleme ve kontrol sistemidir. Bir nesneyi kısa mesafelerde (birkaç yüz metreye kadar) kontrol etmek büyük sorunlara neden olmazsa, bireysel düşük güçlü alıcı-vericileri kullanabilirsiniz. Bu teknik uzaktaki nesnelerin izlenmesinde işe yaramayacaktır; örneğin 100 km boyunca kendi radyo kanalınızı düzenlemek o kadar kolay olmayacaktır. Ancak bir çıkış yolu var - her yere konuşlandırılmış hücresel operatörlerin ağlarını kullanabilirsiniz. Bu amaçla opsos ağında basit bir cep telefonu gibi görünen özel GSM modülleri bile bulunmaktadır.Bu GSM modüllerinden biri SIM900D elime düştü (bunun için RD3AVJ yoldaşa teşekkürler) ve bunun hakkında konuşacağız.

SIM900D aslında çoğu hücresel hizmeti kullanabilen eksiksiz bir cihazdır: çağrı yapma ve alma, SMS ve MMS gönderip alma, GPRS kullanma ve FTP'ye erişme. Ayrıca yerleşik Li-Ion pil şarj kontrol cihazı, gerçek zamanlı saat, ekranı bağlamak için PWM çıkış arayüzü ve analogdan dijitale dönüştürücü (ADC) gibi özellikler.

Modülü başlatmak için minimum miktarda harici öğeye ve güce ihtiyacınız var, ancak öncelikle ilk şeyler.


P İTANİYE


Modüle 3,2-4,5 volt aralığında sabit bir voltajla güç verilmelidir. Ayrıca 38-39 numaralı pinlere (VBAT) güç sağlanır. Toprak tüm GND pinlerine bağlanır.

Bekleme modunda tüketim sadece 1 mA'dır ancak ağ kaydı sırasında veya sinyal kötü olduğunda modülün gücü arttırdığı ve tüketimin kısa süreliğine 2 A'ya yükselebileceği dikkate alınmalıdır. Güç kaynağının buna hazırlanması ve elektrolitlerin sağlanması gerekir. birkaç bin mikrofarad için burada gereksiz olmayacak.


Otonom çalışma durumunda modülün kendi kendini şarj edebildiği Li-Ion pillerin kullanılması tavsiye edilir. Bu amaçla yerleşik bir şarj kontrol cihazı bulunmaktadır. Modülün şarj işlemini kontrol edebilmesi için TEMP_BAT girişi (pin 27) bulunmaktadır. Pilin üçüncü terminali bu pime bağlanır (bu, pilin içindeki termistörün pimidir) ve pilin aşırı ısınması durumunda şarj işlemi durdurulacaktır.



Pili şarj etmek için kullanılan güç kaynağı VCHG pinine (pim 28) bağlanır. Kaynak voltajı 5-6 Volt aralığında olabilmekte olup 750 mA'e kadar akım çekebilmektedir.

VCHG pinine voltaj uygulandığında şarj işlemi otomatik olarak başlar, bu nedenle kontrol programı pil durumunu sorgulamalı ve gerekirse örneğin bir transistör anahtarı aracılığıyla şarj voltajı uygulamalıdır.

SIM KART BAĞLAMA

Bir sonraki ana unsur SIM karttır. Opsos ağına girmenin anahtarı budur :) Modülle çalışmak için 3 veya 1,8 volt besleme voltajına sahip SIM kartlara ihtiyacınız vardır (eski beş volt SIM kartlar çalışmaz). Genel bağlantı şeması aşağıdadır.


SIM_x pinlerine (pim 6-9) bağlanır. Besleme voltajının SIM_VDD pininde görünmesi için KBR0 pininin (pin 10) toprağa basılması gerekmektedir.

Hatları statik elektrikten korumak için SMF05C gibi özel TVS diyotlarının kullanılması tavsiye edilir. Ancak onları hiçbir yerde bulamazsınız, bu yüzden onları onlarsız bırakabilirsiniz, asıl önemli olan bu sonuçlara mümkün olduğunca az dokunmaktır. Lehimleme sırasında lehimleme istasyonu yoksa havya kapalıyken lehimleyin.

ANTEN

Burada her şey basit görünüyor, pin 33'e (ANT) bağlanıyor. Özel bir GSM anteni kullanılması tavsiye edilir; vericinin güç tüketimi ve bunun sonucunda modülün pil ömrü kalitesine bağlı olacaktır. 7 mm uzunluğundaki bir tahta üzerindeki rayın bir bölümü için sinyal seviyesi 31 üzerinden 4'tü, yani yakalanıyor ama çok zayıf. Ancak bu, GSM tekrarlayıcının komşu bir binada bulunması şartıyla.

Devrenin sağ tarafı (noktalı çizgiyle daire içine alınmış), doğrudan modüle değil uzun bir kabloyla bağlıysa antenin empedansını eşleştirmeye yarar. Buradaki değerler pratik olarak ve özel cihazlara göre seçilmiştir, dolayısıyla devrenin bu kısmı gözden kaçırılabilir.

GERÇEK ZAMANLI SAAT

Modülün, ana gücün yokluğunda bile zamanı tutabilen kendi RTC'si vardır. Bunu yapmak için VRTC pinine (pim 15) bir yedek güç kaynağının (örneğin 3 voltluk CR2032 pil veya iyonistörün) bağlanması gerekir. Şarj edilemeyen bir kaynak (basit bir pil gibi) bağlarsanız, ters akımı sınırlamak için Schottky diyot kullanmanız gerekir. Aşağıda iki şema var, solda iyonlaştırıcının bağlantısı var; sağda piller var.

ENDİKASYON

Çalışma sırasında kendi durumunu belirtmek için modülün LED'leri bağlamak için birkaç pimi vardır. Bunlardan ilki NETLIGHT pinidir (pin 41). Modül çalışırken bu pin üzerinde, hücresel ağa bağlantı durumuna bağlı olarak frekansta bir kare dalga belirir: arama ve kayıt sırasında, bu pin üzerinde, kayıttan sonra 800 ms'lik bir süre ile yüksek bir seviye belirir. ağ - 3 saniyelik bir süre ile. Bir LED'i bu pime yalnızca bir transistör anahtarı aracılığıyla bağlayabilirsiniz:



Modülün çalışmasını belirtmek için başka bir pin daha vardır - STATUS (pim 5). Modül çalışma modundayken üzerinde yüksek bir seviye belirir. LED, bu bacağa NETLIGHT piniyle aynı şekilde (bir NPN transistörü aracılığıyla) bağlanır.

RING pini (pin 11) gelen aramaları ve kısa mesajları belirtmek için kullanılır. Bu pin, olaylara hızlı yanıt vermek için harici denetleyici kesmesiyle birlikte kullanılmaya uygundur. Önceki ikisinden farklı olarak RING pinindeki aktif seviye düşüktür, dolayısıyla buraya bir LED bağlarsanız anahtar olarak bir PNP transistör kullanmanız gerekir:



MODÜLÜ BAŞLATMA

Modül, en az 1 saniye uzunluğunda negatif bir darbeyle başlatılır. bacak PWRKEY'de (pim 12). Bir dürtü sağlamak için aşağıdaki şemanın kullanılması tavsiye edilir:


Transistörü açmak için mikrodenetleyiciden gelen bir düğmeyi veya darbeyi kullanabilirsiniz. Bu bacağa tekrar darbe uygularsanız modül kapanacaktır.

SES

SIM900D modülünün bir mikrofon ve bir hoparlör çıkışı için iki girişi vardır. Bağlantı için 18'den 26'ya kadar olan pinler kullanılır. Eşleştirme şeması aşağıdadır.

Mikrofon bağlantısı:


Merhaba!
Burada görev bir kır evini yönetmek, sıcaklığı, kapıları ve pencereleri izlemek olarak ortaya çıktı. Ve sonra veri aktarım ortamıyla ilgili soru ortaya çıktı. Yüksek maliyet nedeniyle artık kablolara ve radyo kanalına ihtiyaç yok, fiber optik hatlar sadece bir hayal, ancak ihtiyacınız olan şey GSM. İlk başta gözüm eski "Motorola", "Nokia", "SonyEricsson" telefonlarına takıldı. Baktım, döndüm ve fikrimi değiştirdim. Öncelikle düğme kontaklarına lehim yapmak istemedim ve herhangi bir geri bildirim olmadı. İkincisi, telefon yazılımını anlamanın hiç de faydası yok. Genel olarak, yaratıcı düşünme ve World Wide Web'in genişliğinde yüzerek, birkaç virüs yakalayarak bir uzlaşma bulundu. Ve yazılımla ve herhangi bir tuşa gerek kalmadan çalışın. Modül tüm bunları sunuyor SIM900D. Ondan neden hoşlandım?
- Birincisi kurulum kolaylığıdır. Bunu daha sonra göreceksiniz. - İkincisi UART üzerinden iletişimdir. (Bu, MK + SIM900D = normal iletişim anlamına gelir) - Üçüncüsü, 3 ila 4,8 volt arasındaki modül güç kaynağıdır. Hosh AVR, hosh ARM. Tatmak. Bu kadar şarkı sözü yeter, artık işe başlamanın zamanı geldi.
Bu modül şuna benziyor.

Kurulumla ilgili. Gördüğünüz gibi modül yüzeye montaj için tasarlanmıştır. Temas yüzeylerinin boyutları LUT'lar için bile yeterince büyüktür. Aşağıda cihazımın resmi bulunmaktadır.

Gördüğünüz gibi karmaşık bir şey yok. Şimdi bu mucizenin bağlantı şemasından bahsedelim. Kılavuza bakalım. Ve pinout'u görüyoruz.

Evet, pek çok şey var ama hepsini kullanmayacağız. Yapmamız gereken ilk şey tüm “GND” pinlerini birbirine bağlamak. Sağ üst köşeye baktığınızda üç ayrı pin göreceksiniz. İki "GND" ve "ANT". Bu sonuçların bu şekilde konumlandırılmasının bir nedeni var. Anten bağlantısının resmi için belgelere bakalım.

59 ve 61 numaralı kontaklar anten terminaline mümkün olduğunca yakın olmalıdır. Antenleri kabloyla bağlamak için noktalı çizgilerle vurgulanan ek devrelere ihtiyaç vardır. Bu nedenle SMA konektörünü 59, 60, 61 numaralı pinlere mümkün olduğunca yakın lehimledim ve eşleştirme devresiyle uğraşmadım, 3 metrelik kablo üzerindeki antenle ve alımı çok zayıf olan bir yerde 13 noktayı sıktım Modülden 31 tanesinin konnektörü yukarıdaki resimde görülmektedir. Daha doğrusu bacaklar ondandır)) Konektörün kendisi diğer taraftadır. Bu durumda 59 ve 61 numaralı kontaklar anteni sarıyor gibi görünüyor. Peki, bunun gibi bir şey. Şimdi SIM kart hakkında konuşalım. Takmak için bu konektörü kullandım (SIM ICA-501-006-01-F7)

En ilginç şey, SIM kartların pin çıkışı için 3 seçenek bulmamdı. Hangisini kullanmalıyım? Herhangi bir entrikayı tanıtmayacağım, ancak basitlik açısından bu konektörün pin şemasını vereceğim. Yukarıdan bak.

Ama hepsi bu değil. Kılavuza SIM kartın bağlantı şemasına bakarsanız, orada belirli bir mikro devreyi görebilirsiniz. SMF05C. Bu mikro devre 5'e kadar koruyucu diyot içerir. SIM kart kişilerini korumak için gereklidir. Elbette kurmanıza gerek yok ama dikkatli olun ve temas noktalarına parmaklarınızla dokunmayın!!! Günahkar bir insan olarak kendime kefil olamam, bu yüzden mikruhuyu lehimledim. Ve işte diyagramın kendisi.

Elbette 8 pinli SIM kart için veriliyor ancak 6 pinli SIM kart için aynı olacaktır. Bu çiple ilgili aslında iki sorun var. Birincisi onu nerede bulabileceğin. İkincisi ise boyutu... Siparişi alıp çıkardığımda masanın üzerine koydum... Kısaca üstten ikinci resimde SIM kart ile pil arasına lehimlenmiş durumda. Karşılaştırma için dirençler 0805'tir. Sağda SOT-23 paketindeki bir transistör var. Görünüşe göre SIM kartı çözdük, devam edelim. Ve sonra aydınlatma teknolojisi. Genel olarak bakıldığında bu kazanılmış bir tat değildir. Tüm bu sinyaller doğrudan MK'ye girilebildiğinden ve orada kendi başına çözmesine izin verildiğinden. Hepsini güzellik duygularından çıkardım. Bu yüzden kendiniz karar verin.
- Birincisi modülün açık olup olmadığına dair sinyaldir (STATUS) log 1 - İkincisi ağın kayıtlı olduğuna dair sinyaldir (NETLIGHT) log 1/0 (yanıp sönüyor) Aynı frekansta yanıp sönüyorsa anlamına gelir Ağa kayıtlı değil. Uzun bir boşluk varsa ağa bağlantı var demektir. - Üçüncüsü, çağrı/sms sinyali (RING) kaydıdır 0 Gelen bir çağrı varsa yanar ve bir SMS mesajı alındığında yanıp söner. İlk iki sinyal, anahtar modunda bir NPN transistörü aracılığıyla bağlanmalıdır.

Ve üçüncü sinyal (RING) bir PNP transistörü aracılığıyla bağlanmalıdır. Bir diğer önemli sinyal ise modülü açıp kapatan düğmedir. (O olmasaydı nerede olurduk). Kılavuzun bize sunduğu şey budur.

Yani transistörün tabanına log 1'i 1 saniye uyguladık ve modül açıldı.
Şimdi beslenme hakkında konuşalım. Evet, şimdi bir tabak dolusu güreşin bir sakıncası olmaz, ya sen? Tamam, devam edelim. Modül, 3 ila 4,8 voltluk bir voltajla çalıştırılır. Her şey basit görünüyor ama değil. Arama yaparken, SMS gönderirken veya ağ ararken modül 2A'ya kadar güç gerektirebilir. Vay. Yani LM7805 ve Krenok hayranları hayal kırıklığına uğrayabilir. Neyse ki, kılavuz MIC29302 mikro devrelerini (hiç satışta bulamadım) ve LM2596'yı (bunu satın alabilirsiniz) temel alan iki devre içeriyor. Ama ben tembelim ve başkenti bu kadar çok bağlamayla birleştirmek istemedim. İnternette araştırdım ve buldum. 3,3V ve 7,5A'ya kadar "Stump", "AMD" gibi işlemciler için çok iyi bir dengeleyici var. Bence ihtiyacınız olan şey bu ve ARM'e ve modüle güç verebilirsiniz. İşte bu mucizenin bir diyagramı.

Ve işte toplanmış gibi görünen şey.

Radyatörü korkudan kurdum, prensip olarak mikro devre arama sırasında bile ısınmıyor. Ve dikkat etmeniz gereken son şey bataryadır. Gerçek zamanlı saati canlı tutmak için gereklidir. En önemlisi bu sonucu havada bırakamazsınız. Kişisel olarak pili bağlama konusunda anlaştım, sizin için de bunu diliyorum. Elbette iki AA yapıştırabilirsiniz)) ama bir şekilde çok büyük, ancak ihtiyacınız olan şey 3v'de 2032 tablet şeklinde. Neyse ki pahalı değiller ve bölmeler doğrudan panele lehimlenebiliyor. Bana göre bu en basit çözüm. Sen karar ver. İşte hepsi bu. Bütün bu rezillikler bir arada ve çalışır vaziyette böyle görünüyor.

Bir sonraki yazımda size bu modülü nasıl kırdığımı anlatacağım ama programlı olarak terminal üzerinden AT komutlarını kullanarak.
Diyagramları PCAD-2006'da hazırladım
GSM modül dosyalarıyla arşivleyin.
Stabilizasyon bloğu dosyalarıyla arşivleyin.
GSM modülü ile ilgili yazı serimizin devamı.
AT Komutları.
Modülün ATmega8515 ile iletişimi.
SIM900D tabanlı geliştirme kartı


Foli 03/14/13

AT komutları, UART ve CodeVision'da bununla doğrudan çalışma hakkında daha fazla bilgi edinmek istiyorum

Alexey 03/15/13

AT komutlarını anlıyorum. Bazı sorularım olduğu için çalışmanın yarısını yayınlamak istemiyorum. Ancak UART ve CVAVR ile her şey basittir. AT komutlarını çözer çözmez, hangi komutları ve bunları CVAVR'dan nasıl göndereceğimi hemen yayınlayacağım.

Anatok 04.11.13

Hepsi çok güzel. Ancak alarm en az eksi 30 derecede çalışsaydı ve özellikle kış aylarında gizli güneş panelleriyle şarj edilseydi, o zaman böyle bir cihaza sahip olmak isteyen pek çok kişi olurdu.

Alexey 04.11.13

GSM modülü, şebekeye kaydolurken, arama yaparken veya GPRS üzerinden iletişim kurarken 2A'e kadar akım tüketir. Bu tür kaynaklar iyi bir batarya gerektirir ve -30'da batarya uzun süre dayanmayacaktır. Sokak sensörlerindeki hava durumu istasyonlarında bile basit pillerin kullanılması tavsiye edilir.

Ayı 11.11.13

Hala alakalı ve ilginçse... SIM900 için EAT'a bakın. ARM'in içinde, birçok şeyi yapabileceğiniz uygulamaları SIM900'e yükleyebileceğiniz bir SDK vardır... örneğin, aynı AT komutlarını göndermek... + klavye + SPI ekranı... + 2 ADC :) Eğlenceli bir akşam dilerim :)

Ayı 11.11.13

Ancak L5973D'de bunun için güç sağlamak yine de çok güzel. Evet, veri sayfasında 2A hakkında yazıyor... ancak pratikte bunlar çok kısa vadeli dürtülerdir. Benim için harika çalışıyor, örneğin kendisi de bir USB portundan güç alan (0,5 A akıma sahip) Arduino Mega ile.

Alexey 11.11.13

Sorun bu. İlk başta ona 7805'ten de güç verdim, her şey çalıştı ve sonra bam... Ve ağa bağlanıldığında her şey sönüyor ve sonra yeniden başlatılıyor. Görünüşe göre bekçi köpeği bir beslenme saldırısından sonra yeniden başlıyor. Ve L7953D ile çok güzel olacak ama nereden alabilirim ve maliyeti ne kadar :) Ben de IRU1075'e geçtim

Alexey 11.11.13

Hatalar için özür dilerim, şarlatanları benim için şekillendiren kahrolası GOODROYD. Kendisinin daha akıllı olduğunu düşünüyor. Düzenlemeyeceğim, bırakın Google yaptıklarından utansın.

Misha Amca 24.12.13

Atmega ağına kaydolduğumda yeniden başlatılıyor. Darbe DCDC'ye mal olmasına rağmen. 200 mikrofarad kapasitör. Ve bazen istikrarlı bir şekilde çalışıyor. Zaten yorgunum.

Alexey 25.12.13

Stüdyoya plan. Sorunu kelimelerden anlamak oldukça zordur.

Misha Amca 25.12.13
Misha Amca 25.12.13

Http://ybex.com/d/tk7kgiefpklpeujb1zbl4lo5 mrkf7ayvci04ouq3.html MK, seviye dönüştürücüye müdahale etmemek için 2,8 (hatta 3,7 bile denedim) Volt ile çalıştırılıyor.

Alexey 25.12.13
Sergey 07/19/14

Merhaba Alexey! Sim900'lü hazır board'larınız var mı, satın alabilir miyim?

Alexey 07/19/14

Hangi anlamda hazır? Modülün kendisi zaten monte edilmiştir ve geriye kalan tek şey, belirli bir cihaz için gerekli çıkışları ve girişleri içeren bir kart oluşturmaktır. Bu makaledeki yalnızca programlarda hata ayıklamaya yönelik bir demo panosudur. Belirli bir cihazın boyutları, konektörlerin konumu, kulaklık ve mikrofon çıkışları gerekir. Anten konektörü nerede olacak? İhtiyacınız olan şey hakkında daha ayrıntılı bilgi verin.

Andrey 28.09.14

Anladığım kadarıyla bu, görmek için sabırsızlandığım bir atkı prototipi. Yalnızca ticari versiyonda bir güç kaynağıyla evlendi ve ses çıkışlarıyla yükseltildi. Büyük bir vızıltı var.

Alexey 09/28/14

Aslında öyle. Bir taşla birkaç kuş vurdum. UART'ta güç kaynağı ve seviye eşleştirmeyle ilgili asırlık sorunu çözdük. Ve şık, ilave ses girişi ve çıkışı için. Aslında hazır bir cep telefonu.

Andrey 28.09.14

Geleceğe bir katkıda bulunmak isterim. Aslında bu kurul tam bir birimdir. Ve bitmiş üründe PRATİK OLARAK kullanılabilir. ancak bir AMA var. Bir mezon kanopiyle, onu üste yerleştirmek daha iyidir (anten konektörü, SIM karta erişim), bu nedenle aynı pinler için "çevre birimleri" için tüm pinlere paralel delikler bırakılması oldukça tavsiye edilir. onları “aşağı” yönde lehimlemek. Onlar. Bu cihazı bir mikrodenetleyici kartına takıp sizinkine yönlendirip, eşleşen konnektörleri ona lehimleyip bağlamak istedim. Ayrıca bununla birlikte

Andrey 28.09.14

Mesajın yarısını yedim ama umarım fikir açıktır-)

Alexey 09/28/14
Sergey 02/01/15

Bana modülün neden ısındığını ve ağa bağlanmadığını söyle?

Alexey 02/01/15

Bunun birkaç nedeni var. Öncelikle beslenme aşılır. İkincisi, artı genel olana mı gitti? Güç bacaklarına dikkatlice bakmanız gerekir. Üçüncüsü, modülün göbeğinin besleme hatlarına temas edip etmediği. Göbek üzerinde herhangi bir iletkenden izole edilmesi gereken çeşitli teknolojik temas noktaları vardır. Dördüncüsü, anten terminali ortak terminale bağlı mı? Daha kesin olmak gerekirse tahtaya bakmanız gerekir. Ücreti bana e-postayla gönderin, orada bir sorun olup olmadığına bakacağım.

Sergey 02/01/15

MasterKit BM8039 fabrika kartlarım var ve her ikisinde de aynı sorun var... SIM kartı taktığınızda modül ısınmaya başlıyor ve ağ yok.

Alexey 02/01/15

Bunu söylemek oldukça zor. Devre fabrikadadır, tahtaya tırmanmanız gerekir. Belgelerden anakartın SIM kart için önerilen koruyucu diyotlara sahip olmadığı açıkça görülüyor. Kartın kendisi ve konnektör aynı pinlere mi sahip? 300 modülü eski ve bence sadece 5V SIM kartlarla çalışıyor, ancak artık hepsi 3V. Ama yanılıyor olabilirim. Tahtanın kendisine bakmalısınız, bir şey söylemek çok zor. Belirti her ikisinde de aynıysa, o zaman SIM kartların konektörü ve voltajı yönünde düşerim. Bir kez daha modern SIM kartlar 3 volttur.

Sergey 02/01/15

Maliyeti sim900D... Kartı taktığımda modülde güç beliriyor ve ısınmaya başlıyor, ancak örneğin SIM kartta. 9 metreden çalışmıyor...

Sergey 02/01/15

Başlangıçta iyi çalıştılar... sonra bir şeyler ters gitti... Ne olduğunu anlayamıyorum..

Sergey 02/01/15

Modülü lehimini sökmeden kontrol etmenin bir yolu var mı?

Alexey 02/01/15

Tam olarak ne kısa devre yaptı? SIM kartta güç yoksa, korkarım SIM kartın hattı kesilmiştir. Simka'nın kaç bacağı var? 6 mı 8 mi? Kontrol etmek için SIM kart takmadan UART 3, 4 bacaklı veri yolu üzerinden modülle iletişim kurabilirsiniz. AT komutlarını kabul etmeyi reddederse sanırım onu ​​gömebiliriz.

ANONİM 02/01/15

Tam olarak neyin kısa devre yaptığını bilmiyorum .. 8 bacak .. ama nasıl iletişim kurmalı?

Alexey 02/01/15

Konektörde de 8 var mı? FT232RL yongasını alın ve USB adaptörünü birleştirin<->TTL, modülün UART'ına lehimleyin, Putty gibi bir terminal başlatın, AT yazın ve enter tuşuna basın. Tamam değerini döndürürse, her şey kaybolmaz. Sessizlik varsa... Çöpte. Ve evet, kartta ne tür LED'ler var? Ağa kayıt nasıl belirlenir?

Sergey 02.02.15 03:12

Konektörde ayrıca 8 adet var...kart üzerinde iki LED var, yeşil ve kırmızı, bir ağın varlığı her üç saniyede bir yanıp sönen yeşil ışıkla belirlenir...bir şekilde kartın fotoğrafını ekleyebilir miyim ?

Alexey 02.02.15 07:42

Foruma gitmek artık daha kolay.

Sergey 02.02.15 14:02

SIM kartı takmazsanız bu, modüle güç sağlamanız gerektiği anlamına mı gelir?

Alexey 02.02.15 15:48

Çay yapraklarını okuyamıyorum. Bir şemaya ya da panoya ihtiyacım var. Peki modülün ve SIM kartın güç kaynağının bununla ne ilgisi var? Büyük ihtimalle başka bir mikrodenetleyiciyle kesişiyor. Yiyecek sağlıyor. Genel olarak bir diyagrama ihtiyacınız var. Ve bu, telefonda teşhis koymak gibidir.

Sergey 02.02.15 15:56

Diyagramı forumun neresinde yayınlayabilirim?

Sergey 02.02.15 15:57

Modüle yalnızca SIM kartı taktığınızda güç gelir

Alexey 02.02.15 19:27

SIM900D modülünde buna sahip değil. Modülü açmak için 12 numaralı ayağın alt seviyesini tutmanız ve ardından yükseltmeniz gerekir. Modül açıldığında SIM kart hiçbir şekilde takılamıyor veya çıkarılamıyor, portun yanma ihtimali var. Belgelere bakarsanız, orada SIM kart bağlantı noktası hattına koruyucu diyotların takılmasına ilişkin öneriler bulabilirsiniz. Forumda. Bir konu oluşturun ve bir fotoğraf gönderin.

Evgeniy 09/08/15 12:04

Modüle voltaj uyguladığımda 12. bacakta pozitif potansiyel, 5. bacakta ise pozitif potansiyel oluşuyor (bu bacakların havada asılı olması şartıyla). Lütfen söyleyin bana, 5. ayakta sıfır olması mı gerekiyor? Değilse lütfen beni düzeltin.

Alexey 09/08/15 13:21

12. ayak modülün dahil edilmesidir. Güç uygulandığında 1 takılı kalır. Modülü açmak için 12. ayağı ortak kabloya birkaç saniye basmanız yani 0 uygulamanız gerekir. Modül 5'e güç verildiğinde bacağın olması gerekir. iki direnç tarafından ortak kabloya çekilmelidir (bu, anahtar modunda transistörün bağlantı şemasından görülebilir) ve transistörü tamamen kapatmak için tabanın sıfıra kadar çekilmesi gerektiğinden 0 olmalıdır. 12. ayağı sıfıra bastıktan sonra, 5. ayakta 1 görünmeli ve bir süre sonra kullanılabilirlik ve ağ bağlantısı durumunu gösteren bir kıvrım görünmelidir.

Elimdeki GSM modemlerin arasına son zamanlarda meşhur SIM900 de eklendi.

Bu makale bunun için bir hata ayıklama panosundan bahsedecek.

Neden SIM900? Çünkü Hakkında çok şey duydum, çok gördüm, uzun zamandır onu ve işlevselliğini tanımak istiyordum. Özellikle Wireless Technologies dergisindeki "Hepsi bir arada veya SIM900 GSM modülündeki yenilikler" başlıklı makaleden sonra ilgilenmeye başladı. Ve bir proje.

Temel özellikleri:

  • Dört bant GSM 850/900/1800/1900 MHz;
  • GPRS veri aktarım sınıfı 10/8;
  • Güç sınıfı 4 (850.900 MHz aralığında 2W);
  • Güç sınıfı 1 (1800/1900 MHz bantlarında 1W);
  • AT komut yönetimi (SIMCom'dan GSM 07.07, 07.05 + AT komutları);
  • Ses kodekleri HR, FR, EFR, AMR, yankı giderme;
  • 14,4 kbit/s'ye kadar CSD;
  • PPP yığını;
  • Yerleşik TCP/IP, UPD/IP yığını;
  • MUX (07.10);
  • HTTP ve FTP protokolleri;
  • Besleme voltajı 3,2-4,8V;
  • Çalışma sıcaklığı -30 +80 °C;
  • SIM kartlar 1,8 ve 3,3V voltajları destekler;
  • Boyutlar: 24*24*3mm
  • Ağırlık 4 gr.

Özellikler bu makaleden ve modülün veri sayfasından alınmıştır.

Ortaya çıkan hata ayıklama veya demo modülüne geçelim. Geliştirme, . İşte olanlar:

Veri sayfasındaki önerilerde yer alan aşağıdaki basitleştirmeler şemada uygulanmıştır:


Bu basitleştirmeler kritik değildir ancak modülü daha ağır koşullarda veya kendisine daha fazla sorumluluk verilecek donanımlarda kullanırken bunları unutmamalısınız.

Şimdi neyin uygulandığına gelince:

  1. Düşük voltaj düşüşü LM1086CT sayesinde 5V'den (USB veya 5V mikrodenetleyiciden çalışırken uygundur) 7-8V'a kadar güç kaynağı mümkün kılındı;
  2. UART – hata ayıklamak veya MK'ye bağlanmak için;
  3. + I2C çıkışıdır (5V mantığına bağlanırsanız seviye eşleştirmeyi unutmayın, bunları hata ayıklamaya dahil etmedim);
  4. Düğme ve özel modülü manuel olarak başlatmak için olduğu gibi (UART arayüzünde 5 pin, yüksek seviyede açılmış), çünkü ve mikrodenetleyiciden açmak için;
  5. Sesli iletişimin gerekli olabileceği deneyler için ses girişi ve çıkışı.
  6. Modülün çalışma modlarını görüntülemek için 2 diyot durumu;
  7. Dengeleyiciyi kapatan ve modülün 3,3-4,7V'den çalıştırılmasına izin veren Jumper JUMP1, bu da örneğin bir lityum iyon pilden doğrudan çalıştırılmasına olanak tanır. Montaj ve test sırasında elimizde herhangi bir dengeleyici yoktu; bir adet 18650 kutu ile çalıştırılıyordu.;
  8. Çevre birimlerinin rahat bağlantısı için ek alanlar tahsis edilmiştir;
  9. NRESET hattının SMD pedi, bir modül yeniden başlatma devresinin eklenmesine izin verecek şekilde yönlendirilir.

İşaret şuna benzer:

Tahta, 61x49 mm ölçülerinde tek taraflı fiberglas laminattan yapılmıştır. Temel GSM modülü SIM900'dür (B09). TO-220 muhafazasında stabilizatör VR1 LM1086CT-ADJ. Sim kart tutucusu Sim kartı SCV-W2523X-08 veya Sim kartı SCV-W2523X-06. 0603 veya 0805 muhafazalarındaki düşük akım tüketimine sahip tüm LED'ler. Tek transistör VT1 BC847 veya benzeridir. Dirençler R1 ve R2, akım sınırlayıcıların LED durumu, her biri 510 Ohm 0805 R3 4,7 kOhm, R4 47 kOhm, R5-R6 1 kOhm tüm boyut 0805. R7 0805 68 Ohm, R8 1206 10 Ohm. R8-R10 22 Ohm, 0805 muhafaza boyutunda. R12 1 kOhm, R13 10 kOhm, her ikisi de 0805. Kondansatörler C2-C3, C7-C8 33 pF, C4 22 pF, C5 1 μF, C6 10 pF, C9, C10, C12 0,1 μF, hepsi 0805 boyutunda. Kondansatör C1 10uF çip tantal boyutu A. C10 100uF en az 16V, C13 470-680uF en az 10V, kart EPCOS için kablolanmıştır: 100uF varil boyutu 8x11.5mm ve 470-680uF aynı seri boyutu 10x12,5 -20mm. S1 Düğmesi – DTSM13-5.0N (elektronikte), belki de gerçek adı DTSM13-4.3N'dir. SMA-M konnektörlü GSM aralığı için herhangi bir anten, kartta bir SMA-F soketi bulunur. JUMP1 atlama teli için PLS5 ve 3x PLS2 + pinleri PLS3'e ve atlama telinin kendisine 2,54 adımla ihtiyaç duyar. Ses konnektörleri Jak 3.5 - CK3-101B, Mevcut olanı kurdum, iyi bir seçenek değil, bazı mono soketler kurmak daha iyi.


Çalışanların talebi üzerine GSM cihazları konusuna yani SIM900D modülünün ATmega'ya bağlanması konusuna devam ediyorum. Hangi model olduğu önemli değil. Bu yazıda ATmega8515'i kullanacağım. Bu denetleyiciyi yalnızca Feng Shui için kullandım))) Gerekli tüm bilgiler MELT'in 20x4 LCD ekranında görüntülenecek. Ayrıca Feng Shui'ye göre seçildi))) Ve ayrıca Rus harflerinin çıktısını büyük ölçüde basitleştiren Windows-1251 kodlamasını anladığı için.

Şimdi görevin kendisini ayarlayalım.

  • 1. 8 adet LED’in (röle, fan vb.) açılıp kapatılması gerekmektedir.
  • 2. SMS yoluyla iletilen kodu kullanarak açın ve kapatın.
  • 3. GSM sinyali alım seviyesini görüntüleyin.
  • 4. SMS yoluyla gönderilen son komutu görüntüleyin.
Görev belirlendi. GSM modülü MK ile UART üzerinden iletişim kurar. GSM modülünün bağlantı şemasını görebilirsiniz. MK, 3.6864 MHz frekansında çalışacak. UART'taki hataları azaltmak için bu gereklidir. Döviz kuru 19200'dür. Tüm test süresi boyunca herhangi bir iletim hatası yaşanmadı. Doğru, bir MK öldü ve bu birkaç gün baş ağrısına neden oldu, ancak daha sonra onu yeni bir MK ile değiştirdikten sonra her şey saat gibi gitti. LCD ekran A bağlantı noktasına bağlanır. C Bağlantı Noktası LED'leri açıp kapatmak için kullanılır. Oh evet. Burada bir nüans var. GSM modülü RxD bacağından yalnızca 3 voltta veri alabilir, daha fazlasını alamaz!!! Bu önemli!!! Bu nedenle verileri bir direnç bölücü aracılığıyla beslemeye karar verildi. MK 2,8 volttan 5 volta kadar farklı aralıklarda çalışabildiği için omuzların hesaplamasını size bırakıyorum. Şahsen ben GSM modülünü 4 voltla, MK'yi ise 5 voltla besliyorum. Yani donanımı halletmiş gibiyiz. Şimdi kodun üzerinden geçelim. İhtiyacınız olan ilk şey GSM modülünden veri almanın bir yoludur. Modül şu türden sorgulara yanıt verir:
Rica etmek:
AT+CSQ\r\r\n
Cevap:
\r\n+CSQ: 17,0\r\n\r\nTamam\r\n
Buradan istek ve yanıtların bir sürü \r ve \n saçmalıkla karıştırıldığı açıktır. Eh, bu istek için bir sorun değil, çünkü bunu kendimiz yazıyoruz, ama cevap... UDR'de gelen her bayt ile bu hayvanat bahçesinin tamamını taramak iyi bir fikir değil, bu yüzden bir halka arabelleği kullanacağız. Bunun ne olduğunu bilmiyorsan, hadi buraya gidelim. Bir halka arabelleği kullanırken, veriler UDR'ye ulaştığında \r ve \n'yi yok saymak için kesme işleyicisine bir onay ekleyeceğiz. ISR(USART_RX_vect) ( char temp = UDR; if(!(temp == 0x0A || temp == 0x0D)) InBuffer(temp); ) Yani \r ve \n dışında her şeyi tampon belleğe yazıyoruz. Verileri alır almaz işlemeye başlarız. Bakmanız gereken ilk şey bunun bir SMS mi yoksa bir komuta yanıt mı olduğudur. GSM modülü her zaman sabit yanıt verdiğinden ve yalnızca verileri değiştirdiğinden yanıtın adına göre takip edebilirsiniz. Örneğin, GSM alım seviyesi talebi.
if(time == 30) ( time = 0; USART_STR("AT+CSQ"); USART_END(); _delay_ms(200); ) if(GetData()) ( _delay_ms(70); num = IndexNumber(); OutBufferStr (sıcaklık, sayı); Artık geçici dizi GSM modülünden gelen yanıtı içeriyor. Artık onu tanıyalım.
if((sıcaklık == "C") & (sıcaklık == "S") & (sıcaklık == "Q")) ( ) Dizi GSM düzeyindeki bir talebe yanıt içeriyorsa, bu durumda koşul karşılanacaktır ve bunu kendi takdirinize bağlı olarak işleyebilirsiniz. Peki ya koşul yerine getirilmezse? Büyük ihtimalle bir SMS'ti. Nasıl hesaplanır? Bir SMS mesajı geldiğinde modül buna benzer bir dize döndürür.
+CMTI: "SM",1 Burada değişen tek şey son karakter, daha doğrusu sayıdır. Bu SMS numarasıdır. Ancak SM harfleri asla değişmez. Bu, bu harflerin mesajda olup olmadığını kontrol etmemiz gerektiği anlamına gelir.
if((sıcaklık == "S") & (sıcaklık == "M")) ( ) Elbette, daha doğru bir kanaat için komutun adını kontrol etmek kötü bir fikir olmaz, ancak bu hala MK'nin GSM modülüyle nasıl çalıştığının bir açıklaması olduğu için bunu ihmal ettim. SMS'in kabul edildiğini anladıktan sonra okumak iyi bir fikir olacaktır. GSM modülüne böyle bir talep gönderiyoruz.
USART_STR("AT+CMGR = "); USART_TXD(geçici); USART_STR(",0"); USART_END(); _delay_ms(200); Geçici dizi hücresi SMS numarasını içerir. Bu komut 9'dan küçük SMS mesajları için yeterli olacaktır. Nedeni belli. Genelde SIM kartın hafızasını SMS mesajlarıyla doldurmamak için bir SMS'i okuduktan sonra hemen siliyorum, böylece hafızada asla 1'den fazla SMS kalmıyor. Ama yine de 1 sayısını katı bir şekilde kullanmadım, diziden kopardım. Nedenini bilmiyorum ama bazen SMS her zaman hemen gelmiyor, ancak biraz gecikmeli olarak geliyor. Eğer böyle olduysa bir sorun olabilir: SMS henüz ulaşmadı, ulaşmadığını düşünüyoruz ve ardından bir tane daha gönderiyoruz. Sonra zaman geçer ve arka arkaya ikişer tane gelirler. İlkini 1 olarak okuduk, ikincisini ise 2 olarak okuduk. Dizi hücresinin koruduğu bu tür sövelerden oluyor. Artık SMS metnini talep ettikten sonra GSM modülü bize şu şekilde bir yanıt verecektir.
+CMGR: "KAYIT OKUNMADI", "+71234567890", "14/07/06,13:04:38+16" mesajı TAMAM Bundan sonra mesajı okuyabilirsiniz. Cevaplar her zaman sabit olduğundan, güvenli bir şekilde temp'den okumaya başlayabilirsiniz... ve bir sorun ortaya çıkabilir))) Bununla karşılaştım. GSM modülünü çözerken Beeline sessizce bana bir SMS gönderdi. Her şey yoluna girecek ama kurulum SMS gönderen abone numarasının kayıtlı olduğu yere yerleşti. "+71234567890" yerine "Beeline'ım" aldım. Nasıl koktuğu belli. Kısacası MK hiçbir şey anlamadı ve şaşkına döndü. Bu yüzden yine de numarayı kontrol etmeye karar verdim. Evet ve güvenlik açısından zarar vermez. Ve sonra aniden kıskanç komşu SMS yoluyla kazanın kontrolünü öğrenir ve kışın kazanı kapatmak için bir komut gönderir))).
for(uint8_t i=0; i Anlamı basit. Döngüde, sayıdan sorumlu tampon dizisinin hücrelerini, gerekli sayının daha önce yerleştirildiği diziyle karşılaştırırız. Sayılar eşleştiği sürece bayrak 1'e eşittir ancak sayılar eşleşmediği anda bayrağı sıfırlayıp döngüden çıkıyoruz. Bayrak sıfırsa SMS'i okumayız, bir ise SMS bizimdir. Tüm kontroller başarılıysa komutu okuyun. Aşağıdaki komutları yaptım. Büyük harf harfi V açmak anlamına gelir Ö kapatmak anlamına gelir. Hangi LED'in açılıp kapanacağını öğrenmek için harften sonra 1'den 8'e kadar olan rakamı yazıyoruz. Mesela 4. LED'i açmanız gerekiyor. Metinli kask SMS'i V4 ve kapatmak için O4.
if(flag) ( if(temp == "V") ( lcd_xy(0,2); lcd_putsf("LED-"); lcd_putchar(temp); lcd_putsf(" Etkin "); switch (temp) ( case 0x31: PORTC |= (1 Aslında kodun tamamı burada. Öncelikle harfi kontrol ediyoruz ve onu bir veya başka bir komutu yürütmek için kullanıyoruz ve aynı zamanda LCD'de bir mesaj görüntülüyoruz. Ve SMS ile çalışmayı bitirdikten sonra, bayrağı sıfırlıyoruz ve tüm SMS'leri siliyoruz.
USART_STR("AT+CMGD=1,4"); USART_END(); _delay_ms(100); bayrak=0;
Bu kadar. Aşağıda tüm bu rezaletlerin videosu ve projenin yer aldığı arşiv yer alıyor.
Proje

Adruino'yu SIM800L GSM modülüne nasıl bağlayacağımıza bakalım. Arduino'ya özel GSM kalkanları var ama oldukça pahalılar, bu yüzden bütçeye uygun bir seçenek satın almaya karar verdim. Makale ayrıca SIM900, NEOWAY M590 ve bazı cep telefonlarını bağlamak için de yararlı olabilir. Uygunsuz nüans, bu modülün Arduino için standart olmayan bir 3,7V güç kaynağı gerektirmesidir, bu nedenle, düşürücü bir voltaj dönüştürücü aracılığıyla ayrı olarak çalıştırılması gerekmesidir.

Bağlantı

Bağlanmak için aşağıdaki bileşenleri kullandım:

  1. Arduino UNO R3 denetleyici + USB kablosu
  2. GSM modülü SIM800L (3,7V'den 4,2V'a güç kaynağı)
  3. Düşürücü gerilim dönüştürücü (DC-DC düşürücü dönüştürücü)
  4. 12V pil (veya 6V ila 20V arası herhangi bir güç kaynağı)
  5. Kabloların bağlanması

Arduino'yu USB kablosuyla bilgisayara bağlıyoruz.

GSM modülüne bir dönüştürücü aracılığıyla 12V aküden güç sağlıyoruz:

  • 12V'den "eksi" Arduino'ya "GND"ye, "GND"den voltaj dönüştürücüye "gelen eksi"ye gider.
  • 12V'den "artı" voltaj dönüştürücüye "gelen artıya" gider.

Soru ortaya çıkıyor: Arduino'nun kendisinden 5V'den güç sağlamak mümkün mü? Doğrudan riske atmazdım. Ancak bir diyot veya voltaj dengeleyici seçebilirsiniz.

Gerilim dönüştürücüye bağlamadan önce, çıkış gerilimini 3,7V - 4,2V aralığında herhangi bir değere ayarlayarak yapılandırmanız gerekir. Çıkış kontaklarını voltaj dönüştürücüden GSM modülüne polariteyi gözlemleyerek bağlarız.

GSM modülü üzerindeki TX ve RX kontaklarını Arduino üzerindeki 2 ve 3 numaralı dijital kontaklara bağlıyoruz. Arduino'ya birden fazla GSM modülü bağlamanız gerekiyorsa, diğer pinleri kullanın ve bunları SoftwareSerial aracılığıyla çizime yazın.

Eskiz

#katmak<YazılımSeri.h> YazılımSeri mySerial(2, 3); // RX, TX geçersiz kurulumu () ( Seri.begin(19200); //Arduino ile bilgisayar arasındaki iletişim için port hızı Seri.println("İyi geceler ay!"); mySerial.begin(19200); //Arduino ile GSM modülü mySerial.println ("AT" ); arasındaki iletişim için port hızı; ) void loop () ( if (mySerial.available ()) Seri.write(mySerial.read()); eğer ( Seri.available()) mySerial.write( Seri.Okumak()); )

SMS gönderme prosedürü

geçersiz sms (Dize metni, Dize telefonu) ( Seri. println("SMS gönderimi başladı"); mySerial. println ("AT+CMGS=\"" + telefon + "\"" ); gecikme(1000); mySerial. yazdır(metin); gecikme(300); mySerial. yazdır ((karakter) 26); gecikme(300); Seri. println("SMS gönderimi tamamlandı"); gecikme(3000); )

Prosedürü çizimin sonuna ekleyin ve ana döngüden şu şekilde çağırın: sms(String("İngilizce SMS metni."),String("+791212345678"));

Sınav

Ardından, hızı 19200'e ayarlayarak port monitöründen gücü açın ve "yeni hat" seçeneğini seçtiğinizden emin olun.

"ATI" komutunu yazın ve ENTER tuşuna basın. Modül modelinden gelen bilgiler görünmelidir.

Tele2'nin ücretsiz hizmeti aracılığıyla modüle SMS göndermeyi denedim ancak garip hatlar aldım. Modüldeki kodlamaları değiştirmeyi denedim. Sorun henüz çözülmedi.

Video