I’m starting a project where I need to send data (probably hex data within SMS) from a PIC 18 series to a destination using a GSM/GPRS module, probably using the USART peripheral of the PIC to communicate with the module. I am currently experimenting with the PIC 18F4520, however I may use a different PIC18 for the final thing.
I was wondering if there was anyone out there who has already done this, that could perhaps give me a few suggestions. I’m not quite sure which module to use, so any advice would be greatly appreciated!
I’m starting a project where I need to send data (probably hex data within SMS) from a PIC 18 series to a destination using a GSM/GPRS module, probably using the USART peripheral of the PIC to communicate with the module. I am currently experimenting with the PIC 18F4520, however I may use a different PIC18 for the final thing.
I was wondering if there was anyone out there who has already done this, that could perhaps give me a few suggestions. I’m not quite sure which module to use, so any advice would be greatly appreciated!
Many thanks!
Greetings,
May be, the first step is try getting familiar with the 18F4520configuration fuses, I had some troubles with 18f4550 fuses at the beginning. Then, try using an AT Command capable Cell phone, very very cheap than a GSM/GPRS moduel… for example, those sony-ericcson models in market.
First step is to get the PIC UART working into a COMM port on your PC (use either a TTL to RS232 or a TTL to USB adapter). Then get the PIC code for the GSM working to a terminal program on the PC.
Funny you should say you are using an 18F4520…so am I!
Im just coming to the end of a project where I have PIC talking to my server sending and receiving commands. It also goes online to download JPG’s to a local USB memory stick. Cant give much more info away as under NDA…but its a fairly complicated project.
Started off using a Motorola H24 but after finding lots of bugs in the firmware and the support guys not getting back to me, I switched to the Telit UC864-G. Both of these are 3G modems (project needed it).
Advice to someone starting out…
Buy a dev kit. Dont just buy the module and build it on a PCB and expect it to work first time. They all have very specific power supply requirements which you will get wrong. The official dev kits are bleeding expensive but in my case was the only way to get these modules. Sparkfun do good boards, as do MikroElectronica (if I have spelt that right!).
If you are just sending SMS’es then this is part of the standard AT command set which all modems talk to. So in theory you can develop your code on an easy to use dev kit, and replace it with a much cheaper module at a later date. If you want to do TCPIP stuff, then every manufacturer seems to have their custom commands. Motorola was bad. Telit was VERY good.
Google around for “Telit Arduino”. Even though you are not using an Arduino, those folks have lots of libraries we can convert back to PIC C as well as lots of tutorials. The Sparkfun factor means lots of folks are using the GM862/3 breakouts (having brought them from sparkfun) so there is a lot of projects online that you can borrow bits from.
Depending on how complicated your project gets, it may be worth looking at using an RTOS to manage the GSM side of things. Im using FreeRTOS which is funnily enough free. Google “FreeRTOS PIC18” and there is a link to something like solarblog where someone has very helpfully done a fully working port to the PIC