Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Radek Strnad 16. 05. 2011, 19:59:51
-
Dobrý den,
píšu skript, který má zjistit na základě příkazu AT+COPS? zjistit ID sítě, ke které je USB modem připojený a následně vybrat správné APN, přihlašovací jméno a heslo. Jiná možnost není, protože např. O2 UK a T-Mobile UK používají modemy, které mají stejné device ID 12d1:1001. Má někdo zkušenosti s získávání odpovědí AT příkazů z usbserial zařízení a následného zpracování bashem? Při zavolání echo "AT" > /dev/ttyUSB0 a následně zavolání cat /dev/ttyUSB0 mi zůstane výpis catu viset. Díky předem za pomoc
Radek Strnad
-
Ahoj, zkusil bych se podivat sem http://wiki.openmoko.org/wiki/Manually_using_GSM
-
Obsluha sériové linky v BASHi není nejjednodušší, protože je potřeba do jednoho souboru najednou zapisovat i z něj číst. Pokud se to dělá postupně, soubor se mezitím zavře a nefunguje jak by mělo.
Doporučuji to řešit nějakým vyšším jazykem, dovolil jsem si třeba malinkatý kousek v Pythonu 3 s pomocí PySerial:
#!/usr/bin/env python3
import serial
portname = '/dev/ttyUSB0'
command = 'AT+COPS?'
with serial.Serial(portname, timeout=2) as port:
port.write('{0}\r'.format(command).encode('ascii'))
port.readline() # Read back command
result = port.readline().decode('ascii').strip()
print(result)
-
Diky moc za pomoc. Uz jsem to napsal pomoci Ruby a SerialPort gemu (http://ruby-serialport.rubyforge.org/). Preci jen jsem v nem vic kovanejsi, nez v Pythonu.
Radek