सभी को बधाई! मुझे आशा है कि मेरा लेख न केवल रेडियो के शौकीनों के लिए दिलचस्प होगा, जो कि हेबर में मौजूद हैं, बल्कि अन्य पाठकों के लिए भी हैं।
आप शौकिया रेडियो के प्रति उत्साही के बारे में
यहां पढ़ सकते हैं, और
यहां एक डीएक्स क्लस्टर है।
एक छोटी पृष्ठभूमि: एक बार शौकिया रेडियो
रिफ्लेक्टरों में डीएक्स क्लस्टर से एसएमएस संदेश भेजने
का विचार आया, क्योंकि हर जगह इंटरनेट कवरेज नहीं है। लेकिन इस विचार को रेडियो के शौकीनों ने खारिज कर दिया जो काम करते हैं / सीधे मोबाइल ऑपरेटरों से संबंधित हैं। यह इस तथ्य से प्रेरित था कि उपकरण बहुत महंगे होंगे, इसलिए विचार इसके लायक नहीं है।
मुझे इस विषय में दिलचस्पी हो गई और एक पूरे में
smstools , एक मोबाइल फोन और एक DX क्लस्टर को इकट्ठा करने का निर्णय लिया गया।
यह योजना FreeBSD चलाने वाले मेरे होम सर्वर पर सफलतापूर्वक शुरू की गई है। अब मैंने सब कुछ करने का फैसला किया, लेकिन
डी-लिंक डीआईआर -620 राउटर पर
उपकरण:
- Zyxel कीनेटिक फर्मवेयर के साथ Dir-620 राउटर;
- मोटोरोला v360 मोबाइल फोन (पुरानी पत्नी का फोन, एक रिजर्व के रूप में चारों ओर झूठ बोल रहा है);
- सीधे हाथ और इच्छा;
मैं smstools के बारे में नहीं बताऊँगा, पहले से ही यह सवाल
यहाँ Habré पर छाया हुआ था।
और हेबर पर लेख, एक राउटर को कैसे फ्लैश किया जाए -
यहां ।
इसलिए, हम फोन को कनेक्ट करते हैं और सुनिश्चित करते हैं कि राउटर इसे देखता है:
dmesg
...
...
cdc_acm 1-1.4.3:1.0: ttyACM0: USB ACM device
इसके बाद हम smstools एकत्र करते हैं। अपने पैकेजों का निर्माण कैसे करें, इसका विस्तार
Zyxmon के यहाँ है । Smstools मानक OpenWrt उपयोगिताओं में शामिल नहीं हैं, इसलिए,
यहां से स्रोत डाउनलोड
करें और इसे अनज़िप करें।
आपको कीनेटिक से क्रॉस-कंपाइलर का उपयोग करके इसे बनाने की आवश्यकता है। ऐसा करने के लिए, smstools3 / src / Makefile फ़ाइल में, आपको लाइन की आवश्यकता है:
Cc = gcc
क्रॉस-कंपाइलर के लिए पथ निर्दिष्ट करें। मेरे पास यह है:
CC = / 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 में कॉपी कर लेते हैं। उसी समय, / मीडिया / DISK_A1 / सिस्टम / आदि निर्देशिका में, smsd.conf कॉन्फ़िगरेशन फ़ाइल डालें, जो smsd को चलाने के लिए आवश्यक है।
मेरी कॉन्फ़िगरेशन फ़ाइल:
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 / स्पूल / एसएमएस / चेक /
mkdir -p / var / स्पूल / एसएमएस / आउटगोइंग /
mkdir -p / var / स्पूल / एसएमएस / आवक /
हम sms सर्वर शुरू करते हैं:
# smsd -c /media/DISK_A1/system/etc/smsd.conf
हम इस तरह के एक फोन के लिए एक परीक्षण एसएमएस संदेश भेजते हैं:
(आवृत्ति DX स्टेशन टिप्पणी)
14144.0 UE1WFF WFF !!!
निर्देशिका / var / स्पूल / एसएमएस / इनकमिंग में / इस तरह की एक पाठ फ़ाइल होगी:
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!!!
***
यह केवल वांछित लाइन लेने और डीएक्स क्लस्टर में भेजने के लिए बनी हुई है। ऐसा करने के लिए, हम पर्ल में एक सरल स्क्रिप्ट लिखते हैं। मुझे तुरंत कहना होगा कि मैंने पर्ल पर प्रोग्राम नहीं किया था, इसलिए शायद स्क्रिप्ट बेहतर लिखी जा सकती है ...
#!/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- ,
, - , :)
!