From 9b57f0d19d89f70cea0d9152a9d568411be8dc96 Mon Sep 17 00:00:00 2001 From: eric Date: Tue, 25 Apr 2023 19:16:36 +0800 Subject: [PATCH] update:sms --- smssend/__pycache__/fastSMS.cpython-310.pyc | Bin 0 -> 1052 bytes smssend/__pycache__/viewSMS.cpython-310.pyc | Bin 0 -> 2597 bytes smssend/decodetext.py | 17 ++++ smssend/fastSMS.py | 18 ++++ smssend/flashSend.py | 97 +++++++++++++++++++ smssend/sms.ico | Bin 0 -> 67646 bytes smssend/test.py | 3 + smssend/tgbot.py | 12 +++ smssend/viewSMS.py | 100 ++++++++++++++++++++ 9 files changed, 247 insertions(+) create mode 100644 smssend/__pycache__/fastSMS.cpython-310.pyc create mode 100644 smssend/__pycache__/viewSMS.cpython-310.pyc create mode 100644 smssend/decodetext.py create mode 100644 smssend/fastSMS.py create mode 100644 smssend/flashSend.py create mode 100644 smssend/sms.ico create mode 100644 smssend/test.py create mode 100644 smssend/tgbot.py create mode 100644 smssend/viewSMS.py diff --git a/smssend/__pycache__/fastSMS.cpython-310.pyc b/smssend/__pycache__/fastSMS.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..243cab9907bc373e43e029af6671d028e7d9dfcf GIT binary patch literal 1052 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 literal 0 HcmV?d00001 diff --git a/smssend/test.py b/smssend/test.py new file mode 100644 index 0000000..bcdfe41 --- /dev/null +++ b/smssend/test.py @@ -0,0 +1,3 @@ +import serial +modem = serial.Serial(port='COM8', baudrate=9600) +modem.write(("AT"+"\r\n").encode()) diff --git a/smssend/tgbot.py b/smssend/tgbot.py new file mode 100644 index 0000000..d0c85be --- /dev/null +++ b/smssend/tgbot.py @@ -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') \ No newline at end of file diff --git a/smssend/viewSMS.py b/smssend/viewSMS.py new file mode 100644 index 0000000..7166239 --- /dev/null +++ b/smssend/viewSMS.py @@ -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次短信