റഷ്യൻ ഭാഷയിൽ Sim900 വിവരണം. SIM900D മൊഡ്യൂളിനെ അടിസ്ഥാനമാക്കി GSM മാസ്റ്ററിംഗ്. GSM മൊഡ്യൂൾ ഉപയോഗിച്ചുള്ള പരീക്ഷണങ്ങൾ

സന്ദർശിച്ചവരുടെ എണ്ണത്തിലേക്ക് എന്റെ GSM കൈകൾഅറിയപ്പെടുന്ന SIM900 അടുത്തിടെ മോഡമുകളിൽ ചേർത്തു.

അതിനുള്ള ഒരു ഡീബഗ് ബോർഡിനെക്കുറിച്ച് ഈ ലേഖനം സംസാരിക്കും.

എന്തുകൊണ്ട് SIM900? കാരണം ഞാൻ ഇതിനെക്കുറിച്ച് ധാരാളം കേൾക്കുകയും ധാരാളം കാണുകയും ചെയ്തിട്ടുണ്ട്, അതിനെയും അതിന്റെ പ്രവർത്തനത്തെയും കുറിച്ച് പരിചയപ്പെടാൻ ഞാൻ പണ്ടേ ആഗ്രഹിച്ചിരുന്നു. മാസികയിൽ നിന്നുള്ള ഒരു ലേഖനത്തിന് ശേഷം അദ്ദേഹം പ്രത്യേക താൽപ്പര്യം പ്രകടിപ്പിച്ചു " വയർലെസ് സാങ്കേതികവിദ്യകൾ"എല്ലാം ഒന്നിൽ അല്ലെങ്കിൽ SIM900 GSM മൊഡ്യൂളിൽ എന്താണ് പുതിയത്." ഒപ്പം ഒരു പദ്ധതിയും.

പ്രധാന സവിശേഷതകൾ:

  • നാല് ബാൻഡുകൾ GSM 850/900/1800/1900 MHz;
  • ട്രാൻസ്മിഷൻ ക്ലാസ് GPRS ഡാറ്റ 10/8;
  • പവർ ക്ലാസ് 4 (850.900 MHz ശ്രേണികളിൽ 2W);
  • പവർ ക്ലാസ് 1 (1800/1900 MHz ബാൻഡുകളിൽ 1W);
  • എടി കമാൻഡ് മാനേജ്മെന്റ് (സിംകോമിൽ നിന്നുള്ള ജിഎസ്എം 07.07, 07.05 + എടി ​​കമാൻഡുകൾ);
  • ഓഡിയോ കോഡെക്കുകൾ HR, FR, EFR, AMR, എക്കോ റദ്ദാക്കൽ;
  • 14.4 kbit/s വരെ CSD;
  • പിപിപി സ്റ്റാക്ക്;
  • ബിൽറ്റ്-ഇൻ TCP/IP, UPD/IP സ്റ്റാക്ക്;
  • MUX (07.10);
  • HTTP, FTP പ്രോട്ടോക്കോളുകൾ;
  • വിതരണ വോൾട്ടേജ് 3.2-4.8V;
  • പ്രവർത്തന താപനില -30 +80 ° C;
  • സിം കാർഡുകൾ 1.8, 3.3V വോൾട്ടേജുകളെ പിന്തുണയ്ക്കുന്നു;
  • അളവുകൾ: 24*24*3മിമി
  • ഭാരം 4 ഗ്രാം.

സവിശേഷതകൾ ആ ലേഖനത്തിൽ നിന്നും മൊഡ്യൂളിനായുള്ള ഡാറ്റാഷീറ്റിൽ നിന്നും എടുത്തതാണ്.

തത്ഫലമായുണ്ടാകുന്ന ഡീബഗ്ഗിലേക്കോ ഡെമോ മൊഡ്യൂളിലേക്കോ നമുക്ക് പോകാം. യിൽ നിന്നുള്ള എന്റെ സ്വന്തം സംഭവവികാസങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ളതാണ് വികസനം. സംഭവിച്ചത് ഇതാ:

ഡാറ്റാഷീറ്റിൽ നിന്നുള്ള ശുപാർശകളിൽ നിന്നുള്ള ഇനിപ്പറയുന്ന ലഘൂകരണങ്ങൾ സ്കീമിൽ പ്രയോഗിച്ചു:


ഈ ലളിതവൽക്കരണങ്ങൾ നിർണായകമല്ല, എന്നാൽ മൊഡ്യൂൾ കൂടുതൽ കഠിനമായ അവസ്ഥയിലോ ഹാർഡ്‌വെയറിലോ ഉപയോഗിക്കുമ്പോൾ, അത് വലിയ ഉത്തരവാദിത്തം ഏൽപ്പിക്കുമ്പോൾ, നിങ്ങൾ അവയെക്കുറിച്ച് മറക്കരുത്.

ഇപ്പോൾ നടപ്പിലാക്കിയ കാര്യങ്ങളെക്കുറിച്ച്:

  1. കുറഞ്ഞ വോൾട്ടേജ് ഡ്രോപ്പ് LM1086CT കാരണം 5V മുതൽ (USB അല്ലെങ്കിൽ 5V മൈക്രോകൺട്രോളറിൽ പ്രവർത്തിക്കുമ്പോൾ ഇത് സൗകര്യപ്രദമാണ്) 7-8V വരെ വൈദ്യുതി വിതരണം സാധ്യമാക്കി;
  2. UART - ഡീബഗ്ഗിംഗ് അല്ലെങ്കിൽ ഒരു MK- ലേക്ക് ബന്ധിപ്പിക്കുന്നതിന്;
  3. + I2C ഔട്ട്പുട്ട് ആണ് (നിങ്ങൾ 5V ലോജിക്കിലേക്ക് കണക്റ്റുചെയ്യുകയാണെങ്കിൽ ലെവൽ പൊരുത്തപ്പെടുത്തലിനെ കുറിച്ച് മറക്കരുത്, ഞാൻ അവയെ ഡീബഗ്ഗിംഗിൽ ഉൾപ്പെടുത്തിയിട്ടില്ല);
  4. ബട്ടണും പ്രത്യേകവും ഔട്ട്പുട്ട് (UART ഇന്റർഫേസിൽ 5 പിന്നുകൾ, പ്രവർത്തനക്ഷമമാക്കുക ഉയർന്ന തലം), മൊഡ്യൂൾ സ്വമേധയാ ആരംഭിക്കുന്നതിന്, കാരണം മൈക്രോകൺട്രോളറിൽ നിന്ന് അത് ഓണാക്കാനും;
  5. ശബ്ദ ആശയവിനിമയം ആവശ്യമായി വന്നേക്കാവുന്ന പരീക്ഷണങ്ങൾക്കായി ഓഡിയോ ഇൻപുട്ടും ഔട്ട്പുട്ടും.
  6. 2 ഡയോഡ് സ്റ്റാറ്റസ്, മൊഡ്യൂളിന്റെ പ്രവർത്തന മോഡുകൾ പ്രദർശിപ്പിക്കുന്നതിന്;
  7. ജമ്പർ JUMP1, ഇത് സ്റ്റെബിലൈസർ അടയ്ക്കുകയും മൊഡ്യൂളിനെ 3.3-4.7V മുതൽ പവർ ചെയ്യാൻ അനുവദിക്കുകയും ചെയ്യുന്നു, ഇത് നേരിട്ട് പവർ ചെയ്യാൻ അനുവദിക്കുന്നു, ഉദാഹരണത്തിന്, ഒരു ലിഥിയം-അയൺ ബാറ്ററിയിൽ നിന്ന്. അസംബ്ലിയിലും പരിശോധനയിലും, കയ്യിൽ സ്റ്റെബിലൈസർ ഇല്ലായിരുന്നു; ഒരു 18650 കാൻ ഉപയോഗിച്ചാണ് ഇത് പ്രവർത്തിപ്പിക്കുന്നത്.;
  8. വിവാഹമോചനം നേടി അധിക ഭൂമികൾവേണ്ടി സൗകര്യപ്രദമായ കണക്ഷൻചുറ്റളവ്;
  9. ഒരു മൊഡ്യൂൾ റീബൂട്ട് സർക്യൂട്ട് ചേർക്കാൻ അനുവദിക്കുന്നതിന് NRESET ലൈനിന്റെ SMD പാഡ് റൂട്ട് ചെയ്‌തിരിക്കുന്നു.

അടയാളം ഇതുപോലെ കാണപ്പെടുന്നു:

61x49 മില്ലിമീറ്റർ വലിപ്പമുള്ള ഒരു വശത്തുള്ള ഫൈബർഗ്ലാസ് ലാമിനേറ്റിലാണ് ബോർഡ് നിർമ്മിച്ചിരിക്കുന്നത്. അടിസ്ഥാനം GSM മൊഡ്യൂൾ SIM900 (B09) ആണ്. TO-220 ഭവനത്തിൽ സ്റ്റെബിലൈസർ VR1 LM1086CT-ADJ. സിം കാർഡ് ഹോൾഡർ സിം കാർഡ് SCV-W2523X-08 അല്ലെങ്കിൽ സിം കാർഡ് SCV-W2523X-06. കുറഞ്ഞ കറന്റ് ഉപഭോഗമുള്ള 0603 അല്ലെങ്കിൽ 0805 ഭവനങ്ങളിൽ ഏതെങ്കിലും LED- കൾ. ഒരേയൊരു ട്രാൻസിസ്റ്റർ VT1 BC847 അല്ലെങ്കിൽ സമാനമാണ്. റെസിസ്റ്ററുകൾ R1, R2, നിലവിലെ ലിമിറ്ററുകൾ LED സ്റ്റാറ്റസ്, 510 Ohm 0805 വീതം. R3 4.7 kOhm, R4 47 kOhm, R5-R6 1 kOhm എല്ലാ വലുപ്പവും 0805. R7 0805 68 Ohm, R8 1206 10 Ohm. R8-R10 22 Ohm ഭവന വലിപ്പത്തിൽ 0805. R12 1 kOhm, R13 10 kOhm, രണ്ടും 0805. കപ്പാസിറ്ററുകൾ C2-C3, C7-C8 33 pF, C4 22 pF, C5 1 μF, C6 10 pF, C9. μF, അവയുടെയെല്ലാം വലുപ്പം 0805. കപ്പാസിറ്റർ C1 10uF ചിപ്പ് ടാന്റലം വലുപ്പം A. C10 100uF 16V-യിൽ കുറയാത്തത്, C13 470-680uF 10V-യിൽ കുറയാത്തത്, EPCOS-ന് വേണ്ടി ബോർഡ് വയർ ചെയ്‌തിരിക്കുന്നു: 100uF ബാരൽ വലുപ്പം 8x14.000uF ബാരൽ 8x14.0mm ഒരേ സീരീസ് വലിപ്പം 10x12.5- 20mm . ബട്ടൺ S1 - DTSM13-5.0N (ഇലക്ട്രോണിക്സിൽ), ഒരുപക്ഷേ അതിന്റെ യഥാർത്ഥ പേര് DTSM13-4.3N എന്നാണ്. ഒരു SMA-M കണക്റ്റർ ഉള്ള GSM ശ്രേണിയ്‌ക്കുള്ള ഏത് ആന്റിനയും, ബോർഡിൽ ഒരു SMA-F സോക്കറ്റ് ഉണ്ട്. ജമ്പർ JUMP1-നുള്ള പിൻസ് PLS5, 3x PLS2 + എന്നിവയ്ക്ക് PLS3 ആവശ്യമാണ്, കൂടാതെ 2.54 പിച്ച് ഉള്ള ജമ്പറും ആവശ്യമാണ്. ഓഡിയോ കണക്ടറുകൾ ജാക്ക് 3.5 - CK3-101B, ലഭ്യമായത് ഞാൻ ഇൻസ്റ്റാൾ ചെയ്തു, നല്ല ഓപ്ഷനല്ല, ചില മോണോ സോക്കറ്റുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതാണ് നല്ലത്.

താഴെ വിവരിച്ചിരിക്കുന്ന SIM900 ഉപയോഗിക്കുന്നതിന്റെ അനുഭവം മൊഡ്യൂളിൽ അൽപ്പം പ്രവർത്തിച്ചിട്ടുള്ളവർക്ക് കൂടുതൽ ഉപയോഗപ്രദമാകും. ഈ മൈക്രോ സർക്യൂട്ട് പഠിക്കാൻ തുടങ്ങുകയും ഇന്റർനെറ്റ് വഴി ഡാറ്റ കൈമാറ്റം ചെയ്യാൻ ഇത് ഉപയോഗിക്കാൻ പദ്ധതിയിടുകയും ചെയ്യുന്ന വായനക്കാർക്കായി, ഞങ്ങൾ ഈ വിഷയത്തെക്കുറിച്ചുള്ള പാഠങ്ങളുടെ ഒരു പരമ്പര തയ്യാറാക്കിയിട്ടുണ്ട്. ഇവിടെ .

അതിനാൽ, SIM COM-ൽ നിന്നുള്ള ഒരു GSM മൊഡ്യൂളാണ് SIM900, AT കമാൻഡുകളാൽ നിയന്ത്രിക്കപ്പെടുന്നു, SMS അയയ്‌ക്കാനും കോളുകൾ ചെയ്യാനും നേരിട്ട് CSD കണക്ഷൻ സംഘടിപ്പിക്കാനും GPRS വഴി വിവരങ്ങൾ കൈമാറാനും കഴിയും.

എന്റെ കൈയിൽ ചൈനയിൽ നിന്ന് ഓർഡർ ചെയ്ത ഒരു SIM900 GPRS ഷീൽഡ് ഡീബഗ്ഗിംഗ് ബോർഡ് - Arduino പ്ലാറ്റ്‌ഫോമിന് അനുയോജ്യമാണ്.

ബോർഡിൽ SIM900 ചിപ്പ്, മൈക്രോഫോൺ, ഹെഡ്‌ഫോൺ കണക്ടറുകൾ, ഒരു പവർ സപ്ലൈ സ്വിച്ച് (ഇതിൽ നിന്ന് ബാഹ്യ കണക്റ്റർഅല്ലെങ്കിൽ Arduino-ൽ നിന്ന്), ഒരു ആന്റിന, ഓപ്പറേറ്റിംഗ് മോഡുകൾ സൂചിപ്പിക്കുന്നതിന് നിരവധി LED-കൾ, ബാറ്ററിക്കുള്ള ഒരു കണക്റ്റർ (നിങ്ങൾക്ക് ഒരു തത്സമയ ക്ലോക്ക് വേണമെങ്കിൽ), ഒരു ഓൺ/ഓഫ് ബട്ടൺ. നല്ല വിവരണംഞാൻ വിക്കിയിൽ നിർമ്മാതാവിനെ കണ്ടെത്തി . വിവിധ മോഡുകളിൽ മോഡം നിയന്ത്രിക്കുന്നതിനുള്ള കോഡും ഉണ്ട്.

നിർമ്മാതാവ് ഞങ്ങളോട് പറയുന്നതുപോലെ, ബോർഡ് തികച്ചും അനുയോജ്യമാണ് ആർഡ്വിനോ യുനോ. തീർച്ചയായും, SIM900 ബോർഡ് യുനോയിലേക്ക് പ്ലഗ് ചെയ്‌ത് ഉടൻ പ്രവർത്തിക്കാൻ തുടങ്ങുന്നു. എന്നിരുന്നാലും, ചില ഫംഗ്ഷനുകൾ നടപ്പിലാക്കുന്നതിന് Arduino Uno "ദുർബലമായി" മാറിയേക്കാം, പക്ഷേ ഞാൻ ഇതിനെക്കുറിച്ച് ചുവടെ സംസാരിക്കും.

ചില നിയന്ത്രണങ്ങളോടെയാണ് ബോർഡ് Arduino Mega-നൊപ്പം പ്രവർത്തിക്കുന്നത്. മെഗാ, യുനോയിൽ നിന്ന് വ്യത്യസ്തമായി, സോഫ്റ്റ്വെയർ സീരിയൽ (സോഫ്റ്റ്വെയർ USART) ആയി ഉപയോഗിക്കുന്നതിന് ലഭ്യമല്ലാത്ത പിന്നുകൾ 7 ഉം 8 ഉം ഉള്ളതാണ് ഇതിന് കാരണം. USART ഇന്റർഫേസ് കാലുകൾ 0, 1 എന്നിവയിലേക്ക് മാറ്റുന്നതിലൂടെ ഇത് പരിഹരിക്കാനാകും; ഈ ആവശ്യത്തിനായി, SIM900 ബോർഡിൽ ജമ്പറുകൾ നൽകിയിട്ടുണ്ട്.

പൊതുവേ, USART ഇന്റർഫേസുള്ള ഏത് കൺട്രോളറിലേക്കും ബോർഡ് ബന്ധിപ്പിക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, ഞാൻ STM32F4 കൺട്രോളർ ഉപയോഗിച്ച് മോഡം നിയന്ത്രിക്കാൻ ശ്രമിച്ചു.

SIM900: SMS സന്ദേശങ്ങളും കോളുകളും

എസ്എംഎസ് സന്ദേശങ്ങളും കോളുകളും കൈമാറ്റം ചെയ്യുന്നതിനുള്ള മൊഡ്യൂളിന്റെ പരീക്ഷണം മികച്ച വിജയമായിരുന്നു! മൊഡ്യൂൾ ഈ ജോലികൾ ഇല്ലാതെ നേരിട്ടു പ്രത്യേക പ്രശ്നങ്ങൾ, ഇതിനായി ഞാൻ സി കോപ്പി ചെയ്തു ഒരേ സൈറ്റ്, Arduino Uno-യിൽ ഈ കോഡ് സമാഹരിച്ച് ഫ്ലാഷ് ചെയ്തു:

//സീരിയൽ റിലേ - Arduino കമ്പ്യൂട്ടറും GPRS ഷീൽഡും തമ്മിലുള്ള സീരിയൽ ലിങ്ക് പാച്ച് ചെയ്യും //19200 bps 8-N-1 //കമ്പ്യൂട്ടർ ഹാർഡ്‌വെയർ UART-ലേക്ക് കണക്റ്റുചെയ്‌തു //GPRS ഷീൽഡ് സോഫ്‌റ്റ്‌വെയർ UART-ലേക്ക് ബന്ധിപ്പിച്ചിരിക്കുന്നു #ഉൾപ്പെടുന്നു SoftwareSerial GPRS(7, 8); ഒപ്പിടാത്ത ചാർ ബഫർ; // സീരിയൽ പോർട്ട് ഇന്റെ കൗണ്ട്=0 വഴി ഡാറ്റ സ്വീകരിക്കുന്നതിനുള്ള ബഫർ അറേ; // ബഫർ അറേ ശൂന്യമായ സജ്ജീകരണത്തിനായുള്ള കൗണ്ടർ () ( GPRS.begin(19200); // GPRS ബോഡ് നിരക്ക് Serial.begin(19200); // Arduino ബോഡ് നിരക്കിന്റെ സീരിയൽ പോർട്ട്. ) void loop() ((GPRS) ആണെങ്കിൽ .available()) // സോഫ്റ്റ്‌വെയർ സീരിയൽ പോർട്ടിൽ നിന്നാണ് തീയതി വരുന്നതെങ്കിൽ ==> ഡാറ്റ ജിപിആർഎസ് ഷീൽഡിൽ നിന്നാണ് വരുന്നത് ((GPRS.available()) // ഡാറ്റ ചാർ അറേയിലേക്ക് വായിക്കുന്നു (ബഫർ=GPRS.read(); // അറേയിലേക്ക് ഡാറ്റ എഴുതുന്നുവെങ്കിൽ (എണ്ണം == 64) ബ്രേക്ക്; ) Serial.write (ബഫർ, കൗണ്ട്); // ഡാറ്റാ ട്രാൻസ്മിഷൻ അവസാനിക്കുന്നില്ലെങ്കിൽ, ഹാർഡ്‌വെയർ സീരിയൽ പോർട്ടിലേക്ക് ബഫർ എഴുതുക clearBufferArray(); // സംഭരണം മായ്‌ക്കാൻ clearBufferArray ഫംഗ്‌ഷൻ വിളിക്കുക അറേ എണ്ണത്തിൽ നിന്നുള്ള ഡാറ്റ = 0; // കൗണ്ടറിന്റെ കൗണ്ടർ പൂജ്യത്തിലേക്ക് സജ്ജമാക്കുക) എങ്കിൽ (Serial.available()) // ഹാർഡ്‌വെയർ സീരിയൽ പോർട്ടിൽ ഡാറ്റ ലഭ്യമാണെങ്കിൽ ==> ഡാറ്റ പിസിയിൽ നിന്നോ നോട്ട്ബുക്കിൽ നിന്നോ GPRS.write (സീരിയൽ) വരുന്നു .read()); // ഇത് GPRS ഷീൽഡിലേക്ക് എഴുതുക) അസാധുവായ clearBufferArray() // ബഫർ അറേ മായ്‌ക്കുന്നതിനുള്ള ഫംഗ്‌ഷൻ ( (int i=0; i എന്നതിനായി

മൊഡ്യൂളിലേക്ക് കമാൻഡുകൾ അയയ്ക്കുന്നതിന്, അത് ഒരു കമ്പ്യൂട്ടറുമായി ബന്ധിപ്പിച്ചിരിക്കണം. Arduino USB പോർട്ട് ഉപയോഗിച്ച് ഇത് ചെയ്യാം. ഒരു കമ്പ്യൂട്ടറിൽ, ഇതിനായി നിങ്ങൾക്ക് ഏതെങ്കിലും COM പോർട്ട് മോണിറ്റർ ആവശ്യമാണ്. നിങ്ങൾക്ക് അത് ഡൗൺലോഡ് ചെയ്യാം ഇവിടെ നിന്ന്, അല്ലെങ്കിൽ നിങ്ങൾക്ക് Arduino IDE-യിൽ നിർമ്മിച്ച മോണിറ്റർ ഉപയോഗിക്കാം.

എല്ലാ ഫേംവെയർ Arduino പ്രോഗ്രാമും ചെയ്യുന്നത് ഉപയോക്തൃ കമാൻഡുകൾ "പിടിക്കുക" അവ മൊഡ്യൂളിലേക്ക് അയയ്ക്കുക, തുടർന്ന് ഉപയോക്താവിന് SIM900-ലേക്കുള്ള പ്രതികരണങ്ങൾ നൽകുക. അങ്ങനെ, മൊഡ്യൂളിലേക്ക് AT കമാൻഡുകൾ സ്വമേധയാ കൈമാറുന്നതിലൂടെ, SMS സന്ദേശങ്ങളുടെ സ്വീകരണവും പ്രക്ഷേപണവും ഞാൻ പരീക്ഷിച്ചു, കൂടാതെ ഒരു മൈക്രോഫോണും ഹെഡ്‌ഫോണുകളും ഉചിതമായ കണക്റ്ററുകളിലേക്ക് ബന്ധിപ്പിച്ച്, ഞാൻ SIM900 മൊഡ്യൂൾ ഒരു മൊബൈൽ ഫോണായി ഉപയോഗിച്ചു.

SIM900 ഉപയോഗിച്ച് GPRS വഴി ഡാറ്റ കൈമാറ്റം

SIM900 നിയന്ത്രിക്കാൻ Arduino UNO പ്ലാറ്റ്‌ഫോം ഉപയോഗിച്ച് GPRS വഴിയുള്ള ഡാറ്റാ കൈമാറ്റത്തിൽ ഞാൻ എന്റെ ആദ്യ പരീക്ഷണങ്ങൾ ആരംഭിച്ചു (അത് കയ്യിലിരുന്നതിനാൽ). ആരംഭിക്കുന്നതിന്, ഞാൻ Apatche പ്രവർത്തിക്കുന്ന ഒരു സെർവർ ഉപയോഗിച്ച് ഹോസ്റ്റിംഗ് വാങ്ങുകയും GET അഭ്യർത്ഥനകളോട് സമർത്ഥമായി പ്രതികരിക്കാൻ കഴിയുന്ന ഒരു ലളിതമായ ആപ്ലിക്കേഷൻ വിന്യസിക്കുകയും ചെയ്തു. സംഭവിച്ചു! ഞാൻ ഇപ്പോഴും പിസിയിൽ നിന്ന് Arduino കൺട്രോളറിലേക്ക് കമാൻഡുകൾ അയച്ചു, അത് അവരെ SIM900 ലേക്ക് അയച്ചു.

GET അഭ്യർത്ഥനകൾ വേണ്ടത്ര ചെറുതായിരിക്കുന്നിടത്തോളം (100 പ്രതീകങ്ങൾ വരെ) എല്ലാം ശരിയായി പ്രവർത്തിച്ചു. എന്നാൽ അഭ്യർത്ഥനകൾ ദൈർഘ്യമേറിയപ്പോൾ, പരാജയങ്ങൾ ആരംഭിച്ചു: അഭ്യർത്ഥനകൾ പൂർണ്ണമായും കൈമാറ്റം ചെയ്യപ്പെട്ടില്ല. Arduino കൺട്രോൾ പ്രോഗ്രാമിനെ നിരവധി വരികളിലൂടെ കൂട്ടുകയോ കുറയ്ക്കുകയോ ചെയ്യുമ്പോൾ പോലും തകരാറുകൾ പ്രത്യക്ഷപ്പെടുകയോ അപ്രത്യക്ഷമാകുകയോ ചെയ്യുമെന്ന് ശ്രദ്ധിക്കപ്പെട്ടിട്ടുണ്ട്. തുടർന്ന്, പരാജയങ്ങൾ SIM900-മായി ആശയവിനിമയം നടത്താൻ Arduino UNO ഉപയോഗിക്കുന്ന USART എന്ന സോഫ്റ്റ്‌വെയറുമായി ബന്ധപ്പെട്ടതാണെന്ന് തെളിഞ്ഞു. അത്തരമൊരു USART പൂർണ്ണമായും കൺട്രോളർ കോറിന്റെ പ്രോഗ്രാം സൈക്കിളിനെ ആശ്രയിച്ചിരിക്കുന്നു. ഡാറ്റയുടെ അളവ് ചെറുതാണെങ്കിൽ, അത് എല്ലായ്പ്പോഴും കൈമാറ്റം ചെയ്യാനുള്ള സമയമുണ്ട്, അതിന്റെ അളവ് വർദ്ധിക്കുകയാണെങ്കിൽ, പ്രക്ഷേപണത്തിന്റെ ഫലം പ്രോഗ്രാം സൈക്കിളിന്റെ കാലാവധിയെ ആശ്രയിച്ചിരിക്കുന്നു.

മുകളിൽ പറഞ്ഞവയിൽ നിന്നുമുള്ള നിഗമനം: SIM900-മായി ആശയവിനിമയം നടത്തുമ്പോൾ USART എന്ന സോഫ്‌റ്റ്‌വെയർ ഉപയോഗിക്കുന്നത് അസാധ്യമാണ്, പ്രത്യേകിച്ചും കൈമാറ്റം ചെയ്യപ്പെടുന്ന വലിയ അളവിലുള്ള ഡാറ്റയുടെ കാര്യത്തിൽ.

ആർഡ്‌വിനോ യുനോയ്‌ക്ക് ഒരു “ഹാർഡ്‌വെയർ” യു‌എസ്‌ആർ‌ടി ഇന്റർഫേസ് മാത്രമേയുള്ളൂ, അത് ഒരു പിസിയുമായി കൈമാറ്റം ചെയ്യാൻ ഉപയോഗിച്ചു, അതിനാൽ ഞങ്ങൾക്ക് യുഎൻ‌ഒ ഉപേക്ഷിക്കേണ്ടിവന്നു, അത് “ഹാർഡ്‌വെയർ” യു‌എസ്‌ആർ‌ടികളുടെ അഭാവത്തിൽ നിന്ന് കഷ്ടപ്പെടാത്ത ആർഡ്വിനോ മെഗാ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിച്ചു. അത്തരമൊരു "കാസ്ലിംഗിന്" ശേഷം, ഉപകരണത്തിന്റെ പ്രവർത്തനം സുസ്ഥിരവും ശരിയും ആയിത്തീർന്നു.

SIM900: TCP-IP സ്റ്റാക്ക് അല്ലെങ്കിൽ HTTP? എന്താണ് നല്ലത്?

മോഡം മാനേജ്മെന്റ് മാനുവൽ പഠിക്കുമ്പോൾ, AT കമാൻഡുകളുടെ രണ്ട് ഗ്രൂപ്പുകൾ ഉണ്ടെന്ന് ഞാൻ കണ്ടെത്തി. ബിൽറ്റ്-ഇൻ TCP-IP സ്റ്റാക്ക് വഴി ഡാറ്റ കൈമാറാൻ ആദ്യ ഗ്രൂപ്പ് ഉപയോഗിക്കുന്നു, രണ്ടാമത്തേത് SIM900-ന്റെ ആന്തരിക ലോജിക് ഉപയോഗിച്ച് ഇതിനകം നടപ്പിലാക്കിയ HTTP പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്നു. ഈ രീതികൾ എങ്ങനെ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു, അവയിൽ ഓരോന്നിന്റെയും ഗുണങ്ങളും ദോഷങ്ങളും എന്താണെന്ന് കണ്ടെത്താൻ ഗൂഗിളിനെയും യാൻഡെക്സിനെയും ഞാൻ എത്രമാത്രം പീഡിപ്പിച്ചിട്ടും എനിക്ക് ഒന്നും കണ്ടെത്താൻ കഴിഞ്ഞില്ല, അതിനാൽ ഞാൻ രണ്ടും പരീക്ഷിക്കുകയും എന്റെ പ്രായോഗിക അനുഭവം ഇവിടെ പങ്കിടുകയും ചെയ്യുന്നു.

രണ്ട് രീതികളും പ്രവർത്തിക്കുന്നു, നിലനിൽക്കാൻ അവകാശമുണ്ട്.

TCP-IP സ്റ്റാക്ക് ആരംഭിക്കുന്നത് കുറച്ചുകൂടി ബുദ്ധിമുട്ടാണ് (കൂടുതൽ കമാൻഡുകൾ മൊഡ്യൂളിലേക്ക് കൈമാറേണ്ടതുണ്ട്), ഇത് കൈകാര്യം ചെയ്യുന്നത് കുറച്ചുകൂടി ബുദ്ധിമുട്ടാണ്. ഒരു അഭ്യർത്ഥന അയയ്‌ക്കുന്നതിന്, നിങ്ങൾ ഒരു കണക്ഷൻ തുറക്കുകയും പ്രതികരണത്തിനായി കാത്തിരിക്കുകയും അത് ശരിയായി അടയ്ക്കുകയും വേണം.

ലളിതമായി പറഞ്ഞാൽ, SIM900-ൽ നിർമ്മിച്ച ഒരു ബ്രൗസറാണ് HTTP. ആരംഭിക്കുന്നത് എളുപ്പമാണ്; സെർവറുമായി ആശയവിനിമയം ആരംഭിക്കുന്നതിന്, നിങ്ങൾ ഒരു സെഷൻ തുറക്കേണ്ടതുണ്ട്. അതേ സമയം, ഓരോ അഭ്യർത്ഥനയുമായി ഒരു കണക്ഷൻ തുറക്കുന്നതും അടയ്ക്കുന്നതും മറ്റ് "ഓർഗനൈസേഷണൽ ടാസ്ക്കുകൾ" പരിഹരിക്കുന്നതും SIM900 ന്റെ ചുമലിൽ വീഴുന്നു. ഇത് സൗകര്യപ്രദമാണ്, കൂടാതെ ഈ രീതിയിൽ ഡാറ്റാ കൈമാറ്റം കുറച്ച് വേഗതയുള്ളതാണ്, കാരണം SIM900 ന് എല്ലാ "ഓക്സിലറി പ്രവർത്തനങ്ങളും" കൺട്രോൾ കൺട്രോളറിന് ചെയ്യാൻ കഴിയുന്നതിനേക്കാൾ വേഗത്തിൽ ചെയ്യാൻ കഴിയും.

അങ്ങനെ, എക്സ്ചേഞ്ച് രീതി തിരഞ്ഞെടുക്കുമ്പോൾ, ഞാൻ ഇപ്പോഴും HTTP പ്രോട്ടോക്കോളിൽ സ്ഥിരതാമസമാക്കി.

സെർവറിലേക്കുള്ള തെറ്റായ GET അഭ്യർത്ഥന

GPRS വഴി ഡാറ്റ കൈമാറുന്ന എന്റെ ജോലിയുടെ തുടക്കത്തിൽ തന്നെ, ഞാൻ ഒരു തെറ്റ് ചെയ്തു, അത് എനിക്ക് ഒരു ദിവസത്തിൽ കൂടുതൽ പീഡിപ്പിക്കേണ്ടി വന്നു. GET അഭ്യർത്ഥനകൾ വഴി സെർവറുമായി ഇടപഴകുന്നതിൽ മതിയായ അനുഭവം ഇല്ലാത്തതിനാൽ, ഇന്റർനെറ്റിൽ ഉപരിപ്ലവമായ അറിവ് നേടിയ ഞാൻ, ഇതുപോലുള്ള ഒരു അഭ്യർത്ഥന സമാഹരിച്ചു:

http://xxx.ru/d_command.php?UC=1111 HTTP/1.1 നേടുക
ഹോസ്റ്റ്: xxx.ru

ഈ അഭ്യർത്ഥന ശരിയല്ല, പക്ഷേ ഡീബഗ്ഗിംഗിനായി ഞാൻ അഭ്യർത്ഥനകൾ അയച്ച ബ്രൗസറും പ്രോക്സി സെർവറും ഇത് തികച്ചും "കഴിച്ചു" - അതിനാലാണ് ഞാൻ അഭ്യർത്ഥന ശരിയാണെന്ന് കരുതിയത്.

ഏറ്റവും ആശ്ചര്യകരമായ കാര്യം, SIM900 ഒരു "മോശം" അഭ്യർത്ഥനയെ നന്നായി നേരിട്ടു എന്നതാണ് (അന്ന് ഞാൻ TCP-IP സ്റ്റാക്ക് വഴി അഭ്യർത്ഥനകൾ അയച്ചിരുന്നു). എന്നിരുന്നാലും, ഒരു നല്ല ദിവസം സെർവർ അത്തരം അഭ്യർത്ഥനകളോട് പിശക് 404 ഉപയോഗിച്ച് പ്രതികരിക്കാൻ തുടങ്ങി. ഇത് ഇതുവരെ വ്യക്തമാക്കാത്ത സാഹചര്യങ്ങൾ മൂലമാണ് സംഭവിച്ചത്, ഒന്നുകിൽ ഹോസ്റ്റിംഗ് ദാതാവ് അഭ്യർത്ഥന പ്രോസസ്സ് ചെയ്യുന്നതിനുള്ള അൽഗോരിതം മാറ്റി (അദ്ദേഹം ഇത് നിഷേധിക്കുന്നു), അല്ലെങ്കിൽ മൊബൈൽ ഓപ്പറേറ്റർ അതു ചെയ്തു. എന്നാൽ വസ്തുത ഒരു വസ്തുതയായി തുടരുന്നു. അപ്പോൾ ഞാൻ HTTP വഴി അതേ അഭ്യർത്ഥന അയയ്ക്കാൻ ശ്രമിച്ചു - എല്ലാം പ്രവർത്തിച്ചു. SIM900 മൊഡ്യൂളിന്റെ ആന്തരിക എച്ച്ടിടിപി പ്രോട്ടോക്കോളിന് (ഞാൻ ഇതിനകം പറഞ്ഞതുപോലെ, അടിസ്ഥാനപരമായി ഒരു ബിൽറ്റ്-ഇൻ ബ്രൗസർ) തെറ്റായ അഭ്യർത്ഥനകൾ ശരിയായി "പാഴ്സ്" ചെയ്യാനും ശരിയായ രൂപത്തിൽ നെറ്റ്‌വർക്കിലേക്ക് പ്രക്ഷേപണം ചെയ്യാനും കഴിയും എന്ന വസ്തുത ഇത് വിശദീകരിക്കുന്നു. എച്ച്ടിടിപി ഉപയോഗിക്കുന്നതിന്റെ മറ്റൊരു നേട്ടമാണിത് (സംശയാസ്പദമാണ്), കാരണം ഇത് പ്രോഗ്രാമർക്ക് ചില കൃത്യതകൾ അനുവദിക്കുന്നില്ല. പൊതുവേ, തീർച്ചയായും, അഭ്യർത്ഥന ശരിയായി എഴുതുകയും ഇതുപോലെ കാണുകയും വേണം:

GET /d_command.php?UC=1111 HTTP/1.1
ഹോസ്റ്റ്: xxx.ru

അത്തരമൊരു ശരിയായ അഭ്യർത്ഥനയോടെ, TCP-IP സ്റ്റാക്ക് വഴിയും HTTP വഴിയും SIM900 വിജയകരമായി കൈമാറ്റം ചെയ്യുന്നു.

SIM900 മരവിപ്പിക്കുന്നു

ചിലപ്പോൾ, ജിപിആർഎസ് വഴി കൈമാറ്റം ചെയ്യുമ്പോൾ, മൊഡ്യൂൾ മരവിപ്പിക്കുന്ന സാഹചര്യങ്ങൾ ഉണ്ടാകാം. ഇത് നെറ്റ്‌വർക്കിലൂടെ വന്ന തെറ്റായ ഡാറ്റയോ SIM900-നെ സ്തംഭനാവസ്ഥയിലാക്കിയതോ അല്ലെങ്കിൽ മൊഡ്യൂളിന്റെയും കൺട്രോളറിന്റെയും എക്‌സ്‌ചേഞ്ച് ലൈനിലെ ഇടപെടലോ കാരണമാകാം, അതിൽ SIM900-ന് "അത് പ്രതീക്ഷിച്ചതല്ല" ലഭിച്ചതോ അല്ലെങ്കിൽ മറ്റേതെങ്കിലും അജ്ഞാത പ്രശ്‌നമോ ആകാം. ചിപ്പ് നിർമ്മാതാവ് ഇത് സംഭവിക്കുമെന്ന് മുന്നറിയിപ്പ് നൽകുന്നു, അത്തരം സന്ദർഭങ്ങളിൽ, PWRKEY ഇൻപുട്ടിൽ പ്രയോഗിക്കുന്ന പൾസുകളുടെ ഒരു പ്രത്യേക ശ്രേണി ഉപയോഗിച്ച് മൊഡ്യൂൾ റീബൂട്ട് ചെയ്യാൻ നിർദ്ദേശിക്കുന്നു.

എന്നിരുന്നാലും, ഇത് മാറിയതുപോലെ, ഇത് എല്ലായ്പ്പോഴും സഹായിക്കില്ല - അത്തരമൊരു റീബൂട്ടിന് ശേഷം, മൊഡ്യൂൾ "ഉണർന്നേക്കാം" ഇപ്പോഴും "തകരാർ". മൊഡ്യൂളിനായുള്ള ഡാറ്റാഷീറ്റ് ഞങ്ങൾ ശ്രദ്ധാപൂർവ്വം വായിക്കുകയാണെങ്കിൽ നിർമ്മാതാവ് ഇതിനെക്കുറിച്ച് മുന്നറിയിപ്പ് നൽകുന്നു. ഡോക്യുമെന്റേഷൻ ശുപാർശ ചെയ്യുന്നത് ഇതാ:

ശ്രദ്ധിക്കുക: "AT+CPOWD=1" എന്ന AT കമാൻഡിനോടും PWRKEY പിൻയോടും SIM900 പ്രതികരിക്കാൻ കഴിയാത്തപ്പോൾ ബാഹ്യ റീസെറ്റ് പിൻ ഉപയോഗിക്കുന്നതിന് പകരം VBAT പവർ സപ്ലൈ നേരിട്ട് വിച്ഛേദിക്കാൻ ശുപാർശ ചെയ്യുന്നു.

അതിനാൽ, മൊഡ്യൂൾ റീബൂട്ട് ചെയ്യുന്നതിനുള്ള ഏറ്റവും ശരിയായ മാർഗം അതിൽ നിന്ന് പവർ പൂർണ്ണമായും നീക്കം ചെയ്യുക എന്നതാണ് (VBAT പിന്നിൽ നിന്ന്), കുറച്ച് സമയം കാത്തിരിക്കുക (ഒരു നിമിഷമെങ്കിലും) പവർ വീണ്ടും പ്രയോഗിക്കുക. മൊഡ്യൂൾ റീബൂട്ട് ചെയ്യുന്നതിന്, കൺട്രോളർ നിയന്ത്രിക്കുന്ന ബോർഡിൽ ഒരു റിലേ അല്ലെങ്കിൽ ട്രാൻസിസ്റ്റർ സ്വിച്ച് നൽകുന്നത് നല്ലതാണ്.

ഉപസംഹാരം

ഭാവിയിൽ, ഒരു സെർവർ വെബ് ആപ്ലിക്കേഷനും SIM900-നും ഇടയിൽ ഒരു കൈമാറ്റം എങ്ങനെ സംഘടിപ്പിക്കാമെന്ന് ഞാൻ നിങ്ങളോട് പറയുന്ന ലേഖന-പാഠങ്ങളുടെ ഒരു പരമ്പര പുറത്തിറക്കാൻ പദ്ധതിയിടുന്നു, ദാതാവിൽ നിന്ന് ഹോസ്റ്റിംഗ് വാങ്ങുന്നത് മുതൽ നിയന്ത്രണ പ്രോഗ്രാം കോഡ് എഴുതുന്നത് വരെ.

വിട! അപ്‌ഡേറ്റുകൾക്കായി കാത്തിരിക്കുക അലസമായ സ്മാർട്ട് .

അടുത്തിടെ, ജിഎസ്എം അലാറം ഉപകരണ സ്കീമുകൾക്കായി നിരവധി വ്യത്യസ്ത ഓപ്ഷനുകൾ പ്രത്യക്ഷപ്പെട്ടു. ഈ സ്കീമിൽ ഒരു GSM മൊഡ്യൂൾ ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ, മിക്ക കേസുകളിലും ഇത് ചൈനീസ് കമ്പനിയായ SimCom SIM300 നിർമ്മിക്കുന്ന ഒരു മൊഡ്യൂളാണ്. വിശ്വാസ്യതയുടെയും കുറഞ്ഞ വിലയുടെയും കാര്യത്തിൽ ഈ മൊഡ്യൂൾ വളരെ മികച്ചതാണെന്ന് സ്വയം തെളിയിച്ചിട്ടുണ്ട്.
ഉപകരണത്തിന്റെ ഒരു വിവരണം നൽകിയിരിക്കുന്നു GSM അലാറങ്ങൾരചയിതാവ് വികസിപ്പിച്ച SIM300 മൊഡ്യൂളിനെ അടിസ്ഥാനമാക്കി. പ്രിന്റഡ് സർക്യൂട്ട് ബോർഡ് ഡ്രോയിംഗുകളും മൈക്രോകൺട്രോളർ ഫേംവെയറിന്റെ പൂർണ്ണമായ പതിപ്പും ഉണ്ട്. കൂടാതെ, ഈ അലാറം സിസ്റ്റത്തിനായി വിവിധ വിപുലീകരണ മൊഡ്യൂളുകൾ, റിമോട്ട് കൺട്രോളുകൾ, കീപാഡ് കൺട്രോൾ യൂണിറ്റുകൾ, പവർ സപ്ലൈസ് എന്നിവ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്.
എന്നാൽ 2010 അവസാനം മുതൽ SIM3xx ലൈനിന്റെ GSM മൊഡ്യൂളുകളുടെ ഉത്പാദനം നിർത്തലാക്കുമെന്ന് നിർമ്മാതാവ് പ്രഖ്യാപിച്ചു. പകരം, അതേ നിർമ്മാതാവ് നിർമ്മിച്ച ഒരു പുതിയ മൊഡ്യൂൾ ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നു - SIM900. മാത്രമല്ല, പറഞ്ഞതുപോലെ, SIM900 അതിന്റെ "പൂർവ്വികർ" എന്നതിനേക്കാൾ വളരെ കൂടുതൽ പ്രവർത്തനക്ഷമമായിരിക്കും, കൂടാതെ, ഇത് ഞങ്ങൾക്ക് ഏറ്റവും പ്രധാനപ്പെട്ട മാനദണ്ഡങ്ങളിലൊന്നാണ്, വിലകുറഞ്ഞതാണ്.

SIM900-നെ കുറിച്ച് ചിലത്...

അപ്പോൾ എന്താണ് SIM900 മൊഡ്യൂൾ? നമുക്ക് ഡാറ്റാഷീറ്റ് എടുത്ത് വായിക്കാൻ ശ്രമിക്കാം.
വോയ്‌സ്, ഡാറ്റ, എസ്എംഎസ് സന്ദേശങ്ങൾ മുതലായവ കൈമാറുന്നതിനായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന 850/900/950/1900 മെഗാഹെർട്‌സ് ആവൃത്തിയിൽ പ്രവർത്തിക്കുന്ന ഒരു ക്വാഡ്-ബാൻഡ് GSM/GPRS ഉപകരണമാണ് SIM900 മൊഡ്യൂൾ.
മൊഡ്യൂളിന്റെ പ്രധാന സാങ്കേതിക സവിശേഷതകൾ:
തരംഗ ദൈര്ഘ്യം:
GSM850, EGSM900, DCS1800, PCS1900
കൂടെ GSM ഘട്ടം 2/2+ ന് അനുയോജ്യം.
എമിറ്റഡ് പവർ:
ക്ലാസ് 4 (2W/900 MHz)
ക്ലാസ് 1 (1W/1800 MHz)

നിയന്ത്രണം: AT കമാൻഡുകൾ (GSM 07.10)
മൊഡ്യൂൾ വിതരണ വോൾട്ടേജ്: 3.4 - 4.5 വി
നിലവിലെ ഉപഭോഗം:
സ്ലീപ്പ് മോഡിൽ - 1.5 എം.എ
ട്രാൻസ്ഫർ മോഡിൽ - 500 mA വരെ
പരമാവധി - 1.8 എ
പ്രവർത്തന താപനില: -30 ... +80 സി
അളവുകൾ: 24x24x3 മിമി
ഭാരം: 3.4 ഗ്രാം
നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഈ മൊഡ്യൂൾ അതിന്റെ മുൻഗാമിയായ SIM3xx മൊഡ്യൂളിൽ നിന്ന് ഏകദേശം ഒന്നര ഇരട്ടി വലുപ്പത്തിൽ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു. എന്നാൽ പരാമീറ്ററുകളുടെയും പ്രവർത്തനക്ഷമതയുടെയും കാര്യത്തിൽ, അത് വ്യാപ്തിയുടെ ക്രമത്തിൽ മികച്ചതാണ്.


ചിത്രം 1 - GSM SIM900 മൊഡ്യൂളിന്റെ രൂപം



ചിത്രം 2 - SIM900 മൊഡ്യൂൾ പിൻ അസൈൻമെന്റുകൾ

മൊഡ്യൂളിന്റെ രൂപം ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു. 1, പിന്നുകളുടെ അസൈൻമെന്റ് ചിത്രം. 2. മുൻ മോഡലുകളിൽ അന്തർലീനമായ സ്റ്റാൻഡേർഡ് ഇന്റർഫേസിന് (ഡാറ്റ എക്സ്ചേഞ്ചിനുള്ള UART പോർട്ടുകൾ, STATUS മൊഡ്യൂൾ സ്റ്റാറ്റസ് ഔട്ട്പുട്ട്, സിം കാർഡ് ഇന്റർഫേസ് പിന്നുകൾ മുതലായവ) കൂടാതെ, നിരവധി പുതിയവ ചേർത്തിട്ടുണ്ടെന്ന് കണക്കുകളിൽ നിന്ന് നിങ്ങൾക്ക് നിർണ്ണയിക്കാനാകും (കീബോർഡ് കണക്ഷൻ പിൻസ് KBR/KBC, PWM ഔട്ട്പുട്ട് PWM, NRESET മൊഡ്യൂൾ റീസെറ്റ് പിൻ).
ഈ ലേഖനം എഴുതുന്ന സമയത്ത് ഈ മൊഡ്യൂൾ ഇതുവരെ ഉക്രെയ്നിന്റെ വിശാലതയിൽ പൂർണ്ണമായി “പരീക്ഷിച്ചിട്ടില്ല” എന്ന വസ്തുത കാരണം, സോഫ്റ്റ്വെയർ നിരന്തരം മെച്ചപ്പെടുത്തിക്കൊണ്ടിരിക്കുകയാണ്; വിവരണത്തിലെ മാറ്റങ്ങൾ സാധ്യമാണ്, അത് ജോലിയെ മൊത്തത്തിൽ വഷളാക്കില്ല. .

അടിസ്ഥാന ഉപകരണ പാരാമീറ്ററുകൾ

ഈ ഉപകരണംരചയിതാവ് വികസിപ്പിച്ച GSM അലാറം ഉപകരണങ്ങളുടെ ഒരു തുടർച്ചയാണ്. അതിനാൽ, പരാമീറ്ററുകൾ മിക്കവാറും സമാനമാണ്.
"പ്രോഗ്രാമിംഗ്" മോഡ് ഒഴികെയുള്ള എല്ലാ ഓപ്പറേറ്റിംഗ് മോഡുകളിലും നാല് അലാറം ലൂപ്പുകളുടെ (AL) നില നിരീക്ഷിക്കുകയും ഉപകരണത്തിന്റെ മുൻ പാനലിൽ സ്ഥിതിചെയ്യുന്ന LED സൂചകങ്ങൾ ഉപയോഗിച്ച് ലൂപ്പുകളുടെ നില പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു (ഇൻഡിക്കേറ്റർ ലൈറ്റ് സൂചിപ്പിക്കുന്നത് "ലൂപ്പ് ആണ്. സാധാരണ അവസ്ഥയിൽ”, അല്ലെങ്കിൽ അത് അലാറം ലൂപ്പിന്റെ ഇപ്പോഴത്തെ ബ്രേക്ക് അല്ലെങ്കിൽ ഷോർട്ട് സർക്യൂട്ട് ആണ്).
അലാറം ലൂപ്പുകളിൽ ഉൾപ്പെടാം:
> കാന്തിക കോൺടാക്റ്റ് സിഗ്നലിംഗ് ഉപകരണങ്ങൾ (റീഡ് സ്വിച്ചുകൾ SMK, SOMK);
> "ഫോയിൽ", "വിൻഡോ" തരങ്ങളുടെ ഡിറ്റക്ടറുകൾ;
> ഫയർ ഡിറ്റക്ടറുകൾ (IP-104, IP-105);
> ചലനം, വോളിയം, ബീറ്റ് സെൻസറുകൾ;
> സാധാരണ അവസ്ഥയിൽ അടഞ്ഞ ഔട്ട്പുട്ട് ഉള്ള മറ്റ് സെൻസറുകൾ, ലംഘനം ഉണ്ടായാൽ കോൺടാക്റ്റുകൾ തുറക്കുക.
ഉപകരണം ഇനിപ്പറയുന്ന തരത്തിലുള്ള അലാറം സോണുകളെ (ലൂപ്പുകൾ) പിന്തുണയ്ക്കുന്നു:
"സാധാരണ" (അലാറം ലൂപ്പിന്റെ സമഗ്രതയുടെ ലംഘനത്തിന്റെ ഒരു സിഗ്നൽ ലഭിച്ച ഉടൻ തന്നെ "അലാറം" സിഗ്നൽ സൃഷ്ടിക്കപ്പെടുന്നു; സജീവമാക്കിയതിന് ശേഷം ലൂപ്പ് പുനഃസ്ഥാപിക്കില്ല);
"കാലതാമസത്തോടെ" (ഉപയോക്താവിന് പുറത്തുകടക്കാനും പ്രവേശിക്കാനും സമയം നൽകുന്നു, അങ്ങനെ അയാൾക്ക് ഉപകരണം ഓണാക്കാനും ഒബ്ജക്റ്റ് ഉപേക്ഷിക്കാനും അല്ലെങ്കിൽ ഒബ്ജക്റ്റ് തുറന്ന് ഉപകരണം ഓഫാക്കാനും സമയം ലഭിക്കും);
"ഇടനാഴി" (ഒരു സോൺ പ്രവർത്തനക്ഷമമാക്കുകയും പിന്നീട് സാധാരണ നിലയിലേക്ക് മടങ്ങുകയും ചെയ്യുമ്പോൾ, ഇത്തരത്തിലുള്ള മേഖല വീണ്ടും സായുധമാണ്);
"24-മണിക്കൂർ, തീ" (അലാറം ലൂപ്പ് നിരന്തരം പരിരക്ഷിച്ചിരിക്കുന്നു, നിരായുധീകരണവും നിരായുധീകരണവും ഒരു പ്രത്യേക SMS കമാൻഡ് ഉപയോഗിച്ച് നടത്തുന്നു);
"എല്ലാ സമയത്തും, അലാറം ബട്ടൺ» (അലാറം ലൂപ്പ് നിരന്തരം സായുധമാണ്, ഒരു പ്രത്യേക SMS കമാൻഡ് ഉപയോഗിച്ച് നിരായുധീകരിക്കുകയും ആയുധമാക്കുകയും ചെയ്യുന്നു, ലൂപ്പ് പ്രവർത്തനക്ഷമമാകുമ്പോൾ, ഡയലിംഗ് മാത്രം നടത്തുന്നു, അട്ടിമറിയെക്കുറിച്ച് ഒരു SMS സന്ദേശം അയയ്ക്കുന്നു, സൈറൺ ഓണാക്കില്ല);
“അപ്രാപ്‌തമാക്കി” (എഎൽ ഇൻപുട്ടിലെ മാറ്റങ്ങളൊന്നും സിസ്റ്റം പ്രതികരിക്കുന്നില്ല).
"മറഞ്ഞിരിക്കുന്ന" അല്ലെങ്കിൽ "രഹസ്യ" ബട്ടൺ ഉപയോഗിച്ച് "സുരക്ഷാ" മോഡ് പ്രവർത്തനക്ഷമമാക്കുന്നു, ഒരു "രഹസ്യ" സ്വിച്ച് (ഇതിനുപകരം "സാറ്റൽ" പോലുള്ള സാധാരണ തുറന്ന കോൺടാക്റ്റുകളുള്ള ഒരു കീബോർഡ് ഉപയോഗിക്കാം), അല്ലെങ്കിൽ ഒരു റിമോട്ട് കൺട്രോൾ റിമോട്ട് കൺട്രോൾ, ടച്ച്മെമ്മറി കീ (ഡള്ളസ്) അല്ലെങ്കിൽ അധിക കീബോർഡ്, കൺട്രോളർ ഫേംവെയർ അനുസരിച്ച്. ഇവിടെ വിവരിച്ചിരിക്കുന്ന ഫേംവെയർ "രഹസ്യ" സ്വിച്ച് മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂ, മറ്റ് പതിപ്പുകൾ പിന്നീട് ചർച്ചചെയ്യും.
ഉപകരണത്തിന്റെ രണ്ട് ഓപ്പറേറ്റിംഗ് മോഡുകൾ പിന്തുണയ്ക്കുന്നു:
GSM അലാറം (GSM ടെർമിനൽ ബന്ധിപ്പിച്ചിരിക്കുന്നു, ഡാറ്റ കൈമാറ്റം ചെയ്യുന്നു);
സ്വയംഭരണ അലാറം സിസ്റ്റം (ജിഎസ്എം ടെർമിനൽ സിസ്റ്റത്തിന്റെ പ്രവർത്തനത്തിൽ പങ്കെടുക്കുന്നില്ല, ഉപകരണം ഒരു സ്വയംഭരണ അലാറം സിസ്റ്റമായി പ്രവർത്തിക്കുന്നു).
ഒരു പ്രത്യേക ഫോണിൽ നിന്നുള്ള ഒരു കോൾ ഉപയോഗിച്ച് നിരായുധമാക്കുകയും ആയുധമാക്കുകയും ചെയ്യുക (അപ്രാപ്തമാക്കാം) സിസ്റ്റം സ്റ്റാറ്റസിനെക്കുറിച്ചുള്ള അനുബന്ധ SMS പ്രക്ഷേപണം ചെയ്യുക.
ഒരു ഒബ്ജക്റ്റ് പരിരക്ഷയിൽ എടുക്കുമ്പോൾ സ്ഥിരീകരണ SMS സന്ദേശം കൈമാറുക (അപ്രാപ്തമാക്കാം).
ഒരു "അലാറം" സിഗ്നൽ സൃഷ്ടിക്കുന്നു (സൈറൺ ഓണാക്കുന്നു, "അലാറം" ഡാറ്റ കൈമാറുന്നു മൊബൈൽ ഫോൺ) കുറഞ്ഞത് ഒരു അലാറം ലൂപ്പിന്റെ സമഗ്രതയുടെ ("ബ്രേക്ക്" അല്ലെങ്കിൽ "ഷോർട്ട് സർക്യൂട്ട്") ലംഘനം ഉണ്ടെങ്കിൽ.
മൂന്ന് മൊബൈലിലേക്കോ ലാൻഡ്‌ലൈനിലേക്കോ (നിങ്ങളുടെ ടെലികോം ഓപ്പറേറ്റർ SMS ഫംഗ്‌ഷനുകൾ പിന്തുണയ്‌ക്കുകയാണെങ്കിൽ) ഫോൺ നമ്പറുകളിലേക്ക് SMS സന്ദേശങ്ങൾ അയയ്‌ക്കുന്നതും സ്വയമേവ ഡയൽ ചെയ്യുന്നതും.
മൊബൈൽ നമ്പർ 1-ൽ നിന്ന് ഒരു SMS സന്ദേശം സ്വീകരിക്കുന്നതിലൂടെയും (അല്ലെങ്കിൽ) ഈ നമ്പറിൽ നിന്ന് വിളിക്കുന്നതിലൂടെയും (അപ്രാപ്‌തമാക്കാം), അതുപോലെ തന്നെ ഒരു "രഹസ്യ" സ്വിച്ച് വഴിയും റിമോട്ട് കൺട്രോൾ, കീബോർഡ് എന്നിവ ഉപയോഗിച്ച് ഉപകരണം "നിരായുധ" മോഡിലേക്ക് മാറ്റുന്നു. കൺട്രോളർ ഫേംവെയറിൽ നിന്ന്.
ചില ഉള്ളടക്കത്തിന്റെ SMS സന്ദേശങ്ങൾ അയച്ചുകൊണ്ട് ഉപകരണം വിദൂരമായി നിയന്ത്രിക്കാനുള്ള കഴിവ് (അപ്രാപ്തമാക്കാം).
ഒരു കമ്പ്യൂട്ടർ ഉപയോഗിച്ച് ഉപകരണത്തിന്റെ പ്രധാന പ്രവർത്തനങ്ങളും പാരാമീറ്ററുകളും (ടെലിഫോൺ നമ്പറുകൾ, കാലതാമസ സമയം, സൈറൺ പ്രവർത്തന സമയം മുതലായവ) പ്രോഗ്രാമിംഗ് ലൈറ്റ് പ്രോഗ്രാമുകൾഉപകരണത്തിന്റെ "പ്രോഗ്രാമിംഗ്" മോഡിൽ പ്രോഗ്രാമർ. ഈ സാഹചര്യത്തിൽ, കമ്പ്യൂട്ടറിന്റെ COM പോർട്ടിന്റെ (പിൻസ് RxD, TxD) ഔട്ട്പുട്ട് ഒരു പ്രത്യേക കേബിൾ ഉപയോഗിച്ച് അലാറം ഉപകരണത്തിന്റെ അനുബന്ധ കണക്റ്ററുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു.
മൊബൈൽ കാർഡ് അക്കൗണ്ടിലെ ഫണ്ടുകളുടെ അഭാവത്തെക്കുറിച്ച് ഉപകരണം ഉപയോക്താവിന് ഒരു പ്രത്യേക സിഗ്നൽ അയയ്ക്കുന്നു.
മൊബൈൽ സ്റ്റേഷനുമായുള്ള ആശയവിനിമയ സിഗ്നലിന്റെ അഭാവത്തെക്കുറിച്ച് ഉപകരണം ഉപയോക്താവിന് ഒരു പ്രത്യേക സിഗ്നൽ അയയ്ക്കുന്നു.
"സെക്യൂരിറ്റി" മോഡിൽ മെയിൻ സപ്ലൈ വോൾട്ടേജ് (220V) നഷ്ടപ്പെടുമ്പോൾ ഒരു SMS സിഗ്നലിന്റെ സംപ്രേക്ഷണം (അപ്രാപ്തമാക്കാം).
ഒരു ബിൽറ്റ്-ഇൻ ജിഎസ്എം മോഡം ഉപയോഗിക്കുന്നത് അനാവശ്യ ബ്ലോക്കുകളും കണക്ഷനുകളും ഇല്ലാതെ ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു, അതുപോലെ തന്നെ ജിഎസ്എം ചാനൽ കണക്ഷന്റെ അനുയോജ്യതയും സ്ഥിരതയും വർദ്ധിപ്പിക്കുന്നു.
പവർ ഔട്ട്പുട്ടിന്റെ പ്രോഗ്രാം ചെയ്ത പ്രതികരണം: "അലാറം" മോഡിൽ മാത്രം ഔട്ട്പുട്ട് ഓണാക്കുക ഉപയോക്താവ് ഇൻസ്റ്റാൾ ചെയ്തുസമയം (60 മുതൽ 240 സെക്കൻഡ് വരെ).
ഉപകരണവും RF റിമോട്ട് കൺട്രോളും നിയന്ത്രിക്കാൻ റിമോട്ട് കൺട്രോൾ വഴി യഥാർത്ഥ IR ഡാറ്റ ട്രാൻസ്മിഷൻ പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്നു, അതുപോലെ തന്നെ കീബോർഡിൽ നിന്ന് ലഭിച്ച ഡാറ്റയുടെ യഥാർത്ഥ എൻകോഡിംഗും.
ഉപകരണ വിതരണ വോൾട്ടേജും വോൾട്ടേജും നിയന്ത്രിക്കുന്നത് സാധ്യമാണ് ബാറ്ററി, മെയിൻ വോൾട്ടേജ് അപ്രത്യക്ഷമാകുമ്പോഴോ വീണ്ടും ദൃശ്യമാകുമ്പോഴോ ബന്ധപ്പെട്ട SMS സന്ദേശങ്ങൾ അയയ്ക്കുമ്പോൾ. വിതരണ വോൾട്ടേജ് കുറയുമ്പോൾ ബാക്കപ്പ് ഉറവിടം(ബാറ്ററി) ഒരു നിർദ്ദിഷ്‌ട നിലയ്ക്ക് (8-9V) താഴെയായി, ഒരു സന്ദേശം അയയ്‌ക്കുന്നു, അതിനുശേഷം ഉപകരണം “സ്ലീപ്പ്” മോഡിലേക്ക് പോകുന്നു, അതിൽ നിന്ന് പുറത്തുകടക്കുക വൈദ്യുതി വിതരണം (മെയിൻ അല്ലെങ്കിൽ ബാറ്ററി) പുനഃസ്ഥാപിക്കുമ്പോൾ മാത്രമേ സാധ്യമാകൂ.
എന്നതിലേക്ക് ഒരു SMS സന്ദേശം അയയ്ക്കുന്നു മൊബൈൽ നമ്പർ 1 സൂചിപ്പിക്കുന്ന ഇൻകമിംഗ് കോളുകൾ സ്വീകരിക്കുമ്പോൾ ഇൻകമിംഗ് നമ്പർ(അപ്രാപ്തമാക്കാം).
12V ന്റെ പ്രവർത്തന വോൾട്ടേജും 1.25A വരെ നിലവിലെ ഉപഭോഗവും ഉപയോഗിച്ച് ബാഹ്യ ശബ്ദമോ ലൈറ്റ് അലാറങ്ങളോ (ബെൽ, സൈറൺ, വിളക്ക്) മാറാൻ ഉപകരണം നിങ്ങളെ അനുവദിക്കുന്നു.
ഈ ലേഖനത്തിൽ വിവരിച്ചിരിക്കുന്ന മൈക്രോകൺട്രോളർ ഫേംവെയർ ഒരു "രഹസ്യ" സ്വിച്ച് ഉപയോഗിച്ച് ഉപകരണം പ്രവർത്തിപ്പിക്കുന്നതിന് രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു, കൂടാതെ SMS സന്ദേശങ്ങൾ ഡയലിംഗും അയയ്‌ക്കലും ഉപയോഗിച്ച് ഉപകരണം ഓണാക്കാനും ഓഫാക്കാനുമാണ്. തീർച്ചയായും, വായനക്കാരുടെ താൽപ്പര്യമുണ്ടെങ്കിൽ, ഉപകരണത്തിന്റെ മറ്റ് പതിപ്പുകൾ ഇനിപ്പറയുന്ന മെറ്റീരിയലുകളിൽ വിവരിക്കും.

സ്പെസിഫിക്കേഷനുകൾ

അലാറം ലൂപ്പുകളുടെ എണ്ണം - 4.
റിമോട്ട് മൂലകത്തിന്റെ പ്രതിരോധം (ടെർമിനൽ), kOhm - 2.7.
റിമോട്ട് മൂലകത്തിന്റെ പ്രതിരോധം കണക്കിലെടുക്കാതെ സുരക്ഷാ ലൂപ്പിന്റെ പരമാവധി പ്രതിരോധം, ഓം - 750.
ഉറവിടത്തിൽ നിന്നുള്ള നിലവിലെ ഉപഭോഗം നേരിട്ടുള്ള കറന്റ്(ബന്ധിപ്പിച്ച സജീവ അലാറം സെൻസറുകൾ ഇല്ലാതെ), 12.6 V വോൾട്ടേജിൽ, ഇനിപ്പറയുന്ന ഓപ്പറേറ്റിംഗ് മോഡുകളിൽ, ഇനി വേണ്ട:
- "ഓൺ ഡ്യൂട്ടി", ഒരു ജിഎസ്എം മൊഡ്യൂൾ ഉപയോഗിക്കാതെ - 0.16 എ;
- "ഓൺ ഡ്യൂട്ടി", ഒരു ജിഎസ്എം മൊഡ്യൂൾ ഉപയോഗിക്കുമ്പോൾ - 0.23 എ;
- "സുരക്ഷ", ഒരു ജിഎസ്എം മൊഡ്യൂൾ ഉപയോഗിക്കുമ്പോൾ - 0.28 എ;
- "അലാറം", ജിഎസ്എം മൊഡ്യൂൾ ഉപയോഗിക്കുമ്പോൾ സൈറൺ ഓഫാക്കുമ്പോൾ - 0.34 എ;
- പീക്ക് (പൾസ്) ഉപഭോഗം - 1.8 എ.
പിന്തുണച്ചു GSM മാനദണ്ഡങ്ങൾ: 850/900/1800/1900 MHz.
സമയ ക്രമീകരണ പരിധി:
- പ്രവേശന കാലതാമസം - 0…150 സെക്കൻഡ്;
- എക്സിറ്റ് കാലതാമസം സമയം - 0…250 സെക്കൻഡ്;
- സൈറൺ പ്രവർത്തന സമയം - 30…250 സെക്കൻഡ്.

സർക്യൂട്ടിന്റെ വിവരണം

പ്രധാന യൂണിറ്റിന്റെ ഇലക്ട്രിക്കൽ സർക്യൂട്ട് ഡയഗ്രം ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു. 3. ഞാൻ വ്യക്തമാക്കുന്നു - "പ്രധാന യൂണിറ്റ്", കാരണം ഈ അലാറം സിസ്റ്റങ്ങൾക്കായി ഒരു വലിയ കൂട്ടം പെരിഫറലുകൾ അധികമായി വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്: ഇവിടെ വിവിധ നിയന്ത്രണ പാനലുകൾ, വിപുലീകരണ യൂണിറ്റുകൾ മുതലായവ ഉണ്ട്.
താരതമ്യപ്പെടുത്തി മുൻ പതിപ്പ്സർക്യൂട്ട് ഗുണപരമായ മാറ്റങ്ങൾക്ക് വിധേയമായി: മുകളിൽ സൂചിപ്പിച്ചതുപോലെ, മറ്റൊരു ജിഎസ്എം മൊഡ്യൂളിന്റെ ഉപയോഗം ഒഴികെ, റിലേയും ഒഴിവാക്കപ്പെട്ടു (പകരം, ഒരു ഐസി ഉപയോഗിക്കുന്നു - ഒരു കൂട്ടം ശക്തമായ ട്രാൻസിസ്റ്റർ സ്വിച്ചുകൾ), കൂടാതെ RS232-UART കൺവെർട്ടർ യൂണിറ്റ് കൂടാതെ ഒഴിവാക്കപ്പെട്ടു (പ്രാക്ടീസ് കാണിക്കുന്നതുപോലെ, പ്രോഗ്രാമിംഗ് പലപ്പോഴും ചെയ്യാറില്ല , ഇതിനായി അവർ പ്രധാനമായും ഒരു ലാപ്ടോപ്പ് ഉപയോഗിക്കുന്നു, അതിൽ പലപ്പോഴും RS232 പോർട്ട് ഇല്ല).



ചിത്രം 3 - ഇലക്ട്രിക്കൽ സർക്യൂട്ട് ഡയഗ്രം

Atmel നിർമ്മിച്ച ATmega168 മൈക്രോകൺട്രോളറാണ് ഉപകരണത്തിന്റെ പ്രധാന നിയന്ത്രണ ഘടകം. ADC ഇൻപുട്ടുകളുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന അലാറം ലൂപ്പുകളുടെ അവസ്ഥകൾ മൈക്രോകൺട്രോളർ നിരീക്ഷിക്കുന്നു, കൂടാതെ ഓപ്പറേറ്റിംഗ് മോഡിനെ ആശ്രയിച്ച്, SMS സന്ദേശങ്ങൾ ഡയൽ ചെയ്യുകയും അയയ്ക്കുകയും ചെയ്യുക, സൈറൺ ഓണാക്കുക തുടങ്ങിയ തുടർ പ്രവർത്തനങ്ങൾ നടത്തുന്നു.
ADC ഇൻപുട്ടുകൾ PC0-PC3 രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് അലാറം ലൂപ്പുകളുടെ നില നിരീക്ഷിക്കുന്നതിനാണ്, MK ഈ പിന്നുകളിലെ വോൾട്ടേജ് അളക്കുന്നു, കൂടാതെ വോൾട്ടേജിനെ ആശ്രയിച്ച് ഒരു "ബ്രേക്ക്", "സാധാരണ" അല്ലെങ്കിൽ "ഹ്രസ്വ" സിഗ്നൽ സൃഷ്ടിക്കുന്നു. PC5, PC6 അവയുടെ മൂല്യങ്ങൾ നിയന്ത്രിക്കുന്നതിന് വൈദ്യുതി വിതരണത്തിന്റെ ഔട്ട്പുട്ടിൽ നിന്നുള്ള വോൾട്ടേജുകൾ വിതരണം ചെയ്യുന്നു. വഴിയിൽ, ഈ പിന്നുകൾ ബന്ധിപ്പിച്ചിട്ടില്ലെങ്കിൽ, ഉപകരണം ആരംഭിക്കില്ല!
സർക്യൂട്ട് നിയന്ത്രണ എൽഇഡികൾ ഉപയോഗിക്കുന്നു: എൽഇഡി 1 - ജിഎസ്എം മൊഡ്യൂളിന്റെ പ്രവർത്തന നിയന്ത്രണം (ഒരു കണക്ഷൻ ഉണ്ടെങ്കിൽ മൊഡ്യൂൾ പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ, അത് 2-3 സെക്കൻഡ് നേരത്തേക്ക് 1 ഫ്ലാഷിന്റെ ആവൃത്തിയിൽ മിന്നിമറയുന്നു, മറ്റ് സന്ദർഭങ്ങളിൽ ആശയവിനിമയത്തിൽ പ്രശ്നങ്ങളുണ്ട്. അല്ലെങ്കിൽ മൊഡ്യൂൾ ഉപയോഗിച്ച് തന്നെ), LED2 - സിസ്റ്റം പ്രവർത്തനത്തിന്റെ നിയന്ത്രണം (ഓപ്പറേറ്റിംഗ് മോഡുകളിൽ ഇത് സെക്കൻഡിൽ 3-5 തവണ ആവൃത്തിയിൽ മിന്നിമറയുന്നു, പ്രോഗ്രാമിംഗ് മോഡിൽ ഇത് സ്ഥിരമായ പ്രകാശം ഉപയോഗിച്ച് പ്രകാശിക്കുന്നു). കൂടാതെ, അലാറം ലൂപ്പുകളുടെ നില നിരീക്ഷിക്കുന്നതിനുള്ള LED-കൾ LED4...LED7 പിൻസ് IND1...IND4 എന്നിവയുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു. KEY_S യഥാർത്ഥത്തിൽ "രഹസ്യം" ബട്ടൺ അല്ലെങ്കിൽ സ്വിച്ചാണ്. സ്പീക്കർ - ഒരു സ്പീക്കർ ബന്ധിപ്പിക്കുന്നതിനുള്ള കണക്റ്റർ, അത് ഏത് പ്രതിരോധവും ആകാം, കുറഞ്ഞത് 0.25 W പവർ.

ഉപകരണത്തിന്റെ വൈദ്യുതി വിതരണത്തെക്കുറിച്ച്.ഈ ഉപകരണത്തിന് 10 - 18 V പരിധിയിൽ ഒരു സപ്ലൈ വോൾട്ടേജ് ആവശ്യമാണ്, 2 A വരെ കറന്റ് ഉണ്ട്. നെറ്റ്‌വർക്ക് നഷ്ടപ്പെടുമ്പോൾ പോലും വിതരണ വോൾട്ടേജ് അപ്രത്യക്ഷമാകാത്ത വിധത്തിൽ വൈദ്യുതി വിതരണം നിർമ്മിക്കുന്നത് നല്ലതാണ്. അതായത് റീചാർജ് ചെയ്യാവുന്ന ബാറ്ററി നൽകുക. അനുയോജ്യമായ ഒരു വൈദ്യുതി വിതരണം ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നു മുൻ പതിപ്പുകൾവിവരിക്കുന്ന ഉപകരണം. അലാറം ഉപകരണത്തിലേക്ക് വൈദ്യുതി വിതരണം എങ്ങനെ ബന്ധിപ്പിക്കാമെന്നും ഇത് വിവരിക്കുന്നു.

ഉപകരണത്തിന്റെ അടിസ്ഥാന പ്രവർത്തനങ്ങൾ പ്രോഗ്രാമിംഗ്

ഉപകരണത്തിന്റെ പ്രധാന പ്രവർത്തനങ്ങളുടെ പ്രോഗ്രാമിംഗ് ഒരു പ്രത്യേക പ്രോഗ്രാം ഉപയോഗിച്ചാണ് നടത്തുന്നത് - ലൈറ്റ് പ്രോഗ്രാമർ. പുതിയ പതിപ്പ്പ്രോഗ്രാമുകൾ എല്ലായ്പ്പോഴും രചയിതാവിന്റെ വെബ്സൈറ്റിൽ നിന്ന് ഡൗൺലോഡ് ചെയ്യാവുന്നതാണ്. തത്വത്തിൽ, ഉപകരണം പ്രോഗ്രാം ചെയ്യുന്നതിന് കമ്പ്യൂട്ടറിന് പകരം, ഒരു ഡാറ്റ പോർട്ട് അല്ലെങ്കിൽ ഇൻഫ്രാറെഡ് പോർട്ട് വഴി ഉപകരണവുമായി ബന്ധിപ്പിച്ചിട്ടുള്ള ഒരു മൊബൈൽ ഫോൺ ഉപയോഗിക്കാൻ കഴിയും, എന്നാൽ ഇതിനായി നിങ്ങൾ കുറഞ്ഞത് ഒരു ജാവ മിഡ്‌ലെറ്റെങ്കിലും എഴുതേണ്ടതുണ്ട്, കൂടാതെ അഭാവം മൂലം ഒഴിവുസമയങ്ങളിൽ, രചയിതാവിന് ഇത് ചെയ്യാൻ സമയമില്ല, കൂടാതെ ലാപ്‌ടോപ്പ് ഉപയോഗിച്ച് പ്രോഗ്രാമിംഗ് ഇപ്പോൾ നല്ലതാണ്. ഈ പ്രശ്നം പരിഹരിക്കാൻ ആർക്കെങ്കിലും താൽപ്പര്യമുണ്ടെങ്കിൽ, രചയിതാവിന് ഇമെയിൽ വഴി എഴുതുക, എല്ലാ ഡോക്യുമെന്റേഷനുകളും നൽകും.
ഉപകരണം ഒരു പ്രത്യേക RS232-UART കൺവെർട്ടർ വഴി കമ്പ്യൂട്ടറിന്റെ ഒരു സൗജന്യ COM പോർട്ടിലേക്കോ USB-UART അഡാപ്റ്റർ വഴി ഒരു USB പോർട്ടിലേക്കോ ബന്ധിപ്പിച്ചിരിക്കുന്നു. ഒരു അഡാപ്റ്റർ ഇല്ലാതെ നേരിട്ട് ബന്ധിപ്പിക്കാൻ ശ്രമിക്കരുത് (ഇപ്പോൾ അത്തരം കരകൗശല വിദഗ്ധർ ഉണ്ട്)! ഇത് മൈക്രോകൺട്രോളറിന്റെയോ കമ്പ്യൂട്ടർ പോർട്ടിന്റെയോ മരണത്തെ ഭീഷണിപ്പെടുത്തുന്നു!
പ്രോഗ്രാമിംഗ് മോഡിലേക്ക് എങ്ങനെ മാറാം:
1. S1 ബട്ടൺ 2 സെക്കൻഡെങ്കിലും അമർത്തി 2HL1 മൊഡ്യൂൾ പ്രവർത്തന നില സൂചകം മിന്നുന്നത് നിർത്തുന്നത് വരെ കാത്തിരിക്കുക (സാധാരണയായി 10 സെക്കൻഡിൽ കൂടരുത്)
2. ഉപകരണം ഡി-എനർജൈസ് ചെയ്യുക.
3. ജമ്പർ ജെ 1 സജ്ജമാക്കുക, ഉപകരണം "പ്രോഗ്രാമിംഗ്" മോഡിലേക്ക് മാറ്റുക.
4. കമ്പ്യൂട്ടറിലേക്ക് ഉപകരണം ബന്ധിപ്പിക്കുന്നതിന് കേബിൾ ബന്ധിപ്പിക്കുക.
5. ഉപകരണവും പ്രോഗ്രാമിംഗുമായി കണക്ഷൻ നടത്തുക (ചുവടെ വിവരിച്ചിരിക്കുന്നു).
6. ഉപകരണം ഡീ-എനർജൈസ് ചെയ്യുക.
7. പിസിയുമായി ആശയവിനിമയത്തിനായി കേബിൾ വിച്ഛേദിക്കുക, ജമ്പർ J1 നീക്കം ചെയ്യുക.
8. പ്രോഗ്രാമിംഗ് പൂർത്തിയായി, നിങ്ങൾക്ക് പവർ ഓണാക്കി ഉപകരണം ഉപയോഗിക്കാം.
പ്രധാന രൂപംപ്രോഗ്രാം സ്റ്റാൻഡേർഡ് ആണ്, അലങ്കോലങ്ങളോ ബെല്ലുകളോ വിസിലുകളോ ഇല്ല. ഫോമിന്റെ വലതുവശത്ത്, COM പോർട്ട് നമ്പറും ഡാറ്റാ ട്രാൻസ്മിഷനും റിസപ്ഷൻ വേഗതയും സജ്ജീകരിച്ചിരിക്കുന്നു (ഞങ്ങളുടെ കാര്യത്തിൽ - 115200 ബോഡ്), ഉപകരണത്തെ പ്രോഗ്രാമിംഗ് മോഡിലേക്ക് മാറ്റുന്നതിന്, "ആക്ഷനിൽ കണക്ഷൻ സ്ഥാപിക്കുക" തിരഞ്ഞെടുക്കുക. ” ഫ്രെയിം (താഴെ വലത് കോണിൽ), ഈ സാഹചര്യത്തിൽ, LED 1LED1 സ്ഥിരമായ വെളിച്ചത്തിൽ പ്രകാശിക്കും. നിങ്ങൾക്ക് പ്രോഗ്രാം ചെയ്യാം!



ചിത്രം 4 - ലൈറ്റ് പ്രോഗ്രാമർ പ്രോഗ്രാമിന്റെ പ്രധാന രൂപം

പ്രോഗ്രാമിനൊപ്പം പ്രവർത്തിക്കുന്നത് ജീവിതത്തിൽ ഒരിക്കലെങ്കിലും കമ്പ്യൂട്ടർ ഓണാക്കിയ ഒരു ഉപയോക്താവിന് പ്രത്യേക ബുദ്ധിമുട്ടുകൾ നൽകുന്നില്ല. കൂടാതെ, ഒന്നിലധികം തവണ സൂചിപ്പിച്ചിട്ടുള്ള ഓപ്പറേറ്റിംഗ്, പ്രോഗ്രാമിംഗ് നിർദ്ദേശങ്ങളിൽ എല്ലാം വിശദമായി വിവരിച്ചിരിക്കുന്നു. ചുരുക്കത്തിൽ: നിങ്ങൾക്ക് ആവശ്യമുള്ള പാരാമീറ്ററുകൾ സജ്ജമാക്കുക, മൂന്നാം നിരയിൽ "മാറ്റം" ചുവപ്പ് നിറത്തിൽ ദൃശ്യമാകുമെന്ന് ഉറപ്പാക്കുക, "ആക്ഷൻ" ഫ്രെയിമിലെ "പ്രോഗ്രാമിംഗ്" തിരഞ്ഞെടുക്കുക, "റൺ" ബട്ടൺ ക്ലിക്കുചെയ്യുക, അത്രമാത്രം. പാരാമീറ്റർ പ്രോഗ്രാം ചെയ്‌തിട്ടുണ്ടെങ്കിൽ, അഞ്ചാമത്തെ നിരയിൽ “പ്രോഗ്രാം ചെയ്‌തത്” എന്ന ലിഖിതം ദൃശ്യമാകും; പിശകുകളുടെ കാര്യത്തിൽ, പ്രോഗ്രാം അനുബന്ധ സന്ദേശവും പ്രദർശിപ്പിക്കും.

പ്രോഗ്രാമിംഗിന്റെ ചില സൂക്ഷ്മതകൾ.

വേണം പ്രത്യേക ശ്രദ്ധപ്രോഗ്രാമിംഗ് പ്രക്രിയയിൽ ശ്രദ്ധിക്കുക, കാരണം ഉപകരണത്തിന്റെ മൊത്തത്തിലുള്ള പ്രവർത്തനം ഇതിനെ ആശ്രയിച്ചിരിക്കുന്നു. പ്രാക്ടീസ് കാണിച്ചിരിക്കുന്നതുപോലെ, ഒരു മൊബൈൽ ഓപ്പറേറ്ററുടെ SMS കേന്ദ്രത്തിന്റെ നമ്പർ സജ്ജീകരിക്കുമ്പോൾ പ്രധാന തെറ്റ് സംഭവിക്കുന്നു. നിങ്ങൾക്ക് ഈ നമ്പർ അറിയില്ലെങ്കിൽ അല്ലെങ്കിൽ ഉറപ്പില്ലെങ്കിൽ, ഇത് പ്രോഗ്രാം ചെയ്യാതിരിക്കുന്നതാണ് നല്ലത്. ഈ സാഹചര്യത്തിൽ, ജിഎസ്എം മൊഡ്യൂൾ സോഫ്റ്റ്വെയർ സ്വതന്ത്രമായി നമ്പർ നിർണ്ണയിക്കും.
കൂടാതെ, USSD ബാലൻസ് അഭ്യർത്ഥന നമ്പർ നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ അത് സജ്ജീകരിക്കുന്നതിനെക്കുറിച്ച് ശ്രദ്ധിക്കുക. തുടക്കത്തിൽ, ഉപകരണം ഉക്രേനിയൻ ഉപയോക്താക്കൾക്കായി വികസിപ്പിച്ചെടുത്തു, അതിനാൽ മിനിമം ബാലൻസ് തുക ഒന്ന് മുതൽ ഒമ്പത് ഹ്രീവ്നിയ-റൂബിൾസ് ആണ്. രണ്ട് ഇൻസ്റ്റലേഷൻ ഓപ്ഷനുകൾ ലഭ്യമാണ്. ആദ്യത്തേത് ആവശ്യമുള്ള ഓപ്പറേറ്ററെ തെരഞ്ഞെടുക്കുക എന്നതാണ്, കൂടാതെ പ്രോഗ്രാം തന്നെ ആവശ്യമായ നമ്പറും രണ്ട് ഹ്രീവ്നിയയ്ക്ക് തുല്യമായ മിനിമം ബാലൻസിന്റെ തുകയും സജ്ജമാക്കും. ഒരു USSD അഭ്യർത്ഥന ഓപ്പറേറ്റർ തിരഞ്ഞെടുക്കുന്നതിനുള്ള ഡ്രോപ്പ്-ഡൗൺ മെനുവിൽ നിന്ന് TUNE USSD തിരഞ്ഞെടുക്കുക എന്നതാണ് രണ്ടാമത്തെ ഓപ്ഷൻ, തുടർന്ന് ദൃശ്യമാകുന്ന ഫോമിൽ ആവശ്യമായ പാരാമീറ്ററുകൾ പൂരിപ്പിക്കുക: കുറഞ്ഞ തുക (ഒന്ന് മുതൽ ഒമ്പത് റൂബിൾ വരെ), റൂബിൾ-കോപെക്ക് സെപ്പറേറ്റർ (ചിലത് ഓപ്പറേറ്റർമാർ വ്യത്യസ്ത വേർതിരിക്കൽ പ്രതീകങ്ങൾ ഉപയോഗിക്കുന്നു, ഉദാഹരണത്തിന്, ഡോട്ട് , കോമ, കോളൻ).
എസ്എംഎസ് ടെക്‌സ്‌റ്റുകൾ നൽകുമ്പോൾ പ്രോഗ്രാം നിലവിൽ ലാറ്റിൻ അക്ഷരമാലയെ മാത്രമേ പിന്തുണയ്ക്കൂ ഈ പ്രവർത്തനംമൈക്രോകൺട്രോളർ പ്രോഗ്രാമും പിന്തുണയ്ക്കുന്നു. നിലവിൽ, സിറിലിക് അക്ഷരമാല ഉൾപ്പെടുത്തുന്നതിനുള്ള പ്രവർത്തനങ്ങൾ നടക്കുന്നു.

ദ്രുത ആരംഭ ഗൈഡ്.

ഉപകരണത്തിൽ ഒരു അലാറം ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുമുമ്പ്, നിങ്ങൾ സിം കാർഡ് ഏതെങ്കിലും വിധത്തിൽ "തയ്യാറാക്കണം", അതായത്: പാസ്വേഡ് പ്രവർത്തനരഹിതമാക്കുക. ഡയൽ-അപ്പ് ഫോണുകൾ ഉപയോഗിക്കുന്ന അതേ മൊബൈൽ ഓപ്പറേറ്ററിൽ നിന്നുള്ള ഒരു സിം കാർഡ് ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നു. ഏറ്റവും കുറഞ്ഞത്, SMS സന്ദേശങ്ങൾ ഡെലിവർ ചെയ്യപ്പെടാനുള്ള സാധ്യത പല മടങ്ങ് വർദ്ധിക്കും.
പവർ പ്രയോഗിച്ച് ആരംഭിച്ചതിന് ശേഷം, ഉപകരണം ആന്തരിക സ്പീക്കറിൽ നിന്ന് ഒരു നീണ്ട ബീപ്പ് പുറപ്പെടുവിക്കും, തുടർന്ന് മൊഡ്യൂളുമായുള്ള ആശയവിനിമയം സ്ഥാപിക്കപ്പെടും, അത് പൂർത്തിയാകുമ്പോൾ മൂന്ന് ഹ്രസ്വ ബീപ്പുകൾ മുഴങ്ങും. ഉപകരണം ഉപയോഗത്തിന് തയ്യാറാണ്.
അടുത്തതായി ഞങ്ങൾ ഇൻഡോർ കെട്ടിടങ്ങൾക്കുള്ള സുരക്ഷാ അലാറം ഉപകരണമായി ഉപകരണം ഉപയോഗിക്കുന്നതിനെ കുറിച്ച് സംസാരിക്കും, മുതലായവ. ഉപകരണം ഒരു കാർ അലാറമായോ മറ്റ് പ്രവർത്തനങ്ങളായോ ഉപയോഗിക്കുന്നതിന്, ഒരു വ്യത്യസ്ത മൈക്രോകൺട്രോളർ ഫേംവെയർ ആദ്യം ആവശ്യമാണ്, ഇത് ഈ ലേഖനത്തിന്റെ പരിധിക്കപ്പുറമാണ്. ഇതാണ് തുടർന്നുള്ള പ്രസിദ്ധീകരണങ്ങളുടെ വിഷയം.
ഉപകരണം ആയുധമാക്കുന്നതിന്, നിങ്ങൾ KEY_S സ്വിച്ച് അടയ്ക്കേണ്ടതുണ്ട്. വഴിയിൽ, ഈ സ്വിച്ചിന് പകരം നിങ്ങൾക്ക് സാധാരണയായി തുറന്ന കോൺടാക്റ്റുകളുള്ള ഏത് കീബോർഡും ഉപയോഗിക്കാം, ഉദാഹരണത്തിന് Satel SW02. ഇതിനുശേഷം, ഉപകരണം എക്സിറ്റ് സമയം കണക്കാക്കാൻ തുടങ്ങും (പ്രോഗ്രാമിംഗ് സമയത്ത് സമയം സജ്ജീകരിച്ചിരിക്കുന്നു), ഈ സമയത്ത് സംരക്ഷിത ഒബ്ജക്റ്റ് ഉപേക്ഷിക്കേണ്ടത് ആവശ്യമാണ്. എക്സിറ്റ് സമയം കാലഹരണപ്പെട്ടതിന് ശേഷം, എല്ലാ ലൂപ്പുകളും അസംബിൾ ചെയ്ത നിലയിലാണെങ്കിൽ, ഉപകരണം സുരക്ഷാ മോഡിലേക്ക് പോകുന്നു. പ്രവേശന സമയം കാലഹരണപ്പെട്ടതിന് ശേഷം, ലൂപ്പുകളിൽ ഒരെണ്ണമെങ്കിലും തുറന്നിരിക്കുകയോ ഷോർട്ട് ചെയ്യുകയോ ചെയ്താൽ, ഉപകരണം 100-140 സെക്കൻഡ് ഇടയ്‌ക്കിടെ ശബ്ദം പുറപ്പെടുവിക്കുന്നുവെങ്കിൽ, ആയുധമില്ലാത്ത വസ്തുവിനെക്കുറിച്ചുള്ള സന്ദേശം നമ്പർ 1 ലേക്ക് അയയ്‌ക്കും (പ്രോഗ്രാം ചെയ്‌തിട്ടുണ്ടെങ്കിൽ), അതിനുശേഷം എല്ലാ സന്ദേശങ്ങളും അയയ്‌ക്കുന്നതിലൂടെയും ഡയൽ ചെയ്യുന്നതിലൂടെയും അത് അലാറം മോഡിലേക്ക് പോകുന്നു. ആദ്യം പ്രോഗ്രാം ചെയ്ത നമ്പറിൽ നിന്ന് വിളിച്ചോ അല്ലെങ്കിൽ അതേ നമ്പറിൽ നിന്ന് "START" എന്ന വാചകം ഉപയോഗിച്ച് ഒരു SMS സന്ദേശം അയച്ചോ നിങ്ങൾക്ക് ഉപകരണം ആയുധമാക്കാം. ഈ ഫേംവെയർ പതിപ്പ് ശുപാർശ ചെയ്തിട്ടില്ലെന്ന് ദയവായി ഓർക്കുക പങ്കുവയ്ക്കുന്നു"രഹസ്യ" സ്വിച്ച്, ജിഎസ്എം ഫംഗ്ഷനുകൾ എന്നിവയുടെ പരസ്പര സ്വാധീനം ഇല്ലാതാക്കാൻ ആയുധമാക്കുമ്പോൾ. ഒരുമിച്ച് ഉപയോഗിക്കുമ്പോൾ, മുൻഗണന സ്വിച്ച് വശത്തായിരിക്കും, GSM പ്രവർത്തനങ്ങൾ പ്രവർത്തിക്കില്ല!
സുരക്ഷാ മോഡിൽ, ഉപകരണം എല്ലാ അലാറം ലൂപ്പുകളുടെയും സ്റ്റാറ്റസ്, അതുപോലെ തന്നെ GSM മൊഡ്യൂളിന്റെ നില എന്നിവ നിരന്തരം നിരീക്ഷിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, ലൂപ്പ് പ്രവർത്തനക്ഷമമാക്കിയാൽ, പ്രോഗ്രാമിംഗ് കാർഡിന് അനുസൃതമായി SMS സന്ദേശങ്ങൾ അയയ്ക്കുകയും കോളുകൾ ചെയ്യുകയും ചെയ്യുന്നു. വരിക്കാരൻ ഫോൺ എടുക്കുന്നതുവരെ ഡയലിംഗ് നടത്തുന്നു, പക്ഷേ എട്ട് തവണയിൽ കൂടരുത്. കൂടാതെ സുരക്ഷാ മോഡിൽ, 220V നെറ്റ്‌വർക്കിലേക്കുള്ള വൈദ്യുതി വിതരണവും ബാക്കപ്പ് ബാറ്ററിയും നിയന്ത്രിക്കപ്പെടുന്നു. അതേ സമയം, 220V യുടെ ഓരോ നഷ്ടത്തിലും അതിന്റെ തുടർന്നുള്ള പ്രത്യക്ഷതയിലും, അനുബന്ധ SMS സന്ദേശം അയയ്‌ക്കുന്നു (പ്രോഗ്രാമിംഗ് സമയത്ത് ഈ പ്രവർത്തനം പ്രവർത്തനരഹിതമാക്കാം).
ഉപകരണം നിരായുധമാക്കാൻ, നിങ്ങൾ ഒബ്ജക്റ്റ് തുറന്ന് പുറത്തുകടക്കുന്ന സമയത്ത് കോൺടാക്റ്റുകൾ സ്വിച്ച് തുറക്കേണ്ടതുണ്ട്. ഇത് ചെയ്തില്ലെങ്കിൽ, ഉപകരണം അലാറം മോഡിലേക്ക് പോകുന്നു. അല്ലെങ്കിൽ ആദ്യത്തെ നമ്പറിൽ നിന്ന് "STOP" എന്ന SMS സന്ദേശം വിളിച്ചോ അയച്ചോ തുറക്കുന്നതിന് മുമ്പ് ഒബ്ജക്റ്റ് നിരായുധമാക്കുക.
സ്റ്റാൻഡ്‌ബൈ മോഡിൽ, അലാറം ലൂപ്പുകളുടെയും GSM മൊഡ്യൂളിന്റെയും അവസ്ഥയും ഉപകരണം നിരീക്ഷിക്കുന്നു. മൊഡ്യൂളുമായുള്ള ആശയവിനിമയം നഷ്ടപ്പെടുകയോ നെറ്റ്‌വർക്ക് നഷ്ടപ്പെടുകയോ ചെയ്താൽ, ഓരോ 2-4 മിനിറ്റിലും അഞ്ച് ഹ്രസ്വകാല ബസറുകൾ മുഴങ്ങുന്നു. കൂടാതെ, ഓരോ 30-40 മിനിറ്റിലും മൊബൈൽ നമ്പറിന്റെ അക്കൗണ്ട് സ്റ്റാറ്റസ് പോൾ ചെയ്യപ്പെടുന്നു. ഈ സാഹചര്യത്തിൽ, പത്ത് ഹ്രസ്വകാല ശബ്‌ദ സിഗ്നലുകൾ (“ട്രിൽ”) കേൾക്കുന്നു, കൂടാതെ ഒരു SMS സന്ദേശം (“പണമില്ല !!”) നമ്പർ 1 ലേക്ക് അയയ്‌ക്കും.
പട്ടിക കാണിക്കുന്നു സേവന സന്ദേശങ്ങൾ, ചില ഇവന്റുകൾ സംഭവിക്കുമ്പോൾ ഉപകരണത്തിന് അയയ്‌ക്കാൻ കഴിയും (പ്രോഗ്രാമിംഗ് സമയത്ത് അയയ്‌ക്കൽ പ്രവർത്തനം പ്രവർത്തനരഹിതമാക്കിയാൽ, ഈ സന്ദേശങ്ങൾ അയയ്‌ക്കില്ല!):

SMS ടെക്സ്റ്റ്

വിവരണം

കുറിപ്പ്

കാവൽ നിർത്തുക!

സിസ്റ്റം നിരായുധീകരണത്തിന്റെ സ്ഥിരീകരണം

സ്റ്റാൻഡ്ബൈ മോഡ്

പവർ ഓഫ്!!!

220V മെയിൻ വോൾട്ടേജിന്റെ തകരാർ അല്ലെങ്കിൽ അഭാവം

സുരക്ഷാ മോഡിൽ മാത്രം

പവർ ഓൺ

220V നെറ്റ്‌വർക്ക് വോൾട്ടേജിന്റെ രൂപം (അഭാവത്തിന് ശേഷം)

എല്ലാ പവറുകളും ഓഫാണ്!!!

എല്ലാ വിതരണ വോൾട്ടേജുകളും സാധാരണയിൽ താഴെയാണ്. കുറച്ച് സമയത്തിന് ശേഷം, ഉപകരണം സ്ലീപ്പ് മോഡിലേക്ക് പോകും.

എല്ലാ പ്രവർത്തന രീതികളിലും

ഉറങ്ങിയ ശേഷം ആരംഭിക്കുക

വൈദ്യുതി തകരാറിന് ശേഷം ഉപകരണത്തിന്റെ പ്രവർത്തനം പുനരാരംഭിക്കുന്നു

പണം ഇല്ല!!!

അക്കൗണ്ടിലെ ഏറ്റവും കുറഞ്ഞ തുക. നിങ്ങളുടെ അക്കൗണ്ട് ടോപ്പ് അപ്പ് ചെയ്യേണ്ടതുണ്ട്!

ഈ ഉപകരണത്തിന് മെച്ചപ്പെടുത്തലിനും ആധുനികവൽക്കരണത്തിനും വലിയ സാധ്യതയുണ്ട്; ഇത് ഒരു അലാറമായി മാത്രമല്ല, ഓരോ നിർദ്ദിഷ്ട കേസിനും മൈക്രോകൺട്രോളർ പ്രോഗ്രാം ക്രമീകരിച്ചുകൊണ്ട് ഏത് ഡാറ്റ ഏറ്റെടുക്കലും ട്രാൻസ്മിഷൻ ഉപകരണമായും ഉപയോഗിക്കാം.

ഉപസംഹാരം

വിവരിച്ച ഉപകരണം രചയിതാവിന്റെ ലബോറട്ടറിയിൽ പ്രാഥമിക പരിശോധനയിൽ വിജയിക്കുകയും നല്ല ഫലങ്ങൾ കാണിക്കുകയും ചെയ്തു. SIM900 മൊഡ്യൂൾ കാണിച്ചു സ്ഥിരതയുള്ള ജോലിസ്റ്റാൻഡേർഡ് എടി കമാൻഡുകൾ നിയന്ത്രിക്കുമ്പോൾ, പ്രത്യേക പരാതികളൊന്നുമില്ല. താമസിയാതെ, ഈ ഉപകരണത്തിനായുള്ള പ്രിന്റഡ് സർക്യൂട്ട് ബോർഡുകൾ വികസിപ്പിക്കുകയും അനുബന്ധ ഡോക്യുമെന്റേഷൻ തയ്യാറാക്കുകയും ചെയ്യും. മൈക്രോകൺട്രോളർ ഫേംവെയറിന്റെ ഒരു ഡെമോ പതിപ്പ് ഈ ലേഖനത്തിൽ ഘടിപ്പിച്ചിരിക്കുന്നു. ഉപകരണത്തിന്റെ മൈക്രോകൺട്രോളർ ഫേംവെയറിന്റെ പൂർണ്ണമായ പ്രവർത്തന പതിപ്പ് സൗജന്യമായി ആർക്കും ലഭ്യമാണ്. ഇത് ചെയ്യുന്നതിന്, നിങ്ങൾ ഒരു അനുബന്ധ അഭ്യർത്ഥന അയയ്ക്കണം ഇമെയിൽരചയിതാവ് അല്ലെങ്കിൽ ICQ വഴി. വിവരിച്ച അലാറം ഉപകരണത്തിന്റെയും പെരിഫറൽ ഉപകരണങ്ങളുടെയും ഉത്പാദനം സംഘടിപ്പിക്കുന്നതിനുള്ള ഏതെങ്കിലും നിർദ്ദേശങ്ങളും പരിഗണിക്കുന്നു.
ഭാവിയിൽ, D. Dmitrenko രചിച്ച GSM അലാറം ഉപകരണത്തിന്റെ മുൻ പതിപ്പിനായി ഉദ്ദേശിച്ചിട്ടുള്ള എല്ലാ പെരിഫറൽ ഉപകരണങ്ങളുമായും ഉപകരണത്തിന്റെ അനുയോജ്യത ഉറപ്പാക്കാൻ പദ്ധതിയിട്ടിട്ടുണ്ട്. വിവിധ നിർദ്ദിഷ്‌ട ആപ്ലിക്കേഷനുകൾക്കായി ലേഖനത്തിൽ കൂട്ടിച്ചേർക്കലുകൾ ഇവിടെയുണ്ട്.

ഐബട്ടൺ കീകളെ പിന്തുണയ്ക്കുന്ന ഫേംവെയറുകൾ ഒഴികെ എല്ലാ ഫേംവെയറുകളും നിലവിൽ പൂർണ്ണമായും പ്രവർത്തനക്ഷമമാണ്, പരമാവധി ഉപയോഗിക്കുന്ന കീകളുടെ എണ്ണത്തിൽ നിയന്ത്രണങ്ങളുണ്ട് - ഒന്ന് മുതൽ മൂന്ന് വരെ.

1. ഉപകരണം നിയന്ത്രിക്കാൻ ടച്ച്മെമ്മറി കീ ഉപയോഗിക്കുന്നു

നിലവിൽ, TouchMemory കീകൾക്കൊപ്പം പ്രവർത്തിക്കാൻ മൈക്രോകൺട്രോളർ ഫേംവെയർ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. ഇത് ചെയ്യുന്നതിന്, രണ്ട് റെസിസ്റ്ററുകൾ, ഒരു കപ്പാസിറ്റൻസ്, ഒരു സീനർ ഡയോഡ് എന്നിവ ഉൾക്കൊള്ളുന്ന ഒരു ലളിതമായ ഉപകരണം ഉപയോഗിച്ച് ഉപകരണം സപ്ലിമെന്റ് ചെയ്യേണ്ടത് ആവശ്യമാണ്. കൂടാതെ, തീർച്ചയായും, ഇത്തരത്തിലുള്ള ഉപകരണത്തിനായി ഫേംവെയർ ഉപയോഗിക്കുക.
അത്തരമൊരു ഉപകരണം ഉപയോഗിക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം ഐബട്ടൺ കീകൾ ഉപയോഗിച്ച് ജിഎസ്എം സിഗ്നലിംഗ് എന്ന ലേഖനത്തിൽ വ്യക്തമായി വിവരിച്ചിരിക്കുന്നു. അവിടെ, ഇലക്ട്രിക്കൽ സർക്യൂട്ട് ഡയഗ്രാമിൽ, ഒരു അധിക ഉപകരണത്തിന്റെ കണക്ഷൻ കാണിക്കുന്നു, അച്ചടിച്ച സർക്യൂട്ട് ബോർഡിന്റെ ഡ്രോയിംഗുകൾ നൽകിയിരിക്കുന്നു.
ഫേംവെയർ ഡൗൺലോഡ് ചെയ്യാം [DDN റിസർച്ച് HG45Q ഉപകരണത്തിനായി തിരയുന്നു]

അധികം താമസിയാതെ, SIM900D GSM മൊഡ്യൂൾ ഉപയോഗിച്ച് സെർവറുമായി ആശയവിനിമയം നടത്തേണ്ട മൈക്രോകൺട്രോളറിനായി ഫേംവെയർ സൃഷ്ടിക്കുന്നതുമായി ബന്ധപ്പെട്ട ഒരു സുഹൃത്ത് എനിക്ക് ഒരു ജോലി വാഗ്ദാനം ചെയ്തു. പ്രോഗ്രാമിംഗ് മൈക്രോകൺട്രോളറുകളുമായി എനിക്ക് മുമ്പ് ഒരു ബന്ധവും ഉണ്ടായിരുന്നില്ല, അവസാനമായി ഞാൻ C യിൽ പ്രോഗ്രാം ചെയ്തത് എന്റെ വിദ്യാർത്ഥി കാലത്താണ്, പക്ഷേ ജിജ്ഞാസ വിജയിച്ചു, ഞാൻ ജോലിയിൽ പ്രവേശിച്ചു. എന്നിരുന്നാലും ഈ ഹാർഡ്‌വെയറിന്റെ ഡോക്യുമെന്റേഷൻ ഇന്റർനെറ്റിൽ ലഭ്യമാണ് നല്ല ഉദാഹരണങ്ങൾഎനിക്ക് കോഡിൽ TCP/IP ഉള്ള ഒരു ജോലിയും കണ്ടെത്താൻ കഴിഞ്ഞില്ല. ഡോക്യുമെന്റേഷൻ കയറ്റുക, സിഗരറ്റും ചായയും സ്റ്റോക്ക് ചെയ്യുക, റേക്കുകൾക്കിടയിൽ തന്ത്രങ്ങൾ ആരംഭിക്കുക എന്നിവയല്ലാതെ മറ്റൊന്നും ചെയ്യാനില്ലായിരുന്നു. കൂടാതെ ധാരാളം റേക്കുകളും ഉണ്ടായിരുന്നു. യഥാർത്ഥത്തിൽ, അതുകൊണ്ടാണ് ഞാൻ ഈ ലേഖനം എഴുതിയത് - മറ്റുള്ളവർക്ക് ഇത് എളുപ്പമാക്കുന്നതിന്.

എന്താണ് ആവശ്യമായിരുന്നത്

ജിഎസ്എം മൊഡ്യൂൾ സമാരംഭിക്കുന്നതിനും സെർവറുമായി ഒരു കണക്ഷൻ സ്ഥാപിക്കുന്നതിനും അനിയന്ത്രിതമായ ഡാറ്റ സ്വീകരിക്കുന്നതിനും അയയ്ക്കുന്നതിനും, കണക്ഷൻ നില പരിശോധിച്ച് പരാജയങ്ങളില്ലാതെ പ്രവർത്തിക്കാൻ കഴിയുന്ന കോഡ് എഴുതേണ്ടത് ആവശ്യമാണ്. കൂടാതെ മൈക്രോകൺട്രോളറിന്റെ പരിമിതമായ മെമ്മറിയിൽ ഒതുങ്ങിനിൽക്കുകയും പ്രധാന പ്രവർത്തനത്തിന് ഇടം നൽകുകയും കുറച്ചുകൂടി കരുതൽ നൽകുകയും ചെയ്യുക.

അവസാനം എന്ത് സംഭവിച്ചു

ആവശ്യമുള്ളതെല്ലാം ചെയ്യാൻ കഴിയുന്ന ഒരു സി കോഡായിരുന്നു ഫലം. ഒതുക്കമുള്ള ആവശ്യകതകൾ കാരണം, ഞങ്ങൾക്ക് ഉത്തരങ്ങൾ പാഴ്‌സ് ചെയ്യുകയും ഞങ്ങളുടെ സ്വന്തം കോഡ് ഉപയോഗിച്ച് സ്ട്രിംഗുകൾ സൃഷ്ടിക്കുകയും ചെയ്യേണ്ടിവന്നു, ഇത് സത്യസന്ധരായ ആളുകളെ കാണിക്കാൻ പോലും ലജ്ജാകരമാണ്. അതിനാൽ, ഈ ആവശ്യങ്ങൾക്കായി പതിവ് പദപ്രയോഗങ്ങൾ ഉപയോഗിക്കാൻ ഞാൻ എല്ലാവരോടും ശുപാർശ ചെയ്യുന്നു. ഞാൻ എന്റെ കോഡ് ഒരു ഭാരം കുറഞ്ഞ എഞ്ചിനിലേക്ക് മാറ്റാനും പോകുന്നു പതിവ് ഭാവങ്ങൾ, എന്നാൽ പൂർണ്ണമായും പ്രവർത്തനക്ഷമമായ ഫേംവെയർ സൃഷ്ടിച്ച ശേഷം.

കോഡിന് സീരിയൽ പോർട്ടിനൊപ്പം പ്രവർത്തിക്കാൻ ഫംഗ്‌ഷനുകൾ/മാക്രോകൾ ആവശ്യമാണ്, അതുപോലെ മെംസെറ്റിന്റെയും മെംസിപി ഫംഗ്‌ഷനുകളുടെയും സാന്നിധ്യവും. അതിനാൽ, വഴിയിൽ ഒരു കൂട്ടം ലൈബ്രറികളിൽ സ്പർശിക്കാതെ തന്നെ ഇത് മറ്റൊരു പ്ലാറ്റ്‌ഫോമിലേക്ക് മാറ്റാനാകും.

പിന്നെ അത് എങ്ങനെയിരിക്കും?

വിൻഡോസ് 7-ന് കീഴിൽ പ്രോഗ്രാമിംഗും ടെസ്റ്റിംഗും നടത്തി. തത്ഫലമായുണ്ടാകുന്ന കോഡ് ഈ ലേഖനത്തിന്റെ പ്രധാന മെറ്റീരിയലായി മാറി. ഞാൻ കോഡ് പൂർണ്ണമായി നൽകുകയും അതിൽ അഭിപ്രായമിടുകയും ചെയ്യില്ല, പകരം GSM മൊഡ്യൂൾ സജ്ജീകരിക്കുന്നതിനും പ്രവർത്തിക്കുന്നതിനുമുള്ള അൽഗോരിതം ഞാൻ കാണിക്കും.

കോഡിന് ആവശ്യമായ സവിശേഷതകൾ:

  • uint16_t init_serial_port(char *port_name) ഈ ഫംഗ്‌ഷൻ വ്യക്തമാക്കിയത് കോൺഫിഗർ ചെയ്യുന്നു സീരിയൽ പോർട്ട്. വിൻഡോസിന് കീഴിൽ.
  • uint16_t puts_serial(uint8_t *buffer, uint16_t വലുപ്പം) കൂടാതെ ഇത് ഈ പോർട്ടിലേക്ക് ഒരു ബൈറ്റ് സ്ട്രിംഗ് എഴുതുന്നു.
  • gets_serial(uint8_t *buffer, uint16_t വലുപ്പം) ഇത്, അതനുസരിച്ച്, സീരിയൽ പോർട്ടിൽ നിന്ന് ഒരു ബൈറ്റ് സ്ട്രിംഗ് വായിക്കുന്നു.
കോഡ് നൽകുന്ന പ്രവർത്തനങ്ങൾ:
  • init_gprs() & stop_gprs() GSM മൊഡ്യൂൾ ആരംഭിക്കുകയും അതിനനുസരിച്ച് പ്രവർത്തനരഹിതമാക്കുകയും ചെയ്യുന്നു.
  • uint16_t connect_gprs(uint8_t സൂചിക, uint8_t മോഡ്, ചാർ *വിലാസം, ചാർ *പോർട്ട്) സെർവറുമായി ഒരു കണക്ഷൻ സ്ഥാപിക്കുന്നു. മൊഡ്യൂളിന് പ്രവർത്തിക്കാൻ കഴിയുമെന്നത് ശ്രദ്ധിക്കേണ്ടതാണ് TCP പ്രോട്ടോക്കോളുകൾഒരു ക്ലയന്റ് എന്ന നിലയിലും ഒരു ക്ലയന്റ് എന്ന നിലയിലും UDP. പരമാവധി 8 ഒരേസമയം കണക്ഷനുകൾ പിന്തുണയ്ക്കുന്നു.
  • uint16_t close_gprs(uint8_t സൂചിക) നിർദ്ദിഷ്ട കണക്ഷൻ അടയ്ക്കുന്നു.
  • uint16_t send_gprs(uint8_t സൂചിക, uint8_t *ബഫർ, uint16_t വലുപ്പം) നിർദ്ദിഷ്ട കണക്ഷനിലൂടെ ഒരു സന്ദേശം അയയ്ക്കുന്നു.
  • uint16_t recv_gprs(uint8_t സൂചിക, uint8_t *ബഫർ, uint16_t വലുപ്പം) ഒരു സന്ദേശം സ്വീകരിക്കുക. ഒരു നോൺ-ബ്ലോക്കിംഗ് ഫംഗ്ഷൻ, അതായത് സ്ട്രീമിൽ ഡാറ്റ ദൃശ്യമാകുന്നതുവരെ അത് കാത്തിരിക്കില്ല, എന്നാൽ സ്വീകരിക്കാൻ ഒന്നുമില്ലെങ്കിൽ നിയന്ത്രണം തിരികെ നൽകും. തടയുന്നതിനേക്കാൾ ഈ സ്വഭാവം നടപ്പിലാക്കാൻ എളുപ്പമാണ് എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്.

ഒരു സീരിയൽ പോർട്ട് ഉപയോഗിച്ച് എങ്ങനെ പ്രവർത്തിക്കാം

ഇത് വളരെ ലളിതമാണ്. USART വഴി ഡാറ്റ അയയ്‌ക്കുന്നതിനും സ്വീകരിക്കുന്നതിനും ടാർഗെറ്റ് മൈക്രോകൺട്രോളറിനായി മാക്രോകൾ ഉണ്ട്, എന്നാൽ അത്തരം കോഡ് ഡീബഗ് ചെയ്യുന്നത് എളുപ്പമായതിനാൽ ഡെസ്ക്ടോപ്പ് കമ്പ്യൂട്ടർ, എനിക്ക് USB അഡാപ്റ്ററിന്റെ ഒരു ബണ്ടിൽ നൽകി<->USART, GSM മൊഡ്യൂൾ. വിൻഡോസിന് കീഴിലുള്ള സീരിയൽ പോർട്ടിൽ എങ്ങനെ പ്രവർത്തിക്കാമെന്ന് പഠിക്കുക മാത്രമാണ് അവശേഷിക്കുന്നത്. ഇത് ലളിതമായി മാറി. ചുരുക്കത്തിൽ, സീരിയൽ പോർട്ട് OS- ൽ ദൃശ്യമാകുന്നു സാധാരണ ഫയൽ, ReadFile, WriteFile ഫംഗ്‌ഷനുകൾ ഉപയോഗിച്ചാണ് വിവരങ്ങൾ കൈമാറുന്നത്. നിങ്ങൾ SetCommTimeouts, SetCommState ഫംഗ്‌ഷനുകൾ ഉപയോഗിച്ച് ചില പാരാമീറ്ററുകൾ സജ്ജീകരിക്കേണ്ടതുണ്ട്.

പോർട്ട് ഇനീഷ്യലൈസേഷൻ ഫംഗ്ഷൻ ഇതുപോലെയാണ് കാണപ്പെടുന്നത്:
uint16_t init_serial_port(char *port_name) ( COMMTIMEOUTS കാലഹരണപ്പെട്ടിരിക്കുന്നു; DCB പാരാമീറ്ററുകൾ; int ഫലം; serial_port_handle = CreateFile(port_name, // "\\\\.\\COMx" GENERIC_READ | 0, പാരാമീറ്റർ എന്നതിന്റെ GENERIC_WRITE മൂല്യം NULL, OPEN_EXISTING, 0, NULL എന്ന പോർട്ട് ഉപയോഗിച്ച് പ്രവർത്തിക്കുമ്പോൾ പരിഹരിക്കപ്പെടും); എങ്കിൽ (serial_port_handle == INVALID_HANDLE_VALUE) ( printf("ഒരു സീരിയൽ പോർട്ട് തുറക്കുന്നതിൽ പിശക്!\n"); മടങ്ങുക 1; ) // രണ്ട് ബൈറ്റുകൾ വായിക്കുന്നതിന് ഇടയിലുള്ള പരമാവധി സമയം ഒരു വരി കാലഹരണപ്പെട്ടു.ReadIntervalTimeout = 100 ; // അടുത്ത മൂല്യംപോർട്ട് ടൈംഔട്ടുകളിൽ നിന്ന് വായിച്ച അക്ഷരങ്ങളുടെ എണ്ണം കൊണ്ട് ഗുണിച്ചാൽ.ReadTotalTimeoutMultiplier = 0; // ഈ മൂല്യത്തിലേക്ക് ചേർത്തു, അത് മാറുന്നു പരമാവധി സമയംപൂർത്തിയാക്കാൻ // മുഴുവൻ പ്രവർത്തന സമയവും കഴിഞ്ഞു.ReadTotalTimeoutConstant = 1000; // അർത്ഥം മുമ്പത്തെ രണ്ട് പാരാമീറ്ററുകൾക്ക് സമാനമാണ്, എന്നാൽ ഓരോ എഴുത്തിനും സമയപരിധി കണക്കാക്കുന്നു. ടൈംഔട്ടുകൾ.WriteTotalTimeoutMultiplier = 0; ടൈംഔട്ടുകൾ.WriteTotalTimeoutConstant = 1000; ഫലം = SetCommTimeouts(serial_port_handle, &timeouts); എങ്കിൽ (ഫലം == 0) (printf("സീരിയൽ പോർട്ടിനായി ടൈംഔട്ടുകൾ ക്രമീകരിക്കുന്നതിൽ പിശക്!\n"); close_serial_port(); return 1; ) // പോർട്ട് പാരാമീറ്ററുകളിൽ ഏറ്റവും കൂടുതൽ ഉൾപ്പെടുന്നു ലളിതമായ ക്രമീകരണങ്ങൾ- ഇല്ല // പാരിറ്റി, ഫ്ലോ കൺട്രോൾ ഇല്ല, 1 സ്റ്റോപ്പ് ബിറ്റ്. മെംസെറ്റ്(&പാരാമീറ്ററുകൾ,0,സൈസ്ഓഫ്(പാരാമീറ്ററുകൾ)); പരാമീറ്ററുകൾ.DCB നീളം = sizeof(DCB); GetCommState(serial_port_handle, &parameters); പരാമീറ്ററുകൾ.BaudRate = (DWORD)BAUD_RATE; പരാമീറ്ററുകൾ.ByteSize = 8; parameters.Parity = NOPARITY; പരാമീറ്ററുകൾ.StopBits = ONESTOPBIT; parameters.fAbortOnError = TRUE; parameters.fDtrControl = DTR_CONTROL_DISABLE; parameters.fRtsControl = RTS_CONTROL_DISABLE; parameters.fBinary = TRUE; parameters.fParity = FALSE; parameters.fOutX = FALSE; parameters.fInX = FALSE; parameters.XonChar = (uint8_t)0x00; parameters.XoffChar = (uint8_t)0xff; parameters.fErrorChar = FALSE; parameters.fNull = FALSE; parameters.fOutxCtsFlow = FALSE; parameters.fOutxDsrFlow = FALSE; parameters.XonLim = 128; പരാമീറ്ററുകൾ.XoffLim = 128; ഫലം = SetCommState(serial_port_handle, &parameters); എങ്കിൽ (ഫലം == 0) (printf("സീരിയൽ പോർട്ട് പാരാമീറ്ററുകൾ ക്രമീകരിക്കുന്നതിൽ പിശക്!\n"); close_serial_port(); മടങ്ങുക 1; ) 0 മടങ്ങുക; )

GSM മൊഡ്യൂളുമായുള്ള ആശയവിനിമയം എങ്ങനെയാണ് സംഭവിക്കുന്നത്?

സീരിയൽ പോർട്ട് ക്രമീകരിച്ചുകഴിഞ്ഞാൽ, AT കമാൻഡുകൾ അതിലേക്ക് അയയ്ക്കാൻ കഴിയും. ആദ്യത്തെ കമാൻഡ് "AT\r" എന്ന ക്രമം ആയിരിക്കണം, ഇത് മൊഡ്യൂളിനെ ബോഡ് നിരക്ക് സ്വയമേവ ക്രമീകരിക്കാൻ അനുവദിക്കുന്നു. സീരിയൽ പോർട്ട്. അപ്പോൾ പോർട്ടിൽ നിന്ന് ലഭിക്കുന്ന പ്രതികരണം "AT\r\r\nOK\r\n" പോലെ കാണപ്പെടും.

ASCII പ്രതീകങ്ങളുടെ ഒരു ലളിതമായ സ്ട്രിംഗ് ആണ് കമാൻഡ്. കമാൻഡ് മൊഡ്യൂൾ സ്വീകരിക്കുന്നതിന്, നിങ്ങൾ അതിന്റെ അവസാനം ഒരു ക്യാരേജ് റിട്ടേൺ പ്രതീകം "\r" ഇടേണ്ടതുണ്ട്. പ്രതികരണമായി, മൊഡ്യൂൾ രണ്ട് ഭാഗങ്ങൾ അടങ്ങുന്ന പ്രതീകങ്ങളുടെ ഒരു സ്ട്രിംഗ് കൈമാറും - മൊഡ്യൂൾ പ്രതികരിക്കുന്ന കമാൻഡും അതിൽ നിന്ന് "\r\r\n" എന്ന പ്രതീകങ്ങളാൽ വേർതിരിച്ച പ്രതികരണവും "\r\n" എന്ന അക്ഷരങ്ങളിൽ അവസാനിക്കുന്നു. " . പ്രതികരണങ്ങൾ പാഴ്‌സ് ചെയ്യുന്നത് കൂടുതൽ സൗകര്യപ്രദമാക്കുന്നതിന്, സ്വീകരിക്കുന്ന ബഫറിൽ പ്രതികരണത്തിന്റെ തുടക്കത്തിലേക്ക് ഒരു പോയിന്റർ സജ്ജീകരിക്കുന്ന ഒരു മാക്രോ ഞാൻ സൃഷ്‌ടിച്ചു. നിങ്ങൾക്ക് കൺസോളിലേക്കുള്ള പ്രതികരണം ഔട്ട്പുട്ട് ചെയ്യണമെങ്കിൽ, ലഭിച്ച സന്ദേശത്തിന്റെ അവസാനം നിങ്ങൾ ഒരു ശൂന്യ പ്രതീകം ചേർക്കേണ്ടതുണ്ട്.

അസാധുവാണ് (ബഫർ, വലിപ്പം); ഫലം തിരികെ നൽകുക; )
അവർ കാണുന്നത് ഇങ്ങനെയാണ് ദ്വിതീയ പ്രവർത്തനങ്ങൾഒരു കമാൻഡ് അയയ്ക്കാനും ഒരു പ്രതികരണം സ്വീകരിക്കാനും.

മൊഡ്യൂൾ സമാരംഭം

ഏറ്റവും വലിയ പ്രവർത്തനംമൊഡ്യൂൾ കോൺഫിഗർ ചെയ്യുന്നതിനുള്ള ഉത്തരവാദിത്തം കോഡിലാണ്. സമാരംഭിക്കുമ്പോൾ, നിരവധി AT കമാൻഡുകൾ അയയ്ക്കുന്നു. മൊഡ്യൂളിലേക്ക് അയച്ച ക്രമത്തിൽ ഞാൻ അവയെ വിവരിക്കും. ആർഗ്യുമെന്റുകളും ഉത്തര ഓപ്ഷനുകളും ഞാൻ വിശദമായി വിവരിക്കുന്നില്ല, കാരണം അവ ഡോക്യുമെന്റേഷനിൽ കണ്ടെത്താനാകും.
  • "AT+CPIN=pin-code" നിങ്ങൾ ഊഹിക്കുന്നതുപോലെ, ഈ കമാൻഡ് ഒരു പിൻ കോഡ് നൽകി സിം കാർഡ് അൺലോക്ക് ചെയ്യുന്നു. ഒരു പിൻ ആവശ്യമാണോ എന്ന് പരിശോധിക്കാൻ, നിങ്ങൾക്ക് "AT+CPIN?" എന്ന കമാൻഡ് ഉപയോഗിക്കാം. .
  • "AT+CREG?" ഈ കമാൻഡ് നെറ്റ്‌വർക്കിൽ മൊഡ്യൂളിന്റെ രജിസ്ട്രേഷൻ നില നൽകുന്നു. നെറ്റ്‌വർക്കിൽ രജിസ്റ്റർ ചെയ്തിട്ടുണ്ടെന്ന് മൊഡ്യൂൾ പ്രതികരിക്കുന്നതുവരെ നിങ്ങൾ ഇത് ചെയ്യേണ്ടതുണ്ട്.
  • "AT+CGATT=1" GPRS-ലേക്ക് കണക്റ്റുചെയ്യാൻ മൊഡ്യൂളിനെ നിർബന്ധിക്കുന്നു. "AT+CGATT?" എന്ന കമാൻഡ് ഉപയോഗിച്ച് ഇത് ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാം. .
  • "AT+CIPRXGET=1" കണക്ഷനിലൂടെ കൈമാറുന്ന ഡാറ്റ സ്വമേധയാ വീണ്ടെടുക്കൽ പ്രവർത്തനക്ഷമമാക്കുന്നു. സ്ഥിരസ്ഥിതിയായി, ഈ ഓപ്‌ഷൻ അപ്രാപ്‌തമാക്കുകയും ഡാറ്റ ലഭിച്ചയുടൻ സീരിയൽ പോർട്ടിലേക്ക് അയയ്ക്കുകയും ചെയ്യും. ഇത് വളരെ സൗകര്യപ്രദമല്ല, അത് നിർണായകമല്ലെങ്കിലും - നിങ്ങൾക്ക് മൊഡ്യൂൾ ക്രമീകരിക്കാൻ കഴിയും, അതുവഴി ഡാറ്റയ്‌ക്കൊപ്പം ഇത് ഐപി തലക്കെട്ടുകളും കൈമാറുന്നു, അതിലൂടെ പാക്കറ്റ് ആരിൽ നിന്നാണ് ലഭിച്ചതെന്ന് നിങ്ങൾക്ക് നിർണ്ണയിക്കാനാകും. സ്വമേധയാ ഡാറ്റ നേടുന്നത് എളുപ്പമാണെന്ന് ഞാൻ തീരുമാനിച്ചു, ഞാൻ തെറ്റിദ്ധരിച്ചില്ല. ഞാൻ മനസ്സിലാക്കുന്നത് പോലെ, ഈ കമാൻഡ് SIM.COM GSM മൊഡ്യൂളുകൾ വഴി മാത്രം മനസ്സിലാക്കുന്നു.
  • "AT+CIPMUX=1" സ്ഥിരസ്ഥിതിയായി, മൊഡ്യൂളിന് ഒരു കണക്ഷൻ മാത്രമേ സ്ഥാപിക്കാൻ കഴിയൂ. ഒന്നിലധികം കണക്ഷനുകൾ സൃഷ്ടിക്കാനുള്ള കഴിവ് ഈ ക്രമീകരണം പ്രാപ്തമാക്കുന്നു. ഡാറ്റ അയയ്‌ക്കുന്നതും സ്വീകരിക്കുന്നതും ഒരു പാരാമീറ്ററിൽ മാത്രം വ്യത്യാസപ്പെട്ടിരിക്കും - കണക്ഷൻ സൂചിക.
  • "AT+CSTT="internet"" APN - ആക്സസ് പോയിന്റിന്റെ പേര്, GPRS-നുള്ള ആക്സസ് പോയിന്റിന്റെ പേര്. എന്റെ ദാതാവിനെ സംബന്ധിച്ചിടത്തോളം ഇത് ഇതുപോലെയാണ് കാണപ്പെടുന്നത്.
  • "AT+CIICR" സെറ്റുകൾ വയർലെസ് കണക്ഷൻജിപിആർഎസ്. ഇതിന് കുറച്ച് സമയമെടുത്തേക്കാം, അതിനാൽ നിങ്ങൾ ഇത് ഒരു ലൂപ്പിൽ പ്രവർത്തിപ്പിച്ച് ഉത്തരം പരിശോധിക്കേണ്ടതുണ്ട്.
  • "AT+CIFSR" മൊഡ്യൂളിന്റെ IP വിലാസം നൽകുന്നു. മൊഡ്യൂൾ ഇന്റർനെറ്റിലേക്ക് കണക്‌റ്റ് ചെയ്‌തിട്ടുണ്ടോയെന്ന് പരിശോധിക്കാൻ ഞാൻ ഇത് ഉപയോഗിക്കുന്നു.
  • "AT+CDNSCFG="8.8.8.8","8.8.4.4"" ഈ കമാൻഡ് ഇൻസ്റ്റാൾ ചെയ്യുന്നു DNS സെർവർ, ഏത് മൊഡ്യൂൾ ഉപയോഗിക്കും.
  • "AT+CIPSTATUS" കണക്ഷൻ നിലയെക്കുറിച്ചുള്ള വിവരങ്ങൾക്ക് പുറമേ, കണക്ഷനുകൾ സ്ഥാപിക്കാൻ മൊഡ്യൂൾ തയ്യാറാണോ എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ഈ കമാൻഡ് നൽകുന്നു. അതിനാൽ നിങ്ങൾ അവളുടെ ഉത്തരം പരിശോധിക്കേണ്ടതുണ്ട്.
ഈ കമാൻഡുകൾ നടപ്പിലാക്കിയ ശേഷം, മൊഡ്യൂൾ ഉപയോഗത്തിന് തയ്യാറാകും. ശരി, അല്ലെങ്കിൽ അത് ചെയ്യില്ല. അത് നിങ്ങളുടെ ഭാഗ്യത്തെ ആശ്രയിച്ചിരിക്കുന്നു.

ബന്ധങ്ങൾ ഉണ്ടാക്കുകയും തകർക്കുകയും ചെയ്യുന്നു

"AT+CIPSTART=index,"mode","address","port"" കമാൻഡ് ഉപയോഗിച്ചാണ് കണക്ഷൻ സൃഷ്ടിച്ചിരിക്കുന്നത്.
  • സൂചിക സൂചിപ്പിക്കുന്നു സീരിയൽ നമ്പർകണക്ഷനുകൾക്ക് 0 മുതൽ 7 വരെയുള്ള മൂല്യങ്ങൾ എടുക്കാം.
  • മോഡ് കണക്ഷൻ ഉപയോഗിക്കേണ്ട പ്രോട്ടോക്കോൾ വ്യക്തമാക്കുന്നു. "TCP" അല്ലെങ്കിൽ "UDP" ആകാം.
  • വിലാസം സെർവർ വിലാസം വ്യക്തമാക്കുന്നു. സജ്ജീകരണ സമയത്ത് DNS സെർവറുകൾ വ്യക്തമാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് IP വിലാസവും ഡൊമെയ്ൻ നാമവും ഉപയോഗിക്കാം.
  • കണക്ഷൻ സ്ഥാപിക്കുന്ന സെർവർ പോർട്ട് പോർട്ട് വ്യക്തമാക്കുന്നു.
ഉപയോഗിക്കുമ്പോൾ ശ്രദ്ധിക്കുക UDP പ്രോട്ടോക്കോൾസ്ഥിരസ്ഥിതിയായി, ഡാറ്റാഗ്രാമുകൾ ഒരു വിലാസത്തിൽ നിന്ന് മാത്രം അയയ്ക്കുകയും സ്വീകരിക്കുകയും ചെയ്യും. UDP ഉപയോഗിക്കുന്നതിന് പൂർണ്ണ സ്ഫോടനംകൂടാതെ ഏതെങ്കിലും വിലാസങ്ങളിൽ നിന്നും ഡാറ്റ അയയ്ക്കുക/സ്വീകരിക്കുക, "AT+CIPUDPMODE" കമാൻഡ് ഉപയോഗിച്ച് കോൺഫിഗർ ചെയ്‌തിരിക്കുന്ന വിപുലീകൃത UDP മോഡ് നിങ്ങൾക്ക് ഉപയോഗിക്കാം. വിശദാംശങ്ങൾക്കായി ഞാൻ നിങ്ങളെ ഡോക്യുമെന്റേഷനിലേക്ക് റഫർ ചെയ്യുന്നു.

ഒരു കമാൻഡിന് മറുപടിയായി, നിങ്ങൾക്ക് സാധ്യമായ നിരവധി ഉത്തരങ്ങൾ ലഭിക്കും. എല്ലാം ശരിയാണെങ്കിൽ, സ്റ്റാൻഡേർഡ് "ശരി" എന്നതിന് ശേഷം, കുറച്ച് സമയത്തിന് ശേഷം നിങ്ങൾക്ക് മൂന്ന് ഉത്തരങ്ങളിൽ ഒന്ന് ലഭിക്കും:

  • "സൂചിക, ഇതിനകം കണക്റ്റുചെയ്യുക" ഇതിനർത്ഥം നൽകിയിരിക്കുന്ന സൂചികയുമായി ഒരു കണക്ഷൻ ഇതിനകം സ്ഥാപിച്ചിട്ടുണ്ടെന്നും അത് തിരയുന്നത് മൂല്യവത്താണെന്നും അർത്ഥമാക്കുന്നു.
  • "സൂചിക, കണക്റ്റ് ശരി" ​​എല്ലാം ഇവിടെ വ്യക്തമാണ്.
  • "ഇൻഡക്സ്,കണക്റ്റ് പരാജയം" എന്നാൽ കണക്ഷൻ സ്ഥാപിക്കുന്നതിൽ പ്രശ്നങ്ങൾ ഉണ്ടായിരുന്നു എന്നാണ്.
"AT+CIPCLOSE=index" എന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് കണക്ഷൻ അടയ്ക്കാം. "AT+CIPSHUT" എന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് എല്ലാ കണക്ഷനുകളും തകർക്കാനും GPRS ഇന്റർഫേസ് നിർജ്ജീവമാക്കാനും കഴിയും.

ഡാറ്റ കൈമാറ്റം

"AT+CIPSEND=index,length" എന്ന കമാൻഡ് ഉപയോഗിച്ച് ഡാറ്റ കൈമാറ്റം ചെയ്യപ്പെടുന്നു, ഇവിടെ ഇൻഡെക്സ് ഡാറ്റ അയയ്ക്കേണ്ട കണക്ഷൻ വ്യക്തമാക്കുന്നു, കൂടാതെ ദൈർഘ്യം ഡാറ്റാ പാക്കറ്റിന്റെ ദൈർഘ്യം വ്യക്തമാക്കുന്നു. വഴിയിൽ, "AT+CIPSEND=?" എന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഓരോ കണക്ഷനുമുള്ള MTU കണ്ടെത്താനാകും. .

എല്ലാം ശരിയാണെങ്കിൽ, ">" പ്രോംപ്റ്റ് ഉപയോഗിച്ച് മൊഡ്യൂൾ കമാൻഡിനോട് പ്രതികരിക്കും, അതിനുശേഷം നിങ്ങൾ സീരിയൽ പോർട്ടിലേക്ക് ഡാറ്റ അയയ്ക്കേണ്ടതുണ്ട്. മൊഡ്യൂളിന് നീളത്തിന് തുല്യമായ നിരവധി ബൈറ്റുകൾ ലഭിച്ചുകഴിഞ്ഞാൽ, അത് "സൂചിക, ശരി അയയ്‌ക്കുക" എന്ന് പറയും. പൊതുവേ, നിങ്ങൾ നീളം പരാമീറ്റർ ഉപയോഗിക്കേണ്ടതില്ല, എന്നാൽ ഈ സാഹചര്യത്തിൽ ഡാറ്റ പാക്കറ്റിന്റെ അവസാനം Ctrl+Z എന്ന ടെർമിനൽ കോമ്പിനേഷനിൽ 0x1A എന്ന ചിഹ്നം ഉപയോഗിച്ച് വ്യക്തമായി സൂചിപ്പിക്കണം. അനിയന്ത്രിതമായ ഡാറ്റ കൈമാറുന്നതിന് ഈ ഓപ്ഷൻ അനുയോജ്യമല്ല.

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഡാറ്റ കൈമാറ്റം വളരെ സങ്കീർണ്ണമായ ഒരു പ്രക്രിയയല്ല. അതിനാൽ, നമുക്ക് ഏറ്റവും രസകരമായ ഭാഗത്തേക്ക് പോകാം - ഡാറ്റ സ്വീകരിക്കുക.

ഡാറ്റ സ്വീകരിക്കുന്നു

GSM മൊഡ്യൂളിന് ഡാറ്റ ലഭിച്ചാലുടൻ, സീരിയൽ പോർട്ടിലേക്ക് "+CIPRXGET:1,index\r\n" പോലെയുള്ള ഒരു സ്ട്രിംഗ് അയച്ചുകൊണ്ട് ഇത് സിഗ്നൽ നൽകുന്നു. ഒന്ന് എന്താണ് അർത്ഥമാക്കുന്നതെന്ന് എനിക്ക് സത്യസന്ധമായി അറിയില്ല, കാരണം ഈ മൊഡ്യൂൾ ഫംഗ്‌ഷൻ മോശമായി രേഖപ്പെടുത്തപ്പെട്ടിരിക്കുന്നു, പക്ഷേ എന്നെ സംബന്ധിച്ചിടത്തോളം ഇത് പാക്കറ്റ് സ്വീകരണത്തെക്കുറിച്ചുള്ള എല്ലാ സന്ദേശങ്ങളിലും ദൃശ്യമാകുന്നു.

മൊഡ്യൂളിന്റെ സന്ദേശങ്ങൾ ഒരു തരത്തിലല്ലെങ്കിൽ മറ്റൊരു തരത്തിൽ നിരീക്ഷിക്കണമെന്ന ചിന്ത എനിക്ക് ഇഷ്ടപ്പെട്ടില്ല. എന്നിരുന്നാലും, ഡീബഗ്ഗറുമായി കുറച്ച് കളിച്ചതിന് ശേഷം, മൊഡ്യൂൾ മറ്റ് അസിൻക്രണസ് സന്ദേശങ്ങളൊന്നും അയയ്‌ക്കുന്നില്ലെന്നും ഏതെങ്കിലും AT കമാൻഡ് എക്‌സിക്യൂട്ട് ചെയ്‌തതിന് ശേഷം, ഈ സന്ദേശം ബഫറിന്റെ തുടക്കത്തിൽ ദൃശ്യമാകുമെന്നും ഞാൻ കണ്ടെത്തി. "\r\r\n" എന്ന ഉപസ്‌ട്രിംഗിനായി തിരഞ്ഞുകൊണ്ട് കമാൻഡിൽ നിന്ന് പ്രതികരണം വേർപെടുത്താൻ ഞാൻ ഒരു മാക്രോ ഉണ്ടാക്കിയതിനാൽ, എന്നെ ഒരു തരത്തിലും ബാധിച്ചില്ല. അതിനാൽ ഡാറ്റ റിസപ്ഷൻ ഫംഗ്ഷൻ വളരെ ലളിതമായി നടപ്പിലാക്കി.

അതിനാൽ, "AT+CIPRXGET=2,index,length" എന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഡാറ്റ സ്വീകരിക്കാം. രണ്ട് അർത്ഥമാക്കുന്നത് റിസപ്ഷൻ മോഡ്, ഇൻ ഈ സാഹചര്യത്തിൽബൈറ്റുകൾ സീരിയൽ പോർട്ടിലേക്ക് ഒഴുകുന്നു. സോഫ്റ്റ്‌വെയർ ഫ്ലോ നിയന്ത്രണവുമായുള്ള വൈരുദ്ധ്യങ്ങൾ തടയുന്നതിന്, HEX ടെക്‌സ്‌റ്റായി ഡാറ്റ സ്വീകരിക്കാനും നിങ്ങൾക്ക് വ്യക്തമാക്കാം. എനിക്ക് ഇത് ആവശ്യമില്ല, കാരണം ഞാൻ ഫ്ലോ നിയന്ത്രണം ഒട്ടും ഉപയോഗിക്കുന്നില്ല. ഒരു സമയം നമുക്ക് ലഭിക്കാൻ ആഗ്രഹിക്കുന്ന ഡാറ്റ പാക്കറ്റിന്റെ വലുപ്പം നീളം പാരാമീറ്റർ വ്യക്തമാക്കുന്നു.

പ്രതികരണമായി, "+CIPRXGET:2,index,received,excess\r\n__DATA__\r\nOK\r\n" പോലെയുള്ള ഒന്ന് ഞങ്ങൾക്ക് ലഭിക്കും. സ്വീകരിച്ച ഫീൽഡിൽ __DATA__ ഡാറ്റാ പാക്കറ്റിലെ ബൈറ്റുകളുടെ എണ്ണം അടങ്ങിയിരിക്കും, കൂടാതെ അധിക ഫീൽഡിൽ മൊഡ്യൂൾ ബഫറിൽ കാത്തിരിക്കുന്ന ബൈറ്റുകളുടെ എണ്ണം അടങ്ങിയിരിക്കും. അതിനാൽ ലഭിച്ച ഫീൽഡ് പൂജ്യമാണെങ്കിൽ, സ്വീകരിക്കാൻ ഒന്നുമില്ലെന്ന് നിങ്ങൾക്ക് വ്യക്തമായ മനസ്സാക്ഷിയോടെ പറയാൻ കഴിയും. യഥാർത്ഥത്തിൽ, ഇത് ഉപയോഗിച്ച്, ഡാറ്റ സ്വീകരിക്കുന്നതിന് ഞാൻ ഒരു നോൺ-ബ്ലോക്കിംഗ് ഫംഗ്ഷൻ നടപ്പിലാക്കി.

ഒടുവിൽ

കോഡ് എഴുതുന്നതിന് മുമ്പ്, സീരിയൽ പോർട്ടിനൊപ്പം മികച്ച രീതിയിൽ പ്രവർത്തിക്കുന്ന PuTTY ഉപയോഗിച്ച് AT കമാൻഡുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് സുഖം പ്രാപിക്കാൻ ഞാൻ ശക്തമായി ശുപാർശ ചെയ്യുന്നു.

ഈ ലേഖനത്തിലെ വിവരങ്ങൾ ആരെയെങ്കിലും അവരുടെ SIM900-ന് കോഡ് എഴുതാൻ സഹായിക്കുമെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു. മുകളിൽ വിവരിച്ചിരിക്കുന്ന ജിഎസ്എം മൊഡ്യൂളുമായി പ്രവർത്തിക്കുന്നതിനുള്ള തത്വങ്ങൾ മറ്റ് മോഡലുകളുടെ മൊഡ്യൂളുകളിലും, ഒരുപക്ഷേ, നിർമ്മാതാക്കളിലും പ്രയോഗിക്കാൻ സാദ്ധ്യതയുണ്ട്.

ടാഗുകൾ:

  • മൈക്രോകൺട്രോളറുകൾ
  • പ്രോഗ്രാമിംഗ്
  • ജിഎസ്എം
  • ജിപിആർഎസ്
ടാഗ് ചേർക്കുക