我们运行远程系统,希望服务器能够通过短信提醒我们他们的状态.是否可以设置我们自己的SMS网关(或我们自己的GSM网络),所以我们不必支付短信服务提供商的费用?
这可能吗?如果是这样,请告诉我们所需的硬件是什么以及我们如何开始...
我确信这是可能的,因为当运营商A想要向运营商B发送短信时,它不会向运营商B支付任何费用.此外,还有大量的在线服务,如:Atompark.com,clickatell, ...等等
请注意:我们知道如何使用Linux系统,调制解调器GSM和有效的SIM建立短信网关,但我们正在寻找一种方式,我们不必支付任何分钱发送短信息...
小智 26
这是它的工作原理
您>>>转发聚合器>>> SMS聚合器>>>移动运营商>>>移动公司>>>您的客户
3个主要缔约方参与了整个过程:
1.移动运营商:他们管理SMSC(短消息服务中心).AT&T,Sprint/NEXTEL,T-Mobile USA,USCellular和Verizon Wireless是全球主要的移动运营商.他们与所有主要的移动电话公司有着深厚的联系.他们中的大多数都拥有800到950家电信/移动公司.您通过SMS聚合器向他们发送了所有消息,并将它们转发给接收方的移动公司,后者最终将其发送给接收方.
成为移动运营商的成本:如果不是万亿,那么十亿美元的业务.
2. SMS聚合器: mBlox,air2web和motricity很少.他们与移动运营商有着深厚的联系.
成为SMS聚合器的成本:以百万计
3.转发聚合器/ SMS网关: Clickatell,Twilio和esendex以及其他一些提供SMS Gateway API的人,大多数开发人员正在使用Clickatell将其SMS API与他们的应用程序集成.他们针对不同的国家收取不同的费率(所有国家/地区都没有固定费率).对于100,000条消息(国际),它会花费大约600-700美元.
成为转发聚合器的成本:可能是数百万
一句话: 我正在开发一个免费的解决方案,但直到今天,全世界还没有免费的可靠解决方案可以免费在国际上发送批量信息.所以不要浪费你的时间寻找一个免费的解决方案.你必须想出一项新技术才能实现这一目标.
虽然有很多选项可以在您所在的国家/地区免费发送批量邮件,或者花费很少的钱,但如果您计划在国际范围内发送邮件,则无法实现此目的.
通常我会避免在任何论坛中添加评论,但这个人真的强迫我把我的腿放进去.这是他评论的内容:" 我们可以拥有一个带有小型私有GSM网络的SMSC吗? "
您可以使用带有Dongle的树莓派或橙色pi.然后我们可以使用AT命令.
我们可以使用此命令连接加密狗并检查它是否以正确模式连接.
sudo lsusb
Run Code Online (Sandbox Code Playgroud)
然后我们可以使用python代码执行AT命令..
发送短信我们可以使用此代码
def sendsms(number,text):
ser.flushInput()
ser.flushOutput()
ser.write('AT+CMGF=1\r\n')
sleep(1)
ser.write('AT+CMGS="%s"\r\n' % number)
sleep(1)
ser.write('%s' % text)
sleep(1)
ser.write(ascii.ctrl('z'))
sleep(1)
ser.flushInput()
ser.flushOutput()
print "Text: %s \nhas been sent to: %s" %(text,number)
Run Code Online (Sandbox Code Playgroud)
阅读未读短信
def read_unread_sms():
ser.write('AT+CMGF=1\r\n')
sleep(2)
ser.write('AT+CMGL="ALL"\r\n')
sleep(5)
a = ser.readlines()
z=[]
y=[]
for x in a:
if x.startswith('+CMGL:'):
r=a.index(x)
t=r+1
z.append(r)
z.append(t)
for x in z:
y.append(a[x])
##Following line changed modem back to PDU mode
ser.write('AT+CMGF=0\r\n')
return y
Run Code Online (Sandbox Code Playgroud)
如果你想为sms网关创建一个记录器文件,我们可以使用"logger".如果你想将未读消息发送到api,我们可以使用"request"模块.
除了任何运营商提供的电子邮件到短信系统之外,没有"免费"的方式来做到这一点.
想要向运营商B发送短信,它不向运营商B支付任何分钱
这是因为B不会向另一个方向的消息支付A. 在国际上他们经常做支付短信费互连.
...设置我们自己的短信网关
是的,但您需要访问GSM网络上的SMSC才能直接或通过带有SIM卡的设备发送消息,这就是您所支付的费用.
或者我们自己的GSM网络
不实际,不是.
虽然没有免费的方法来发送正确的短信,但您最好为服务器购买 GSM 模块(机架中的 USB 不是理想的选择,但应该有适当的硬件扩展总线)。您可以查询模块本身,而不是依赖第三方中间服务器来发送这些消息,从而节省大量资金。
尽管我本身还没有意识到这一点,但我创建了这个为我的服务发送短信的计划。这是迄今为止最便宜的选择。
| 归档时间: |
|
| 查看次数: |
63777 次 |
| 最近记录: |