Sim900 инструкция на русском языке

Чтобы управлять модемом SIM900, используются простые AT-команды. Для этого нужно модем SIM900 подключить к компьютеру. Если модем SIM900 собран самостоятельно, тогда нужно заранее позаботиться о наличии у него USB-разъема, с помощью которого можно подключиться к компьютеру. Что касается компьютера, то для коммуникации с модемом достаточно будет какой-либо терминальной программы. 

Для тех, кто не в курсе, модем или модуль SIM900 — это GSM-устройство, которое можно использовать для:

  • осуществления звонков;

  • отправки СМС;

  • отправки мультимедийных сообщений;

  • подключения к GPRS;

  • отправки электронных писем;

  • и др.

Модем SIM900 представляет собой плату, на которой основным компонентом является микропроцессор SIM900, отсюда и название модема, и множество дополнительных компонентов: разъемы, порты, антенны и др. Такой модем можно заказать в уже собранном виде, но многими умельцами практикуется его самостоятельная сборка на основе плат Arduino.

На практике модуль SIM900 активно интегрируется в интернет вещей, для того чтобы вы могли дистанционно управлять любыми устройствами «умного дома». По функциям модем SIM900 может выполнить практически все, что делает обычный мобильный телефон:

  • принимать и получать звонки;

  • отправлять и принимать сообщения;

  • выходить в интернет;

  • и др.

Для коммуникации с пользователями модем SIM900 использует четырехдиапазонную сеть GSM/GPRS, поэтому применять это устройство можно везде, где доступна «мобильная связь». Чтобы правильно настроить модем SIM900, нужно знать основные AT-команды, используемые для его программирования.

Модем SIM900: AT-команды для его программирования

АТ-команды нужны, чтобы выстроить «общение» с модемом SIM900. Алгоритм простой: вы отправляете устройству команду, а оно ее выполняет и отвечает. АТ-команды для модуля SIM900 представлены просто огромным списком, но сегодня мы приведем наиболее важные из них. Все используемые АТ-команды можно отнести к трем основным категориям на основе используемого синтаксиса:

  • «=?» задаем вопрос модулю и ожидаем от него ответ, поддерживает ли он эту команду, и если поддерживает, то с какими параметрами;

  • «?» задаем вопрос модулю и в ответ ожидаем параметры для отправленной команды;

  • «=» определяем новые значения для отправленной команды.

АТ-команды модема SIM900 для работы с портом:

  • «АТ+IPR?» проверяем скорость порта;

  • «АТ+ICF?» проверяем настройки передачи информации;

  • «АТ+IFC?» проверяем, происходит ли контроль передачи информации.

АТ-команды модуля SIM900 для получения информации о модеме:

  • «АТ+GSAP» проверяем, на что способен модем;

  • «АТ+GMM» запрашиваем идентификатор модема;

  • «АТ+GMR» запрашиваем идентификатор ревизии модема;

  • «АТ+GSN» запрашиваем IMEI устройства;

  • «АТ+СОРS?» запрашиваем информацию о сотовом операторе;

  • «АТ+COPS=?» проверяем список всех доступных сотовых операторов;

  • «АТ+CPAS» проверяем рабочее состояние модема;

  • «АТ+CREG?» проверяем состояние регистрации модема в сети;

  • «АТ+CSQ?» запрашиваем информацию об уровне сигнала;

  • «АТ+CCLK?» проверяем текущие настройки времени и даты в устройстве.

АТ-команды модема SIM900 для настройки звонков:

  • «АТ+CLIP=1 или 0» включение или выключение звонков, где «1» это включение, а «0» выключение;

  • «АТ+GSMBUSY=1 или 0» запрещаем или разрешаем входящие звонки, где «1» разрешаем, а «0» запрещаем;

  • «АТS0=0 или 1» настраиваем автоматический ответ на звонки, где «0» ручной ответ на звонки, а «1» автоматический ответ;

  • «АТD+хххххххххх;» звоним на номер «+хххххххххх»;

  • «ATDL» звоним на последний исходящий номер;

  • «АТА» отвечаем на входящий звонок;

  • «АТН0» сбрасываем входящий звонок или «вешаем трубку».

АТ-команды модема SIM900 для настройки SMS:

  • «АТ+CMGF=1 или 0» включаем или выключаем тестовый режим приема SMS, где «1» включаем, а «0» выключаем;

  • «АТ+СSCS=»GSM»» определяем кодировку текстового содержания, где можно использовать и другие кодировки: IRA, UCS2, HEX, РССР и др.;

  • «АТ+CSCB=0» разрешаем или запрещаем принимать специальные сообщения, где «0» запрещаем, а «1» разрешаем;

  • «АТ+CAUTORUN=1, «ххххххххххх»» включаем функцию «SMS Autorun», где «ххххххххххх» — это номер телефона, с которого можно отсылать АТ-команды, а модем их будет тут же исполнять;

  • «АТ+СМGS=»+хххххххххх»>текст сообщения» отправляем «текст сообщения» на номер «+хххххххххх»;

  • «АТ+CMGR=2» читаем входящие сообщения.

Прочие полезные АТ-команды для взаимодействия с модемом SIM900:

  • «АТ+СМЕЕ=0, 1 или 2», где «0» отключаем получение информации о возникающих ошибках в работе, «1» просим присылать код ошибки, «2» просим присылать описание ошибки;

  • «АТ+ССLK=»прописываем нужную дату и время»» — устанавливаем дату и время;

  • «АТ+СPIN»=ХХХХ — определяем ПИН-код для модема;

  • «ATZ0 или 1» сбрасываем настройки модема до определенного уровня, где «0» или «1» это профили (уровни) настроек модема;

  • «AT&F» сбрасываем настройки до заводских;

  • «АТ+HTTPSSL» подключение SSL для HTTP;

  • и др. 

Заключение

АТ-команды используются для настройки работы модема SIM900. Сегодня мы привели основные из команд, которые позволят сделать из вашего модема SIM900 устройство, похожее на сотовый телефон. Это удобно, когда вы подключаете SIM900 к компонентам «умного дома» и хотите взаимодействовать с ними через мобильную сеть.

SimCom SIM900 Hardware Design

  1. Manuals
  2. Brands
  3. SimCom Manuals
  4. GPS
  5. SIM900 Series
  6. Hardware design

  • Contents

  • Table of Contents

  • Bookmarks

Quick Links

a

Hardware Design

SIM900_HD_V1.05

loading

Related Manuals for SimCom SIM900

Summary of Contents for SimCom SIM900

  • Page 1
    Hardware Design SIM900_HD_V1.05…
  • Page 2
    Document Control ID: General Notes SIMCom offers this information as a service to its customers, to support application and engineering efforts that use the products designed by SIMCom. The information provided is based upon requirements specifically provided to SIMCom by the customers. SIMCom has not undertaken any independent search for additional relevant information, including any information that may be in the customer’s possession.
  • Page 3: Table Of Contents

    3.4 Power Up and Power Down Scenarios………………….23 3.4.1 Turn on SIM900 ……………………..23 3.4.2 Turn Off SIM900……………………..26 3.4.3 Restart SIM900 Using the PWRKEY Pin ………………29 3.5 Power Saving …………………………29 3.5.1 Minimum Functionality Mode ………………….29 3.5.2 Sleep Mode (Slow Clock Mode) …………………..30 3.5.3 Wake Up SIM900 from SLEEP Mode ………………..30…

  • Page 4
    5.4 Current Consumption(VBAT = 3.8V)………………….51 5.5 Electro-Static Discharge……………………..52 6 Mechanics …………………………..52 6.1 Mechanical Dimensions of SIM900………………….52 6.2 Top and Bottom View of the SIM900 ………………….55 6.3 PIN Assignment of SIM900 ……………………56 6.4 The Ramp-Soak-Spike Reflow Profile of SIM900 ………………58 SIM900_HD_V1.05…
  • Page 5
    TABLE 22: PIN DEFINE OF THE I2C BUS ……………………48 TABLE 23: SIM900 CONDUCTED RF OUTPUT POWER………………. 48 TABLE 24: SIM900 CONDUCTED RF RECEIVE SENSITIVITY …………….48 TABLE 25: SIM900 OPERATING FREQUENCIES …………………. 49 TABLE 26: ABSOLUTE MAXIMUM RATINGS………………….49 TABLE 27: SIM900 OPERATING TEMPERATURE …………………
  • Page 6
    FIGURE 4: REFERENCE CIRCUIT OF THE SOURCE POWER SUPPLY INPUT…………. 22 FIGURE 5: VBAT VOLTAGE DROP DURING TRANSMIT BURST…………….23 FIGURE 6: TURN ON SIM900 USING DRIVING CIRCUIT ………………24 FIGURE 7: TURN ON SIM900 USING BUTTON………………….24 FIGURE 8: TIMING OF TURN ON SYSTEM USING PWRKEY …………….25 FIGURE 9: TURN ON SIM900 USING DRIVING CIRCUIT ………………
  • Page 7: Version History

    SIM900 Hardware Design Version history Date Version Description of change Author 2009-12-26 1.01 Origin LiGang 2010-02-04 1.02 Modify the voltage range of ADC input. Modify the figure of bottom mechanical dimensions of module. LiGang Modify the figure of recommended PCB decal and the note.

  • Page 8: Introduction

    SIM900 are described in great detail. This document can help you quickly understand SIM900 interface specifications, electrical and mechanical details. With the help of this document and other SIM900 application notes, user guide, you can use SIM900 module to design and set-up mobile applications quickly.

  • Page 9
    SIM900 Hardware Design Abbreviation Description Analog-to-Digital Converter Adaptive Multi-Rate Antenna Reference Point ASIC Application Specific Integrated Circuit Bit Error Rate Base Transceiver Station CHAP Challenge Handshake Authentication Protocol Coding Scheme Circuit Switched Data Clear to Send Digital-to-Analog Converter Discontinuous Reception…
  • Page 10
    SIM900 Hardware Design Abbreviation Description Password Authentication Protocol PBCCH Packet Switched Broadcast Control Channel Printed Circuit Board Personal Communication System, also referred to as GSM 1900 Protocol Data Unit Point-to-point protocol Radio Frequency Root Mean Square (value) Real Time Clock…
  • Page 11: Safety Caution

    If not so, SIMCom does not take on any liability for customer failure to comply with these precautions.

  • Page 12
    SIM900 Hardware Design GSM cellular terminals or mobiles operate over radio frequency signals and cellular networks and cannot be guaranteed to connect in all conditions, for example no mobile fee or a invalid SIM card. While you are in this condition and need emergent help, Please Remember using emergency calls.
  • Page 13: Sim900 Overview

    (optional) and supports the GPRS coding schemes CS-1, CS-2, CS-3 and CS-4. With a tiny configuration of 24mm x 24mm x 3mm, SIM900 can meet almost all the space requirements in your applications, such as M2M, smart phone, PDA and other mobile devices.

  • Page 14
    SIM900 Hardware Design Temperature range Normal operation: -30°C to +80°C Restricted operation: -40°C to -30°C and +80 °C to +85°C Storage temperature -45°C to +90°C DATA GPRS: GPRS data downlink transfer: max. 85.6 kbps GPRS data uplink transfer: max. 42.8 kbps…
  • Page 15: Sim900 Functional Diagram

    CS-4: 21.4kbps 42.8kbps 85.6kbps 2.2 SIM900 Functional Diagram The following figure shows a functional diagram of the SIM900 and illustrates the mainly functional part: The GSM baseband engine Flash and SRAM The GSM radio frequency part The antenna interface The Other interfaces Figure 1: SIM900 functional diagram SIM900_HD_V1.05…

  • Page 16: Sim900 Evaluation Board

    SIM900 Hardware Design 2.3 SIM900 Evaluation Board In order to help you on the application of SIM900, SIMCom can supply an Evaluation Board (EVB) that interfaces the SIM900 directly with appropriate power supply, SIM card holder, RS232 serial port, handset port, earphone port, line in port, antenna and all GPIO of the SIM900.

  • Page 17: Application Interface

    SIM900 Hardware Design 3 Application Interface SIM900 is equipped with a 68-pin SMT pad that connects to the cellular application platform. Sub-interfaces included in these SMT pads are described in detail in following chapters: Power supply (please refer to Chapter 3.3) Serial interfaces (please refer to Chapter 3.8)

  • Page 18
    SIM900 Hardware Design VDD_EXT 2.8V output power supply Vmax=2.95V If unused, keep Vmin=2.70V open. Vnorm=2.80V Iout(max)= 10mA Ground Power on or power off PIN NAME DESCRIPTION DC CHARACTERISTICS PWRKEY Voltage input for PWRKEY. VILmax=0.15*VDD_EXT already PWRKEY should be pulled VIHmin=0.85* VDD_EXT pulled up.
  • Page 19
    SIM900 Hardware Design C bus clock If unused keep open C bus data KBR0~KBR4 If unused keep these pins open Keypad interface KBC0~KBC4 Pull VDD_EXT, unused keep pins open Serial port PIN NAME DESCRIPTION DC CHARACTERISTICS COMMENT Receive data VILmax=0.15 *VDD_EXT VIHmin=0.85*VDD_EXT…
  • Page 20: Operating Modes

    SIM900 Hardware Design VOHmin= SIM_VDD-0.1V with VOLmax=0.1V diode array. VOHmax= SIM_VDD Maximum cable VOLmin= 0V length 200mm from the module pad to SIM card holder. SIM_PRESE SIM detect VILmax=0.15 *VDD_EXT If unused keep VIHmin=0.85*VDD_EXT open VILmin= 0V VIHmax= VDD_EXT PIN NAME…

  • Page 21: Power Supply

    3.3 Power Supply The power supply of SIM900 is from a single voltage source of VBAT= 3.1V…4.8V. In some case, the ripple in a transmitting burst may cause voltage drops when current consumption rises to typical peaks of 2A. So the power supply must be able to provide sufficient current up to 2A.

  • Page 22: Figure 3: Reference Circuit Of The Vbat Input

    2A peak current in burst mode of the module. The single 3.6V Li-Ion cell battery type can be connected to the power supply of the SIM900 VBAT directly. But the Ni_Cd or Ni_MH battery types must be used carefully, since their maximum voltage can rise over the absolute maximum voltage for the module and damage it.

  • Page 23: Power Supply Pins

    3.4 Power Up and Power Down Scenarios In general, be sure not to turn on SIM900 while it is beyond the safety limits of voltage and temperature stated in Chapter 3.4.2. SIM900 would immediately switch off after having started and detected these inappropriate conditions.

  • Page 24: Figure 6: Turn On Sim900 Using Driving Circuit

    However if the SIM900 is set autobauding, the serial port will receive nothing. The AT commands can be set after the SIM900 is power on. You can use AT+IPR=x to set a fixed baud rate and save the configuration to non-volatile flash memory.

  • Page 25: Figure 8: Timing Of Turn On System Using Pwrkey

    Undefined Figure 8: Timing of turn on system using PWRKEY When power on procedure completes, the SIM900 will send out following result code to indicate the module is ready to operate when set as fixed baud rate. This result code does not appear when autobauding is active.

  • Page 26: Turn Off Sim900

    3.4.2 Turn Off SIM900 Following ways can be used to turn off the SIM900: Normal power down procedure: Turn off SIM900 using the PWRKEY pin Normal power down procedure: Turn off SIM900 using AT command Over-voltage or under-voltage automatic shutdown: Take effect if over-voltage or under-voltage is detected…

  • Page 27: Figure 12: Timing Of Turn Off System Using Pwrkey

    3.4.2.1 Turn Off SIM900 Using the PWRKEY Pin (Power down) You can turn off the SIM900 by driving the PWRKEY to a low level voltage for a short time and then release. You also can urn off the SIM900 by connecting PWRKEY and PWRKEY_OUT for a short time and then release.

  • Page 28
    SIM900 Hardware Design 3.4.2.2 Turn Off SIM900 Using AT Command You can use the AT command “AT+CPOWD=1” to turn off the module. This command lets the module log off from the network and allows the module to enter into a secure state and save data before completely disconnecting the power supply.
  • Page 29: Restart Sim900 Using The Pwrkey Pin

    3.4.3 Restart SIM900 Using the PWRKEY Pin You can restart SIM900 by driving the PWRKEY to a low level voltage for a short time and then release, the same as turning on SIM900 using the PWRKEY pin. Before restarting the SIM900, you need delay at least 500ms from detecting the STATUS low level on.

  • Page 30: Sleep Mode (Slow Clock Mode)

    SIM900 Hardware Design card function will not be accessible. If SIM900 has been set by “AT+CFUN=4”, the RF function will be closed, the serial port is still active. In this case all AT commands correlative with RF function will not be accessible.

  • Page 31: Rtc Backup

    SIM900 Hardware Design 3.7 RTC Backup The RTC (Real Time Clock) power supply of module can be provided by an external capacitor or a battery (rechargeable or non-chargeable) through the VRTC. Note: If the RTC function is enabled, a battery or capacitor should be connected with the VRTC pin. If RTC Backup is not needed, please don’t keep it floating, a 4.7uF capacitor is recommended to connect to this pin.

  • Page 32: Serial Interfaces

    DBG_TXD Transmit data SIM900 provides two unbalanced asynchronous serial ports. One is the serial port and the other is the debug port. The GSM module is designed as a DCE (Data Communication Equipment), following the traditional DCE-DTE (Data Terminal Equipment) connection. The module and the client (DTE) are connected through the following signal (as following figure shows).

  • Page 33: Function Of Serial Port & Debug Port Supporting

    Serial port can be used for CSD FAX, GPRS service and send AT command of controlling module. Also serial port can be used for multiplexing function. SIM900 supports only basic mode of multiplexing so far. Serial port supports the communication rates as following: 1200, 2400, 4800, 9600, 19200, 38400, 57600 and 115200bps.

  • Page 34: Software Upgrade And Software Debug

    The TXD and RXD also should be connected to the IO connector, if user wants to send AT command or data stream to SIM900. The PWRKEY pin is recommended to connect to the IO connector. The user also can add a switch between the PWRKEY and the GND.

  • Page 35: Audio Interfaces

    SIM900 Hardware Design Figure 21: Connection of software upgrade and software debug The serial port and the debug port don’t support the RS_232 level and it only supports the CMOS level. Please refer to the table 10 for details about the voltage level. You should add the level converter IC between the DCE and DTE, if you connect it to the computer.

  • Page 36: Speaker Interface Configuration

    SIM900 Hardware Design It is suggested that you adopt one of the following two matching circuits in order to improve audio performance. The difference audio signals have to be layout according to difference signal layout rules. As show in following figures (Note: all components package are 0603.) If you want to adopt an amplifier circuit for audio, we…

  • Page 37: Microphone Interfaces Configuration

    SIM900 Hardware Design 3.9.2 Microphone Interfaces Configuration Close to Microphone Differential layout 10pF 33pF ANTI MIC_P Electret MODULE 10pF 33pF Microphone MIC_N 33pF 10pF ANTI Figure 25: Microphone interface configuration 3.9.3 Earphone Interface Configuration Close to Socket Close to MODULE…

  • Page 38: Sim Card Interface

    SIM900 Hardware Design Parameter Unit Working Voltage Working Current External Microphone Load Resistance k Ohms Internal biasing DC Characteristics Differential input <1% 15.9 mVrms voltage F=1KHz; pre-amp gain = 20 dB; PGA gain = 14 dB <5% mVrms F=1KHz;pre-amp gain = 0 dB; PGA…

  • Page 39: Table 12: Pin Define Of The Sim Interface

    SIM900 Hardware Design Both 1.8V and 3.0V SIM Cards are supported. The SIM interface is powered from an internal regulator in the module having normal voltage 3V. All pins reset as outputs driving low. Logic levels are as described in table…

  • Page 40: Design Considerations For Sim Card Holder

    SIM900 Hardware Design If you don’t use the SIM card detection function, you can leave the SIM_PRESENCE pin open. The reference circuit about 6 pins SIM card illustrates as following figure. 100nF CARD SIM_VDD SIM_RST SIM_CLK MODULE C707 10M006 512 2…

  • Page 41: Table 14: Pin Description (Molex Sim Card Holder)

    SIM900 Hardware Design Pin Name Signal Description SIM_VDD SIM Card Power supply, it can identify automatically the SIM Card power mode,one is 3.0V±10%, another is 1.8V±10%. Current is about 10mA. SIM_RST SIM Card Reset. SIM_CLK SIM Card Clock. Connect to GND.

  • Page 42: Lcd Display Interface

    SIM_PRESENCE Detect SIM Card Presence 3.11 LCD Display Interface SIM900 provides a serial LCD display interface that supports serial communication with LCD device. When used as LCD interface, the following table is the pin definition. LCD interface timing should be united with the LCD device.

  • Page 43: Table 16: Pin Define Of The Keypad Interface

    MODULE KBR0 KBR1 KBR2 KBR3 KBR4 Figure 31: Reference circuit of the keypad interface Note: This function is not supported in the default firmware. There must be customized firmware if you want. Please contact SIMCom for more details. SIM900_HD_V1.05 06.23.2010…

  • Page 44: Adc

    SIM900 Hardware Design 3.13 ADC SIM900 provides one auxiliary ADC (General purpose analog to digital converter.) as voltage input pin, which can be used to detect the values of some external items such as voltage, temperature etc. We can use AT command “AT+CADC”…

  • Page 45: Network Status Indication

    Hang on MO or Power on Ring Ring MO or MT Ring (talking) Hang up Hang up Figure 33: SIM900 Services as Receiver HIGH calling Echo Hang up Power on calling Echo talking Hang up Figure 34: SIM900 Services as caller 3.15 Network Status Indication…

  • Page 46: General Purpose Input Output (Gpio)

    3.16 General Purpose Input Output (GPIO) SIM900 provides a limited number of General Purpose Input/Output signal pin. The output and input voltage level of the GPIO can be set by AT command. For more details, please refer to document [1]…

  • Page 47: External Reset

    Note: This function is not supported in the default firmware. There must be customized firmware if you want. Please contact SIMCom for more details. 3.19 I2C Bus The SIM900 initiates a data transfer on the bus and generates the clock signal to execute the transfer. The features include the following: Maximum output rate equal to 400 kbit/s…

  • Page 48: Antenna Interface

    Please contact SIMCom for more details. 4 Antenna Interface SIM900 provides RF antenna interface. And customer’s antenna should be located in the customer’s main board and connect to module’s antenna pad through microstrip line or other type RF trace which impendence must be controlled in 50Ω.

  • Page 49: Module Operating Frequencies

    The operating temperature is listed in following table: Table 27 : SIM900 operating temperature Parameter Unit Ambient temperature ℃ Restricted operation* -40 to -30 +80 to +85 ℃ Storage temperature ℃ * The SIM900 does work, but deviations from the GSM specification may occur. SIM900_HD_V1.05 06.23.2010…

  • Page 50: Power Supply Ratings

    SIM900 Hardware Design 5.3 Power Supply Ratings Table 28 : SIM900 power supply ratings Parameter Description Conditions Unit VBAT Supply voltage Voltage must stay within the min/max values, including voltage drop, ripple, and spikes. Voltage drop Normal condition, power control level for…

  • Page 51: Current Consumption(Vbat = 3.8V)

    5.4 Current Consumption (VBAT = 3.8V) Please refer to the following table for the values of current consumption. Table 29 : SIM900 current consumption(VBAT = 3.8V) Voice Call GSM 850/EGSM 900 @power level #5 <300mA,Typical 250mA @power level #12,Typical 110mA…

  • Page 52: Electro-Static Discharge

    The GSM engine is not protected against Electrostatic Discharge (ESD) in general. Therefore, it is subject to ESD handing precautions that typically apply to ESD sensitive components. Proper ESD handing and packaging procedures must be applied throughout the processing, handing and operation of any application using a SIM900 module.

  • Page 53: Figure 37: Top An Side Mechanical Dimensions Of Module (Unit: Mm

    SIM900 Hardware Design Figure 37: Top an Side Mechanical dimensions of module (Unit: mm) SIM900_HD_V1.05 06.23.2010…

  • Page 54: Figure 38:Bottom Mechanical Dimensions Of Module (Unit: Mm

    SIM900 Hardware Design Figure 38:Bottom Mechanical dimensions of module (Unit: mm) Figure 39: Recommended PCB decal(Unit: mm) Note: Area A is keep route out area. Area B should be covered by silkscreen to prevent from the short between the via on customer board and the test points on the bottom side of the module.

  • Page 55: Top And Bottom View Of The Sim900

    SIM900 Hardware Design 6.2 Top and Bottom View of the SIM900 Figure 40: Top view of the SIM900 SIM900_HD_V1.05 06.23.2010…

  • Page 56: Pin Assignment Of Sim900

    TOP VIEW GPIO3/KBR2 DISP_CLK GPIO2/KBR3 DISP_DATA GPIO1/KBR4 DISP_D/C DISP_CS VDD_EXT NRESET PWM2 PWM1 Figure 41: SIM900 pin out diagram (Top View) Table 31 : PIN assignment Pin Number Pin Name Pin Number Pin Name PWRKEY PMW1 PWRKEY_OUT PWM2 GPIO1/KBR4 GPIO2/KBR3…

  • Page 57
    SIM900 Hardware Design GPIO5/KBR0 DISP_CLK DISP_DATA DISP_D/C GPIO6/KBC4 DISP_CS GPIO7/KBC3 VDD_EXT GPIO8/KBC2 NRESET GPIO9/KBC1 GPIO10/KBC0 NETLIGHT MIC_P MIC_N SPK_P VBAT SPK_N VBAT LINEIN_R VBAT LINEIN_L VRTC RF_ANT DBG_TXD DBG_RXD SIM_VDD SIM_DATA SIM_CLK STATUS SIM_RST GPIO11 SIM_PRESENCE GPIO12 SIM900_HD_V1.05 06.23.2010…
  • Page 58: The Ramp-Soak-Spike Reflow Profile Of Sim900

    SIM900 Hardware Design 6.4 The Ramp-Soak-Spike Reflow Profile of SIM900 Figure 42: The ramp-soak-spike reflow profile of SIM900 SIM900_HD_V1.05 06.23.2010…

  • Page 59
    SIM900 Hardware Design Contact us: Shanghai SIMCom Wireless Solutions Ltd. Add: SIM Technology Building, No.633, Jinzhong Road, Changning District, Shanghai P.R. China 200335 Tel: +86 21 3235 3300 Fax: +86 21 3235 3301 URL: www.sim.com/wm SIM900_HD_V1.05 06.23.2010…

Диалог происходит по средством AT команд. Мы шлём модулю нужную команду или запрос, а он её выполняет и отвечает. Самая простая команда AT, на которую модуль тут же ответит OK, если модуль подключен и исправен. Самые популярные команды рассмотрим далее.

Почти все команды имеют 3 режима:

  • тестовый =? – модуль ответит поддерживает ли он команду и возможные её параметры
  • чтение ? – ответом будет текущие параметры для этой команды
  • запись = записываем новые значения для команды.

A/ — повтор предыдущей команды

В статье, идёт речь о GSM модуле SIM900 (B09). Напоминаю, т.к. есть ещё и другие разновидности этого модуля и формат команд с ними может немного отличаться.

Управление портом

По умолчанию модуль настроен 9600 8N1, 9600 – скорость, 8 – бит в посылки, N – нет контроля чётности, 1- стоп бит.

Команда

Ответ

Описание

AT+IPR? +IPR: 0
OK
Скорость порта:
0 – автоматически
1200
2400
4800
9600
19200
38400
57600
115200
AT+ICF? +ICF: 3,3
OK
Настройки передачи.
Первый параметр:
Бит в посылке/чётность/стоп бит
1 – 8/0/2
2 – 8/1/1
3 – 8/0/1
4 – 7/0/2
5 – 7/1/1
6 – 7/0/1
Второй параметр – чётность:
0 – нечётный
1 – чётный
3 – нет
AT+IFC? +IFC: 0,0
OK
Контроль передачи данных
Первый параметр – терминалом от модуля
Второй параметр – модулем от терминала
0 – нет контроля
1 – программный
2 – аппаратный

Информация и состояние

Информация о модуле

Команда

Ответ

Описание

AT+GCAP +GCAP:+FCLASS,+CGSM
OK
Возможности модуля
AT+GMM SIMCOM_SIM900
OK
Идентификатор модуля
AT+GMR Revision:1137B09SIM900M64_ST
OK
Ревизия
AT+GSN 01322600XXXXXXX
OK
IMEI

Информация о состояние модуля

Команда

Ответ

Описание

AT+COPS? +COPS: 0,0,»MTS-RUS»
OK
Информация об операторе
AT+COPS=? +COPS: (2,»MTS RUS»,»»,»25001″),(1,»MOTIV»,»MOTIV»,»25035″),(1,»Utel»,»Utel»,»25039″),,(0,1,4),(0,1,2)
OK
Доступные операторы
AT+CPAS +CPAS: 0
OK
Информация о состояние модуля
0 – готов к работе
2 – неизвестно
3 – входящий звонок
4 – голосовое соединение
AT+CREG? +CREG: 0,1
OK
Тип регистрации сети
Первый параметр:
0 – нет кода регистрации сети
1 – есть код регистрации сети
2 – есть код регистрации сети + доп параметры
Второй параметр:
0 – не зарегистрирован, поиска сети нет
1 – зарегистрирован, домашняя сеть
2 – не зарегистрирован, идёт поиск новой сети
3 – регистрация отклонена
4 – неизвестно
5 – роуминг
AT+CSQ +CSQ: 17,0
OK
Уровень сигнала:
0 -115 дБл и меньше
1 -112 дБл
2-30 -110..-54 дБл
31 -52 дБл и сильнее
99 – нет сигнала.
AT+CCLK? +CCLK: «00/01/01,04:21:27+00»
OK
Текущая дата и время телефона.
AT+CBC +CBC: 0,95,4134
OK
Монитор напряжения питания модуля
Первый параметр:
0 – не заряжается
1 – заряжается
2 – зарядка окончена
Второй параметр:
1-100 % — уровень заряда батареи
Третий параметр:
Напряжение питание модуля (VBAT), мВ
AT+CADC? +CADC: 1,7
OK
Значение АЦП (до 2,8В)

Настройки

Вызовов

Команда

Ответ

Описание

AT+CLIP=1 OK АОН
1 – вкл / 0 – выкл
AT+GSMBUSY=0 OK Запрет входящих звонков
0 – разрешены
1 – запрещены
ATS0=0 OK Автоответ
0 – ручной
1-более – автомотический после заданного количества звонков

СМС

Команда

Ответ

Описание

AT+CMGF=1 OK Текстовый режим
1 – включить
0 – выключить
см. примечание
AT+CSCS= «GSM» OK Кодировка текстового режима
Доступны следующие кодировки:
IRA, GSM, UCS2, HEX, PCCP, PCDN, 8859-1
см. примечание
AT+CSCB=0 OK Приём специальных сообщений
0 – разрешен (по умолчанию)
1 – запрещен

Остальные

Команда

Ответ

Описание

ATE0 OK ЭХО
1 – вкл (по умолчанию) / 0 – выкл
ATV1 OK Формат ответа модуля
0 – только ответ
1 – полный ответ с ЭХО (по умолчанию)
AT+CMEE=0 OK Информация об ошибках
0 – отключён (по умолчанию)
1 – код ошибки
2 – описание ошибки
AT+CCLK=»13/09/25,13:25:33+05″ OK Установка часов
«yy/mm/dd,hh:mm:ss+zz»
Где:
год/месяц/дата,
часы:минуты:секунды
+часовой пояс
AT+CPIN=XXXX   Ввод PIN кода
ATZ0   Сброс настроек до по умолчанию (не до заводских)
0 или 1 – выбор профиля
AT&F   Сброс настроек до заводских
AT&W OK Сохранение настроек для текущего профиля
Параметр 0 или 1 — выбор профиля
Параметр указывать сразу за командой (AT&W0)
AT+CPOWD=1 NORMAL POWER DOWN Выключение модуля
0 – срочное
1 – нормальное
AT+CFUN=1,1   Энергосберегающий режим и перезагрузка
Первый параметр:
0 – минимальный функционал
1 – нормальный режим (по умолчанию)
2 – выключения цепей приёма и передачи сигнала
Второй параметр:
0 – выполнить без перезагрузки
1 – перезагрузить (доступно только в нормальном режиме, т.е. параметры = 1,1)

Телефонные звонки

Команда

Ответ

Описание

ATD+790XXXXXXXX; OK Позвонить на номер +790XXXXXXXX;
NO DIALTONE
BUSY
NO CARRIER
NO ANSWER
Нет сигнала
Если вызов отклонён
Повесили трубку
Нет ответа
ATDL OK Позвонить по последнему исходящему номеру
ATA OK Ответить на звонок
ATH0 OK Повесить трубку/ разорвать соединение
  RING Входящий звонок
AT+CLIP=1 OK см. настройки
  RING

+CLIP: «+790XXXXXXXX»,145,»»,,»»,0

Входящий звонок с включенным АОН
Где:
Первый параметр – номер телефона входящего звонка
2 – тип входящего номера
129 – не определен
161 – национальный
145 – интернациональный
177 – сетевой, специальный

СМС

Команды приведены для текстового режима и в GSM кодировке.

Команда

Ответ

Описание

AT+CMGS=»+790XXXXXXXX»
>Test sms text
>
+CMGS: 15
OK
Отправка СМС.
Указываем номер получателя в кавычках и отправляем модулю с символом переноса строки (13 в ASCII).
После приглашения «>» вводим текст сообщения.
Для отправки в конце сообщения отправляем символ SUB (26 в ASCII) или ESC (27) для отмены.
AT+CMGF=1
AT+CSCS= «GSM»
  Режим и кодировка.
см. настройки и примечание
  +CMTI: «SM»,4 Уведомление о приходе СМС.
Второй параметр номер пришедшего СМС.
AT+CMGL=»REC UNREAD» +CMGL: 4,»REC UNREAD»,»+790XXXXXXXX»,»»,»13/09/24,23:02:22+24″
Test2.
OK
Чтение групп СМС.
Всего 5 групп:
REC UNREAD – входящие непрочитанные
REC READ – входящие прочитанные
STO UNSENT – Пользовательские непрочитанные
STO SENT – пользовательские прочитанные
ALL – прочитать все сообщения
AT+CMGR=2 +CMGR: «REC READ»,»+790XXXXXXXX»,»»,»13/09/21,11:57:46+24″
Test sms text
OK
Чтение SMS сообщений.
Запрос:
Первый параметр – номер сообщения.
Второй параметр (необязателен):
0 – обычный режим (по умолчанию)
1 – не изменять статус сообщения
Ответ:
Первый параметр – группа сообщений, см предыдущий пункт.
Второй параметр – номер отправителя
3 – дата отправки
Далее следует текс сообщения.
AT+CMGDA=»DEL SENT» OK Удаление групп СМС:
DEL READ — прочитанные
DEL UNREAD — не прочитанные
DEL SENT — отправленные
DEL UNSENT — не отправленные
DEL INBOX — полученные
DEL ALL — всех сообщения
AT+CMGD=4 OK Удаление СМС.
Первый параметр – номер сообщения
Второй параметр:
0 – удаление указанного сообщения (по умолчанию)
1 – удаление прочитанных сообщений
2 – удаление прочитанных и отправленных сообщений
3 – удаление прочитанных, отправленных и не отправленных сообщений
4 – удаление всех сообщений
AT+CSCA? +CSCA: «+79126313431»,145
OK
Возвращает номер сервис центра отправки сообщений.

Тоновый набор (DTMF)

Тоновые сигналы: 0-9,#,*,A-D

Команда

Ответ

Описание

AT+VTD=3 OK Длительность тоновых сигналов для AT+VTD.
Значение параметра 1..255
AT+VTS=»1,4,#,A,6,7,0″ OK Отправить последовательность тоновых сигналов (до 20).
Длительность задается командой AT+VTS.
AT+CLDTMF=7, «1,4,#,A,6,7,0» OK Проиграть на модуле (через аудио выход) тоновые сигналы.
Первый параметр — длительность 1-100
Второй параметр – строка тоновых сигналов, до 20.

AT+VTD и AT+VTS команды, как мне кажется, работаю не корректно. VTD – должна устанавливать длительность тонового сигнала, а не паузу между ними, в то время когда тоновый сигнал в AT+VTS проигрывается быстро.

USSD

Команды для текстового режима и в GSM кодировке.

Команда

Ответ

Описание

AT+CUSD=1,»#100#» OK
+CUSD: 0,»Balance:240,68r «,
USSD запрос
Первый параметр – режим обработки операции:
0 – выполнить запрос, ответ проигнорировать
1 – выполнить запрос, вернуть ответ
2 – отменить запрос
Второй параметр – запрос в кавычках.
ATD#100#; OK
+CUSD: 0,»Balance:240,68r «,
Упрощенный USSD запрос (работает только при GSM кодировке)

Отмечу, что есть 2 варианта USSD запроса: начиная с * и начиная с #. В первом варианте ответ приходит на русском языке, во втором в латинице, если оператор такой запрос поддерживает и не ответит так же, как и в первом случае.
Режим отображения такой же, как и для СМС.

Примечание по текстовому режиму и кодировке

От текстового режима (PDU или текстовый) и кодировки модуля зависит формат ввода номеров, USSD запросов, входящих и исходящих СМС.

Самый геморройный и универсальный вариант – это PDU режим, т.к. в нём можно без проблем отправлять и принимать любые текстовые данные, но из-за его «геморойности» рассматривать его не буду.

Самый простой вариант – GSM кодировка. В нём номера вводятся привычным цифровым методом, исходящие и исходящие сообщения, как СМС, так и USSD в латинице отображаются, как им и полагается. С кириллицей дела обстоят посложнее, модуль входящие сообщения с ней отображает в UNICOD, точнее в HEX значениях UNICOD. С исходящими сообщениями дела обстоят сложнее!

Второй вариант, посложнее – UCS2 кодировка. Входящие и исходящие сообщения, USSD запросы, номера телефонов в запросах – всё пишется в UNICOD. Упрощенные USSD запросы не работают.

Другие варианты мной плохо опробованы, но у них тоже всё идёт в своей кодировке.

Пример (номер телефона заменён на +79012345678, добавлены переносы):

Кодировка
и
режим

Запрос

Ответ

PDU AT+CMGR=2 +CMGR: 1,»»,38
07919720780110F0000B919710325476F800003190121
175644215D4F29C0E9AB7E72E50985DC6B7CAF8B24B5E07

OK

AT+CMGR=3 +CMGR: 1,»»,59
07919720780110F0000B919710325476F800083190122
185134228005400650073007400200073006D00730020
0032002E0020042204350441044200200441043C0441

OK

GSM AT+CMGR=2 +CMGR: «REC READ»,»+79012345678″,»»,»13/09/21,11:57:46+24″
Test sms text

OK

AT+CMGR=3 AT+CMGR=3
+CMGR: «REC READ»,»+79012345678″,»»,»13/09/21,12:58:31+24″
005400650073007400200073006D007300200032
002E0020042204350441044200200441043C0441

OK

AT+CUSD=1,»#100#» OK

+CUSD: 0,»Balance:240,68r «,

UCS2 AT+CMGR=2 +CMGR: «REC READ»,»002B0037003900300031
0032003300340035003600370038″,»»,»13/09/21,11:57:46+24″
005400650073007400200073006D0073002E0020
0061006C00650078002D006500780065002E00720075

OK

AT+CMGR=3 +CMGR: «REC READ»,»002B00370039003000310032
003300340035003600370038″,»»,»13/09/21,12:58:31+24″
005400650073007400200073006D007300200032
002E0020042204350441044200200441043C0441

OK

AT+CUSD=1,»00230031
003000300023″
OK

+CUSD: 0,»00420061006C0061006E00630065003A0032
00340030002C0036003800720020″,64

Текст сообщений выданного на запрос «AT+CMGR=3» — «Test sms 2. Тест смс»

Кратко о UNICODE

В юникоде символы кодируются в шестнадцатиричке записанной в текстовом виде, при этом первые 127 символов просто переводятся в HEX, а вот к кириллице добавляется 350h.

Пример: 1 – 0031, G – 0047, z — 007A, Ы — 042B, я — 044F

Программка для кодировки и раскодировки UNICODE – скачать.

В статье привёл значительную часть основных команд GSM модуля SIM900 из огромного списка поддерживаемых им. Для большинства задач все приведенные команды не будут нужны, а хватит только малой их части. В одной из следующих статьей рассмотрю, как пользоваться GPRS AT-командами и пример его использования на примере простенькой домашней сигнализации. Так же бы было интересно достать и посмотреть прошивку «All-in-One».

Добавлено 8 октября 2019 в 23:08

Хотите ли вы слышать то, что происходит в вашем доме, который находится на расстоянии многих километров от вас, или активировать систему полива в вашем саду просто беззвучным звонком, тогда плата расширения SIM900 GSM/GPRS Shield станет надежной отправной точкой для начала работы с IoT!

Как отправлять/принимать SMS и звонить с платой расширения SIM900 GSM Shield и Arduino

Как отправлять/принимать SMS и звонить с платой расширения SIM900 GSM Shield и Arduino

Плата расширения SIM900 GSM/GPRS Shield – это GSM-модем, который может быть интегрирован в большое количество проектов интернета вещей (IoT). Вы можете использовать эту плату расширения, чтобы выполнять почти все, что может обычный сотовый телефон; текстовые SMS сообщения, совершать или принимать телефонные звонки, выполнять подключение к интернету через GPRS, TCP/IP, и многое другое! В довершение всего, плата расширения поддерживает четырехдиапазонную сеть GSM/GPRS, что означает, что она работает практически в любой точке мира.

Содержание

Обзор аппаратного обеспечения SIM900 GSM/GPRS Shield

Плата расширения SIM900 GSM/GPRS Shield разработана для того, чтобы снабдить чип SIM900 всем необходимым для взаимодействия с Arduino, а также несколькими дополнительными вкусностями, чтобы воспользоваться уникальными функциями чипа.

Давайте познакомимся с особенностями и возможностями этой платы расширения. Вот краткий обзор:

Аппаратное обеспечение SIM900 GSM/GPRS Shield. Вид сверху

Рисунок 1 – Аппаратное обеспечение SIM900 GSM/GPRS Shield. Вид сверху
Аппаратное обеспечение SIM900 GSM/GPRS Shield. Вид снизу
Рисунок 2 – Аппаратное обеспечение SIM900 GSM/GPRS Shield. Вид снизу

Плата расширения SIM900 GSM/GPRS Shield обладает удивительным количеством функций при своих маленьких размерах. Некоторые из них перечислены ниже:

  • Поддержка четырех диапазонов: GSM850, EGSM900, DCS1800 и PCS1900
  • Подключение к любой глобальной сети GSM с любой 2G SIM картой
  • Совершение и прием голосовых звонков, используя внешний наушник и электретный микрофон
  • Отправка и получение SMS сообщений
  • Отправка и получение данных GPRS (TCP/IP, HTTP и т. д.)
  • Сканирование и прием FM радиопрограмм
  • Мощность передачи:
    • Класс 4 (2 Вт) для GSM850
    • Класс 1 (1 Вт) для DCS1800
  • Набор AT команд для управления через последовательный порт
  • Разъемы U.FL и SMA для сотовой антенны
  • Работа с полноразмерной SIM картой

Для получения дополнительной информации о чипе сотовой GSM связи SIM900 смотрите техническое описание:

Светодиодные индикаторы состояния

На плате расширения SIM900 GSM/GPRS Shield есть три светодиода, которые указывают на состояние подключения или питания. Наблюдая за этими светодиодами, вы можете получить визуальную информацию о том, что происходит с платой расширения.

Светодиодные индикаторы на SIM900 GSM/GPRS Shield

Рисунок 3 – Светодиодные индикаторы на SIM900 GSM/GPRS Shield

PWR: этот светодиод подключен к линии питания платы расширения. Если этот светодиод включен, плата расширения получает питание.

Status: этот индикатор показывает рабочее состояние SIM900. Если этот светодиод включен, микросхема находится в рабочем режиме.

Netlight: этот индикатор показывает состояние подключения к сотовой сети. Он будет мигать с разной скоростью, чтобы показать, в каком оно состоянии.

  • выкл.: чип SIM900 не работает;
  • вкл. 64 мс, выкл. 800 мс: чип SIM900 работает, но еще не зарегистрирован в сотовой сети;
  • вкл. 64 мс, выкл. 3 с: чип SIM900 зарегистрирован в сотовой сети и может отправлять/получать SMS сообщения и звонки.
  • вкл. 64 мс, выкл. 300 мс: соединение для передачи данных через GPRS, которое вы запросили, активно.

Питание для SIM900 GSM/GPRS Shield

Одной из наиболее важных частей работы платы расширения SIM900 GSM/GPRS Shield является обеспечение её достаточным питанием.

В зависимости от того, в каком состоянии он находится, SIM900 может быть относительно энергоемким устройством. Максимальный ток потребления чипа составляет около 2А во время передачи. Обычно он не требует так много, но может потребовать около 216 мА во время телефонных звонков или 80 мА во время передачи по сети. Следующая таблица описывает, что вы можете ожидать:

Потребление тока чипом SIM900 в различных состояниях

Режим Частота Потребляемый ток
Выключен   60 мкА
Спящий режим   1 мА
Режим ожидания   18 мА
Звонок GSM850 199 мА
EGSM900 216 мА
DCS1800 146 мА
PCS1900 131 мА
GPRS   453 мА
Старт передачи   2 А

Рабочее напряжение чипа SIM900 составляет от 3,4 до 4,4 В. Чтобы обеспечить безопасное напряжение питания при 4,1 В, плата расширения поставляется с мощным, высокоточным стабилизатором напряжения MIC29302WU с малым падением напряжения от Micrel, способным выдерживать токи нагрузки до 3 А.

Разъем питания постоянным напряжением, переключатель выбора источника питания и MIC29302 на SIM900 GSM Shield

Рисунок 4 – Разъем питания постоянным напряжением, переключатель выбора источника питания и MIC29302 на SIM900 GSM Shield

Вы можете подключить к плате расширения внешний источник питания с помощью разъема 5,5 мм, к которому можно подключить любой адаптер постоянного напряжения 5–9 В. Рядом с разъемом питания находится ползунковый переключатель для выбора источника питания с надписью EXTERN. Чтобы использовать внешний источник питания, переместите ползунок, как показано выше.

ВНИМАНИЕ

Источник питания должен обеспечивать минимальный пиковый ток 2 А, в противном случае микросхема будет продолжать отключаться.

Связь через UART

Плата расширения SIM900 GSM/GPRS Shield для связи с Arduino использует интерфейс UART. Чип поддерживает скорость передачи от 1200 бит/с до 115200 бит/с с автоматическим определением скорости.

Перемычка выбора UART на SIM900 GSM Shield

Рисунок 5 – Перемычки выбора UART на SIM900 GSM Shield

С помощью перемычек вы можете подключить (RX, TX) платы расширения к программному последовательному порту (D8, D7) или аппаратному последовательному порту (D1, D0) Arduino.

Установка перемычек выбора UART на SIM900 GSM Shield

Рисунок 6 – Установка перемычек выбора UART на SIM900 GSM Shield

Динамик и микрофон

Плата расширения поставляется с двумя стандартными разъемами 3,5 мм. Один для стереонаушников, и другой для монофонического микрофона. Плата позволяет использовать аудиоинтерфейс SIM900 для совершения и приема голосовых вызовов и прослушивания FM радио.

Динамик и микрофон на SIM900 GSM Shield

Рисунок 7 – Разъемы динамика и микрофона на SIM900 GSM Shield

Mic: к этому разъему можно подключить внешний электретный микрофон.

Earphone: к этому разъему можно подключить наушники. Все наушники, совместимые с «iPhone» или «Android» телефонами, должны работать.

Антенна

Антенна необходима для использования SIM900 для любого типа передачи голоса или данных, а также для некоторых команд SIM.

Антенный SMA и U.FL. разъем на SIM900 GSM Shield

Рисунок 8 – Антенные SMA и U.FL. разъемы на SIM900 GSM Shield

Плата расширения имеет два интерфейса для подключения антенны, а именно, разъем U.FL и разъем SMA. Они соединены через патч-корд.

Плата расширения обычно поставляется с GSM-антенной 3 дБи, что позволяет установить плату расширения внутри металлического корпуса (если антенна находится снаружи).

Разъем для SIM карты

На нижней стороне платы находится гнездо для SIM карты. Любая активированная полноразмерная 2G SIM карта будет работать отлично.

Держатель SIM карты на SIM900 GSM Shield

Рисунок 9 – Держатель SIM карты на SIM900 GSM Shield

Работа с держателем для SIM карты может потребовать некоторого привыкания. Чтобы разблокировать защелку, нажмите на верхнюю часть сборки, а затем поднимите её. Поместите SIM-карту в нижнюю часть держателя. Затем положите руку обратно в корпус держателя и осторожно протолкните его вперед в положение блокировки.

RTC (часы реального времени)

Плата расширения SIM900 GSM/GPRS Shield может быть настроена на сохранение времени. Таким образом, нет необходимости в отдельном RTC. Она сохранит время даже при выключенном питании.

Рисунок 10 Держатель батареи CR1220 RTC на SIM900 GSM Shield

Рисунок 10 – Держатель батареи CR1220 RTC на SIM900 GSM Shield

Если вы хотите использовать внутренний RTC, вам необходимо установить батарею CR1220 на задней стороне платы.

ПРИМЕЧАНИЕ

Ваш оператор сети может не поддерживать установку времени автоматически. В этом случае вы можете сделать это вручную, используя AT команду AT+CCLK.

Подключение платы расширения SIM900 GSM/GPRS Shield к Arduino UNO

Теперь, когда мы знаем всё о плате расширения, мы можем подключить её к нашей плате Arduino!

Для начала подключите контакты D7 (Tx) и D8 (Rx) на плате расширения к цифровым выводам 7 и 8 на Arduino. Поскольку для связи с платой расширения мы будем использовать программный последовательный порт, убедитесь, что перемычки установлены на выбор программного последовательного порта.

Подключение платы расширения SIM900 GSM/GPRS Shield к Arduino UNO

Рисунок 11 – Подключение платы расширения SIM900 GSM/GPRS Shield к Arduino UNO

Подключите плату расширения к внешнему источнику питания 5В 2A. Не поддавайтесь искушению подключить ее к источнику питания 5В на Arduino, так как плата расширения может не работать из-за недостатка тока источника питания. Также убедитесь, что вы выбрали внешний источник питания с помощью ползункового переключателя рядом с разъемом питания.

Теперь подключите все земли в схеме.

Наконец, подключите антенну, вставьте полностью активированную SIM карту в держатель.

Подключение платы расширения SIM900 GSM/GPRS Shield к компьютеру

Чтобы управлять платой расширения SIM900 GSM/GPRS Shield напрямую через компьютер, вам необходимо подключить её к ПК с помощью любого преобразователя USB в TTL.

На рисунке ниже показано, как SIM900 GSM Shield подключен к компьютеру через PL2303 конвертер USB в TTL.

Подключение SIM900 GSM Shield к ПК через преобразователь PL2303 USB-TTL

Рисунок 12 – Подключение SIM900 GSM Shield к ПК через преобразователь PL2303 USB↔TTL

Включение/выключение чипа SIM900

Даже если вы включите плату расширения, вам нужно еще включить чип SIM900, чтобы он заработал.

В соответствии с техническим описанием, установив на выводе PWRKEY чипа низкий логический уровень (лог. 0) в течение как минимум 1 секунды, можно включить/выключить чип. У нашей платы расширения есть два способа сделать это.

Аппаратный запуск

Кнопка включения/выключения чипа SIM900

Рисунок 13 – Кнопка включения/выключения чипа SIM900

Плата расширения снабжена тактильной кнопкой, расположенной под прямым углом рядом со светодиодным индикатором PWR. Вам нужно нажать и удерживать эту кнопку в течение примерно 2 секунд, чтобы включить или выключить плату расширения.

Программный запуск

Вместо того, чтобы каждый раз вручную нажимать PWRKEY, вы можете программно включать/выключать SIM900.

Во-первых, вам нужно запаять SMD перемычку, обозначенную как R13 на плате расширения, как показано на рисунке ниже.

Запаиваемая перемычка R13 на SIM900 GSM Shield для программного управления

Рисунок 14 – Запаиваемая перемычка R13 на SIM900 GSM Shield для программного управления

Затем вам нужно подключить вывод D9 на плате расширения к выводу D9 на Arduino.

Подключение SIM900 GSM Shield к Arduino для программного управления

Рисунок 15 – Подключение SIM900 GSM Shield к Arduino для программного управления

Наконец, вам нужно добавить следующую функцию в вашу программу.

void SIM900power()
{
  pinMode(9, OUTPUT);
  digitalWrite(9,LOW);
  delay(1000);
  digitalWrite(9,HIGH);
  delay(2000);
  digitalWrite(9,LOW);
  delay(3000);
}

Код Arduino – тестирование AT команд

Для отправки AT команд и взаимодействия с платой расширения SIM900 мы будем использовать монитор последовательного порта. Приведенный ниже скетч позволит Arduino связываться с платой расширения SIM900 в мониторе последовательного порта. Прежде чем приступить к подробному разбору кода, подключите Arduino к компьютеру, скомпилируйте приведенный ниже код и загрузите его в Arduino.

Открыв монитор последовательного порта, убедитесь, что выбрана опция «NL & CR»!

#include <SoftwareSerial.h>

// Создать объект программного последовательного порта для связи с SIM900
// Tx и Rx SIM900 подключены к выводам 7 и 8 Arduino
SoftwareSerial mySerial(7, 8);

void setup()
{
  // Начать последовательную связь Arduino и Arduino IDE (монитор последовательного порта)
  Serial.begin(9600);
  
  // Начать последовательную связь Arduino и SIM900
  mySerial.begin(9600);

  Serial.println("Initializing...");
  delay(1000);

  // Рукопожатие с SIM900
  mySerial.println("AT");
  updateSerial();
  // Тест качества сигнала, диапазон значений 0-31, 31 - лучший
  mySerial.println("AT+CSQ");
  updateSerial();
  // Прочитать информацию о SIM карте, чтобы убедиться, что SIM карта подключена
  mySerial.println("AT+CCID");
  updateSerial();
  // Проверяем, зарегистрирован ли модуль в сети
  mySerial.println("AT+CREG?");
  updateSerial();
}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    // Пересылка того, что было получено с аппаратного последовательного порта, 
    // на программный последовательный порт
    mySerial.write(Serial.read());
  }
  while(mySerial.available()) 
  {
    // Пересылка того, что было получено с программного последовательного порта, 
    // на аппаратный последовательный порт
    Serial.write(mySerial.read());
  }
}

Скетч начинается с включения библиотеки SoftwareSerial.h и ее инициализации выводами Arduino, к которым подключены Tx и Rx платы расширения SIM900.

#include <SoftwareSerial.h>

// Создать объект программного последовательного порта для связи с SIM900
// Tx и Rx SIM900 подключены к выводам 7 и 8 Arduino
SoftwareSerial mySerial(7, 8);

В функции setup() мы инициализируем последовательные каналы связи между Arduino и Arduino IDE, Arduino и платой расширения SIM900 со скоростью передачи 9600 бод.

// Начать последовательную связь Arduino и Arduino IDE (монитор последовательного порта)
Serial.begin(9600);
  
// Начать последовательную связь Arduino и SIM900
mySerial.begin(9600);

Теперь, когда мы установили базовое соединение, мы попытаемся установить связь с платой расширения SIM900, отправляя AT команды.

AT – это самая базовая AT команда. Она также инициализирует автоматическое определение скорости. Если всё работает, вы должны увидеть эхо символов AT, а затем ОК, сообщающее, что все в порядке, и модуль вас правильно понимает! Затем вы можете отправить несколько команд для запроса и получения информации о плате расширения, таких как:

AT+CSQ – проверить «уровень сигнала» — первое число – это уровень в дБ, он должен быть выше 5. Чем выше, тем лучше. Конечно, это зависит от вашей антенны и местоположения!

AT+CCID – получить номер SIM-карты – она проверяет, что SIM карта найдена, и вы можете сверить номер, записанный на карте.

AT+CREG? – убедиться, что вы зарегистрированы в сети. Второе число должно быть 1 или 5. 1 означает, что вы зарегистрированы в домашней сети, а 5 – в роуминге. Другие цифры, отличающиеся этих двух, означают, что вы не зарегистрированы ни в одной сети.

// Рукопожатие с SIM900
mySerial.println("AT");
updateSerial();
// Тест качества сигнала, диапазон значений 0-31, 31 - лучший
mySerial.println("AT+CSQ");
updateSerial();
// Прочитать информацию о SIM карте, чтобы убедиться, что SIM карта подключена
mySerial.println("AT+CCID");
updateSerial();
// Проверяем, зарегистрирован ли модуль в сети
mySerial.println("AT+CREG?");
updateSerial();

В основном цикле программы мы вызываем пользовательскую функцию updateSerial(), которая непрерывно ожидает любые входные данные от последовательного монитора и отправляет их на плату расширения SIM900 через вывод D8 (Rx платы расширения). Она также постоянно читает вывод D7 (Tx платы расширения) на случай, если плата расширения выдает какие-либо отклики.

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    // Пересылка того, что было получено с аппаратного последовательного порта, 
    // на программный последовательный порт
    mySerial.write(Serial.read());
  }
  while(mySerial.available()) 
  {
    // Пересылка того, что было получено с программного последовательного порта, 
    // на аппаратный последовательный порт
    Serial.write(mySerial.read());
  }
}

В мониторе последовательного порта вы должны увидеть вывод, примерно такой как показан ниже.

Базовые AT команды SIM900 GSM Shield на Arduino

Рисунок 16 – Базовые AT команды SIM900 GSM Shield на Arduino

Теперь вы можете свободно отправлять любые команды через монитор последовательного порта, например, те, которые показаны ниже, и которые дает дополнительную информацию о подключении к сети и состоянии аккумулятора:

ATI – получить имя и версию платы расширения

AT+COPS? – проверить, что вы подключены к сети

AT+COPS=? – вернуть список операторов, присутствующих в сети

AT+CBC – вернуть состояние литий-полимерного аккумулятора. Второе число является процентом от полного заряда (в данном случае это 93%), а третье число является фактическим напряжением в мВ (в данном случае 3,877 В)

Получение дополнительной информации от SIM900 GSM Shield с помощью AT команд на Arduino

Рисунок 17 – Получение дополнительной информации от SIM900 GSM Shield с помощью AT команд на Arduino

Для получения дополнительной информации о AT командах SIM900 смотрите документ ниже.

Код Arduino – отправка SMS

Давайте перейдем к более интересным вещам. Запрограммируем нашу Arduino для отправки SMS на любой телефонный номер, который вы пожелаете. Прежде чем попробовать скетч, вам нужно ввести номер телефона. Найдите строку ZZxxxxxxxxxx и замените ZZ кодом страны, а xxxxxxxxxx – 10-значным номером телефона.

#include <SoftwareSerial.h>

// Создать объект программного последовательного порта для связи с SIM900
// Tx и Rx SIM900 подключены к выводам 7 и 8 Arduino
SoftwareSerial mySerial(7, 8);

void setup()
{
  // Начать последовательную связь Arduino и Arduino IDE (монитор последовательного порта)
  Serial.begin(9600);
  
  // Начать последовательную связь Arduino и SIM900
  mySerial.begin(9600);

  Serial.println("Initializing...");
  delay(1000);

  // Рукопожатие с SIM900
  mySerial.println("AT");
  updateSerial();
  // Настройка текствого режима
  mySerial.println("AT+CMGF=1");
  updateSerial();
  // замените ZZ кодом страны, а xxxxxxxxxxx номером телефона для отправки sms
  mySerial.println("AT+CMGS="+ZZxxxxxxxxxx"");
  updateSerial();
  // текстовый контент
  mySerial.print("Last Minute Engineers | lastminuteengineers.com");
  updateSerial();
  mySerial.write(26);
}

void loop()
{
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    // Пересылка того, что было получено с аппаратного последовательного порта, 
    // на программный последовательный порт
    mySerial.write(Serial.read());
  }
  while(mySerial.available()) 
  {
    // Пересылка того, что было получено с программного последовательного порта, 
    // на аппаратный последовательный порт
    Serial.write(mySerial.read());
  }
}

Скетч почти такой же, как и предыдущий, за исключением фрагмента кода, приведенного ниже. Как только соединение установлено, мы отправляем показанные ниже AT команды:

AT+CMGF=1 – выбирает формат SMS сообщения в виде текста. По умолчанию используется формат PDU (Protocol Data Unit).

AT+CMGS=+ZZxxxxxxxxxx – отправляет SMS на указанный номер телефона. Введенное текстовое сообщение, за которым следует символ Ctrl + z, рассматривается как SMS. Ctrl + z на самом деле является 26-м непечатным символом, описанным как «заменитель» в таблице ASCII. Итак, нам нужно отправить 26dec (1Ahex) сразу после отправим текста сообщения.

// Настройка текствого режима
mySerial.println("AT+CMGF=1");
updateSerial();
// замените ZZ кодом страны, а xxxxxxxxxxx номером телефона для отправки sms
mySerial.println("AT+CMGS="+ZZxxxxxxxxxx"");
updateSerial();
// текстовый контент
mySerial.print("Last Minute Engineers | lastminuteengineers.com");
updateSerial();
mySerial.write(26);

Основной цикл программы остается пустым, так как мы хотим отправить SMS только один раз. Если вы хотите отправить SMS еще раз, просто нажмите клавишу RESET на вашей Arduino. На скриншоте ниже показано SMS сообщение, отправленное с платы расширения SIM900 GSM/GPRS Shield.

AT команды SIM900 GSM Shield для отправки SMS на Arduino

Рисунок 18 – AT команды SIM900 GSM Shield для отправки SMS на Arduino
Отправка SMS через SIM900 GSM Shield
Рисунок 19 – Отправка SMS через SIM900 GSM Shield

Код Arduino – чтение SMS

Теперь давайте запрограммируем нашу Arduino для чтения входящих сообщений. Этот скетч очень полезен, когда вам нужно инициировать действие при получении определенного SMS сообщения. Например, когда Arduino получает SMS, вы можете дать ей команду включить или выключить реле. Вы поняли идею!

#include <SoftwareSerial.h>

// Создать объект программного последовательного порта для связи с SIM900
// Tx и Rx SIM900 подключены к выводам 7 и 8 Arduino
SoftwareSerial mySerial(7, 8);

void setup()
{
  // Начать последовательную связь Arduino и Arduino IDE (монитор последовательного порта)
  Serial.begin(9600);
  
  // Начать последовательную связь Arduino и SIM900
  mySerial.begin(9600);

  Serial.println("Initializing...");
  delay(1000);

  // Рукопожатие с SIM900
  mySerial.println("AT");
  updateSerial();
  // Настройка текствого режима
  mySerial.println("AT+CMGF=1");
  updateSerial();
  // Решает, как следует обрабатывать новые входящие SMS сообщения
  mySerial.println("AT+CNMI=1,2,0,0,0");
  updateSerial();
}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    // Пересылка того, что было получено с аппаратного последовательного порта, 
    // на программный последовательный порт
    mySerial.write(Serial.read());
  }
  while(mySerial.available()) 
  {
    // Пересылка того, что было получено с программного последовательного порта, 
    // на аппаратный последовательный порт
    Serial.write(mySerial.read());
  }
}

Данный скетч аналогичен предыдущему, за исключением приведенного ниже фрагмента кода. Как только соединение установлено, мы отправляем следующие AT команды:

AT+CMGF=1 – выбирает формат SMS сообщения в виде текста. По умолчанию используется формат PDU (Protocol Data Unit).

AT+CNMI=1,2,0,0,0 – указывает, как должны обрабатываться новые входящие SMS сообщения. Таким образом, вы можете указать плате расширения SIM900 либо пересылать новые входящие SMS сообщения непосредственно на компьютер, либо сохранять их в хранилище сообщений, а затем уведомлять компьютер об их расположении в хранилище сообщений.

Отклик на получение сообщения начинается с +CMT: все поля в ответе разделены запятыми. Первое поле является номером телефона. Второе поле – имя человека, отправившего SMS. Третье поле – это временная метка, а четвертое поле – само сообщение.

// Настройка текствого режима
mySerial.println("AT+CMGF=1");
updateSerial();
// Решает, как следует обрабатывать новые входящие SMS сообщения
mySerial.println("AT+CNMI=1,2,0,0,0");
updateSerial();

Обратите внимание, что на этот раз мы НЕ оставили функцию loop() пустой, так как запрашиваем новые входящие SMS сообщения. Как только вы отправите SMS на плату расширения SIM900 GSM/GPRS Shield, вы увидите следующий вывод на мониторе последовательного порта.

Чтение SMS через SIM900 GSM Shield

Рисунок 20 – Чтение SMS через SIM900 GSM Shield
AT команды SIM900 GSM Shield для чтения SMS на Arduino
Рисунок 21 – AT команды SIM900 GSM Shield для чтения SMS на Arduino

Расширение размера буфера SoftwareSerial на Arduino

Если ваше сообщение достаточно длинное, как и наше, вы, вероятно, получите его с пропущенными символами. Это не из-за неисправного кода. Ваш буфер приема SoftwareSerial заполняется и отбрасывает символы. А вы не читаете из буфера достаточно быстро.

Самое простое решение – увеличить размер буфера SoftwareSerial со стандартного размера с 64 до 256 байт (или меньше, в зависимости от того, что у вас заработает).

На компьютере с Windows перейдите в C:Program Files (x86) → Arduino → hardware → Arduino → avr → libraries → SoftwareSerial (→ src для более новой версии Arduino IDE). Откройте SoftwareSerial.h и измените строку:

// RX buffer size
#define _SS_MAX_RX_BUFF 64

на

// RX buffer size
#define _SS_MAX_RX_BUFF 256

Сохраните файл и попробуйте скомпилировать скетч еще раз.

Расширение размера буфера SoftwareSerial на Arduino

Рисунок 22 – Расширение размера буфера SoftwareSerial на Arduino

Код Arduino – выполнение звонка

Теперь давайте запрограммируем нашу Arduino на выполнение вызова. Этот скетч очень полезен, если вы хотите, чтобы ваша Arduino совершила аварийный вызов (SOS) в случае чрезвычайной ситуации, например, при превышении температуры или при проникновении кого-либо в ваш дом. Вы поняли идею!

Прежде чем попробовать скетч, вам нужно ввести номер телефона. Найдите строку ZZxxxxxxxxxx и замените ZZ кодом страны, а xxxxxxxxxx – 10-значным номером телефона.

#include <SoftwareSerial.h>

// Создать объект программного последовательного порта для связи с SIM900
// Tx и Rx SIM900 подключены к выводам 7 и 8 Arduino
SoftwareSerial mySerial(7, 8);

void setup()
{
  // Начать последовательную связь Arduino и Arduino IDE (монитор последовательного порта)
  Serial.begin(9600);
  
  // Начать последовательную связь Arduino и SIM900
  mySerial.begin(9600);

  Serial.println("Initializing...");
  delay(1000);

  // Рукопожатие с SIM900
  mySerial.println("AT");
  updateSerial();
  
  // замените ZZ кодом страны, а xxxxxxxxxxx номером телефона для звонка
  mySerial.println("ATD+ +ZZxxxxxxxxxx;");
  updateSerial();
  delay(20000); // ждать 20 секунд...
  mySerial.println("ATH"); // повесить трубку
  updateSerial();
}

void loop()
{
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    // Пересылка того, что было получено с аппаратного последовательного порта, 
    // на программный последовательный порт
    mySerial.write(Serial.read());
  }
  while(mySerial.available()) 
  {
    // Пересылка того, что было получено с программного последовательного порта, 
    // на аппаратный последовательный порт
    Serial.write(mySerial.read());
  }
}

Для осуществления вызова используются следующие AT команды:

ATD+ +ZZxxxxxxxxxx; — набрать указанный номер. Модификатор точка с запятой ; в конце разделяет строку набора на несколько команд набора. Все, кроме последней команды, должны заканчиваться модификатором точка с запятой ;.

ATH – повесить трубку

// замените ZZ кодом страны, а xxxxxxxxxxx номером телефона для звонка
mySerial.println("ATD+ +ZZxxxxxxxxxx;");
updateSerial();
delay(20000); // ждать 20 секунд...
mySerial.println("ATH"); // повесить трубку
updateSerial();

На скриншоте ниже показан звонок с платы расширения SIM900 GSM/GPRS Shield.

Рисунок 23 AT команды SIM900 GSM Shield для звонка на Arduino

Рисунок 23 – AT команды SIM900 GSM Shield для звонка на Arduino
Рисунок 24 Прием звонка от SIM900 GSM Shield
Рисунок 24 – Прием звонка от SIM900 GSM Shield

Код Arduino – прием вызова

Прием звонка не требует специального кода; вы просто должны продолжать слушать плату расширения SIM900. Тем не менее, вы можете найти этот скетч очень полезным, когда вам нужно инициировать действие при получении звонка с определенного номера телефона.

#include <SoftwareSerial.h>

// Создать объект программного последовательного порта для связи с SIM900
// Tx и Rx SIM900 подключены к выводам 7 и 8 Arduino
SoftwareSerial mySerial(7, 8);

void setup()
{
  // Начать последовательную связь Arduino и Arduino IDE (монитор последовательного порта)
  Serial.begin(9600);
  
  // Начать последовательную связь Arduino и SIM900
  mySerial.begin(9600);

  Serial.println("Initializing..."); 
}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    // Пересылка того, что было получено с аппаратного последовательного порта, 
    // на программный последовательный порт
    mySerial.write(Serial.read());
  }
  while(mySerial.available()) 
  {
    // Пересылка того, что было получено с программного последовательного порта, 
    // на аппаратный последовательный порт
    Serial.write(mySerial.read());
  }
}

Входящий вызов обычно обозначается как «RING» в мониторе последовательного порта, за которым следуют номер телефона и идентификатор звонящего. Чтобы принять или сбросить вызов, используются следующие AT команды:

ATA – принимает входящий звонок.

ATH – сбрасывает звонок. При прекращении вызова в монитор последовательного порта отправляется сообщение NO CARRIER, указывающее, что вызов не может соединиться.

Ниже приведен вывод в мониторе последовательного порта, показывающий вызов, полученный платой расширения SIM900 GSM/GPRS Shield.

Рисунок 25 Звонок на SIM900 GSM Shield

Рисунок 25 – Звонок на SIM900 GSM Shield
Рисунок 26 AT команды SIM900 GSM Shield для приема вызова на Arduino
Рисунок 26 – AT команды SIM900 GSM Shield для приема вызова на Arduino

Теги

ArduinoArduino ShieldGSM модульMCUSIM900SIMcomМикроконтроллерПлата расширения

Ключевые точки использования: Что такое протокол связи? Передача через последовательный порт UART, стандартные AT-команды для управления модулем, скорость передачи данных выбирается по умолчанию 115200
 

Я не знаю, почему это не работает, если я использую другой USB для последовательного порта, только ft232bl может использовать отладку последовательного порта.

Источник питания 5 В, компьютерный USB-источник питания может удовлетворить требования на начальном этапе отладки компьютера. Модуль имеет большую емкость 1000 мкФ. Для долгосрочной передачи данных требуется более 1 А постоянного тока, а последовательный порт уровня TTL адаптивно совместим с однокристальными микрокомпьютерами 3,3 В и 5 В.

Доступны следующие процедуры обработки данных

1 Отправьте текстовое сообщение на китайском языке
2 Отправьте текстовое сообщение на английском языке
3 наберите указанный номер и автоматически положите трубку через 1 минуту.
4 При получении указанного текстового сообщения включите и выключите индикатор.
5 Проверьте, зарегистрирован ли модуль в сети, прочитана ли SIM-карта, и отправьте сообщение с подсказкой.
6 Через GPRS подключитесь к указанному серверу и отправьте указанные данные.

 

Описание:

Его можно напрямую подключить к микроконтроллеру. Режим ожидания составляет около 80 мА, а состояние сна может быть установлено около 10 мА для низкого энергопотребления. И USB-232, и USB-TTL могут использоваться для отладки компьютера, в зависимости от аксессуаров каждого человека. Поддержка SMS, данных, MMS, Интернета и т. Д. Штырь сброса выведен наружу, чтобы осуществить автоматический удаленный сброс на месте, с функцией DTMF для реализации функции дистанционного управления. Самым большим преимуществом модуля является то, что он сохраняет 232 порта и может контролировать выполнение 51 низкопроизводительного однокристального микрокомпьютера и инструкций модуля во время обучения или разработки, что может быстрее выявить причину и сэкономить время на разработку и обучение. [ Поддержка карты мобильного телефона 2,3,4G].

Преимущества модуля:

Схема последовательного порта: TVS и устройства защиты от магнитных шариков используются для защиты платы, так что плата не будет повреждена скачками и высокими напряжениями.

Схема SIM-карты: Добавьте чип электростатического разряда SMF05C.

Схема антенны: Сделайте ее короткой и прямой, чтобы обеспечить мощность сигнала.

Дисплей печатной платы: каждый интерфейс отмечен шелкографией, что удобно для вторичной разработки, а дизайн полностью соответствует руководству по проектированию аппаратного обеспечения SIM900A.

Один интерфейс источника питания 5 В: защищен, он не сожжет плату, даже если соединение будет обратным. USB-источника питания компьютера достаточно для начальной отладки компьютера; для долгосрочной передачи данных требуется большое количество электроэнергии, и мы рекомендуем постоянный ток выше 1А.

Один интерфейс TTL: поддерживает однокристальный микрокомпьютер 3,3 В и однокристальный микрокомпьютер 5 В. Другими словами, он поддерживает 51 тип однокристальных микрокомпьютеров на 5 В и однокристальных микрокомпьютеров STM32.

Два антенных интерфейса: антенный интерфейс SMA, антенный интерфейс IPX MINI (по умолчанию без сварки).

Один интерфейс уровня 232: то есть вы можете напрямую подключить модуль к компьютеру через последовательную линию 232 — USB. Его также можно подключить к компьютеру через USB-TTL, в зависимости от личных аксессуаров.

Изображение модуля

USB для последовательного подключения 900a

Подключитесь к последовательному порту

Кроме того, необходимо подать питание на модуль SIM900A.

USB-TTL необходимо подключить к двум контактам в середине последовательного порта TTL модуля, один — 5VTXD и RXD, а затем к общему заземлению. На плате есть отметка, пожалуйста, не подключайте неправильный провод. .

Второй тип: подключите модуль к компьютеру через последовательный кабель USB-232, а затем подключите к источнику питания 5 В. Причина, по которой наш модуль SIM900A сохраняет интерфейс 232 во время проектирования, заключается в том, что 51 и другие микроконтроллеры низкого уровня не может реализовать симуляцию, поэтому вы не можете знать статус выполнения каждой инструкции, отправленной MCU на модуль SIM900A. Но здесь эта проблема решена очень хорошо. Подключив интерфейс 232 модуля SIM900A к компьютеру, вы можете легко контролировать выполнение каждой инструкции. Это особенно полезно в реальной разработке, и здесь много проблем. 232.

1 Введение в AT-команды

Пользователи могут управлять звонками, текстовыми сообщениями, телефонными книгами, услугами передачи данных, факсами и т. Д. С помощью AT-команд.

AT означает «Внимание», а набор команд поступает от оконечного оборудования (ATTE) или оконечного оборудования данных.
 (DataTerminalEquipment, DTE) к оконечному адаптеру (TerminalAdapter, TA) или оконечному оборудованию цепи передачи данных
 (DataCircuitTerminalEquipment, DCE) отправлено. Через TA, TE отправляет AT-команды для управления мобильной станцией.
 (MobileStation, MS) функционирует для взаимодействия с услугами сети GSM.

Команды AT должны начинаться с «AT» или «at» (первая команда, отправляемая модулю, должна начинаться с заглавной буквы) и заканчиваться возвратом каретки (<CR>). Ответ модуля обычно сопровождается форматом: <возврат каретки> <перевод строки> <содержимое ответа> <возврат каретки> <перевод строки>.

Давайте протестируем его с помощью помощника по отладке последовательного порта, откройте: выберите правильный номер COM; затем установите скорость передачи на 115200, отметьте Отправить новую строку (обязательно! То есть sscom автоматически добавит функцию возврата каретки и перевода строки) и затем отправьте AT на модуль SIM900A,

Общие AT-команды

<AT>

Вы готовы

<AT+CPIN>

Есть ли симка

<AT+CSQ >

Сила сигнала

<AT+COPS?>

Команда используется для запроса текущего оператора, только после подключения к сети он вернется к оператору

<AT+CNUM>

Запросите номер телефона, а некоторые не поддерживают эту команду

<ATD>

Используется для набора любого телефонного номера, например: <ATD10086;> <& ATD18XXXXXX65;>

RING

Эта строка будет отправлена, когда модуль получит вызов

<ATA>

Вы можете ответить на звонок.

<ATH>

Он используется для завершения разговора.Если вы хотите завершить текущий разговор, вам нужно только отправить: ATH на модуль, чтобы повесить трубку. К

AT+COLP

Используется для установки отображения вызываемого номера. Здесь мы отправляем: <AT + COLP = 1>, чтобы включить отображение вызываемого номера. Когда вызов успешно набран (вызываемый номер отвечает на вызов), модуль вернет вызываемый номер. + COLP: «18XXXXXXX65», 129, «», «»

*************************************************************************

Прочтите СМС:

1. Отправить: <AT + CMGF = 1> установлен в текстовый режим.
2. Отправить: <AT + CSCS = «GSM»> установить набор символов GSM.
3. Отправить: <AT + CNMI = 2,1> установить напоминание о новом сообщении
4. Используйте другой мобильный телефон, чтобы отправить строку модулю. После того, как модуль получит SMS, он выдаст запрос типа: + CMTI: «SM», 16, указывая, что новое SMS был получен, хранится в позиции 16 SIM-карты.
5. Отправьте: <AT + CMGR = 16>, чтобы прочитать короткое сообщение.

Удалить SMS, например, отправить: <AT + CMGD = 1> удалить все SMS-команды.

отправлять сообщения

Отправить: <AT + CSCS = «GSM»> Сначала установите: набор символов «GSM»,
Отправить: <AT + CMGF = 1> Установить текстовый режим
Отправить: AT + CMGS = «151XXXX672»,
Модуль возвращает: <>>,
Введите то, что необходимо отправить: <SIM900A TEST>,

(HEX) формат для отдельной отправки: <0X1A> (т.е. 0X1A)

После отправки содержимого, наконец, отправьте его отдельно в шестнадцатеричном (HEX) формате: <0X1A> (т.е. 0X1A), вы можете начать отправку короткого сообщения. Примечание 1: используется значение ключа 0X1A, «CTRL + Z». Ю рассказывает SIM900A для выполнения операции отправки. Кроме того, вы можете отправить: 0X1B, значение ключа «ESC», используемое для указания SIM900A отменить эту операцию и не отправлять. Подождите некоторое время, после того как SMS-сообщение будет успешно отправлено, модуль вернет подтверждающее сообщение, например: + CMGS: 156, указывающее, что SMS-сообщение было успешно отправлено, где 156 - это счетчик SMS-сообщений внутри модуля.

Общие AT-команды

1、AT+CPIN?

Эта команда используется для запроса состояния SIM-карты, в основном PIN-кода. Если команда возвращает: + CPIN: READY, это означает, что SIM-карта находится в нормальном состоянии. Если она возвращает другие значения, возможно, что там нет SIM-карты.

2,AT+CSQ 

Эта команда используется для запроса качества сигнала и возврата уровня принятого сигнала модулем SIM900A, например, возврат:

+CSQ:30,0,
означает, что уровень сигнала равен 30 (максимальное эффективное значение — 31). Если уровень сигнала слишком низкий, проверьте, правильно ли подключена антенна?
3,AT+COPS?

Эта команда используется для запроса текущего оператора. Команда возвращается оператору только после подключения к сети, в противном случае возвращается пустое значение, например: + COPS: 0,0, «CHINAMOBILE», что означает, что текущий выбранный оператор является China Mobile.

4,AT+CGMI 

Эта команда используется для запроса производителя модуля, если она возвращает: SIMCOM_Ltd, это означает модуль SIM900A.
Да

Производится SIMCOM.
5,AT+CGMM 

Эта команда используется для запроса модели модуля.Если она возвращает: SIMCOM_SIM900A, это означает, что модель модуля — SIM900A.

6,AT+CGSN

Эта команда используется для запроса серийного номера продукта (т.е. номера IMEI), номер IMEI каждого модуля отличается
имеет глобальную уникальность. Если возвращается, он имеет глобальную уникальность. Например, если он возвращает: 8699880XXXXXX, это означает, что серийный номер продукта модуля: 8699880XXXXXX.

7,AT+CNUM

Эта команда используется для запроса номера телефона, который можно запросить только при наличии SIM-карты. Если она возвращает: + CNUM: «», «15902020353», 129,7,4, это означает, что номер телефона 15902020353. Кроме того, не все SIM-карты поддерживают эту команду, а некоторые SIM-карты не могут получить свои номера с помощью этой команды.

8,ATE1

Эта команда используется для установки режима эха (по умолчанию включен), то есть модуль вернет полученную AT-команду в
На стороне отправки включение этой функции полезно для отладки модуля. Если вам не нужно включать эхо-режим, отправьте отправителю и включите эту функцию, что полезно для отладки модуля. Если вам не нужно включать эхо-режим, вы можете выключить его, отправив команду ATE0, чтобы полученная команда больше не возвращалась отправителю, что удобно для программного управления.

Выше представлены несколько часто используемых AT-команд, которые мы представили, конечно, есть и другие часто используемые AT-команды, такие как
ATD / ATA / ATH и т. д. Мы медленно познакомимся с ними в следующих главах. О SIM900A подробное введение в команду AT,
Этот документ представляет собой руководство по командам SIM900A_AT. Если инструкция, отправленная в модуль, выполнена успешно, он вернет соответствующую информацию и
«ОК», если выполнение не удается / инструкция недействительна, возвращается «ОШИБКА».
Кроме того, напомните всем, что все команды должны отправляться в формате символов ASCII, не помещайте их в команды.
Разные китайские символы. В то же время многие команды имеют функции запроса или подсказки. Вы можете запросить текущие настройки с помощью команды + «?»,
Получите подсказку о настройке с помощью инструкции + «=?»

 

2 Набирать номер/ответь на звонок

 

В этом разделе мы расскажем, как использоватьSIM900AМодуль совершает и принимает звонки. В этом разделе инструкции, которые будут использоваться

 

Давайте:ATE1/ATD/ATA/ATH/AT+COLP/AT+CLIP/AT+VTSЖдать7СтатьяATинструкция.

 

ATE1

Он используется для установки эха, то есть модуль полностью вернет полученные инструкции отправляющему устройству, что удобно для отладки. К

ATD

Используется для набора любого телефонного номера в формате:ATD+номер+;, В конце’;«Его необходимо добавить, иначе он не сможет успешно набрать номерНет, например, отправка:Нет, например, отправка:ATD10086;, Вы можете набрать10086

TA

Используется для ответа на звонок, при входящем звонке отправляет на модуль:

ATA

Вы можете ответить на звонок.

ATH

Используется для завершения разговора, если вы хотите завершить текущий разговор, вам нужно только отправить в модуль:ATHПовесить. К

AT+COLP

Используется для установки отображения вызываемого номера, здесь мы отправляем:AT+COLP=1, Включите отображение вызываемого номера, когда вызов будет успешно набран (вызываемый абонент отвечает на вызов), модуль вернет вызываемый номер. К

AT+CLIP

Используется для установки идентификатора вызывающего абонента путем отправки:

AT+CLIP=1

Можно настроить функцию отображения идентификатора вызывающего абонента: когда модуль получает входящий звонок, он возвращает идентификатор вызывающего абонента. К

AT+VTS=*

Генерация сигналов DTMF. Эта команда действительна только во время вызова. Она эффективна при отправке другой стороне. Она используется для отправки сигналов DTMF другой стороне. Например, при наборе номера 10086 для запроса мы можем отправить : AT + VTS = 1, кнопка имитации отправки 1.

Введено несколько для использования в этом разделеATПосле инструкции приступаем к реализации функций этого раздела, но есть предпосылки:
То есть модуль должен быть включен и оператор найден. Отправлено:AT+COPS? Если он вернется:
+COPS:0,0,»CHINAMOBILE», Вы можете приступить к следующему тесту.

Чтение и отправка SMS

В этом разделе мы расскажем, как использовать модуль SIM900A для чтения и отправки SMS. В этом разделе будут использоваться следующие команды: AT + CNMI / AT + CMGF / AT + CSCS / AT + CSMP / AT + CMGR / AT + CMGS / AT + CPMS и другие 7 AT-команд.
AT+CNMI

Используется для установки индикации нового сообщения. Отправить: AT + CNMI = 2,1, установить приглашение нового сообщения, когда новое сообщение получено и SIM-карта не заполнена, модуль SIM900A вернет данные в последовательный порт, например: + CMTI: «SM «, 2, означает получение. При получении нового сообщения оно сохраняется в ячейке 2 SIM-карты; при заполнении сообщения запрос не выводится, и это можно решить, удалив короткое сообщение.

AT+CMGF,

SIM900A, используемый для установки режима коротких сообщений, поддерживает два режима: режим PDU и текстовый (TEXT) режим, отправка:AT + CMGF = 1, можно установить текстовый режим. AT + CSCS, используется для установки набора символов TE, по умолчанию — GSM7.Набор символов, при отправке коротких сообщений на чисто английском языке отправьте: AT + CSCS = «GSM», просто установите его как набор символов по умолчанию. В волосахПри отправке текстовых сообщений на китайском и английском языках необходимо отправить: AT + CSCS = «UCS2», установить 16-битные универсальные 8-байтовые кратные кодированные символы.набор.

 

Чтение текстовых сообщений на английском языке

AT + CMGR, используется для чтения коротких сообщений, таких как отправка:
AT + CMGR = 1, вы можете прочитать SMS, хранящиеся в позиции 1 SIM-карты. К
AT + CMGS, используется для отправки SMS в «GSM»В наборе символов можно отправить до 180 байтов английских символов, а в наборе символов «UCS2» можно отправить до 70 символов.Китайские иероглифы (включая символы / цифры). Подробнее об этой инструкции мы познакомим позже. К
AT + CPMS, используется для запроса / установки предпочтительных сообщенийПамять, отправив: AT + CPMS ?, вы можете запросить, сколько коротких сообщений поддерживает текущая SIM-карта и текущаяСколько хранится коротких сообщений и другой информации. Если он возвращает: + CPMS: руководство пользователя «SM», 1,50, «SM», 1,50, «SM», 1,50, что означает, когдаБывшая SIM-карта может хранить до 50 единиц информации, и уже есть 1 часть сохраненной информации.
Чтение текстовых сообщений на английском языкеВ этом разделе мы воспользуемся другим мобильным телефоном для отправки текстового сообщения на английском языке в модуль SIM900A, а затем прочитаем модуль для получения

 

Это текстовое сообщение на английском языке пришло.

 

1. Отправить: AT + CMGF = 1, установить в текстовый режим.
2. Отправьте: AT + CSCS = «GSM», установите набор символов GSM.
3. Отправить: AT + CNMI = 2,1, установить новое сообщение
4. Мы используем другой мобильный телефон для отправки текстового сообщения на английском языке «SIM900AModule» нашему модулю (если вы не знаете номер модуля, вы можете отправить: AT + CNUM, запросить номер модуля). После того, как модуль получит короткое сообщение, он выдаст запрос, например: + CMTI: «SM», 2, указывая, что новое короткое сообщение было получено и сохранено в ячейке 2 SIM-карты.
5. Отправьте AT + CMGR = 2, чтобы прочитать короткое сообщение.

Примечание: в некоторых случаях модуль получает короткое сообщение, но не отправляет запрос по той причине, что объем памяти модуля ограничен.
Можно продолжать хранить текстовые сообщения. Решение: вы можете удалить некоторые текстовые сообщения,Например, отправьте: AT + CMGD = 1, удалить все SMS
команда.

Отправка текстовых сообщений на английском языке

 

В этом разделе мы будем использовать модуль SIM900A для отправки текстового сообщения на английском языке на указанный номер мобильного телефона. Здесь мы используем

 

Когда для отправки короткого сообщения используется команда AT + CMGS, при отправке короткого сообщения на полностью английском / цифровом языке,Сначала мы устанавливаем его на: набор символов «GSM»(AT + CSCS = «GSM»), текстовый режим (AT + CMGF = 1)Предположим, мы хотим указать номер мобильного телефона :. 15124532672, отправьте короткое сообщение, затем отправьте: AT + CMGS = «15124532672»,Затем модуль возвращается:>, ​​в это время вводим то, что нам нужноОтправлено содержимое: SIM900A TEST, обратите внимание, что вам не нужно отправлять возврат каретки. После отправки контента окончательное число — десять.Отправить отдельно в шестнадцатеричном (HEX) формате: 1A (т.е. 0X1A), вы можете начать отправку короткого сообщения. Примечание 1: 0X1A, «CTRL + Z»Значение ключа используется для указания SIM900A выполнить операцию отправки. Кроме того, вы можете отправить: 0X1B, что является клавишей «ESC».Значение, используемое для указания SIM900A отменить эту операцию и не отправлять. Подождите, после успешной отправки СМС модульВерните подтверждающее сообщение, например: + CMGS: 156, указывающее, что SMS было успешно отправлено, где 156 — это счетчик SMS внутри модуля,

GPRS связь

 

В этом разделе мы расскажем, как использовать модуль SIM900A для связи GPRS, чтобы реализовать передачу данных TCP и UDP между модулем и компьютером.

AT+CGCLASS

Используется для установки категории мобильной станции. SIM900AМодуль поддерживает только категории «B» и «CC», отправьте: AT + CGCLASS = «B», установите категорию мобильной станции на B. То есть пакет поддержки модуляРежимы переключения и переключения цепей, но не могут поддерживаться одновременно.

 AT+CGDCONT

Используется для установки контекста PDP. Отправить:

AT+CGDCONT=1,»IP»,»CMNET»

Установите флаг контекста PDP на 1, используйте Интернет-протокол (IP), а точку доступа — на«CMNET»。

 AT+CGATT

Используется для настройки подключения и отключения услуг GPRS. Отправить: AT + CGATT = 1, подключить услугу GPRSРоман. К

AT+CIPCSGP

Используется для установки режима связи CSD или GPRS. Отправить: AT + CIPCSGP = 1, «CMNET», установить наДля GPRS-соединения точка доступа — «CMNET». К

AT+CLPORT

Используется для установки номера локального порта. Отправить:AT + CLPORT = «TCP», «8888», то есть установить номер локального порта для TCP-соединения на 8888.

AT+CIPSTART

Используется для установления TCP-соединения или регистрации номера порта UDP. Отправить: AT + CIPSTART = «TCP», «180.120.52.222», «8086», модуль установит TCP-соединение, адрес назначения соединения: 180.120.52.222, порт соединения — 8086, соединение успешно, оно вернет: CONNECTOK.

AT+CIPSEND

Используется для отправки данных. После успешного подключения отправьте: AT + CIPSEND, модуль вернет:>, в это времяВы можете ввести данные для отправки, максимум за один раз может составлять 1352 байта.После ввода данных это то же самое, что и отправка короткого сообщения.Введите шестнадцатеричный: 1A (0X1A), начните отправку данных. После завершения передачи данных модуль возвращает: SENDOK, таблицаУказывает, что передача прошла успешно.

AT+CIPSTATUS

Используется для запроса текущего статуса подключения. Отправить: AT + CIPSTATUS, модуль вернет текущий статус подключениягосударственный.

AT+CIPCLOSE

Используется для закрытия TCP / UDP-соединения. Отправьте: AT + CIPCLOSE = 1, чтобы быстро закрыть текущийПредыдущее соединение TCP / UDP.AT + CIPSHUT, используется для закрытия мобильной сцены. Отправить: AT + CIPSHUT, можно закрыть мобильную сцену, закрыть сценуПосле того, как состояние соединения будет: IPINITIAL, его можно запросить, отправив: AT + CIPSTATUS. Кроме того, после того, как соединение установлено, напримерЕсли вы получили: + PDP: DEACT, вы должны отправить: AT + CIPSHUT, вы можете повторно подключиться после закрытия сцены.

Выше приведено краткое введение в некоторые AT-команды, которые мы можем использовать в этом разделе. Необходимо реализовать GPRS между модулем и компьютером.
Для связи вам необходимо убедиться, что используемый вами компьютер имеет IP-адрес общедоступной сети, в противном случае связь будет невозможна.Рекомендуется протестировать в сети ADSL.
И лучше всего отключить брандмауэр / антивирус.
С 1 общедоступным IP-адресом вы можете искать: IP-адрес через Baidu, первая запись — это локальный IP-адрес, как показано на рисунке ниже.
Показать. 

 

Понравилась статья? Поделить с друзьями:
  • Silverstone f1 z550st инструкция по применению
  • Silverstone f1 sochi pro инструкция на русском
  • Silverstone f1 ntk 9000f duo инструкция
  • Silverstone f1 ntk 8000f инструкция
  • Silverstone f1 ntk 351duo инструкция