Python lib for AT GSM commands
Project description
AT-GSM
Python lib for AT GSM commands
Install
pip install atgsm
Usage
from atgsm import AT
AT.get_ports_list()
# Ex result: ['/dev/ttyXX1', '/dev/ttyXX2']
# Create new device instance
device = AT('/dev/ttyACM0', baudrate=115200)
############################
# Device related functions #
############################
device.is_responding()
# return boolean (ex: True)
device.get_imei()
# return device IMEI (ex: '000000000000001')
device.set_imei(new_imei)
# - new_imei = string (new imei number to set)
# return boolean (ex: True)
device.get_imsi()
# return SIM IMSI (ex: '000000000000001')
device.get_iccid()
# return SIM ICCID (ex: '00000000000000000001')
device.get_signal_strength()
# return signal strength from 0 to 31 (ex: 12')
device.is_network_ready()
# return boolean (ex: True)
device.reboot()
# return nothing
#########################
# SIM related functions #
#########################
device.is_sim_locked()
# return boolean (ex: True)
device.unlock_sim(pin)
# return boolean of success (ex: True)
device.change_sim_pin(actual_pin, new_pin)
# return boolean of success (ex: True)
device.disable_sim_pin(pin)
# return boolean of success (ex: True)
device.enable_sim_pin(pin)
# return boolean of success (ex: True)
device.reset_sim_pin(puk, new_pin)
# return boolean of success (ex: True)
#########################
# SMS related functions #
#########################
device.send_sms(phone_number, content)
# - phone_number = string (destination phone number)
# - content = string (sms content)
# return nothing
device.get_sms_list(include_read, keep_unread)
# - include_read = boolean (include already read messages only if True)
# - keep_unread = boolean (keep messages unread only if True)
# return list of messages dicts, ex :
# [{'index': '1', 'status': 'REC READ', 'readed': True, 'sender': '+33XXXXXXXXX', 'time': '2023/XX/XX XX:XX:XX+XX', 'content': 'This is text'}]
device.get_sms(message_index, keep_unread)
# - message_index = int (index of specific message to get)
# - keep_unread = boolean (keep messages unread only if True)
# return requested message as dict, ex :
# {'index': '1', 'status': 'REC READ', 'readed': True, 'sender': '+33XXXXXXXXX', 'time': '2023/XX/XX XX:XX:XX+XX', 'content': 'This is text'}
device.delete_sms(message_index)
# - message_index = int (index of specific message to delete)
# return boolean of success (ex: True)
device.delete_all_sms(include_unread)
# - include_read = boolean (delete also unread messages if True)
# return boolean of success (ex: True)
##############################
# Contacts related functions #
##############################
device.get_contact(contact_id)
# - contact_id = int (id of specific contact to get)
# return requested contact as dict
# {'id': 1, 'name': 'My phone number', 'number': '+33XXXXXXXXX'}
device.set_contact(contact_id, contact_name, contact_phone_number)
# - contact_id = int (id of specific contact to create)
# - contact_name = string (name of contact to create)
# - contact_phone_number = string (phone number of contact to create)
# return boolean of success (ex: True)
###########################
# Calls related functions #
###########################
device.dial(phone_number)
# - phone_number = string (phone number to dial)
# return boolean of success (ex: True)
device.answer()
# (answer to incomming call)
# return boolean of success (ex: True)
device.hang_up()
# (hang up actual call)
# return boolean of success (ex: True)
device.press_key(key)
# - key = string (key to press on keypad during call)
# return boolean of success (ex: True)
device.get_call_count()
# return current calls counts for each status (active, held, dialing, alerting, incoming, waiting, total) as dict, ex :
# {'active': 1, 'held': 0, 'dialing': 0, 'alerting': 0, 'incoming': 1, 'waiting':0, 'total': 2}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
atgsm-0.4.tar.gz
(4.5 kB
view hashes)
Built Distribution
atgsm-0.4-py3-none-any.whl
(5.2 kB
view hashes)