summaryrefslogtreecommitdiff
path: root/docs/manual/quick/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/quick/index.rst')
-rw-r--r--docs/manual/quick/index.rst200
1 files changed, 200 insertions, 0 deletions
diff --git a/docs/manual/quick/index.rst b/docs/manual/quick/index.rst
new file mode 100644
index 0000000..b83c13e
--- /dev/null
+++ b/docs/manual/quick/index.rst
@@ -0,0 +1,200 @@
+.. _quick:
+
+Quick starter guide
+===================
+
+Gammu family
+------------
+
+Gammu family consists of several programs and libraries:
+
+:ref:`gammu`
+ Command line utility to talk to the phone. It performs one time operations
+ only.
+`Wammu <https://wammu.eu/wammu>`_
+ Graphical interface for Gammu, providing basic functions.
+:ref:`gammu-smsd`
+ Daemon to receive and send messages using your phone.
+:ref:`gammu-smsd-inject`
+ Injects outgoing messages into :ref:`gammu-smsd` queue.
+:ref:`gammu-detect`
+ Simple utility to detect phones or modems connected to computer.
+:ref:`python`
+ Python bindings for Gammu, use it from Python scripts.
+:ref:`libgammu`
+ Core library, used by all other parts and you can use it directly in your C
+ programs.
+
+Installing Gammu
+----------------
+
+On most platforms you can install Gammu from binaries - most Linux
+distributions ship Gammu and for Windows you can download binaries from
+`Gammu website <https://wammu.eu/download/>`_. You can find more detailed
+instructions (including instructions for compiling from source) in
+:ref:`installing`.
+
+Starting with Gammu on Linux
+----------------------------
+
+First you need to find out device name where your phone/modem is connected. In
+most cases you can rely on :ref:`gammu-detect` to find it (it will also list
+all serial ports in your systems, where probably nothing is connected).
+
+Generally for most current modems you will end up with ``/dev/ttyUSB0``.
+
+The next step is to create configuration file in :file:`~/.gammurc` (see
+:ref:`gammurc`):
+
+.. code-block:: ini
+
+ [gammu]
+ device = /dev/ttyUSB0
+ connection = at
+
+And you can connect to the phone:
+
+.. code-block:: console
+
+ $ gammu identify
+ Device : /dev/ttyUSB0
+ Manufacturer : Wavecom
+ Model : MULTIBAND 900E 1800 (MULTIBAND 900E 1800)
+ Firmware : 641b09gg.Q2403A 1320676 061804 14:38
+ IMEI : 123456789012345
+ SIM IMSI : 987654321098765
+
+Starting with Gammu on Windows
+------------------------------
+
+First you need to find out device name where your phone/modem is connected. The
+easiest way is to look into :guilabel:`Device manager` under
+:guilabel:`Ports (COM & LPT)` and lookup correct COM port there.
+
+Generally for most current modems you will end up with something like
+``COM12``.
+
+The next step is to create configuration file in
+:file:`$PROFILE\\Application Data\\gammurc` (see :ref:`gammurc`):
+
+.. code-block:: ini
+
+ [gammu]
+ device = COM12:
+ connection = at
+
+And you can connect to the phone:
+
+.. code-block:: console
+
+ C:\Program Files\Gammu 1.33.0\bin> gammu identify
+ Device : COM12:
+ Manufacturer : Wavecom
+ Model : MULTIBAND 900E 1800 (MULTIBAND 900E 1800)
+ Firmware : 641b09gg.Q2403A 1320676 061804 14:38
+ IMEI : 123456789012345
+ SIM IMSI : 987654321098765
+
+Starting with SMSD
+------------------
+
+.. note::
+
+ Before starting with SMSD, make sure you can connect to your phone using
+ Gammu (see chapters above for guide how to do that).
+
+Once you have configured Gammu, running :ref:`gammu-smsd` is pretty easy. You
+need to decide where you want to store messages (see :config:option:`Service`).
+For this example we will stick with MySQL database, but the instructions are
+quite similar for any storage service.
+
+Configuring the storage
++++++++++++++++++++++++
+
+First we have to setup the actual storage. With MySQL, we need access to the
+MySQL server. Now connect as administrative user to the server (usually
+``root``), grant privileges to the ``smsd`` user and create ``smsd`` database:
+
+.. code-block:: mysql
+
+ GRANT USAGE ON *.* TO 'smsd'@'localhost' IDENTIFIED BY 'password';
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON `smsd`.* TO 'smsd'@'localhost';
+
+ CREATE DATABASE smsd;
+
+Once this is ready, you should import the tables structure. It is shipped as
+:file:`docs/sql/mysql.sql` with Gammu, so all you have to do is to import this
+file (see :ref:`mysql-create` for more details):
+
+.. code-block:: console
+
+ $ mysql -u root -p password smsd < docs/sql/mysql.sql
+
+Configuring SMSD
+++++++++++++++++
+
+Now we just have to tell SMSD what service it is supposed to use. This is done
+in the SMSD configuration file. You can place it anywhere and tell SMSD on
+startup where it can find it, but on Linux the recommended location for system
+wide service is :file:`/etc/gammu-smsdrc` (see :ref:`gammu-smsdrc` for more
+information).
+
+You have to put both modem and storage service configuration into this file:
+
+.. code-block:: ini
+
+ [gammu]
+ device = /dev/ttyUSB0
+ connection = at
+
+ [smsd]
+ service = SQL
+ driver = native_mysql
+ host = localhost
+ database = smsd
+ user = smsd
+ password = password
+
+There are many ways to customize SMSD, but the defaults should work fine in
+most environments. You can find more information on customizing SMSD in
+:ref:`gammu-smsdrc`.
+
+Running SMSD
+++++++++++++
+
+With configuration file ready, you can actually start SMSD. You can do this
+manually or as a system wide service.
+
+For manual startup, just execute it:
+
+.. code-block:: console
+
+ $ gammu-smsd
+
+Alternatively you can specify path to the configuration file:
+
+.. code-block:: console
+
+ $ gammu-smsd -c /path/to/gammu-smsdrc
+
+The binary packages on Linux usually come with support for starting SMSD as a
+system wide daemon.
+
+With systemd, you can start it by:
+
+.. code-block:: console
+
+ $ systemctl start gammu-smsd.service
+
+Sending message through SMSD
+++++++++++++++++++++++++++++
+
+Once SMSD is up and running, you can send some messages using it:
+
+.. code-block:: console
+
+ $ gammu-smsd-inject TEXT 123456 -text "All your base are belong to us"
+
+You can find more examples in the :ref:`gammu-smsd-inject` documentation:
+:ref:`smsd-inject-examples`.