D-Link Dir-620に基づくアマチュアDXクラスターへのSMSゲートウェイ

すべての人に挨拶! 私の記事が、Habrにいるラジオアマチュアだけでなく、他の読者にも興味深いものになることを願っています。



ここでアマチュア無線愛好家について、およびDxクラスタとは何かを読むことができます



少しの背景:アマチュア無線リフレクターの 1つに一度入ると、SMSをDXクラスターに送信するという考えがすり抜けました。なぜなら、どこでもインターネットがカバーされているわけではないからです。 しかし、このアイデアは、モバイルオペレーターに直接関わっている/直接関係のあるアマチュア無線家によって破棄されました。 これは、機器が非常に高価になるという事実によって動機付けられたので、アイデアは価値がありません。



私はこのトピックに興味を持ち、 smstools 、携帯電話、およびDXクラスターを1つの全体にまとめることにしました。

このスキームは、FreeBSDを実行しているホームサーバーで正常に開始されました。 今、私もすべてを行うことにしましたが、 D-link DIR-620ルーターで



装備品

-Zyxel Keeneticファームウェアを搭載したDir-620ルーター。

-Motorola v360携帯電話(古い妻の電話、予備として横になっている);

-まっすぐな腕と欲望;



smstoolsについては説明しませんが、すでにこの質問はHabréでここで取り上げまし

そして、Habrの記事、ルーターをフラッシュする方法- こちら



そのため、電話を接続し、ルーターがそれを認識していることを確認します。

dmesg

...

...

cdc_acm 1-1.4.3:1.0: ttyACM0: USB ACM device











次に、smstoolsを収集します。 パッケージのビルド方法については、 Zyxmonの こちらをご覧ください 。 smstoolsは標準のOpenWrtユーティリティに含まれていないため、 ここからソースダウンロードして解凍します。



Keeneticのクロスコンパイラを使用してビルドする必要があります。 これを行うには、smstools3 / src / Makefileファイルに次の行が必要です。

Cc = gcc

クロスコンパイラへのパスを指定します。 私はこれを持っています:

SS = / home / igor / keenetic / staging_dir / toolchain-mipsel_r2_gcc-4.1.2_uClibs-0.9.30.3 / bin / mipsel-openwrt-linux-uclibc-gcc



作ります。 smstools3 / src /にsmsd smsサーバーデーモンファイルを取得し、これを/ media / DISK_A1 / system / usr / binのファイルシステムにコピーします。 同時に、/ media / DISK_A1 / system / etcディレクトリに、smsdを実行するために必要なsmsd.conf構成ファイルを配置します。



私の構成ファイル:

devices = GSM1

logfile = /media/DISK_A1/system/var/log/smstools/smsd.log

loglevel = 7



[GSM1]

device = /dev/ttyACM0

incoming = yes

check_memory_method = 31

smsc = 38097*******

baudrate = 115200

rtscts = no








また、smsdが機能するには、次のディレクトリを作成する必要があります。

mkdir -p / media / DISK_A1 / system / var / log / smstools

mkdir -p / var /スプール/ sms /チェック済み/

mkdir -p / var /スプール/ sms /発信/

mkdir -p / var / spool / sms / incoming /



SMSサーバーを起動します。

# smsd -c /media/DISK_A1/system/etc/smsd.conf







この種の電話にテストSMSメッセージを送信します。

(周波数DX局コメント)

14144.0 UE1WFF WFF !!!



ディレクトリ/ var / spool / sms / incoming /には、次の種類のテキストファイルがあります。

From: 777

From_TOA: 81 unknown, ISDN/telephone

From_SMSC: 380672020000

Sent: 12-03-26 10:06:43

Received: 12-03-26 09:28:39

Subject: GSM1

Modem: GSM1

IMSI: 255030564719214

Report: no

Alphabet: ISO

Length: 57



14144.0 UE1WFF WFF!!!

***









目的の行を取得してDXクラスターに送信するためだけに残ります。 これを行うには、perlで簡単なスクリプトを作成します。 私はperlでプログラムを作成しなかったので、スクリプトをより適切に作成できるとすぐに言わなければなりません...



#!/media/DISK_A1/system/usr/bin/perl

$k=0;

my @curfiles=glob('*.{txt}');

$count=1;

while ($name=glob('*.{txt}')) {

$count++;

}

$count=$count-2;

for ($k=0; $k<=$count; $k++)

{

open FILE,$k.'.gsm.txt';

$i=0;

while ()

{

$i++;

if ($i==12) { $string=};

}

close FILE;.

unlink $k.'.gsm.txt';



use Net::Telnet ();

my $my_call = '******';

my $my_pass = '******';

my $myspot='DX '.$string;

my $t = Net::Telnet->new(Host => '19*.15*.23*.25*', Port => '9****', Timeout => 10);

$t->waitfor('/Callsign : /');

$t->print($my_call);

$t->waitfor('/Password : /');

$t->print($my_pass);

$t->waitfor('/****** de ****** >/');

$t->print($myspot);

print @lines;

$t->print("bye");

$t->close;

}





, . .



sms- ,



, - , :)



!







All Articles