update:sms

This commit is contained in:
eric
2023-04-25 19:16:36 +08:00
parent f4803ad1c6
commit 9b57f0d19d
9 changed files with 247 additions and 0 deletions

Binary file not shown.

Binary file not shown.

17
smssend/decodetext.py Normal file
View File

@@ -0,0 +1,17 @@
def Unicode2HexStr(Unicde_Str):
Hex_Str = ""
for i in range(0, len(Unicde_Str)):
Hex_Str += (hex(ord(Unicde_Str[i])).replace('0x','').zfill(4))
print(Hex_Str)
return Hex_Str
def decode2HexStr(Unicde_Str):
newText=bytes.fromhex(Unicde_Str).decode('utf-16-be')
print(newText)
return newText
inputText=input('请输入: ')
# newhex=Unicode2HexStr(inputText)
newhex=Unicode2HexStr(inputText)
decode2HexStr(newhex)
# decode2HexStr('30106D4191CF63D0919230115C0A656C768475286237FF0C622A81F30030003467080032003365E50032003465F6FF0C60A85F53670859579910591665368D396D4191CF5DF24F7F7528003700390030002E0039004D0042FF1B82E597008BA28D2D6D4191CF5305FF0C8BF770B951FB002000680074007400700073003A002F002F0075002E')

18
smssend/fastSMS.py Normal file
View File

@@ -0,0 +1,18 @@
from typing import Union
import serial
import time
import requests
from fastapi import FastAPI
# from viewSMS import viewSMS
app = FastAPI()
@app.get("/")
def read_root(num: Union[str, None] = None,text: Union[str, None] = None):
return {"Hello": "World","num":num,"text":text}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}

97
smssend/flashSend.py Normal file
View File

@@ -0,0 +1,97 @@
import serial
import time
#手机号
phonenumber=''
# 短信内容
warntext=''
# 在test(US2)模式下需要用16进制转换电话和中文短信
# 转换为hex16进制
def Unicode2HexStr(Unicde_Str):
Hex_Str = ""
for i in range(0, len(Unicde_Str)):
Hex_Str += (hex(ord(Unicde_Str[i])).replace('0x','').zfill(4))
return Hex_Str
def decode2HexStr(Unicde_Str):
newText=bytes.fromhex(Unicde_Str).decode('utf-16-be')
print(newText)
return newText
def sendSMS(phonenumber,warntext):
modem.write(("AT"+"\r\n").encode())
print(modem.readline())
time.sleep(0.5)
modem.write(("AT+CMGF=1"+"\r\n").encode())
print(modem.readline())
time.sleep(0.5)
modem.write(("AT+CSCS="+'"UCS2"'+"\r\n").encode())
print(modem.readline())
time.sleep(0.5)
modem.write(("AT+CSCA?"+"\r\n").encode())
print(modem.readline())
time.sleep(0.5)
#尾数如果是24,则短消息不会保存,也不会提示号码,可用来短信轰炸机
modem.write(("AT+CSMP=17,167,0,24"+"\r\n").encode())
# modem.write(("AT+CSMP=17,167,0,25"+"\r\n").encode())
print(modem.readline())
time.sleep(0.5)
#modem.write('AT+CMGS="' + convert2Unicode( str(phonenumber) ) + '"\r\n')
newNum=Unicode2HexStr(phonenumber)
print(newNum)
modem.write(("AT+CMGS="+'"%s"'%(newNum)+"\r\n").encode())
print(modem.readline())
time.sleep(1)
#modem.write(Unicode2HexStr(warntext.decode('utf-8')))
modem.write((Unicode2HexStr(warntext)).encode())
print(modem.readline())
#print(Unicode2HexStr(u"我爱你"))
time.sleep(1)
# 构造 HEX 1A
modem.write((chr(26)).encode())
print(modem.readline())
time.sleep(1)
line = modem.readline()
print(modem.readline())
print('end---')
# if line.startswith("+CMGS"):
# print ("已成功发送")
# return True
# else:
# print ("发送遇到问题,请检查控制模块")
# modem.close()
# return False
try:
modem = serial.Serial(port='COM8', baudrate=9600)
print ("短信助手硬件USB接口已连接成功...正在启动")
phonenumber=input('请输入phonenumber: ')
warntext=input('warntext: ')
sendSMS(phonenumber,warntext)
# tishiyu="请设置每条短信发送的时间间隔,单位为秒"
# timejiange = float(raw_input("Set time:"))
modem.close()
except Exception as e:
print(e)
print ("请检查短信模块是否插上usb 或 确定端口号是否正确")

BIN
smssend/sms.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

3
smssend/test.py Normal file
View File

@@ -0,0 +1,3 @@
import serial
modem = serial.Serial(port='COM8', baudrate=9600)
modem.write(("AT"+"\r\n").encode())

12
smssend/tgbot.py Normal file
View File

@@ -0,0 +1,12 @@
import requests
# bot发消息到tg群组
def sendTg(message):
baseUrl="https://api.telegram.org/bot"
toekn="558659722:AAENA3v8gKq7R7_nsr8V58Iu-_Z6BWx2SCw"
chat_id="-861577609"
text=message
url=f'{baseUrl}{toekn}/sendMessage?chat_id={chat_id}&text={text}'
r = requests.get(url)
# https://api.telegram.org/bot558659722:AAENA3v8gKq7R7_nsr8V58Iu-_Z6BWx2SCw/sendMessage?chat_id=-861577609&text=1234
sendTg('123python')

100
smssend/viewSMS.py Normal file
View File

@@ -0,0 +1,100 @@
import serial
import time
import requests
def Unicode2HexStr(Unicde_Str):
Hex_Str = ""
for i in range(0, len(Unicde_Str)):
Hex_Str += (hex(ord(Unicde_Str[i])).replace('0x', '').zfill(4))
return Hex_Str
def decode2HexStr(Unicde_Str):
strText = (bytes.fromhex(Unicde_Str)).decode('utf-16-be')
# print(strText)
return strText
# bot发消息到tg群组
def sendTg(message):
baseUrl="https://api.telegram.org/bot"
toekn="558659722:AA32A3v8gK23q7R7_nsr8V58Iu-_Z6B232SCw"
chat_id="-861532r23527609"
text=message
url=f'{baseUrl}{toekn}/sendMessage?chat_id={chat_id}&text={text}'
try:
r = requests.get(url)
except:
print('请检查网络代理')
# https://api.telegram.org/bot558659722:AAENA3v8gKq7R7_nsr8V58Iu-_Z6BWx2SCw/sendMessage?chat_id=-861577609&text=1234
def deleteALLsms():
#删除所有短信
modem.write(("AT+CMGD=1,4"+"\r\n").encode())
print(modem.readline())
time.sleep(1)
print(modem.readline())
print('删除所有短信完成')
def deleteIndexsms(index):
#删除指定短信
modem.write((f"AT+CMGD={index}\r\n").encode())
print(modem.readline())
time.sleep(1)
print(modem.readline())
print(f'删除{index}完成')
def viewSMS():
modem.write(("AT"+"\r\n").encode())
print(modem.readline())
time.sleep(1)
print(modem.readline())
modem.write(("AT+CMGF=1"+"\r\n").encode())
print(modem.readline())
time.sleep(1)
print(modem.readline())
modem.write(("AT+CMGL="+'"ALL"'+"\r\n").encode())
print(modem.readline()) # 命令显示
nowIndex=-1
while True:
itext = (modem.readline()[:-2]).decode('utf-8') # [:-2]==>先删除\r\n
if itext.startswith("+CMGL"): # spilt解析手机号码
textArr=itext.split(",")
# 手机号
phoneNUm=textArr[2]
print(phoneNUm)
# 短信索引
smsindex=(textArr[0]).split(":")[1]
nowIndex=int(smsindex)
print(smsindex)
print(itext)
sendTg(itext)
elif itext == "OK":
print('查询短信列表完成')
if nowIndex>0 or nowIndex==0:
deleteIndexsms(str(nowIndex))
# time.sleep(5)
break
else :
if len(itext)>0:
try:
print(decode2HexStr(((itext))))
sendTg(decode2HexStr(((itext))))
except:
# print(itext)
sendTg(itext)
modem.close() #关闭终端
# time.sleep(1)
while True:
try:
modem = serial.Serial(port='COM8', baudrate=9600)
print("短信助手硬件USB接口已连接成功...正在启动")
viewSMS()
# time.sleep(1)
except Exception as e:
print(e)
print("请检查短信模块是否插上usb 或 确定端口号是否正确")
time.sleep(60) #每30s检测1次短信