Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Sfat / recomandare construire aco...

Cablu analog vs digital

Ce valoare stabiliti la RSSI la u...

Sony FH 10W reparatie
 Monitor cu consum URIAS

Topul rușinii la nivelul PE

probleme domeniu sau configuratie...

Se poate vedea on-line filmul ...
 Mazda 3 IV Sedan 2.0 e-SkyActiv-G...

NATO - Articolul 5

Recomandare pentru un acoperis di...

Schimbare DVR/NVR Sistem de supra...
 Suspensie sa bicicleta (fatbike)

Recomandare masina de facut cubur...

Racirea camerei

Incident in trafic
 

Caut un program cu care sa trimit SMS printr-un modem USB cu cartela telefonica

- - - - -
  • Please log in to reply
8 replies to this topic

#1
ursudepadure

ursudepadure

    Junior Member

  • Grup: Members
  • Posts: 232
  • Înscris: 28.04.2012
Am un modem instalat pe un Debian - Rasbian. El a venit cu un program de instalare pentru Windows. Cartela pe care am introdus-o este Ok, am testat-o si pe telefoane si merge.

Pe Rasbberry (care are un Linux gen Debian) am instalat -destul de greu  modemul cu usb_modeswitch, pentru ca il vedea ca dispozitiv de stocare.

Am instalat programul "gammu" care imi permite sa trimit SMS uri dar nu si sa receptionez desi creeaza niste directori in "/var" pentru inbox, sent, errors, etc. carora le-am modificat permisia sa se poata scrie in ei. Eu vreau sa controlez Raspberry pentru o automatizare cu ajutorul SMS-urilor. Desemenea desi in fisierul de configurare este introdus pinul, de fiecare data cand bootez totusi trebuie sa il introduc din nou de la terminal.

A incercat cineva, poate cu un alt program? Eu am incercat si cu "smstools" dar dupa ce configurez fisierul etc/smsd.conf (unde specific cativa parametrii, cum ar fi pinul simului, calea catre dispozitiv -dev/ttyUSB1 si baudrate) imi spune, cand ma uit in smsd.log "Unknown global setting". Desi toti parametrii erau deja in fisier dar comentati si deci dezactivati. Eu nu am facut decat sa ii activez si sa schimb conform configuratiei mele.

Stie cineva un alt program sau o alta metoda sa receptioneze mesajele?Am postat acest mesaj si la sectiunea GSM - telecomunicatii, daca nu ma aflu in sectiunea potrivita va rog sa imi spuneti.

#2
sanyi_2005

sanyi_2005

    Member

  • Grup: Members
  • Posts: 376
  • Înscris: 25.12.2007
https://github.com/tgcmteam/tgcmlinux

#3
maccip

maccip

    46 ani

  • Grup: Senior Members
  • Posts: 33,237
  • Înscris: 06.01.2007
Poti controla manual modemul prin comenzi AT pe portul COM.
Sau scrie un programel care s-o faca.

#4
ursudepadure

ursudepadure

    Junior Member

  • Grup: Members
  • Posts: 232
  • Înscris: 28.04.2012
sanyi_2005 , se pare ca programul recomandat de tine ar fi capabil sa primeasca si sa trimita SMS de pe un calculator cu un dispozitiv GSM instalat. Interesant este ca eu am chiar "Moviestar". Probabil ca azi tarile mai sarace din America de sud folosesc mai mult astfel de dispozitive pentru ca nu isi permit smartphone cu hot-spot. Problema este ca nu am detalii cum functioneza programul. Eu am nevoie sa il folosesc de la linia de comanda, sa pot face un script apelat apoi din ce program vreau eu si sa lansez la bootare un daemon care sta treaz permanent si asteapta incoming messages.

Am incercat sa vad daca pe pagina cu mai multe informatii gasesc detalii despre cum functioneaza, ma refer la linkul aceasta http://www.tgcm.es . Dar se pare ca este destul de vechi (mai mult de sase ani) si nu mai poate fi accesat (ERR_CONNECTION_TIMED_OUT).

Gammu ar fi fost solutia perfecta. La trei minute dupa instalare am putut trimite un SMS cu succes si am gasit si documentatia cum sa lansez daemonul care asteapta pentru incoming messages si cum sa redirectionez acecste mesaje catre un script .sh care face mai apoi ce vreau eu cu ele. Dar bucuria mea a fost scurta intrucat daemonul acela nu isi face treaba. Ba, mai mult, desi in fisierul de configurare pot introduce pinul de pe SIMul de telefonie folosit, cand rebootez nu merge nimic pana nu bag din nou pinul de la linia de comanda.

Necazul a fost mare, intrucat ma vedeam cu problema rezolvata. Eu trebuie sa ma focusez asupra altor aspecte la programul la care lucrez si problema pe care o am acuma imi mananca tot timpul si nervii.

Multumesc pentru sfaturi, poate reusec cumva cu comenzi AT din Python.

#5
radurus

radurus

    Senior Member

  • Grup: Senior Members
  • Posts: 8,023
  • Înscris: 16.06.2006
Scuze...
Dar nu poti dezactiva pinul?

#6
ursudepadure

ursudepadure

    Junior Member

  • Grup: Members
  • Posts: 232
  • Înscris: 28.04.2012
Radurus, asa este, programele pe care le-am incercat pe rand nu tineau cont de fisierele de configurare unde era pinul. Desi am vazut clar exemple pe net unde anume si care e sintaxa. Nu am avut incotro si am dezactivat pinul.
Am incercat sa introduc pinul cu comenzi AT: AT+PIN="xyzw" dar nu a mers. Dupa ce am dezactivat pinul merge sa trimit mesaje cu un script Python, ceva de genul:

import serial
import time
print "Program trimite SMS demo"
#functia de trimitere
def Sending(mesaj, numar):
    SerialPort=serial.Serial("/dev/ttyUSB2", 460800) # in cazul meu este un modem Huawei conectat la USB
    SerialPort.write('AT+CMGF=1\r')
    time.sleep(5)
    SerialPort.write('AT+CMGS="'+numar+'"\r\n')
    time.sleep(5)
    SerialPort.write(mesaj+"\x1A")
    time.sleep(1)
    print 'Mesaj se trimite.'
x = raw_input(" Tasteaza numarul unde trimiti: \n" )
y = raw_input(" Tasteaza mesajul: \n")
Sending(y,x)

Totusi am probleme cu receptinarea. Sunt niste lucruri elementare pe care cred ca nu le-am inteles cu aceste comenzi AT.

#7
maccip

maccip

    46 ani

  • Grup: Senior Members
  • Posts: 33,237
  • Înscris: 06.01.2007

View Postursudepadure, on 11 noiembrie 2018 - 11:18, said:

Sunt niste lucruri elementare pe care cred ca nu le-am inteles cu aceste comenzi AT.
Da, si eu am intampinat probleme cand am vrut sa fac un program care sa trimita SMS personalizate la mai multi indivizi.
Problema a culminat cu inchiderea posibilitatii de a trimite SMS de catre Orange, a crezut ca am un virus, ceva.
La mine problema principala era ca nu puteam configura modemul sa trimita mesaje in format text, numai binar AT+CMGF=0.
Asta complica un pic programul, trebuiau mai multe comenzi de delay&wait, adica trebuia sa inteleg bine cum functioneaza dracovenia si.. m-am lasat pagubas.
E o documentatie destul de stufoasa cu comenzile astea AT.
In schimb am reusit sa trimit niste FlashSMS uri frumoase. Probabil ca asta a fost cauza pentru care Orange mi-a dezactivat serviciul de SMS.
Posted Image

Edited by maccip, 11 November 2018 - 11:41.


#8
ursudepadure

ursudepadure

    Junior Member

  • Grup: Members
  • Posts: 232
  • Înscris: 28.04.2012
Am adaptat un program pentru a receptiona mesajele cu o bucla infinita. Nu am inteles insa cum trimite feed back la expeditor, am pus semnul intrebarii. Mentioneza ca e prima zi (nu pun la socoteala noaptea trecuta) in care ma lupt cu aceste comenzi AT si sunt cam tobosar.
Ei bine. Se pare ca a mers cu primul mesaj dar nu le mai sterge intrucat imi reafiseaza primul mesaj primit in loc sa imi afiseze alte mesaje noi. Pare sa nu functioneze comanda AT+CMGDA="DEL ALL". Oare unele dispozitive nu accepta anumite comenzi AT? Care ar fi solutia?

import serial
import time, sys
import datetime

SERIAL_PORT = "/dev/ttyUSB2"   # pentru Raspberry Pi 3 am un modem USB Huawei E303C conectat la USB
ser = serial.Serial(SERIAL_PORT, baudrate = 9600, timeout = 5) # instantiez "ser" cu parametrii specificati care are metode utile pentru comunicarea seriala
setup()
ser.write("AT+CMGF=1\r") # seteaza modul text
time.sleep(3)
ser.write('AT+CMGDA="DEL ALL"\r') # sterge toate SMS-urile
time.sleep(3)
reply = ser.read(ser.inWaiting()) #initializeaza informatia refertioare la numarul de bytes in bufferul de receptionare.
print "Asteapta SMS urile care sunt transmise catre acest dispozitiv..."
while True:
    reply = ser.read(ser.inWaiting())   #  assigneaza informatia referitoare la numarul de bytes...
    if reply != "":    #  daca aceasta contine ceva...
    ser.write("AT+CMGR=1\r")   #  atunci citeste mesajul (incomming message)
    time.sleep(3)
    reply = ser.read(ser.inWaiting())
    print "SMS receptionat. Acesta este mesajul:"  #  afiseaza text explicativ si ...
    print reply   # mesajul
    t = str(datetime.datetime.now())  # pune timpul curent intr-o variabila t
    mesajinapoi = "Am primit..."
    ser.write('AT+CMGS="1234567"\r')  # ia comanda la ce numar sa trimita
    time.sleep(3)
    msg = "Trimis la  " + t + ":--" + mesajinpaoi # creeaza mesajul final
    print "Trimis..." + msg    # afiseaza pentru verificare
    ser.write(msg + chr(26))     # ????? trimite raspunsul inapoi ????? chr(26) este 1A in Hexa sau Ctrl+Z ? nu am inteles ce cauta aici
    time.sleep(3)
    ser.write('AT+CMGDA="DEL ALL"\r') # sterge tot
    time.sleep(3)
    ser.read(ser.inWaiting())    # sterge bufferul care numara mesajele
    time.sleep(5)

maccip, poate stii cumva cum as putea atasa poze? Se pot trimite MMS -uri cu un SIM oarecare sau trebuie un plan special de la provider? Eu sunt in DK si nu prea m-am obosit sa inteleg ce oferte au ei aici. Acum am doua SIM-uri pentru experimente dar inca nu stiu toate vicleniile. Eu personal folosesc mai degraba Skype si messengere pe net decat telefonul dar acum am un proiect care presupune sa controlez ceva prin SMS. Desigur ar fi interesant daca as putea atasa poze. Daca nu, probabil cand primeste comanda o sa trimita un email cu atasament. Asta imi pare mai usor si deja stiu sa fac cu Python.

#9
maccip

maccip

    46 ani

  • Grup: Senior Members
  • Posts: 33,237
  • Înscris: 06.01.2007
Nu sunt 100% sigur, dar pentru MMS trebuie activat serviciu separat.
Cel putin, eu in contul meu de management la Orange, am optiunea de a activa MMS pentru fiecare numar.
https://gyazo.com/bd...a869cd747ce9726



Dar, de unde stii tu cat trebuie sa dai time.sleep(3) ??
3 e milisecunde sau secunde? Nu cunosc Python, in general e in milisecunde, daca e asa, mi se pare cam putin. Pe de alta parte nici nu stiu cat ar trebui sa fie si nici cum se face chestia asta in mod asincron.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate