Gsm module connection to microcontroller. GSM module for remote control. Description of the SIM800L module

SIM900 is a quad-band GSM / GPRS module, part of the SMT (Surface Mount Technology) family of surface mount modules, which allows you to take full advantage of miniature and efficient solutions. Due to its small overall dimensions, the SIM900 is perfect for M2M applications.

Main characteristics of the GSM module SIM900:

  • GSM: 850/900/1800/1900 MHz
  • GPRS multi-slot class 10/8
  • GSM Phase 2/2 + Compliance
    • Power class 4 (2 W at 850/900 MHz)
    • Power class 1 (1 W in the 1800/1900 MHz bands)
  • AT command control (GSM 07.07, 07.05 and proprietary SIMCOM AT commands)
  • Embedded AT - work with user applications *
  • Audio codecs HR, FR, EFR, AMR, echo cancellation
  • CSD up to 14.4kbps
  • PPP stack
  • Built-in TCP / IP, UDP / IP stack
  • MUX (07.10)
  • HTTP and FTP *
  • DTMF Tone Decoding *
  • FOTA *
  • Supply voltage 3.2 ... 4.8 V
  • Operating temperature range: −40 ° C ... +85 ° C
  • Dimensions: 24 * 24 * 3mm
  • Weight: 6.2 g

* - special software version

SIM900 is a new solution from SIMCom, one of the models of a new generation of inexpensive GSM / GPRS modules. SIM900 was developed taking into account the comments of users of previous versions of the modules. The SIM900 developers paid special attention to the issue of increasing the software reliability, added modes of operation with minimum power consumption, and significantly reduced the size of the SIM900.

At the same time, the SIM900 developers have retained the main advantages of the previous versions:

  • budgetary cost;
  • convenient built-in stack with TCP / IP;
  • popular design with end contacts, which makes it possible to use available soldering and mounting technologies for the SIM900.

All this allows using SIM900 in various products, including security systems, personal and car navigators, industrial automation systems and other equipment. It should be noted that the extended functionality of SIM900 available in the ENHANCE firmware is DTMF decoding, creation and sending of emails to eMail using AT commands, execution of commands received via SMS, etc. SIM900 also has firmware with support for Embedded AT technology, which makes it possible to write to memory of the module of the user code in the C language. This allows (in certain cases) to abandon the use of an external microcontroller.


Hello!
There was a task to manage country house, watch the temperature, doors, windows. And then the question arose about the data transmission medium. Well, the wires and the radio channel disappear due to the high cost, FOCL is just a dream, but GSM is what you need. First, the eye fell on the old phones "Motorola", "Nokia", "SonyEricsson". He looked, turned it over and changed his mind. First, I didn't want to get soldered to the contacts of the buttons, and there was no feedback either. Second, to deal with the phone software, well, it's not at all in the cashier. In general, in creative thoughts and floating in the vastness of the world wide web, catching a couple of viruses, a compromise was found. And work with software and without any buttons. All this is offered by the module SIM900D... Than he liked me.
- The first is ease of installation. You will see this later. - The second is communication via UART. (This means MK + SIM900D = normal communication) - The third is the module's power supply from 3 to 4.8 volts. Hosh AVR, Hosh ARM. Taste. Well, the lyrics are enough, it's time to work.
This module looks like this.

About the installation. As you can see, the module is sharpened for surface mounting. The dimensions of the contact pads are large enough even for LUT. Below is a picture of my device.

As you can see, nothing complicated. Now let's talk about the wiring diagram of this miracle. We look at the manual. And we see the pinout.

Yes, there are a lot of things, but we will not use all of them. The first thing we need to do is tie all the "GND" pins. If you look at the top right corner, you will notice three separate pins. Two "GND" and "ANT". These pins are positioned this way for a reason. Let's take a look in the documentation for a picture of the antenna connection.

59 and 61 pins should be as close to the antenna lead as possible. Additional circuits highlighted by a dotted line are needed to connect antennas with a cable. Therefore, I soldered the SMA connector as close as possible to pins 59, 60, 61 and did not bother with the matching circuit, while with the antenna on a 3-meter cable and in the place of very poor reception, I squeezed 13 points out of 31 from the module. in the picture above. More precisely, the legs from it)) The connector itself is on the other side. In this case, contacts 59 and 61, as it were, hug the antenna. Well, something like this. Next, let's talk about the SIM card. To install it, I used this connector (SIM ICA-501-006-01-F7)

The most interesting thing is that I found 3 options for the pinout of SIM cards. Which one to use? I will not introduce intrigues, but for simplicity I am giving the pinout of this connector. View from above.

But that is not all. If you look at the SIM card connection diagram in the manual, you can see there a certain microcircuit called SMF05C... This microcircuit contains as many as 5 protective diodes. Needed to protect the contacts of the SIM card. Of course, you can not put it, but then be careful and do not touch the contacts with your fingers !!! As a sinful person, I cannot vouch for myself, so I soldered the mikruhu. And here is the circuit itself.

It is, of course, given for an 8-pin SIM-card, but for a 6-pin it will be the same. There are really two ambushes with this microcircuit. The first is that where you will find her hell. And the second is that its size ... When I received the order and took it out on the table ... In short, in the second picture above, it is soldered between the SIM card and the battery. For comparison, the resistors are 0805. Well, on the right is the transistor in the SOT-23 package. So well, sort of figured out with the SIM-card, let's move on. And then lighting engineering. Generally speaking, this is not for everybody. Since all these signals can be brought directly into the MK and let him figure it out there himself. I brought them all out of a sense of beauty. So decide for yourself.
- The first is the signal that the module is on or not (STATUS) log 1 - The second is the signal of network registration (NETLIGHT) log 1/0 (blinking) If it blinks with the same frequency, it means it has not registered in the network If there is a long time, it means there is a connection ... - The third is a call signal / sms (RING) log 0 Lights up if there is an incoming call and blinks when receiving an SMS message. The first two signals must be connected through an NPN transistor in the key mode.

And the third signal (RING) must be connected through a PNP transistor. Another important signal is the button to turn the module on and off. (where without her). This is what the manual offers us.

That is, log 1 was applied to the base of the transistor for 1 second and the module turned on.
Now let's talk about nutrition. Yes, I would not refuse a good wrestling plate, would you? Okay, let's move on. The module is powered by a spring from 3 to 4.8 volts. It seems that everything is simple, but not so. At the time of a call, sms transmission, network search, the module may require up to 2A. How. So fans of LM7805 and KRENok may be upset. Fortunately, the manual contains two circuits on MIC29302 microcircuits (I never found it on sale) and LM2596 (you can buy this one). But I am lazy and I just didn't want to collect the feed with so much strapping. I poked around on the internet and found it. There is such a good stabilizer for processors like "Stump", "AMD" at 3.3v and up to 7.5A. In, I think that's what you need and ARM can be powered and the module. Here is a diagram of this miracle.

And here's how it looks when assembled.

I put the radiator out of fear, in principle, the microcircuit does not heat up even during a call. And the last thing to pay attention to is the battery. It is needed to keep the real time clock alive. The most important thing is that you cannot leave this conclusion in the air. Personally, I agreed on connecting the battery, which is what I wish for you. You can, of course, stick two AAs)) but somehow a bit large, but in the form of a 2032 3v tablet, that's what you need. Fortunately, they are not expensive and you can solder the compartments directly to the board. In my opinion, this is the simplest solution. You decide. Well, that's all. This is how all this mess looks together and in working condition.

In the next article I will tell you how I broke this module but already programmatically through the terminal using AT commands.
Laying out the diagrams in PCAD-2006
Archive with GSM module files.
Archive with files of the stabilization unit.
Continuation of the series of articles about the GSM module.
AT Commands.
Communication of the module with the ATmega8515.
Debug board based on SIM900D


Foli 03/14/13

I would like to learn more about AT commands, UART and directly working with this in CodeVision

Alexey 03/15/13

I deal with AT commands. I don't want to lay out half of the work, as there are some questions. And with UART and CVAVR everything is simple there. As soon as I deal with AT commands, I will immediately lay out which commands and how to submit them from CVAVR.

Anatok 04.11.13

All this is beautiful. But if the alarm worked at least at minus 30 degrees and was charged with hidden solar panels, especially in winter, then there would be a lot of people who want to have such an apparatus.

Alexey 11/04/13

The GSM module eats up to 2A when registering in the network or making a call or GPRS communication. For such resources, a good battery is required, and at -30 the battery will not last long. Even in weather stations, it is recommended to use simple batteries on outdoor sensors.

Teddy bear 11/11/13

If it is still relevant and interesting ... check out EAT for SIM900. Inside ARM, there is an SDK in which you can download applications to the SIM900 from which you can do a lot of things ... for example, send the same AT commands ... + keyboard + SPI display ... + 2 ADCs :) Not boring evening :)

Teddy bear 11/11/13

And after all, it is very nice for him to make power for him on the L5973D. Yes, about 2A is written in the datasheet ... but in practice these are very short-term impulses. It works great for me, for example, with the Arduino Mega, which itself is powered by the USB port (which has a current of 0.5 A)

Alexey 11.11.13

This is the catch. I also fed from 7805 at first, everything worked, and then bam ... And when connected to the network, everything goes out, and then it goes to restart. Apparently the guard dog restarts after a seizure of food. And with L7953D it will be beautiful, but where to get it and osprey it will cost :) So I switched to IRU1075

Alexey 11.11.13

I apologize for the mistakes, this damn GUDROYD sculpts the slabs for me. He thinks smarter. I will not edit, let Google be ashamed of their work.

uncle Misha 12/24/13

When registering in the atmega network, I reboot. Although there is a pulse dcdc. Capacitors for 200 microfarads. Sometimes it works stably. I was already worn out.

Alexey 12/25/13

Scheme in the studio. From the words it is rather difficult to understand the problem.

uncle Misha 12/25/13
uncle Misha 12/25/13

Http://ybex.com/d/tk7kgiefpklpeujb1zbl4lo5 mrkf7ayvci04ouq3.html MK is powered from 2.8 (even tried 3.7) Volts, so as not to block the level converter.

Alexey 12/25/13
sergey 07/19/14

Hello Alexey! do you have ready-made boards with sim900, can i buy?

Alexey 07/19/14

In what sense are they ready? The module itself has already been assembled and it remains for a specific device to make a board with the required outputs and inputs. The one in this article is just a demo board for debugging programs. A specific device requires dimensions, location of connectors, headphone and microphone outputs. Where will the antenna connector be. Give more detailed information about what you need.

Andrey 09/28/14

As I understand it, this is a prototype of the scarf that I can't wait for. Only in the commercial version was she married with a power supply and ennobled with audio outputs. What a big buzz.

Alexey 09/28/14

Actually it is. I just killed a few birds with one stone. Solved the age-old problem with power and level matching on the UART. And added audio in and out for chic. In fact, a finished cell phone.

Andrey 09/28/14

I would like to introduce ratsuha for the future. in fact, this board is a complete unit. And it can be practically used in a finished product. however, there is one BUT. With a meson canopy, it is better to put it on top (antenna connector, access to the sim card), so it is quite advisable to leave holes for the same pins parallel to all the pins for the "periphery" with the possibility of soldering them in the "downward" direction. Those. I wanted to put this device on the microcontroller board, spread it under yours, soldered the mating connectors into it and docked it. Also with

Andrey 09/28/14

Gobbled up half a message, but I hope you understand the idea-)

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

Tell me why the module is heating up and not catching the network?

Alexey 02/01/15

There are several reasons for this. First, the food was exceeded. Second, didn’t the plus hit the general one. You need to take a close look at the power legs. Third, whether the belly is touching the supply lines to the module. There are several process contacts on the belly that must be isolated from any conductors. Fourth, is the antenna terminal short-circuited with general conclusion... To be more precise, it is necessary to look at the board. Drop me a fee on the mail and I'll see if something is wrong there.

Sergey 02/01/15

I have factory boards, MasterKit BM8039 and both have the same problem .. you insert the SIM card, the module starts to warm up and there is no network.

Alexey 02/01/15

Quite difficult to say. Factory circuit, you need to climb the board. It can be seen from the documentation that the board does not have the recommended protective diodes for the SIM card. The card itself and the connector on the pins are the same? The 300 module is old and in my opinion it only works with 5 volt SIM cards, but now they are all at 3v. But I could be wrong. You have to look at the board itself, it's so hard to say something. If the symptom on both is the same, then I would hit the side of the connector and the voltage of the SIM cards. Once again, modern sim cards for 3 volts.

Sergey 02/01/15

It costs sim900D ... there are no diodes. When I insert the card, power appears on the module and it starts to warm up, but on the SIM card, for example. with 9 feet does not go ..

Sergey 02/01/15

Initially, they worked fine ... then something went wrong ... I can't figure out what ..

Sergey 02/01/15

How can I check the module without unsoldering?

Alexey 02/01/15

And what exactly was short? If the SIM card does not power, then I'm afraid the line for the SIM card is dead. And how many legs? 6 or 8? To check, you can communicate with the module via the UART 3, 4 feet bus without inserting a SIM card. If he refuses to accept AT commands, then I think you can bury him.

ANONYM 02/01/15

I don’t know exactly what was short-circuited .. leg 8 .. but how to communicate then?

Alexey 02/01/15

Is there also 8 on the connector? We take the FT232RL microcircuit, assemble the USB adapter<->TTL, soldered to the UART of the module, launch a terminal, for example Putty, write AT and press the enter. If it returns OK, then all is not lost. If silence ... In the trash. And yes, what are the LEDs on the board? How is registration in the network determined?

Sergey 02.02.15 03:12

There are also 8 on the connector .. there are two green and red LEDs on the board, the presence of the network is determined by blinking green once every three seconds ... can I somehow insert a photo of the board?

Alexey 02.02.15 07:42

It's easier to go to the forum.

Sergey 02.02.15 14:02

If you do not insert a SIM card, then you need to supply power to the module?

Alexey 02.02.15 15:48

I can't read the coffee grounds. I need either a schematic or a board. And where does the power supply of the module and the SIM card have to do with it? There, most likely, it also intersects with some kind of microcontroller. He supplies power. In general, we need a scheme. And so it's like making a diagnosis over the phone.

Sergey 02.02.15 15:56

Where can I post a diagram on the forum?

Sergey 02.02.15 15:57

Power to the module comes only when you insert a SIM card

Alexey 02.02.15 19:27

Well, there is no such thing for the SIM900D module. To turn on the module, you need to keep the low level on the pin 12, and then raise it. A SIM card cannot be inserted or removed at all when the module is on, there is a possibility of burning the port. If you look at the documentation, you can find there recommendations for installing protective diodes on the SIM card port line. On the forum . Create a theme and upload a photo.

Evgeniy 09/08/15 12:04 PM

When I apply voltage to the module, there is a positive potential on the 12th leg, and on the 5th leg it is also positive (provided that these legs are hanging in the air). Can you please tell me, after all, there should be zero on the 5th leg? If not, please correct me.

Alexey 09/08/15 13:21

The 12th leg is the inclusion of the module. When power is applied, 1 hangs on it. To turn on the module, press the 12th leg to the common wire for a couple of seconds, that is, supply 0. When power is applied to module 5, the leg must be pulled up to the common wire by two resistors (this can be seen from the wiring diagram transistor in the key mode) and it should be 0, since the base needs to be pulled up to zero to completely close the transistor. After pressing the 12th leg to zero, 1 should appear on the 5th leg, and after a while a meander indicating the status of availability and connection to the network.

Good afternoon! Again, a multi-review of Chinese electronic components, as usual a little about everything, I'll try to be shorter, but will it work? So, welcome, GSM alarm system costing up to 700 rubles. Interesting? I ask for "cut"!

Let's get started! Before starting, I recommend looking into this one, fewer components and more autonomy. So, the "terms of reference", the basic requirements for the signaling:

1) Notify when sensors are triggered.
2) In the event of a power outage, some autonomy must be provided.
3) Alarm management via sms and calls.

Due to the fact that the process of creating an alarm has been delayed for several months and some sellers no longer sell those components that were purchased from them, links will be updated to products of other sellers who have the maximum or close to the maximum number of product sales and the best price. The prices in the review are current as of the date of its writing.

List of what you need:

List of changes

GSM_03_12_2016-14-38.hex- fixed operation of the device with the M590 modem.
GSM_05_12_2016-13-45.hex- added console command memtest, optimization of RAM usage.
GSM_2016_12_06-15-43.hex- added output of command results to the console, memory optimization. Occupancy: 49% SRAM.
GSM_2016_12_07-10-59.hex- now phone numbers are added and removed correctly. Occupied: 49% SRAM, 74% Flash Memory.
GSM_2016_12_07-15-38.hex- added the ability to connect a motion sensor, it is connected to pin A0 (in this case, pin A0 is used as digital). Added SMS - commands PIROn, PIROff... Occupied: 48% SRAM, 76% Flash Memory.
GSM_2016_12_08-13-53.hex- Now after the successful execution of the command, which does not send an SMS message in response, the device blinks once with a blue LED. Now, after the incorrect execution of the command, which does not send an SMS message in response, the device blinks twice with a blue LED. Now, after initializing the device parameters, if the "silent" mode is enabled (SendSms = 0), the device blinks blue LED rapidly for 2 seconds. Fixed a bug due to which the number was not always deleted from memory by the DeletePhone command. Occupied: 48% SRAM, 78% Flash Memory.
GSM_2016_12_11-09-12.hex- Added console commands AddPhone and DeletePhone, the syntax is similar to SMS commands. Memory optimization. Occupied: 43% SRAM, 79% Flash Memory.
GSM_2017_01_03-22-51.hex- Implemented support for similar I / O port expanders on the PCF8574 chip, for connecting additional 8 sensors, including reed switches. Automatic address search and automatic module configuration. The standard names of the sensors and the logical level of their triggering are changed using the EditSensor command. Changed contents of alarm sms for the main sensor (pin D0) “Alarm! Main sensor! " and motion sensor (pin A0) “Alarm! PIR sensor! ". Added EditSensor and I2CScan commands. Occupied: 66% SRAM, 92% Flash Memory.
GSM_2017_01_15-23-26.hex- Support for A6_Mini modem. External power supply control (pin D7). Added SMS commands WatchPowerOn, WatchPowerOff. Added console commands ListConfig, ListSensor. Now sms command EditSensor works correctly. The debug output to the port monitor has been slightly "cut". Occupied: 66% SRAM, 95% Flash Memory.
GSM_2017_01_16-23-54.hex- Now in the response message to the SMS command "Info" the state of the motion sensor is also reported. Fixed a bug due to which sometimes empty SMS reply messages were sent. Now the device notifies not only about disconnection, but also about the resumption of external power supply. All the modems began to "chat less", now the port monitor is a little cleaner. Occupied: 66% SRAM, 95% Flash Memory.
GSM_2017_02_04-20-23.hex- Fixed bug "Watch the power on". Now, after disarming, the "alarm pin" is turned off. Now, after deleting the number, the correct information is displayed in the console. Possibly fixed a bug due to which sometimes empty SMS reply messages were sent. Occupied: 66% SRAM, 90% Flash Memory.
GSM_2017_02_14-00-03.hex- Now SMS messages are sent by default, the SendSms parameter is again equal to 1. Now, when the contacts of the main reed switch are closed (door is closed), the device blinks a blue LED for 2 seconds, signaling the normal operation of the sensor. Occupied: 66% SRAM, 90% Flash Memory.
GSM_2017_03_01-23-37.hex- WatchPowerOn command removed. Added console command WatchPowerOff, identical to SMS command. Added WatchPowerOn1, WatchPowerOn2 commands. WatchPowerOn1 - external power monitoring is enabled if the alarm is armed, WatchPowerOn2 - external power monitoring is always enabled. The function of arming and disarming by external devices has been implemented; for this, pins A1 (D15) and A2 (D16) are used. The alarm will arm / disarm when a high + 5V level appears on pin A1 (D15) or a low level GND on pin A2 (D16). Pin A1 (D15) is pulled to GND, pin A2 (D16) is pulled to + 5V through 20 (10) kΩ resistors. Added GuardButtonOn and GuardButtonOff commands. Now, after arming, the red LED flashes until the integrity of the circuit of the main reed sensor is checked. If the circuit is intact, the red LED lights up. Occupied: 66% SRAM, 95% Flash Memory.
GSM_2017_03_12-20-04.hex- Now the console has become even cleaner, but if the "TestOn" test mode is enabled, then additional information is displayed in the console. Fixed bug "Sent!", Now the message about sending messages is correctly displayed in the console. The bug of "repeated false call" has been fixed. Balance request should now work correctly on all modems. Occupied: 67% SRAM, 95% Flash Memory.
GSM_2017_04_16-12-00.hex- Fixed. Now the Info and Money teams will always send a reply SMS. The GuardButtonOn command has been replaced by the GuardButtonOn1 and GuardButtonOn2 commands. Occupied: 67% SRAM, 99% Flash Memory.
GSM_2017_04_21-09-43.hex - not recommended for use, only as testing, thanks for the identified errors :) - Now the sendsms parameter does not affect the sending of SMS messages for monitoring the power grid. Added SMS command DelayBeforeGuard, which is responsible for the delay when arming, the value cannot exceed 255 seconds. Added SMS command DelayBeforeAlarm, which is responsible for the delay in sending notifications and enabling the "alarm pin" when the sensors are triggered, the value cannot exceed 255 seconds. Removed ClearSMS commands, now messages are deleted automatically upon receipt. Occupied: 68% SRAM, 100% Flash Memory.
GSM_2017_04_22-20-42.hex- Fixed multiple bugs. ClearSMS commands are again present in the firmware. Memory optimization. Occupied: 68% SRAM, 98% Flash Memory.
GSM_2017_04_23-17-50.hex- Now the balance request should work correctly on all modems. Arming and disarming by external devices now works correctly. Info command SMS response messages should not be empty. Memory optimization. Occupied: 68% SRAM, 98% Flash Memory.
GSM_2017_04_24-13-22.hex- Now the transmission of console commands to the GSM module is performed only if the test mode is enabled. Now there is no division into SMS commands and console commands, all existing commands can be sent both via SMS and via the console. Probably a bug with the Info command has been fixed. Memory optimization. Occupied: 68% SRAM, 94% Flash Memory.
GSM_2017_04_25-20-54.hex- Fixed bug where the ListConfig command changed the value of the last event. Now, when entering commands through the kosol, unnecessary SMS messages are not sent. Probably a bug with the Info command has been fixed. Memory optimization. Occupied: 66% SRAM, 94% Flash Memory.
GSM_2017_04_30-12-57.hex- Temporarily enabled the output of additional information to the console when sending SMS messages and forming a response to the Info command. Probably a bug with the Info command has been fixed. Memory optimization. Occupied: 66% SRAM, 92% Flash Memory.
GSM_2017_05_06-11-52.hex- Fixed with DelayBeforeAlarm function. Occupied: 66% SRAM, 93% Flash Memory.
GSM_2017_05_23-21-27.hex- Slightly changed the output of information to the console. Added support for port expansion modules on PCF8574A with addresses from 0x38 to 0x3f inclusive. Fixed bug c. Now the device is rebooted automatically after the FullReset, ResetConfig, ResetPhone commands and if the MemTest command is successfully executed. Added WatchPowerTime command. Now it is possible to set the time after which an SMS message will be sent about the disconnection of the external power source. Occupied: 67% SRAM, 94% Flash Memory.
GSM_2017_05_26-20-22.hex- Fixed initialization of memory of expansion board sensors. The syntax of the AddPhone command has been changed. Added EditMainPhone command. The principle of operation of the notification system has been changed, when the sensor is triggered, sms messages will be sent first, after which voice calls will be made. Alarming sms messages will be sent to phone numbers with the "S" sign (SMS). Voice calls will be made to numbers with the "R" (Ring) sign. Messages about turning off / turning on the external power supply will be sent to the telephone numbers with the sign “P” (Power). Added RingTime command. Now it is possible to set the duration of the alarm voice call, the parameter can have a value from 10 to 255 seconds. Now the RingOn / RingOff command globally enables / disables voice call notification. Added ResetSensor command. Occupied: 68% SRAM, 99% Flash Memory.
GSM_2017_06_02-17-43.hex- Added “I” (Info) parameter to AddPhone and EditMainPhone commands, which is responsible for sms notification about arming or disarming the device. Now, after adding the main number, the device automatically reboots. Now you can add the same numbers to the device memory. When adding a second and subsequent duplicate numbers, the attributes "M", "S", "P" and "I" will be automatically removed from them. These numbers will be used for repeated voice calls when the sensors are triggered. Fixed a bug with a curve output to the console after executing the AddPhone command, now the information is not displayed automatically after adding a number. Added Reboot command. Occupied: 69% SRAM, 99% Flash Memory.
GSM_2017_06_11-00-07.hex- Now again, when the contacts of the main reed switch are closed (door is closed), the device blinks with a blue LED for 2 seconds, signaling the normal operation of the sensor, while the device is not armed or disarmed. RingOn / RingOff commands removed. Now the device can be disarmed during an alarm call, now they are performed in the background. Occupied: 69% SRAM, 99% Flash Memory.
GSM_2017_07_04-21-52.hex- Now the Pause command does not send a reply SMS. Removed TestOn and TestOff commands. The Management flag has been removed from all numbers. Occupied: 68% SRAM, 96% Flash Memory.
GSM_2017_07_24-12-02.hex- Added ReedSwitchOn / ReedSwitchOff commands to monitor the main reed sensor, now it can be enabled / disabled in the same way as the motion sensor. Fixed bug of Info command. The TestOn and TestOff commands are again present in the firmware. Occupied: 68% SRAM, 96% Flash Memory.
GSM_2017_07_26-10-03.hex- Added command ModemID. The modem is automatically detected only if the value of this parameter is 0. After setting the value of the parameter to 0, the device is automatically rebooted. Occupied: 68% SRAM, 98% Flash Memory.
GSM_2017_08_03-22-03.hex- Now the alarm can control external devices. Analog output A3 is used for control (D17 - used as digital). The logic level of the output (+ 5V or GND) can be changed, after changing the level through the setting command, the device will automatically reboot. The duration of the external device control signal can be changed. Added commands ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Some changes in the logic of the control commands. Memory optimization. Occupied: 68% SRAM, 99% Flash Memory.
GSM_2017_08_10-12-17.hex- Removed commands SmsOn / SmsOff, ReedSwitchOn / ReedSwitchOff, PIROn / PIROff and everything related to them. DelayBeforeAlarm command replaced with extended commands. Info command output changed. Optimized the output of the ListConfig command to the console. Now any of the following can be connected to pins D6 and A0. digital sensors with a high or low level of operation, including reed switches. Pins D6 and A0 must be connected to ground (GND) through a resistance of 10 (20) kOhm. If the sensor is configured for a low trigger level (enabled in reed switch mode), then the continuity of the circuit is checked. The logic level of triggering on inputs D6 and A0 (+ 5V or GND) can be changed, after changing the logic level the device will be automatically rebooted. For each of the sensors (main, second, PCF expansion cards), when triggered, its own time can be set, after which a notification will be made (SMS and / or voice call). "PIR Sensor" renamed to "Second sensor". The operation of the expansion board has been fixed, an error due to which the device always notified about the triggering of sensors, regardless of whether the device was armed or not. Now you can select the operating mode in which the device can monitor the expansion board sensors both in the armed mode (GuardOn) and in the disabled mode (GuardOff). Added commands PCFForceOn / PCFForceOff, MainSensorLevelHigh / MainSensorLevelLow / MainSensorLevelOff, SecondSensorLevelHigh / SecondSensorLevelLow / SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeFAforeAlay, PC Occupied: 68% SRAM, 99% Flash Memory.

* Subsequent firmware versions include changes from previous versions.


Used ports of Arduino Nano v3

D4- "alarm" pin output, when the sensor is triggered, a high level signal is set on this pin
D5- inverse output of the "alarm" pin, when the sensor is triggered, a low level signal is set on this pin

D6- reed switch. Starting from the version GSM_2017_08_10-12-17.hex, any digital sensors with a high or low response level, including reed switches, can be connected to pin D6. Pin D6 must be pulled to ground (GND) through a 10 (20) kΩ resistor.
D7- connected to a voltage divider from an external power supply + 5V. The upper arm is 2.2 kOhm, the lower one is 3.3 kOhm.

Voltage divider


D8- TX modem
D9- RX modem

D10- red LED
D11- blue LED
D12- green LED

Peripheral connection:
A0- Motion Sensor . Starting from the version GSM_2017_08_10-12-17.hex, any digital sensors with a high or low response level, including reed switches, can be connected to pin A0. Pin A0 must be pulled to ground (GND) through a 10 (20) kΩ resistor.

A1- Input for external control. The alarm will arm / disarm the system when a high + 5V level appears at the input.
A2- Inverted input for external control. The alarm will arm / disarm the system when a low level GND appears at the input.

A3- Configurable (+ 5V or GND) output to control external devices. When a control command is received, the value at this output changes depending on which one was set for a set period of time.

A4- SDA I2C
A5- SLC I2C
, for connecting additional 8 sensors.


Control commands for hex - firmware

Attention! Dedicated commands in bold can be performed only from the main number, since they are responsible for the configuration of the device. The rest of the commands can be executed from numbers with the "Management" sign.

SMS - control commands are not case sensitive:
AddPhone- Add a phone number. In total, no more than 9 numbers + 1 main number can be added, which is automatically saved in memory when the first call to the device after resetting to factory settings by commands ResetPhone or FullReset... Those. Whoever first called the device after it was reset to factory settings is the “main” one, this number is entered into the first memory cell and cannot be changed or deleted via SMS. It is possible to add two identical numbers, but then the duplicate number automatically retains only the "r" sign - exclusively for repeated voice calls.
Example command:



Command syntax:

AddPhone- team
: - separator
5 - write to the fifth memory cell
+71234567890 - phone number
Before GSM_2017_05_26-20-22.hex version:
a - “Alarm” parameter - SMS will be sent to numbers with this parameter - messages about alarm activation and messages about arming or disarming.
From version GSM_2017_05_26-20-22.hex:
m - "Management" parameter - alarm management enabled
s - "SMS" parameter - an sms message will be sent when the sensors are triggered
r - "Ring" parameter - a voice call will be made when the sensors are triggered
p - "Power" parameter - an sms message will be sent when the external power is turned on / off
i - Parameter "Info" - sms message will be sent when arming or disarming
In the absence of parameters "m", "s", "r", "p", "i", the phone is stored in the memory, but not used in any way.


DeletePhone- Delete phone number.
Example command:

Command syntax:

DeletePhone - command
: - separator
+71234567891 - phone number


EditMainPhone- Change the parameters "s", "r", "p", "i" of the main telephone, this number is entered into the first memory cell.
Example command:

Command syntax:

EditMainPhone - command
: - separator
srpi - parameters


BalanceNum- Changing the balance request number and processing the length of the request response. Default value for Beeline: # 100 # L22.
Example command:

Command syntax:

BalanceNum - command
: - separator
# 103 # - balance request number
L24 - The length (len) of the sent response is 24 characters, we cut off the spam from the balance request.


EditSensor- Change the name of the sensor and the logic level of operation. There can be no more than 8 additional sensors in total. After changing the parameters, a reboot of the device is required.
Example command:
EditSensor: 1 + Datchik dvizheniya v koridore # h

Command syntax:

EditSensor - command
: - separator
1 - write to the first memory location
+ - separator
Datchik dvizheniya v koridore - the name of the sensor, cannot exceed 36 characters, including spaces.
#h - Sign of a high logic level from the sensor, upon receipt of which an alarm will be triggered. If "#h" is absent, the alarm will be triggered when a low logic level is received from the sensor.


SleepTime- The time of "falling asleep" of the alarm when receiving SMS - the command "Pause", is indicated in minutes. Default value: 15, cannot be less than 1 and more than 60.
Example command:

Command syntax:

SleepTime - command
: - separator
20 - 20 minutes of "sleep".


AlarmPinTime- The time for which the alarm / inverse pin is turned on / off, is indicated in seconds. Default value: 60, cannot be less than 1 second and more than 43200 seconds (12 hours).
Example command:

Command syntax:

AlarmPinTime Command
: - separator
30 - 30 seconds on / off alarm pin.


DelayBeforeGuard- Time before arming the device after receiving the appropriate command.
Example command:

Command syntax:

DelayBeforeGuard - Team
: - separator
25 - 25 seconds before arming


DelayBeforeAlarm- The time after which the "alarming" SMS notification will be sent if the alarm has not been disarmed during this period of time. Replaced by extended commands starting from version GSM_2017_08_10-12-17.hex
Example command:

Command syntax:

DelayBeforeAlarm - command
: - separator
40 - 40 seconds before sending the "alarm" notification


WatchPowerTime- Time in minutes after which an SMS message will be sent about the disconnection of the external power source. If the external power supply is restored before the expiry of the set time, the message will not be sent.
Example command:

Command syntax:

WatchPowerTime - Team
: - separator
5 - 5 minutes before sending an SMS message


RingTime- Duration of the alarm voice call, the parameter can have a value from 10 to 255 seconds.
Example command:

Command syntax:

RingTime - command
: - separator
40 - 40 call duration will be 40 seconds, after which the next subscriber will be called.


ModemID - Force installation the model of the modem you are using. Possible values: 0 - modem autodetection, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Example command:

Command syntax:

ModemID - command
: - separator
2 - modem ID.


ExtDeviceTime- The number of seconds by which the signal level at the external device control output will change.
Example command:

Command syntax:

ExtDeviceTime- command
: - separator
5 - 5 seconds


ExtDeviceLevelLow- An external device connected to output A3 is driven by a low signal level (GND). The default output will be high level+ 5V until an external device control command is received
ExtDeviceLevelHigh- An external device connected to output A3 is controlled by a high signal level (+ 5V). The output will default to a low GND level until a command to control an external device is received.

ResetSensor- reset the parameters of the port expander sensors

ResetConfig- reset settings to factory settings

ResetPhone- deleting all phone numbers from the memory

FullReset- resetting the settings, deleting all phone numbers from the memory, restoring the default value of the BalanceNum command.

RingOn- enable notification by a call to the "main" number recorded in the first memory cell when the sensor is triggered. Removed since version GSM_2017_06_11-00-07.hex
RingOff- turn off notification by a call when a sensor is triggered. Removed since version GSM_2017_06_11-00-07.hex

SmsOn- enable sms notification when a sensor is triggered. Removed since version GSM_2017_08_10-12-17.hex
SmsOff- turn off sms notification when a sensor is triggered. Removed since version GSM_2017_08_10-12-17.hex

PIROn- enable motion sensor processing
PIROff- disable motion sensor processing

ReedSwitchOn- enable processing of the main reed sensor
ReedSwitchOff- turn off the processing of the main reed sensor

WatchPowerOn- enable control of external power supply, SMS message about disconnection of external power supply will be sent, provided that the alarm is armed. Removed since version GSM_2017_03_01-23-37.

WatchPowerOn1- enable control of external power supply, SMS message about disconnection of external power supply will be sent, provided that the alarm is armed.
WatchPowerOn2- enable control of external power supply, SMS message about disconnection of external power supply will be sent in any case

WatchPowerOff- disable external power supply control

GuardButtonOn- alarm control by external devices or by button is enabled. Removed from version GSM_2017_04_16-12-00.
GuardButtonOn1- function arming or disarming protection by external devices or the button is turned on
GuardButtonOn2- function only productions armed by external devices or the button is enabled, disarming is performed by calling the device or using an SMS command.
GuardButtonOff- alarm control by external devices or by button is disabled

PCFForceOn- continuous monitoring of a group of all sensors of the expander
PCFForceOff- monitoring a group of all expander sensors only when the device is armed

MainSensorLevelHigh- an alarm notification will be sent when a high-level signal (+5 V) appears at the input (D6) from the sensor
MainSensorLevelLow- an alarm notification will be sent when a low level signal (GND) appears at the input (D6) from the sensor
MainSensorLevelOff- input sensor processing (D6) disabled

SecondSensorLevelHigh- an alarm notification will be sent when a high-level signal (+5 V) appears at the input (A0) from the sensor
SecondSensorLevelLow- an alarm notification will be sent when a low level signal (GND) appears at the input (A0) from the sensor
SecondSensorLevelOff- processing of the sensor at the input (A0) is disabled

MainDelayBeforeAlarm- the time after which an “alarm” SMS notification will be sent when the main sensor (D6) is triggered, if the alarm has not been disarmed during this period. The syntax is the same as the DelayBeforeAlarm command.
SecondDelayBeforeAlarm- the time after which an “alarm” SMS notification will be sent when an additional sensor (A0) is triggered, if the alarm has not been disarmed during this period. The syntax is the same as the DelayBeforeAlarm command.
PCFDelayBeforeAlarm- the time after which the "alarm" SMS notification will be sent when the sensors of the expansion board (PCF8574) are triggered, if the alarm has not been disarmed during this period of time. The syntax is the same as the DelayBeforeAlarm command.

GuardOn - arm
GuardOff - remove protection

Open - command to control an external device

Info - check the status, in response to this message sms will be sent with information about the number from which the security was turned on / off

Pause - pauses the system for the time set by the sleeptime command in minutes, the system does not respond to sensor triggering.

TestOn - test mode is enabled, blinking blue LED.
TestOff - the test mode is turned off.

LedOff - turns off the standby LED.
LedOn - turns on the standby LED.

Money - balance request.

ClearSms - Delete all sms from memory

Console commands (up to version GSM_2017_04_24-13-22.hex) - entered in the monitor of the Arduino IDE port:

AddPhone - similar to the SMS command AddPhone

DeletePhone - similar to the SMS command DeletePhone

EditSensor - similar to sms command EditSensor

ListPhone - displaying the list of phones stored in the memory to the port monitor

ResetConfig - similar to the ResetConfig sms command

ResetPhone - similar to the ResetPhone sms command

FullReset - similar to the FullReset sms command

ClearSms - similar to the ClearSms sms command

WatchPowerOn1 - similar to the WatchPowerOn1 sms command
WatchPowerOn2 - similar to the WatchPowerOn2 sms command
WatchPowerOff - similar to the WatchPowerOff sms command

GuardButtonOn - similar to the GuardButtonOn sms command. Removed since version GSM_2017_04_16-12-00
GuardButtonOn1 - similar to the GuardButtonOn1 sms command
GuardButtonOn2 - similar to the GuardButtonOn2 sms command
GuardButtonOff - similar to the GuardButtonOff sms command

Memtest - test of the device's non-volatile memory, all device settings will be reset, similar to the FullReset command.

I2CScan - search and initialize supported devices on the I2C bus.

ListConfig - output the current device configuration to the port monitor.

ListSensor - output the current sensor configuration to the port monitor.

UPD. When using a motion sensor, to exclude false positives when the modem is operating, it is necessary between pins GND and A0 Arduino put up resistance, we say thank you to a friend
AllowPhone = ("70001234501", "70001234502", "70001234503", "70001234504", "70001234505") - Numbers which are allowed to control the security.
AlarmPhone = ("70001234501", "70001234502") - Numbers for sending SMS notifications when a sensor is triggered and notifications about disarming or arming. The first number in the list will be called when the sensor is triggered if the RingOn command is executed, by default this option is enabled. This is done because sms messages may come with some delay, but the call must go through immediately.

If a call comes from an authorized number or an SMS message with the GuardOn / GuardOff command, then depending on the current state of protection, an SMS message about arming or disarming will be sent to the numbers listed in the AlarmPhone array, an SMS message will also be sent to the number from which the call came in.

When the sensor is triggered SMS messages are sent to all numbers from the AlarmPhone array (list) and a voice call will be made to the first number from this array.

Light indication:
Red LED - armed.
LED is on green- disarmed, enabled / disabled by sms command LedOn / LedOff.
The LED constantly blinks blue - it signals that everything is in order with the Arduino, the board is not frozen, it is used exclusively for debugging, it is turned on / off by sms command TestOn / TestOff.
* The code contains the LedTest () function, it blinks with a blue LED, it is made only to monitor the Arduino, blinks means it is working, does not blink - it is frozen. Not freezing yet :)

Not relevant!

Connecting 2 or more sensors for open firmware (applies only to this firmware sketch_02_12_2016.ino)
To connect additional reed switches, we use free digital pins D2, D3, D5 or D7. Connection diagram with additional sensor on D7.

Required firmware changes
... #define DoorPin 6 // Number of the input connected to the main sensor int8_t DoorState = 0; // Variable for storing the state of the main sensor int8_t DoorFlag = 1; // Variable for storing the state of the main sensor #define BackDoorPin 7 // Number of the input connected to the additional sensor int8_t BackDoorState = 0; // Variable for storing the state of the additional sensor int8_t BackDoorFlag = 1; // Variable for storing the state of the additional sensor ...
void setup () (... pinMode (DoorPin, INPUT); pinMode (BackDoorPin, INPUT); ...
... void Detect () (// Read values ​​from sensors DoorState = digitalRead (DoorPin); BackDoorState = digitalRead (BackDoorPin); // Processing the main sensor if (DoorState == LOW && DoorFlag == 0) (DoorFlag = 1; delay (100); if (LedOn == 1) digitalWrite (GLed, LOW); Alarm ();) if (DoorState == HIGH && DoorFlag == 1) (DoorFlag = 0; delay (100);) // Processing additional sensor if (BackDoorState == LOW && BackDoorFlag == 0) (BackDoorFlag = 1; delay (100); if (LedOn == 1) digitalWrite (GLed, LOW); Alarm ();) if (BackDoorState == HIGH && BackDoorFlag == 1) (BackDoorFlag = 0; delay (100);)) ...

And one more thing:
1. It is better to use diodes designed for a current of 2 A, since the module infects with a current of 1 A and we still need to power the Arduino and the modem with something. In this instance, 1N4007 diodes are used, if they fail, replace them with 2 A.
2. I used all the resistors for the LED at 20 kOhm, so as not to illuminate the entire corridor at night.
3. I also hung a 20 kOhm resistor on the reed switch between the GND pin and the D6 pin.

That's all for now. Thank you for your attention! :)

I plan to buy +207 Add to favourites I liked the review +112 +243

An important component of the automation of any facility is the monitoring and control system. If you control an object at short distances (up to several hundred meters) does not cause big problems, you can use individual low-power transceivers. Then, with the monitoring of remote objects, such a technique will not work, organizing your own radio channel, say, for 100 km, will not work so easily. But there is one way out - you can use the networks of mobile operators deployed everywhere. For this, there are even specialized GSM-modules, pretending to be a simple mobile phone in the opsos network.One of these GSM-modules SIM900D fell into my hands (for which thanks to comrade RD3AVJ), and we will talk about it.

The SIM900D is essentially a complete device that is capable of using most cellular services: making and receiving calls, sending and receiving SMS and MMS, using GPRS and accessing FTP. Plus such goodies as a built-in Li-Ion battery charge controller, a real-time clock, a PWM output interface for connecting a display and an analog-to-digital converter (ADC).

To start the module, you need a minimum of external elements and power, but first things first.


NS ITALY


The module must be powered with a constant voltage in the range of 3.2-4.5 volts. The power supply is connected to pins 38-39 (VBAT). Ground is applied to all GND pins.

Consumption in standby mode is only 1mA, but it should be borne in mind that during network registration or with a bad signal, the module picks up the power and consumption can rise to 2A for a short time. The power supply must be ready for this and electrolytes for a couple of thousand microfarads will not be superfluous here.


In case of autonomous operation, it is recommended to use Li-Ion batteries, which the module can recharge itself. For this there is a built-in charge controller. In order for the module to control the charging process, there is an input TEMP_BAT (pin 27). The third terminal of the battery is connected to this terminal (this is the terminal of the thermistor built into the battery) and in case of overheating of the battery, charging will be stopped.



The power supply for charging the battery is connected to the VCHG pin (pin 28). The source voltage can be in the range of 5-6 Volts with the ability to pull current up to 750 mA.

Charging starts automatically when voltage is applied to the VCHG pin, therefore, the control program should poll the battery status and, if necessary, supply the charge voltage, for example, through a transistor switch.

CONNECTING A SIM CARD

The next main element is the SIM card. This is the key to entering the opsos network :) To work with the module, you need SIM cards with a supply voltage of 3 or 1.8 volts (the old five-volt SIM cards will not work). The general connection diagram is below.


It is connected to the SIM_x pins (pins 6-9). In order for a supply voltage to appear on the SIM_VDD pin, it is necessary to press the KBR0 pin (pin 10) to the ground.

To protect the lines from static, it is recommended to use special TVS diodes of the SMF05C type. But where you can find their figs, so you can leave without them, the main thing is to touch these conclusions with your hands less. And when soldering, if there is no soldering station, solder with a disconnected soldering iron.

ANTENNA

Everything seems to be simple here, it connects to pin 33 (ANT). It is advisable to use a special antenna for the GSM band, the power consumption of the transmitter will depend on its quality, and as a result, the battery life of the module. On a segment of a track on a 7 mm board, the signal level was 4 out of 31, that is, it is caught but very poorly. But this is on condition that the GSM repeater was located in a neighboring building.

The right side of the circuit (circled by a dotted line) serves to match the antenna impedance if it is not connected directly to the module, but through a long wire. The denominations here are selected practically and using special devices, so this part of the diagram can be omitted.

REAL TIME CLOCK

The module has its own RTC, which is able to keep time even in the absence of the main power supply. To do this, a backup power source must be connected to the VRTC pin (pin 15), for example, a 3-volt CR2032 battery or an ultrasonic filter. In the case of connecting a non-rechargeable source (like a simple battery), a Schottky diode must be used to limit the reverse current. Below are two diagrams, on the left is the connection of the ionist; on the right - batteries.

INDICATION

To indicate its own state during operation, the module has several outputs for connecting LEDs. The first is the NETLIGHT output (pin 41). On this output, when the module is running, a meander appears, with a frequency depending on the state of the connection to the cellular network: during the search and registration, a high level appears on this output with a period of 800ms, after registration of the network - with a period of 3 seconds. You can connect an LED to this pin only through a transistor switch:



To indicate the operation of the module, there is one more output - STATUS (5 output). A high level appears on it when the module is in operating mode. The LED is connected to this leg in the same way as to the NETLIGHT pin (via an NPN transistor).

The RING pin (pin 11) is used to indicate incoming calls and text messages. It is convenient to use this output with an external interrupt of the controller for prompt response to events. Unlike the two previous ones, the active level at the RING pin is low, so if you connect an LED here, then you need to use a PNP transistor as a key:



STARTING THE MODULE

The module starts up with a negative pulse of at least 1 sec. on the leg PWRKEY (pin 12). It is recommended to use the following scheme to apply the impulse:


To open the transistor, you can use a button or a pulse from the microcontroller. If you apply an impulse to this leg again, the module will turn off.

AUDIO

The SIM900D module has two microphone inputs and two speaker outputs. Pins 18 to 26 are used for connection. Matching diagram below.

Microphone connection:

Shield GPRS / GSM SIM900 with antenna
SIM900 GPRS / GSM Shield Development Board Quad-Band Kit For Arduino Compatible

A module for the operation of Arduino microcontroller devices and similar ones in cellular networks using GSM and GPRS standards. Designed for use in automation and control systems. Data exchange with other modules occurs via the UART interface. Shield GPRS / GSM SIM900 with antenna can interface directly with the microcontroller via the UART interface or work in conjunction with a personal computer using a PC-UART interface converter. This is possible due to software compatibility at the level of the class of commands used to control modems - AT commands.
Objects are monitored and managed through the exchange of data within the range of mobile communications. Provides voice communication, sending SMS, MMS and many other functions and services. The module is based on the SIM900 component.

An article in Russian from the magazine about the SIM900 component. The component was developed by SIMCom Wireless Solutions. The SIMCom website has a Russian-language version. The GSM module board on the component side contains connectors for connecting an antenna, headphones and a microphone. On the soldering side of the board, there is a 3-volt CR1220 battery holder that supports the operation of the module clock and a container for installing a sim card.
One of the applications of the device is a tracking system for vehicle movements in conjunction with a GLONASS or GPS device. Sending SMS messages allows using the module in dispatching, wireless signaling and security systems. As a result of the events taking place, various SMS messages can be sent: “Emergency stop of elevator 2 of house No. 34”, “Car door open”, “Basement open”, “Voltage 220 V off”, “Front door of the cottage is open”, “Lighting is on”, “ The temperature in the greenhouse is below critical. ” The module is indispensable for monitoring and controlling moving objects moving over long distances. Or, if the operator is far away from a stationary object.

Shield GPRS / GSM SIM900 with antenna provides ample opportunities to study the operation of the SIM900 component. Installation of the SIM900 component is performed according to the most modern technologies which is why it is very difficult to solder to the printed circuit board of the SIM900 in the laboratory. Having a module with SIM900 installed, you can experiment with using the SIM900 component. When using the SIM900 component in our own development, it becomes possible to debug the software and check circuit solutions.

Characteristics

Food
voltage, V
nominal 5
range 4.8-5.2
current
normal mode 50-450 mA
in sleep mode 1.5 mA
limiting impulse 2 A
Supports sim cards with 1.8 and 3 V power supply
Communication ranges 850, 900, 1800, 1900 MHz
Supports 2G network
Transmission power in different bands
1W 1800 and 1900 MHz
2W 850 and 900 MHz
Compliant with GSM Phase 2/2 +
Built-in TCP and UDP protocols
GPRS multi-slot class 10/8
Audio codecs HR, FR, EFR, AMR, echo cancellation
CSD up to 14.4kbps
PPP stack
MUX (07.10)
HTTP and FTP protocols
It is possible to send DTMF signals and play records as on an answering machine
RTC support
Temperature, ℃
air during operation -30 ... 75
storage -45 ... 90
dimensions 86 x 58 x 19 mm

Control components

The Power select switch sets the power supply: external, connected to the coaxial connector or the power supply of the Arduino microcontroller module.

The Power key turns the power on or off when pressed and held for 2 seconds.

Indication

The module status is indicated by 3 LEDs:
PWR (green) - module power indicator,
Status (red) - power indicator of the SIM900 component,
Net Light (green) - network connection.
Net Light LED messages.
Off - SIM900 is not working.
Flashing at intervals, indicated in seconds:
0.064 on and 0.8 off - no network detected,
0.064 on and 0.3 off - network detected,
0.064 is enabled, 0.03 is disabled - GPRS is connected.

Contacts

The SIM900 component contains a UART port, its signals are output to the component pins and are connected to jumpers that establish with which contacts of the Shield GPRS / GSM SIM900 module the UART port of the SIM900 component will be connected to D0, D1 or D7, D8.
UART Shield GPRS / GSM can be connected: to the hardware interface of the MK through the TXD and RXD pins of the Shield GPRS / GSM module, for this, D0, D1 are used. Or to the software emulated by means of arduino, for this, contacts D7 and D8 of the Shield GPRS / GSM module are used. The full UART interface has 10 signals brought out to the pins in the corner of the board: R1, DCD, DSR, CTS, RTS, GND, 2V8, TX, RX, DTR.
The 12 signed GPIO digital I / O pins are located in the corner of the board. There are 2 PWM outputs PWM1, PWM2. ADC input pin ADC. The built-in time counter interface has 4 pins. Pin designation: DISP_CLK, DISP_DATA, DISP_D / C, DISP_CS.
Contact D9 is used for software control of switching on or off the SIM900.
An antenna connector is installed on the board.

Pin assignment of SIM900 component.

External power on and off

You can turn on or turn off the power supply to the module using a signal at the control input D9. To change the state, a 1 s pulse is sent to D9. The state change occurs 3.2 s after the beginning of the pulse.

Enabling the module. Graphs of module supply voltage, external control pulse and STATUS power indicator.

When the module is controlled by the master device, it should be turned on without using the Power key, i.e. immediately after power is applied. To do this, add several commands to the MK program.

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

This group of commands in the program can be used to turn off the module. You can also turn off the GSM module by sending an AT command.