Using SMS in your personal projects Or... how I came to write smsToLaconica Presenter: Jon ”The Nice Guy” Spriggs Liverpool Barcamp December 2008 identi.ca - @jontheniceguy twitter.com - @jonspriggs
Using SMS in your personal projects Most of us know how to send text messages
Using SMS in your personal projects Most people know how to send text messages well... except my dad
Using SMS in your personal projects And programmers all know how to read from databases
Using SMS in your personal projects And programmers all know how to read from databases mostly
Using SMS in your personal projects So, why not use something which would read SMS messages from a mobile phone, and insert them into a database for processing?
Using SMS in your personal projects Of course, I couldn't find one so I wrote one!
Using SMS in your personal projects I wanted to help users who like exchanging SMS with microblogging sites (like Twitter or Identi.ca)
Using SMS in your personal projects But couldn't because they turned it off
Using SMS in your personal projects Or didn't have it in my country for my network
Using SMS in your personal projects It also meant I had a project to work on :)
Using SMS in your personal projects Enter smsToLaconica
Using SMS in your personal projects Crap name huh?
Using SMS in your personal projects Laconica is the microblogging software I was writing for initially
Using SMS in your personal projects My first draft only took SMS messages and sent them to Laconi.ca based sites e.g. ”Yey! I'm talking at #BarcampLiverpool”
Using SMS in your personal projects Next I wanted to also send SMSs back from my direct messages and replies e.g. ”@jontheniceguy I'm loving it so far!”
Using SMS in your personal projects (I hope that's what I'll read!)
Using SMS in your personal projects So, I had to learn about how to send and receive SMS messages.
Using SMS in your personal projects It's actually pretty easy.
Using SMS in your personal projects Kinda...
Using SMS in your personal projects The mobile phone acts like a modem – you talk to it with AT commands
Using SMS in your personal projects AT+CMGL=”All” or AT+CMGL=4 These commands retrieve all messages on your phone, depending on the modes your phone will accept – PDU or Text
Using SMS in your personal projects Modes in SMS
Using SMS in your personal projects PDU is a binary format – it's 7 bit binary, stored in 8 bit chunks converted to hex.
Using SMS in your personal projects The messages look like this: 07911326040000F0040B911346610089F600002080629 17314080CC8F71D14969741F977FD07
Using SMS in your personal projects I found it really hard to send SMS messages in PDU mode, so I switched my focus to TEXT mode
Using SMS in your personal projects I found it really hard to send SMS messages in PDU mode, so I switched my focus to TEXT mode Which is just normal text
Using SMS in your personal projects You don't need to know all the detail now, but it does work
Using SMS in your personal projects And you don't ACTUALLY need to be working with Laconi.ca or identi.ca to use the code in your own site!
Using SMS in your personal projects It's just a PHP script which you run as a daemon!
Using SMS in your personal projects (You might need to tweak it a bit!)
Using SMS in your personal projects The code is released under the Affero General Public License (v3), but if you contact me directly, I'll consider re-licensing for your project
Using SMS in your personal projects Or, you could just look at lib_text.php or lib_pdu.php in the source code
Using SMS in your personal projects So, where is the source code?
Using SMS in your personal projects Sourceforge of course!
Using SMS in your personal projects It's at http://sourceforge.net/projects/laconicatools
Using SMS in your personal projects Or http://is.gd/2pad for short!
Using SMS in your personal projects What do you need to make it run?
Using SMS in your personal projects A mobile phone
Using SMS in your personal projects One you can connect to with a data cable or bluetooth
Using SMS in your personal projects That exposes the modem as a serial port
Using SMS in your personal projects (Nokia's do well on this, and most of us have an old one kicking around)
Using SMS in your personal projects I use a Linux daemon called ser2net to expose the serial port via telnet (on port 2000)
Using SMS in your personal projects And then you need PHP, and a database that PHP knows how to talk to (which is most of them!)
Using SMS in your personal projects And that's it
Using SMS in your personal projects Any questions?

Using SMS in your personal project

  • 1.
    Using SMS inyour personal projects Or... how I came to write smsToLaconica Presenter: Jon ”The Nice Guy” Spriggs Liverpool Barcamp December 2008 identi.ca - @jontheniceguy twitter.com - @jonspriggs
  • 2.
    Using SMS inyour personal projects Most of us know how to send text messages
  • 3.
    Using SMS inyour personal projects Most people know how to send text messages well... except my dad
  • 4.
    Using SMS inyour personal projects And programmers all know how to read from databases
  • 5.
    Using SMS inyour personal projects And programmers all know how to read from databases mostly
  • 6.
    Using SMS inyour personal projects So, why not use something which would read SMS messages from a mobile phone, and insert them into a database for processing?
  • 7.
    Using SMS inyour personal projects Of course, I couldn't find one so I wrote one!
  • 8.
    Using SMS inyour personal projects I wanted to help users who like exchanging SMS with microblogging sites (like Twitter or Identi.ca)
  • 9.
    Using SMS inyour personal projects But couldn't because they turned it off
  • 10.
    Using SMS inyour personal projects Or didn't have it in my country for my network
  • 11.
    Using SMS inyour personal projects It also meant I had a project to work on :)
  • 12.
    Using SMS inyour personal projects Enter smsToLaconica
  • 13.
    Using SMS inyour personal projects Crap name huh?
  • 14.
    Using SMS inyour personal projects Laconica is the microblogging software I was writing for initially
  • 15.
    Using SMS inyour personal projects My first draft only took SMS messages and sent them to Laconi.ca based sites e.g. ”Yey! I'm talking at #BarcampLiverpool”
  • 16.
    Using SMS inyour personal projects Next I wanted to also send SMSs back from my direct messages and replies e.g. ”@jontheniceguy I'm loving it so far!”
  • 17.
    Using SMS inyour personal projects (I hope that's what I'll read!)
  • 18.
    Using SMS inyour personal projects So, I had to learn about how to send and receive SMS messages.
  • 19.
    Using SMS inyour personal projects It's actually pretty easy.
  • 20.
    Using SMS inyour personal projects Kinda...
  • 21.
    Using SMS inyour personal projects The mobile phone acts like a modem – you talk to it with AT commands
  • 22.
    Using SMS inyour personal projects AT+CMGL=”All” or AT+CMGL=4 These commands retrieve all messages on your phone, depending on the modes your phone will accept – PDU or Text
  • 23.
    Using SMS inyour personal projects Modes in SMS
  • 24.
    Using SMS inyour personal projects PDU is a binary format – it's 7 bit binary, stored in 8 bit chunks converted to hex.
  • 25.
    Using SMS inyour personal projects The messages look like this: 07911326040000F0040B911346610089F600002080629 17314080CC8F71D14969741F977FD07
  • 26.
    Using SMS inyour personal projects I found it really hard to send SMS messages in PDU mode, so I switched my focus to TEXT mode
  • 27.
    Using SMS inyour personal projects I found it really hard to send SMS messages in PDU mode, so I switched my focus to TEXT mode Which is just normal text
  • 28.
    Using SMS inyour personal projects You don't need to know all the detail now, but it does work
  • 29.
    Using SMS inyour personal projects And you don't ACTUALLY need to be working with Laconi.ca or identi.ca to use the code in your own site!
  • 30.
    Using SMS inyour personal projects It's just a PHP script which you run as a daemon!
  • 31.
    Using SMS inyour personal projects (You might need to tweak it a bit!)
  • 32.
    Using SMS inyour personal projects The code is released under the Affero General Public License (v3), but if you contact me directly, I'll consider re-licensing for your project
  • 33.
    Using SMS inyour personal projects Or, you could just look at lib_text.php or lib_pdu.php in the source code
  • 34.
    Using SMS inyour personal projects So, where is the source code?
  • 35.
    Using SMS inyour personal projects Sourceforge of course!
  • 36.
    Using SMS inyour personal projects It's at http://sourceforge.net/projects/laconicatools
  • 37.
    Using SMS inyour personal projects Or http://is.gd/2pad for short!
  • 38.
    Using SMS inyour personal projects What do you need to make it run?
  • 39.
    Using SMS inyour personal projects A mobile phone
  • 40.
    Using SMS inyour personal projects One you can connect to with a data cable or bluetooth
  • 41.
    Using SMS inyour personal projects That exposes the modem as a serial port
  • 42.
    Using SMS inyour personal projects (Nokia's do well on this, and most of us have an old one kicking around)
  • 43.
    Using SMS inyour personal projects I use a Linux daemon called ser2net to expose the serial port via telnet (on port 2000)
  • 44.
    Using SMS inyour personal projects And then you need PHP, and a database that PHP knows how to talk to (which is most of them!)
  • 45.
    Using SMS inyour personal projects And that's it
  • 46.
    Using SMS inyour personal projects Any questions?