2020. 2. 28. 13:27ㆍ카테고리 없음
Whether you want to listen to what happens in your house that’s miles away from you or activate sprinkler system in your garden just with a silent call; Then SIM900 GSM/GPRS shield serves as a solid launching point for you to get you started with IoT!SIM900 GSM/GPRS shield is a GSM modem, which can be integrated into a great number of IoT projects. You can use this shield to accomplish almost anything a normal cell phone can; SMS text messages, Make or receive phone calls, connecting to internet through GPRS, TCP/IP, and more! To top it off, the shield supports quad-band GSM/GPRS network, meaning it works pretty much anywhere in the world.
Hardware Overview of SIM900 GSM/GPRS ShieldThe SIM900 GSM/GPRS shield is designed to surround the SIM900 chip with everything necessary to interface with Arduino, plus a few extra goodies to take advantage of the chip’s unique features.Let’s familiarize ourselves with these features and abilities of the shield. Here’s a quick overview:The SIM900 shield packs a surprising amount of features into its little frame. Some of them are listed below:.
Supports Quad-band: GSM850, EGSM900, DCS1800 and PCS1900. Connect onto any global GSM network with any 2G SIM. Make and receive voice calls using an external earphone & electret microphone. Send and receive SMS messages. Send and receive GPRS data (TCP/IP, HTTP, etc.).
Scan and receive FM radio broadcasts. Transmit Power:. Class 4 (2W) for GSM850. Class 1 (1W) for DCS1800. Serial-based AT Command Set.
U.FL and SMA connectors for cell antenna. Accepts Full-size SIM CardFor more information about SIM900 GSM Cellular chip, check out this datasheet. LED Status IndicatorsThere are three LEDs on the SIM900 GSM/GPRS shield which indicates connectivity or power status. By observing these LEDs you can get a visual feedback on whats going on with the shield.PWR: This LED is connected to the shield’s power supply line. If this LED is on, the shield is receiving power.Status: This LED indicates SIM900’s working status. If this LED is on, the chip is in working mode.Netlight: This LED indicates the status of your cellular network. It’ll blink at various rates to show what state it’s in.
off: The SIM900 chip is not running. 64ms on, 800ms off: The SIM900 chip is running but not registered to the cellular network yet. 64ms on, 3 seconds off: The SIM900 chip is registered to the cellular network & can send/receive voice and SMS. 64ms on, 300ms off: The GPRS data connection you requested is active.Supplying Power for SIM900 ShieldOne of the most important parts of getting the SIM900 shield working is supplying it with enough power.Depending on which state it’s in, the SIM900 can be a relatively power-hungry device. The maximum current draw of the chip is around 2A during transmission burst. It usually won’t pull that much, but may require around 216mA during phone calls or 80mA during network transmissions.
This chart from the datasheet summarizes what you may expect: Current consumption of SIM900 chip at different states ModesFrequencyCurrent ConsumptionPower down60 uASleep mode1 mAStand by18 mACallGSM850199 mAEGSM900216 mADCS1800146 mAPCS1900131 mAGPRS453 mATransmission burst2 AThe operating voltage of SIM900 chip is from 3.4V to 4.4V. To keep supply voltage safe at 4.1V, the shield comes with a high current, high accuracy, low-dropout voltage regulator MIC29302WU from Micrel – capable of handling load currents up to 3A.You can add an external power supply to the shield with the 5.5mm DC jack, to which you can connect any 5V-9V DC wall adapter you have. Next to the DC jack, is a Slide Switch to select the power source labeled EXTERN. To use external power source, move the slider as shown above. WARNINGThe power supply should be able to source minimum 2A of surge current, otherwise the chip will keep shutting down.
UART CommunicationThe SIM900 GSM/GPRS shield uses UART protocol to communicate with an Arduino. The chip supports baud rate from 1200bps to 115200bps with Auto-Baud detection.With the help of jumpers you can connect (RX,TX) of the shield to either Software Serial(D8,D7) or Hardware Serial(D1,D0) of the Arduino.Speaker & MicrophoneThe shield comes with two standard 3.5mm jacks. One for stereo earphone and other for mono microphone. It allows you to use SIM900’s audio interface to make and receive voice calls and listen FM radio.Mic: You can connect an external electret microphone to this jack.Earphone: You can connect earphones to this jack. Any ‘iPhone’ or ‘Android’ compatible earphones should work. AntennaAn antenna is required to use the SIM900 for any kind of voice or data communications as well as some SIM commands.The shield has two interfaces for connecting antenna viz. A U.FL connector and a SMA connector.
Gsm Sms Pcap
They are connected through a patch cord.The shield usually comes with a 3dBi GSM antenna and allows you to put the shield inside a metal case(as long the antenna is outside). SIM SocketThere’s a SIM socket on the back. Any activated, 2G full-size SIM card would work perfectly.The workings of the SIM card socket can take some getting used to. To unlock the latch, push the top part of the assembly, and then lift it up.
Place the SIM card into the bottom part of the socket. Then fold the arm back into the body of the socket, and gently push it forward towards the LOCK position. RTC(Real Time Clock)The SIM900 shield can be configured to keep time. So there is no need for any separate RTC. This will keep the time even when the power is OFF.If you want to use internal RTC, you need to install CR1220 battery at the back side of the shield.
NOTEYour network provider may not support setting the time automatically. In that case you can do it manually using AT+CCLK AT command. Connecting SIM900 GSM/GPRS Shield to Arduino UNONow that we know everything about the shield, we can begin hooking it up to our Arduino!To start with, connect D7(Tx) and D8(Rx) pin on shield to digital pin#7 and #8 on Arduino.
As we’ll be using software serial to talk to the shield, make sure the jumper cap is placed on the software serial port select.Power the shield using external power supply rated 5V 2A. Do not be tempted to connect this pin to 5V supply on Arduino, as the shield may not work due to the lack of supply current. Also make sure you select the external power source with the slide switch next to the DC jack.Now connect all the ground in the circuit.Finally, connect the antenna, insert fully activated SIM card in the socket. Connecting SIM900 GSM Shield to PCIn order to operate SIM900 GSM Shield directly over PC, you need to connect it to PC using any USB to TTL converter.Below image shows SIM900 GSM Shield connected to PC through PL2303 USB to TTL converter.Powering Up/Down SIM900 ChipEven if you power the shield up, you need to turn on the SIM900 chip to get it working.As per datasheet, pulling the PWRKEY pin on the chip LOW for at least 1 second will power up/down the chip. There are two ways to do this with our shield. Hardware TriggerThe shield comes with a right angle tactile switch situated near the PWR LED indicator.
You need to press that switch for about 2 seconds to power the shield up/down. Software triggerInstead of manually pressing the PWRKEY every time, you can turn the SIM900 up/down programmatically.First, you need to solder the SMD jumper named R13 on the shield as highlighted in the image.Next, you need to connect D9 pin on the shield to the D9 pin on Arduino.Finally, you need to add following custom function in your program. //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)Serial.
Begin( 9600);//Begin serial communication with Arduino and SIM900mySerial. Begin( 9600);Now that we have established a basic connection, we will try to communicate with the SIM900 shield by sending AT commands.AT – It is the most basic AT command. It also initializes Auto-baud’er.
If it works you should see the AT characters echo and then OK, telling you it’s OK and it’s understanding you correctly! You can then send some commands to query the shield and get information about it such asAT+CSQ – Check the ‘signal strength’ – the first # is dB strength, it should be higher than around 5. Higher is better.
Of course it depends on your antenna and location!AT+CCID – get the SIM card number – this tests that the SIM card is found OK and you can verify the number is written on the card.AT+CREG? Check that you’re registered on the network. The second # should be 1 or 5. 1 indicates you are registered to home network and 5 indicates roaming network. Other than these two numbers indicate you are not registered to any network. Println( 'AT'); //Handshaking with SIM900 updateSerial;mySerial.
Println( 'AT+CSQ'); //Signal quality test, value range is 0-31, 31 is the best updateSerial;mySerial. Println( 'AT+CCID'); //Read SIM information to confirm whether the SIM is plugged updateSerial;mySerial.
Println( 'AT+CREG?' ); //Check whether it has registered in the network updateSerial;In the looping part of the code, we call custom function called updateSerial which continuously waits for any inputs from the serial monitor and send it to the SIM900 shield through the D8 pin (Rx of shield). It also continuously reads the D7 pin (Tx of shield) if the shield has any responses.
Println( 'AT+CMGF=1'); // Configuring TEXT mode updateSerial;mySerial. Println( 'AT+CMGS='+ZZxxxxxxxxxx'); //change ZZ with country code and xxxxxxxxxxx with phone number to sms updateSerial;mySerial. Print( 'Last Minute Engineers lastminuteengineers.com'); //text content updateSerial;mySerial. Write( 26);The loop is kept empty as we want to send SMS only once. If you wish to send SMS one more time, just hit the RESET key on your Arduino. Below screenshot shows SMS sent from SIM900 GSM/GPRS shield.Arduino Code – Reading SMSNow let’s program our Arduino to read incoming messages. This sketch is very useful when you need to trigger an action when a specific SMS is received.
For example, when the Arduino receives an SMS, you can instruct it to turn on or off a relay. You got the idea! Println( 'AT+CMGF=1'); // Configuring TEXT mode updateSerial;mySerial. Println( 'AT+CNMI=1,2,0,0,0'); // Decides how newly arrived SMS messages should be handled updateSerial;Note that this time we have NOT kept the loop function empty as we are polling for newly arrived SMS messages. Once you send the SMS to SIM900 GSM/GPRS shield, you will see below output on serial monitor.Expanding Arduino SoftwareSerial Buffer SizeIf your message is long enough just like ours, then you’ll probably receive it with some missing characters.
Running Voice Gsm 2017
This is not because of a faulty code. Your SoftwareSerial receive buffer is getting filled up and discarding characters. You are not reading fast enough from the buffer.The simplest solution to this is to increase the size of the SoftwareSerial buffer from its default size of 64 bytes to 256 bytes (or smaller, depending on what works for you).On a Windows PC, go to C:Program Files (x86) - Arduino - hardware - Arduino - avr - libraries - SoftwareSerial (- src for newer version of Arduino IDE) Open SoftwareSerial.h and change the line.
// RX buffer size#define SSMAXRXBUFF 256Save the file and try your sketch again. Expanding Arduino SoftwareSerial Buffer Size Arduino Code – Making CallNow let’s program our Arduino to make call. This sketch is very useful when you want your Arduino to make an SOS/distress call in case of emergency like temperature being exceeded or someone breaks into your house. You got the idea!Before trying the sketch out, you need to enter the phone number. Search for the string ZZxxxxxxxxxx and replace ZZ with county code and xxxxxxxxxx with the 10 digit phone number. Println( 'ATD+ +ZZxxxxxxxxxx;'); // change ZZ with country code and xxxxxxxxxxx with phone number to dial updateSerial;delay( 20000); // wait for 20 seconds.mySerial.
Println( 'ATH'); //hang up updateSerial;Below screenshot shows call made from SIM900 GSM/GPRS shield.Arduino Code – Receiving CallReceiving call doesn’t require any special code; you just have to keep listening to the SIM900 shield. Yet, you may find this sketch very useful, when you need to trigger an action when a call from specific phone number is received.
.Ever wanted to make an Arduino voice control project? Recently I watched this video of a Harry Potter magic wand that you can command to turn on lights and order food!Disclaimer: I’m not a Harry Potter fan, not a fan of Star Trek or Star Wars either!
Total Game of Thrones nerd though, check out my.I was wondering what the components are, I could recognize what looks like the but I couldn’t find details on the voice recognition module used.While I was looking for a suitable Arduino voice control module, I found the best 5 modules and I thought I’d share the list I have, let’s start with the first one! 1. EasyVR Shield 3.0First and most popular is the EasyVR shield 3.0, a voice recognition Arduino shield with a selection of 26 built-in Speaker Independent (SI) commands (available in US English, Italian, Japanese, German, Spanish and French) for ready to run basic controls.You can also record your own commands (up to 32 triggers) as well as voice passwords. Check out this quick demo video by Sparkfun to see how it works:For more information on how to use it, check out the, and you can for $49.95.Also check out this. ELECHOUSE Voice Recognition Module V3Unlike the EasyVR shield, this module does not come with pre-installed commands, you have to train it yourself before using it. However, it does support up to 80 voice commands, maximum 7 at the same time.The is very well documented and it comes with an Arduino library, check out this tutorial video to learn how to connect it to Arduino.You can for only $28. Tigal SmartVR Voice Recognition BoardIt is capable of running both Speaker Dependent Recognition (works with any language but requires user training) and Speaker Independent Recognition (do not require user training) available in US English, UK English, German, French, Italian, LA Spanish, Japanese and Korean.This is an easy to use development board (can work with or without an Arduino), it has voice recognition and verification capabilities (recognizes only the trained voice). Check out this tutorial video on how to use it.Check out the for more detailed instructions, and for $60.47.Also checkout the.
Grove – Speech RecognizerSeeed Studio built this speech recognizer that can recognize 22 pieces of commands including ‘start’, ‘stop’, ‘Play music’ and so on. Every time it recognizes a command, it will return a value and then the loudspeaker that connected to it will repeat the command.Checkout this quick demo video, as you see you should use the awaken word “Hicell” as pronounced in the video.You can for only $19.5. 5. ReSpeaker CoreAnother one by Seeed Studio is the ReSpeaker Core, it supports both speech recognition and text to speech, and it works both offline and online.What I like most about it is that it has an that can get your orders from far away places and while music is playing. Check out this quick demo video.I wrote about it before when, although it has not shipped yet, you can for $69.