Today i finished the interface for my Siemens M20T. This interface handles all the low-level communication with the M20T:
- Initialization at startup for things like PIN code, Echo setting, SMS mode;
- Sending SMS;
- Receiving SMS notifications and reading the SMS;
- Deleting read SMS message from the message store.
The class i created for handling the communication with the M20T was derived from a special ‘Physical Interface’ class i created a long time ago when i was developing the basics for my Home Automation system. All classes that interface with hardware, whether it is PLCBUS, RFXCOM, X-10 or whatever, are derived from that class. That way i only have to develop the device-specific routines and when that part is finished, the new hardware is instantly and completely integrated with the rest of my system:
No need to do additional development to enable an SMS to trigger an event, store historical data in the database, or to have the information available in my Home Automation GUI that’s running on my ASUS TOP in the living room. It’s just like writing a HS Plugin Last month i developed 2 new interfaces for new hardware this way.
The Siemens M20T will be moved to the place where lots of other Domotica hardware can be found, the fuse cabinet. There it will be attached to a Sollae EZL-400S, and occupy it’s 3rd port. The first 2 ports are going to be used by my X10 interface and my PLCBUS interface. Those last 2 interfaces are currently connected to 2 single port serial to Ethernet converters, but by connecting these 3 devices to a single multi-port serial to Ethernet converter i can save additional power usage.
Last week i bought a Siemens M20T. The Siemens M20 Terminal is a GSM900 Phase II voice, data, group 3 fax and SMS terminal device. This device has been on my wish list for a long time. Although i had the ability to send SMS by using Voipbuster, using a dedicated device like the Siemens M20 has always been my favorite. Last week the Siemens M20T arrived and yesterday i took some time to do some tests. After making a straight 1:1 RS232 cable and inserting the new arrived SIM, i connected the M20T to my PC and switched on the power adapter. The LED kept on blinking, where it should burn continuously. Of course, i had to enter the PIN code, so i started Hyperterminal and sent the appropriate command. So far so good.
Now it was time to test sending a SMS to my mobile phone. That wasn’t to hard, the command for sending a SMS is quite easy and human readable:
> TESTING 123<Ctrl+z>
It worked. One problem though; the mobile phone displayed an error message saying the message could not be displayed? After some searching i found out that the text mode SMS i sent with the command above, is not supported by all mobile phones. However there’s another mode to send a SMS, called PDU mode. It involves a bit more work in encoding the SMS before it can be sent to the M20T, but i found enough documentation to send my first PDU-mode SMS after 2 hours. This worked well!
The command for sending a PDU mode SMS looks like this:
The text sent is no longer human readable, the phone number is hard to recognize, but who cares if it’s working, as long as the M20T and my mobile phone understand it, it’s fine by me..
This evening i’ve started to write an interface to my Home Automation software so that i can send SMS messages whenever interesting things happen in and around my house.