사용자 도구

사이트 도구


develop:python:tip:sendsms

문서의 이전 판입니다!


Send SMS

개요

핸드폰과 컴퓨터를 시리얼로 연결하여 AT Command 를 이용하여 문자메시지를 보낼 수 있다. Python 에는 Serial 모듈이 있으며 이를 통해서 시리얼 통신을 할 수 있다.

serial 모듈 설치

Python 에서 시리얼 통신을 하려면 serial 모듈이 있어야 하며, Debian Linux 에서는 아래와 같이 설치한다.

# apt-get install python-serial

문자보내기 (예제)

import serial
 
ser = serial.Serial('/dev/ttyS0', 115200, timeout=1) # 시리얼 연결
ser.write("AT*ESMS=1\r") # 문자보내기 기능을 활성화 한다.
serial_result = ser.readlines()
ser.write("ATE0\r")
serial_result = ser.readlines()
ser.write("ATV1\r")
serial_result = ser.readlines()
ser.write("AT+CHV\r") # 호연결 끊기
serial_result = ser.readlines()
ser.write("AT+CSQ?\r") # 장비 테스트
serial_result = ser.readlines()
ser.write("AT+CDV *0661\r") # 호에 연결
serial_result = ser.readlines()
serial_result = ser.readlines()
ser.write("AT*MOREQ 0,0113872176,0162348765,4098,첫번째문자보내기\r") # 첫번째문자 보내기
serial_result = ser.readlines()
ser.write("AT*MOREQ 1,0113872176,0162348765,4098,두번째문자보내기\r") # 두번째문자 보내기
serial_result = ser.readlines()
ser.write("AT+CHV\r") # 호연결 끊기
serial_result = ser.readlines()
ser.close() # 시리얼 끊기

위의 예제는 Mailshot 이라는 문자메시지 단말기를 통해서 문자를 보내는 코드이다. Mailshot 은 윈도우용 모듈만 제공하여 필자가 리눅스(기타 OS)에서도 돌아갈 수 있도록 작성한 것이다. 단말기, 통신사에 따라서 명령어가 틀리기 때문에 실제 문자를 보낼때 시리얼포트를 캡쳐하여 알아보아야 한다.

develop/python/tip/sendsms.1170650045.txt.gz · 마지막으로 수정됨: 2007/02/05 13:34 저자 mattabu