This program allows you to send SMS via a USB modem, the number of subscribers and characters in the SMS text does not matter. The program supports most modems and gsm modules (full list: en.wammu.eu/phones/). Tested on iRZ TU32 and Huawei E352 modems.
ΠΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ°ΡΡΡΠ»ΠΊΡ Π‘ΠΠ‘ ΡΠ΅ΡΠ΅Π· USB-ΠΌΠΎΠ΄Π΅ΠΌ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ Π‘ΠΠ‘ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠΎΠ΄Π΅ΠΌΠΎΠ² ΠΈ gsm-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ: ru.wammu.eu/phones/). ΠΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΌΠΎΠ΄Π΅ΠΌΠ°Ρ iRZ TU32 ΠΈ Huawei Π352.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΡΠΎΠ³ΡΠ°ΡΠΈΠΈ (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΠΊ) Π² ΡΠ΅ΠΊΡΡΠ΅ (ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΠΠ‘).
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠ°Π·Π΄Π΅Π» ΠΌΠ΅Π½Ρ ΠΡΡΠ½Π°Π»: Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ kivymd).
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² ΠΌΠ΅Π½Ρ Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΡΡΠ»ΠΊΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΡΠ΅ΡΡΠΈΠΊ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ telnex/SMSKivy/releases (Windows x64). Π Π°ΡΠΏΠ°ΠΊΡΠΉΡΠ΅ Π°ΡΡ ΠΈΠ² ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» sms.exe.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°Π·Π΄Π΅Π» ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ COM-ΠΏΠΎΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π’Π°ΠΊ ΠΆΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΠ‘. ΠΠ»Ρ Windows: ΡΠ΅ΡΠ΅Π· ΡΡΠ°ΡΠ½ΡΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π·Π°Π΄Π°Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΡΠ½ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ com-ΠΏΠΎΡΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠΊΠ°Π·Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠ°). ΠΠ»Ρ Ubuntu/Mac OS: ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls /dev/ Π²ΡΡΡΠ½ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ com-ΠΏΠΎΡΡΠ°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π½ΠΈΠΊ com->USB).
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΠ°ΠΏΠΊΡ test/src/, Π² ΠΏΠ°ΠΏΠΊΡ test/ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ°ΠΉΠ» single.spec ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ python -m PyInstaller single.spec.
ΠΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ .exe ΡΠ°ΠΉΠ»Π° ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π² test/dist/ ΠΏΠ°ΠΏΠΊΠΈ data, kvlang ΠΈ style, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΉΠ» gammurc.
ΠΠ°ΠΆΠ½ΠΎ! ΠΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π½Π° Π²Π΅ΡΡΠΈΠΈ pyinstaller 5.6.2, Π½Π° Π²Π΅ΡΡΠΈΠΈ pyinstaller 5.9.0 Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°:
Traceback (most recent call last):
File "logging\__init__.py", line 1103, in emit
AttributeError: 'NoneType' object has no attribute 'write'
# -*- mode: python -*-
import sys
from kivy_deps import sdl2, glew
from kivymd import hooks_path as kivymd_hooks_path
app_name = 'SMS'
sys.path += ["src\\"]
a = Analysis(['src\\main.py'],
pathex=['C:\\Users\\Admin\\Desktop\\test'],
binaries=None,
datas=None,
hiddenimports=[
'webbrowser',
'__init__',
'data.__init__',
'data.screens.__init__',
'data.screens.dbmanager',
'data.screens.db_kv.__init__',
'data.screens.db_kv.backupsd',
],
hookspath=[kivymd_hooks_path],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False)
# exclusion list
from os.path import join
from fnmatch import fnmatch
exclusion_patterns = (
join("kivy_install", "data", "images", "testpattern.png"),
join("kivy_install", "data", "images", "image-loading.gif"),
join("kivy_install", "data", "keyboards*"),
join("kivy_install", "data", "settings_kivy.json"),
join("kivy_install", "data", "logo*"),
join("kivy_install", "data", "fonts", "DejaVuSans*"),
join("sdl2-config"),
# Filter app directory
join(".idea*"),
join("gammurc")
)
def can_exclude(fn):
for pat in exclusion_patterns:
if fnmatch(fn, pat):
return True
a.datas = [x for x in a.datas if not can_exclude(x[0])]
a.binaries = [x for x in a.binaries if not can_exclude(x[0])]
# Filter app directory
appfolder = [x for x in Tree('src\\', excludes=['*.py','*.pyc']) if not can_exclude(x[0])]
pyz = PYZ(a.pure, a.zipped_data)
exe = EXE(pyz,
a.scripts,
appfolder,
a.binaries,
a.zipfiles,
a.datas,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins )],
name=app_name,
debug=False,
strip=False,
upx=True,
console=False)ΠΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΄Π»Ρ USB-ΠΌΠΎΠ΄Π΅ΠΌΠ°, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅ΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, huawei.mobzon.ru/huawei-modem-nano.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅ΠΌΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π‘ΠΠ‘. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Β«ru_RU.affΒ» ΠΈ Β«ru_RU.dicΒ» Ρ github.com/LibreOffice Π² C:\...\site-packages\enchant\data\mingw64\share\enchant\hunspell.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡΡΠΌ GitHub,ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ Π±Π°Π³Π°Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠΎΠΏΠΈΠΊ.