3g 동글을 사용하여 AT 명령으로 일본어 SMS 보내기
4897 단어 RaspberryPiSORACOM3gIoTSMS
사전 쓰기
AT 명령에 대해 일본어로 작성된 기사가 거의 없습니다.
최근 Soracom은 AT 명령에 대해 작성되었지만 매우 공부합니다.
앞으로 시작해 보는 분은 매우 도움이 되는 것이 아닐까요.
하고 싶은 일
AT 명령을 사용하여 휴대폰에 일본어(UCS2)로 SMS를 보냅니다.
이하, 실수 등이 있으면 지적해 주시면 도움이 됩니다.
환경
RaspberryPi를 사용합니다.
RaspberryPi를 사용합니다.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.1 (stretch)
Release: 9.1
Codename: stretch
SMS 보내기
우선은 보통으로(GSM 7 bit≒Ascii로) SMS를 보냅니다( 참고 ).
리눅스의 경우 동글을 찔러 /dev/ttyUSB0~3
를 만듭니다.
이 중 AT 명령을 발행하면 ttyUSB0
와 ttyUSB1
가 modem으로 작동하고 있음을 알 수 있습니다.
어느 쪽을 사용해도 됩니다만, 이번은 ttyUSB1
를 사용합니다.
예를 들어 screen
를 설치하고 다음 명령을 실행합니다.
이하, >>
는 단말에 입력하는 커멘드, <<
는 modem으로부터의 응답을 나타냅니다.
$ screen /dev/ttyUSB1 115200
>> AT+CFUN=1
<< OK
>> AT+CMGF=1
<< OK
>> AT+CMGS="電話番号"
> test(Ctrl-z)
<< +CMGS: ***
<<
<< OK
지났습니다. 좋았어요.
각 명령은 각각 다음과 같은 의미를 갖습니다.
$ screen /dev/ttyUSB1 115200
>> AT+CFUN=1
<< OK
>> AT+CMGF=1
<< OK
>> AT+CMGS="電話番号"
> test(Ctrl-z)
<< +CMGS: ***
<<
<< OK
modem의 기능 제한에 관한 설정입니다.
1은 기능 제한을 가득 찼습니다.
SMS 전송 모드를 설정합니다.
text mode로 보냅니다.
전화 번호로 SMS를 보냅니다.
> test(Ctrl-z)
는 test를 입력한 후 Ctrl-z를 입력합니다.
일본어(UCS2)로 SMS 보내기
USC2 (USC2 ⊂ UTF-16)로 SMS를 보냅니다.
$ screen /dev/ttyUSB1 115200
>> AT+CFUN=1
<< OK
>> AT+CMGF=1
<< OK
>> AT+CSMP=1,167,0,8
<< OK
>> AT+CSCS="UCS2"
<< OK
>> AT+CMGS="電話番号"
> 3042(Ctrl-z)
<< +CMGS: ***
<<
<< OK
보냈습니다. 좋았어요.
$ screen /dev/ttyUSB1 115200
>> AT+CFUN=1
<< OK
>> AT+CMGF=1
<< OK
>> AT+CSMP=1,167,0,8
<< OK
>> AT+CSCS="UCS2"
<< OK
>> AT+CMGS="電話番号"
> 3042(Ctrl-z)
<< +CMGS: ***
<<
<< OK
SMS 전송 및 저장에 대한 설정입니다.
UCS2로 전송하는 경우 네 번째 요소가 중요하며 8이어야합니다.
8이 아니라 24(Flash message)로 하면 지진 속보라든지 긴급 속보적인 메시지의 출방을 합니다( 참고 ).
인코딩을 설정합니다.
모듈에 따라 UCS2를 지원하지 않을 수 있습니다.
대응하고 있는지는
AT+CSCS=?
로 확인할 수 있습니다.AK-020의 경우는 다음과 같은 느낌입니다.
AT+CSCS=?
+CSCS: ("IRA", "GSM", "HEX", "PCCP437", "8859-1", "UCS2", "UCS2_0X81")
이 인코딩의 설정은 수신하는 SMS에도 영향을 미치므로, 하나의 modem으로 SMS를 송수신하는 경우에는 주의합시다.
GSM 7비트로 설정하려면 8859-1을 설정합니다.
또한 휴대폰에 따라 표시가 다르지만 UCS2에서 사용할 수 있는 이모티콘도 보낼 수 있습니다.
참고
잡담
SMS를 보내고 받는 것만이라면 직접 AT 명령을 실행하지 않아도 가무이라는 좋은 도구가 있습니다.
GPL입니다만 Python등에 라이브러리도 공개되고 있어, 1행의 커멘드로 SMS의 송수신을 실시할 수도 있습니다.
다만, 여러가지 시도했습니다만 아무래도 UCS2로 SMS를 송신할 수 없었습니다・・・.
코드에서 사용하고 싶고, 자기 앞에서 매우 간단한 것을 만들었으므로, 좋으면 어서
Reference
이 문제에 관하여(3g 동글을 사용하여 AT 명령으로 일본어 SMS 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/miiiiiiika/items/0284123d270ef90a4105
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(3g 동글을 사용하여 AT 명령으로 일본어 SMS 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/miiiiiiika/items/0284123d270ef90a4105텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)