如何安装Raspberry Pi SMS服务器

本教程将向您介绍如何在Raspberry Pi 2 Model B上运行Raspbian来设置SMS服务器。我们将使用playsms和smstools。在我的前...

如何安装Raspberry Pi SMS服务器

在我们开始之前

本教程将向您展示如何在运行Raspbian的Raspberry Pi 2 Model B上设置SMS服务器。

我们将使用剧情和smstools。 在我的例子中,我使用了华为E3131 3G调制解调器。

拉斯比

首先我们需要下载raspbian,您可以通过https://www.raspberrypi.org/downloads/获取最新版本

直接url:http: //downloads.raspberrypi.org/raspbian_latest

现在我们需要解压文件:2015-05-05-raspbian-wheezy.zip:

unzip 2015-05-05-raspbian-wheezy.zip

您将收到一个名为2015-05-05-raspbian-wheezy.img的文件该文件必须写入您的micro-sd卡。

如果您需要了解如何使用raspberry pi的一些基础知识,并将图像写入micro-sd,则可以先阅读本教程:

https://www.howtoing.com/tutorial/howto-install-raspbian-on-raspberry-pi/

将图像文件写入micro-sd卡,在我的电脑上,micro-sd卡被看作是/ dev / mmcblk0在Linux上可以使用dd:

dd bs=4M if=2015-05-05-raspbian-wheezy.img of=/dev/mmcblk0

  • 请注意,块大小设置为4M将大部分时间工作; 如果没有,请尝试1M,虽然这将花费更长的时间。
  • 另外请注意,如果您没有以root身份登录,则需要使用sudo前缀

当图像写入时,将micro-sd卡插入您的Raspberry Pi,然后将其打开。

当Raspberry Pi启动时,您应该首次看到一个这样的屏幕。

现在我选择以下选项:

1 Expand Filesystem
3 Enable Boot To Desktop/Scratch -> Select Console Text Console, requiring login (default)
8 Advanced Options -> A4 SSH -> Enable
8 Advanced Options -> A0 Update
Finish -> Reboot

现在您可以使用以下用户名登录: pi和密码: raspberry。

首先,我们通过编辑设置我们的服务器的网络配置

sudo nano /etc/network/interfaces

我的/ etc / network / interfaces文件看起来像这样(改变你的需要的设置):

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
        address 10.255.50.30
        netmask 255.255.255.0
        gateway 10.255.50.1
        dns-nameservers 8.8.8.8 8.8.4.4

现在我们在Pi上重新启动网络服务:

sudo /etc/init.d/networking restart

然后我们使用以下命令在启动时禁用DHCP:

sudo update-rc.d -f dhcpcd remove

如果你不知何故再次启用它,只需运行以下命令:

sudo update-rc.d dhcpcd defaults

现在我们可以使用诸如PuTTY之类的SSH客户端从PC连接到Raspberry Pi。

现在我们用以下命令更新raspbian:

sudo apt-get update &&  apt-get upgrade -y && apt-get dist-upgrade -y

PlaySMS

下载并安装播放1.1:

sudo -s
apt-get install apache2 libapache2-mod-php5 mysql-server php5 php5-cli php5-mysql php5-mcrypt php5-gd php5-imap php5-curl
php5enmod mcrypt
service apache2 restart

当被问及MySQL“root”用户的新密码时,请使用强密码,在本示例中,我使用MyP @ $$ w0rd

现在我们可以去http://你的ip,在我的情况http://10.255.50.30,我们将看到一个页面显示:“ 它的工作!

cd /tmp/
wget http://downloads.sourceforge.net/project/playsms/playsms/Version%201.1/playsms-1.1.tar.gz
tar -zxf playsms-1.1.tar.gz -C /usr/local/src
ls -l /usr/local/src/
cd /usr/local/src/playsms-1.1/
cp install.conf.dist install.conf
nano install.conf

将install.conf.dist复制到install.conf并编辑install.conf

请阅读install.conf并进行更改以适应您的系统配置。

我已经编辑了这个文件,看起来像这样:

# INSTALL DATA
# ============


# Please change INSTALL DATA below to suit your system configurations

# Please do not change variable name, you may change only the value

# MySQL database username
DBUSER="root"

# MySQL database password
DBPASS="MyP@$$w0rd"

# MySQL database name
DBNAME="playsms"

# MySQL database host
DBHOST="localhost"

# MySQL database port
DBPORT="3306"

# Web server's user, for example apache2 user by default is www-data
# note: please make sure your web server user
WEBSERVERUSER="www-data"

# Web server's group, for example apache2 group by default is www-data
# note: please make sure your web server group
WEBSERVERGROUP="www-data"

# Path to playSMS extracted source files
PATHSRC="$(pwd)"

# Path to playSMS web files
# note: please make sure your web root path, in this example its /var/www/html
PATHWEB="/var/www/html/playsms"

# Path to playSMS additional files
PATHLIB="/var/lib/playsms"

# Path to playSMS daemon and other binary files
PATHBIN="/usr/local/bin"

# Path to playSMS log files
PATHLOG="/var/log/playsms"


# END OF INSTALL DATA
# ===================

现在运行:

./install-playsms.sh

如果一切都好,按Y。

现在我们要确保通过在rc.local文件中添加一行来启动playms。

nano /etc/init.d/rc.local

添加以下文件: / usr / local / bin / playsmsd start
在文件的底部(如果有退出命令,则退出之前)。
这种播放方式将在启动时自动启动。

..
/usr/local/bin/playsmsd start


编辑apache vhost文件:

nano /etc/apache2/sites-available/default

我的vhost文件如下所示:

        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html/playsms
        
                Options FollowSymLinks
                AllowOverride None
        
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <directory "="" usr="" lib="" cgi-bin"="">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

现在重新加载Aapache2配置以应用更改。

service apache2 reload

那么你应该可以通过以下url访问剧本网站:


转到http:// your-ip等http://10.255.50.30

您可以登录:

用户名: admin
密码: admin

网关 - 短信服务器工具3

首先我们安装构建工具来构建最新版本。 跑:

apt-get install build-essential libusb-1.0 libusb-1.0-0-dev

现在我已经插入了华为E3131调制解调器,我可以看到它列出了lsusb:

lsusb

lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 12d1:14fe Huawei Technologies Co., Ltd.

我们希望它的ID:12d1:1506,但现在检测到12d1:14fe。


要更改这个,我们将usb_modeswitch安装到系统中,您可以从这里获取最新版本:

http://www.draisberghof.de/usb_modeswitch/#download

cd /tmp
wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-2.2.5.tar.bz2
tar jxvf usb-modeswitch-2.2.5.tar.bz2
cd usb-modeswitch-2.2.5
make install
cd /tmp
wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20150627.tar.bz2
tar xjvf usb-modeswitch-data-20150627.tar.bz2
cd usb-modeswitch-data-20150627
make install

现在拔下调制解调器,然后重新插上,然后运行:

lsusb

 lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard

现在我们得到了所需的模式:12d1:1506。

接下来我们继续使用SMS Server Tools 3。

首先我们下载它,然后解压缩并安装它。

cd /usr/local/src
wget http://smstools3.kekekasvi.com/packages/smstools3-3.1.15.tar.gz
tar -zxvf smstools3-3.1.15.tar.gz
cd smstools3
make

如果在我的情况下看到一个错误,当你运行make:

 make
cd src && make -
make[1]: Entering directory '/usr/local/src/smstools3/src'
Makefile:51: *** recipe commences before first target.  Stop.
make[1]: Leaving directory '/usr/local/src/smstools3/src'
Makefile:10: recipe for target 'compile' failed
make: *** [compile] Error 2

然后执行以下操作:

nano src/Makefile

问题是一个缺失的选项卡,现在寻找:

ifeq (,$(findstring DISABLE_INET_SOCKET,$(CFLAGS)))
override LFLAGS += -lsocket -lnsl
endif

并用TAB移动线代替LFLAGS + = -lsocket -lnsl

ifeq (,$(findstring DISABLE_INET_SOCKET,$(CFLAGS)))
        override LFLAGS += -lsocket -lnsl
endif

并尝试再次运行:

make
make install

现在我们创建一些必需的文件夹:

mkdir -p /var/log/sms/stats
mkdir -p /var/spool/sms/{checked,failed,incoming,outgoing,sent}
mkdir /var/spool/sms/modem1
chown www-data:www-data -R /var/spool/sms
chmod 777 -R /var/spool/sms

然后移动原始配置文件并从PlaySMS下载一个示例:

mv /etc/smsd.conf /etc/smsd.conf.dist
cd /tmp
wget -c https://raw.githubusercontent.com/antonraharja/playSMS/master/contrib/smstools/smsd.conf
cp smsd.conf /etc/

为了确保我始终使用正确的设备,我将使用动态设备文件。

有关动态设备文件的更多信息,请访问以下URL: http : //antonraharja.com/2015/05/14/persistent-paths-for-dynamic-device-file/

nano /etc/udev/rules.d/80-ttyusb-map.rules

ACTION=="add", KERNEL=="ttyUSB[0-9]*", PROGRAM="/etc/udev/rules.d/ttyusb-map.sh %p", SYMLINK+="gsm%c"

touch /etc/udev/rules.d/ttyusb-map.sh
chmod 755 /etc/udev/rules.d/ttyusb-map.sh
nano /etc/udev/rules.d/ttyusb-map.sh

#!/usr/bin/perl -w

@items = split("/", $ARGV[0]);
for ($i = 0; $i < @items; $i++) {
    if ($items[$i] =~ m/^usb[0-9]+$/) {
        print $items[$i + 1] . "\n";
        last;
    }
}


现在拔下插头并重新插上调制解调器,它应该位于/ dev / gsm *:

ls -l /dev/gsm*
lrwxrwxrwx 1 root root 7 Jul 24 01:39 /dev/gsm1-1 -> ttyUSB0
lrwxrwxrwx 1 root root 7 Jul 24 01:39 /dev/gsmmodem -> ttyUSB0


我对文件做了一些修改,所以这里是我的配置,我的调制解调器位于/ dev / gsm1-1替换为你的位置。

# Global configuration

#devices = modem1, modem2
devices = modem1

loglevel = 5

# logfiles
stats = /var/log/sms/stats
logfile = /var/log/sms/smsd.log

# Default queue directory = /var/spool/sms
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
incoming = /var/spool/sms/incoming
sent = /var/spool/sms/sent

# do not set report folder, let status report files saved in incoming
#report = /var/spool/sms/report

delaytime = 2
errorsleeptime = 10
blocktime = 180
autosplit = 3
#receive_before_send = yes
incoming_utf8 = yes

# Queue configurations

[queues]
modem1 = /var/spool/sms/modem1
#modem2 = /var/spool/sms/modem2

# Modem configurations

# Modem name: modem1
# Modem type: Wavecom USB
[modem1]
#init = AT+CNMI=2,2,0,1,0;+CMEE=1
#init = AT+CPMS="ME","ME","ME"
device = /dev/gsm1-1
baudrate = 19200
incoming = yes
pin = 3391
report = yes
queues = modem1
decode_unicode_text = yes
cs_convert = yes

# Modem name: modem2
# Modem type: Wavecom USB
#[modem2]
#init = AT+CNMI=2,2,0,1,0;+CMEE=1
#device = /dev/ttyUSB1
#baudrate = 115200
#incoming = yes
#report = yes
#queues = modem2


重新启动SMS服务器工具3:

/etc/init.d/sms3 restart

验证SMS Server Tools 3是否正在运行:

ps ax | grep -v grep | grep smsd

监控SMS服务器工具3日志文件:

tail -f /var/log/smsd.log


在playms webpanel中登录和配置smstools

登录到您的电脑安装我的地址是http://10.255.50.30/

用户名是admin
密码是管理员

现在进入设置 => 管理网关和SMSC。

你应该看到这样的屏幕:

现在点击编辑smstools网关。

并确保它的设置如下所示:



点击保存,保存后点击。

现在你必须设置SMSC,所以请在SMSTools上选择+号。

您应该填写这样的SMSC详细信息,在接收器号码中写入您的调制解调器电话号码。



完成后,单击保存。

现在进入设置 => 主配置

并填写以下字段:

默认发件人ID
默认前缀或国家/地区代码

并将默认SMSC设置为smstools ,如下图所示。

点击保存,我们准备发送第一个短信。

发短信

现在转到我的帐户 => 撰写消息

在发送到你的手机号码和一个消息等你好世界! 在消息字段中,然后单击发送。

如果消息排队等候,您可以在此处关注事务:

转到报告 => 所有发送的消息

未处理的传入邮件保存在沙箱中,您将在Reports => Sandbox中

并且如果某些东西没有位于Reports => View log中,则记录

如果你的设置有任何麻烦,一个好地方寻求一些帮助是戏剧论坛。

https://forum.playsms.org/