SMSCON
SMSCON provides complete control of your N900 by sending SMS messages to it. This is particularly handy in case you cannot find your phone, for example if it has been lost or stolen.
SMSCON is a two part Python script running in CLI; smscon
and smscon_daemon
. smscon
is the CLI control part and smscon_daemon
is the "running in the background" part. The configuration file for all the user settings is in the smscon_config
file.
Contents |
Functionality
SMSCON can:
- autoload at boot (this is default set at install of smscon package); when device reboots it loads
smscon_daemon
in the background. - creates a log file (on the device)
- detect SIM card change and sends new phonenumber and IMSI code (returns SMS) to other known mobile number; if somebody has stolen your phone and put his/hers own SIM card in it.
- send current GPS location coordinates (returns SMS or EMAIL with GoogleMaps picture with location on it).
- reboot the phone; only works if your SIM card hasn't a lock code.
- shutdown the phone.
- open a reverse ssh connection to your own server (GPRS connection); control the device at CLI level from your own home.
- email a frontcam picture to your email address (GPRS connection); to see where your phone is or who is using it.
- send the current remaining battery charge (returns SMS).
- make the phone call you; you can listen where your phone is (returns phonecall)
- lock the device; nobody can control your device anymore.
Installation
SMSCON is writen in Python and needs the following packages installed on your device to install and run:
apt-get install maemo-python-device-env apt-get install python-location apt-get install pexpect apt-get install gstreamer-tools apt-get install openssh
The two (smscon
and smscon_daemon
) are placed in the /usr/bin
directory.
Also you need a fixed IP address on your remote server for the reverse-ssh (port 22) connection, if you want to use the 'Remoteon' / 'Remoteoff' function.
Usage
SMSCON is triggered by a SMS message with a predefined known command and then will execute the task in the background. If so it will send a reply SMS with the information.
Commands
The default commands are:
Nokia-N900:~# smscon -sms COM_CHECK = 'Check' COM_REBOOT = 'Reboot' COM_POWEROFF = 'Poweroff' COM_POWER = 'Power' COM_LOCATION = 'Location' COM_REMOTEON = 'Remoteon' COM_REMOTEOFF = 'Remoteoff' COM_CAMERA = 'Camera' COM_CALL = 'Call' COM_LOCK = 'Lock' COM_UNLOCK = 'Unlock' COM_TRACKON = 'Trackon' COM_TRACKOFF = 'Trackoff'
These commands can be altered in the smscon_config
file:
# smscon user settings (v0.4.2) # (edit only the user settings below!) # Sms settings SENDERNUMBER = '+XXXXXXXXXXX' # Sms commands COM_CHECK = 'Check' COM_REBOOT = 'Reboot' COM_POWEROFF = 'Poweroff' COM_POWER = 'Power' COM_LOCATION = 'Location' COM_REMOTEON = 'Remoteon' COM_REMOTEOFF = 'Remoteoff' COM_CAMERA = 'Camera' COM_CALL = 'Call' COM_LOCK = 'Lock' COM_UNLOCK = 'Unlock' COM_TRACKON = 'Trackon' COM_TRACKOFF = 'Trackoff' # Email settings # (only works for smtp access without secure authentication!) EMAILADDRESS = 'XXXXX@XXXXXXXXXXX.XX' USER = 'XXXXXXXX' PASSWORD = 'XXXXXXXX' EMAILFROM = 'XXXXXXXX@XXXXXX.XX' MAILSERVER = 'XXXX.XXXXXX.XX' MAILPORT = 25 # Reverse-ssh settings REMOTEHOST = 'XXXXXXXXXXX.XX' REMOTEPORT = 22 REMOTEUSER = 'XXXXXXXXXXXXX' REMOTEPASSWORD = 'XXXXXXXXXX' # Send acknowledge sms # (send acknowledge sms after receiving valid sms command: 'yes' / 'no') COMMANDREPLY = 'no' # Device lock # (lock device after receiving valid sms command: 'yes' / 'no') AUTODEVICELOCK = 'no' # Gps setings # (if no gps coordinates acquired after 600 seconds then stop) GPSTIMEOUT = 600 # (number of gps coordinates to acquire and use the most accurate in "Location" mode) GPSPOLLING = 4 # (time between sending coordinate sms in 'Trackon' mode: 10 / 20 / 30 / 60 / 120) GPSINTERVAL = 60 # (method to send gps coordinates: 'email' / 'sms') GPSSEND = 'email'
Options
The available options for SMSCON are:
Nokia-N900:~# smscon == smscon v0.4.2 - Nokia N900 remote control utility == Options: -start : start smscon_daemon -stop : stop smscon_daemon -status : get smscon_daemon status -log : show log file -del log : erase log file -sms : show sms commands -help : this help menu Special options: -boot : start smscon_daemon at device boot -unboot : remove start of smscon_daemon at device boot -reset : factory default -imsi : show imsi code file -del imsi : delete smscon_code file -init : create default smscon_config -del config : delete smscon_config file
SMSCON is intended for people who have Python programming / Linux experience so you can adjust the script to their own needs.
After installation
After installation smscon
will generate a new configuration file (/usr/bin/smscon_config
) which you *must* edit to your own needs (i.e. change all "xxxxxxx"'s).
Warning: Use Putty / WinSCP on Windows for this. Don't use a Windows editor, this may break the config file!
SMSCON will also be installed to autoload at boot, this can be disabled with the command "smscon -unboot
" and re-enabled by "smscon -boot
".
The first time you start SMSCON (smscon -start
) it loads the configured user settings file and is now active. smscon_daemon
then stores your valid IMSI code in a file (/usr/bin/smscon_code
) if the file doesn't exist. When later a new SIM card is inserted the new IMSI code is verified with the code in the stored file. This is the "SIM card change detect".
Nokia-N900:~# smscon -start smscon_daemon started.
All user action and behavior of smscon_daemon
will be logged in the log file:
Nokia-N900:~# smscon -log SMSCON INFO: smscon_daemon active (09-09-2010 11:00:48) DAEMON INFO: user settings succesfully loaded from "smscon_config" file (09-09-2010 11:00:49) DAEMON INFO: reading valid IMSI code (XXXXXXXXXXXXXXX) from file (09-09-2010 11:00:49) DAEMON INFO: authorized IMSI code found (09-09-2010 11:00:49) DAEMON INFO: smscon autoloads at boot (09-09-2010 11:00:49)
Remote SSH connection
When the (reverse-)SSH connection is made (default command 'Remoteon' / 'Remoteoff') you can from the server side (your own server) connect to your Nokia device with the following command:
ssh -p 8080 localhost -l root
Current version v0.4.3
REMOVE PREVIOUS VERSION FROM NOKIA BEFORE USING 0.4.0 or higher
(reason: major change in smscon_config
file)!
- new sms number now only save in
smscon_config
file if sms contains command. This behavior wasn't in 0.4.2; all sms numbers were saved, bug fix. - bug fixes.
- sms commands have changed; you can now use spaces in commands.
-
smscon_daemon
will use only GPRS connection for sending email and reverse-ssh connection. -
smscon_daemon
will lock the device after first valid sms command is received (user configurable). -
smscon_daemon
now stores the phonenumber where you send your control sms's from intosmscon_config
(SENDERNUMBER
). - added new control command "Lock" and "Unlock"; you now can lock and unlock your device so nobody can use your device.
- added new control command "Trackon" and "Trackoff"; continiously send (after
GPSINTERVAL
time) sms's (with current location) or email messages (HTML email with current location as a GoogleMaps picture!). - at the moment SMSCON can only connect to a smtp server (for sending email) without secure authentication. (will be solved in the future I hope).
- email sending and ssh connection -only works- through GPRS connection.
- when installing future updates of SMSCON user settings file (
smscon_config
) is not deleted or overwritten (only for version 0.4.0 or higher) - command smscon -reset resets your complete configuration to the state after your smscon package installation. (deleting boot, config, code and log file)
-
smscon_daemon
will stop if no SIM card is found at boot. No SMS sending/receiving capability --> no control. - changed the way the log file is shown.
Known Issues
v0.4.3 (current)
- "Trackon" is reported not to work (confirmed by digitalvoid)
-
smscon_daemon
does not start at boot when requested (confirmed) - commands cannot accept spaces (unconfirmed by digitalvoid)
v0.4.2
- the default number is replaced by every mail received and not only those requesting a command. (confirmed & fixed in version 0.4.3)
v0.4.1
- "Trackon" is reported not to work (confirmed)
- Reply command sends duplicates (unconfirmed)
v0.4.0
- will not work due to a typo in variable name (confirmed and fixed in version 0.4.1)
Future development
- saving all
smscon_config
user variables in gconf database. No need forsmscon_config
file anymore. - only send camera picture (command "Camera") when keyboard slider is opened.
Testers needed
Please test this software, I like to hear if it works for you or not. I only could test it with two Vodafone SIM cards from The Netherlands, I want to know if it also works with other cards and networks in other countries...
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 only.
Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.