RaspiSMS: Raspberry Pi를 SMS 송수신 센터로 전환하는 간단한 방법

RaspiSMS 이해하기: Raspberry Pi를 SMS 게이트웨이로 전환하는 오픈 소스 솔루션

RaspiSMS는 Raspberry Pi의 강력한 기능을 활용하여 웹 인터페이스 또는 전용 API를 통해 SMS 메시지를 주고받도록 특별히 설계된 오픈 소스 애플리케이션입니다. 이 솔루션은 웹 프레임워크인 Symfony와 데이터 관리용 MariaDB와 같은 강력한 기술을 활용하여 Linux 환경에 완벽하게 통합됩니다. SMS 게이트웨이인 RaspiSMS를 사용하면 개인, 기업 및 홈 오토메이션 사용자가 Twilio나 Free Mobile과 같은 타사 사업자의 유료 서비스에 의존하지 않고도 독립형 SMS 허브를 쉽게 구성할 수 있습니다.

RaspiSMS의 주요 장점 중 하나는 Raspberry Pi를 단순한 GSM 모뎀뿐만 아니라 Jeedom이나 Domoticz와 같은 홈 오토메이션 시스템과 상호 작용할 수 있는 자동화 허브로도 사용할 수 있다는 것입니다. 이 기능은 특히 개인 맞춤형 SMS 알림 전송, 대량 SMS 캠페인 관리, PiSMS 또는 PlaySMS를 통한 원격 작업 트리거와 같은 흥미로운 가능성을 열어줍니다. 이 두 가지 솔루션은 동일한 생태계에 속하며, 유사한 대안입니다.

  • RasppiSMS의 주요 기능은 다음과 같습니다.
  • API 키를 사용하는 안전한 시스템 기반의 다중 사용자 관리
  • 동적 메일링 리스트를 위한 연락처 그룹 생성 및 관리
  • 개인 맞춤 또는 대량 SMS 메시지 예약

Gammu 호환 3G/4G 동글 기본 지원으로 USB 포트를 통한 직접 통합 가능

LAN 또는 WAN에 연결된 모든 기기에서 접근 가능한 직관적인 웹 인터페이스

이러한 기능적 다양성 덕분에 RaspiSMS는 외부 서비스에 의존하지 않고 알림 전송을 자동화하려는 Linux 시스템 관리자에게 필수적인 도구입니다. 또한 SMS 데이터에 대한 완벽한 제어가 필수적인 전문적인 환경에서도 유용합니다. 복잡한 구성이 필요한 SMSTools3와 같은 도구와 달리, RaspiSMS는 고급 사용자에 적합한 다양한 기능을 유지하면서도 접근성을 우선시합니다.

RaspiSMS는 모듈식 아키텍처 덕분에 Raspberry Pi 4 모델부터 Raspberry Pi 5와 같은 최신 모델, 그리고 다른 호환 Linux 배포판에 이르기까지 다양한 버전의 Raspberry Pi에 쉽게 적용할 수 있습니다. GitHub의 활발한 커뮤니티는 보안 및 새로운 GSM 모뎀과의 호환성을 개선하기 위한 정기적인 업데이트를 통해 지속적인 개발을 보장합니다.

Raspberry Pi OS에 RaspiSMS 설치 및 구성: 상세 가이드 및 모범 사례

  • Raspberry Pi에 RaspiSMS를 설치하려면 특히 하드웨어 선택 및 적절한 소프트웨어 종속성 설치에 대한 신중한 준비가 필요합니다. 최적의 성능을 보장하려면 RaspiSMS에 필수적인 PHP 8.4 및 MariaDB와의 호환성을 보장하는 Debian Bookworm 기반 Raspberry Pi OS가 설치된 Raspberry Pi 4 이상을 사용하는 것이 좋습니다.
  • 설치 전에 다음 사항을 확인하세요.

Raspberry Pi에 최소 32GB의 SD 카드가 있어야 하며, 로그 및 데이터 저장 용량이 충분한 64GB가 권장됩니다.

Gammu 호환 3G/4G 동글을 활성 SIM 카드에 연결해야 하며, 안정적인 전송을 위해 비즈니스 플랜을 사용하는 것이 좋습니다.

설치를 수행하는 사용자는 sudo 권한을 가지고 있으며, SSH 접속을 용이하게 하기 위해 머신에 고정 IP 주소가 구성되어 있어야 합니다. 설치는 `apt-get update` 명령어로 시스템 패키지를 업데이트하는 것으로 시작하며, 이어서 웹 서버용 Apache2, 데이터베이스용 MariaDB, 모뎀 관리용 Gammu 및 gammu-smsd, 그리고 PHP 8.4와 그 확장 기능 등 필수 구성 요소를 설치합니다. 중요한 단계는 RaspiSMS 전용 데이터베이스를 생성하고, `mysql_secure_installation` 명령어를 사용하여 MariaDB를 보호하고 안전한 루트 비밀번호를 설정하는 것입니다. SMS 메시지의 특수 문자를 최적으로 처리하려면 데이터베이스가 utf8mb4 문자 집합으로 생성되어야 합니다. RaspiSMS MySQL 사용자는 공격 표면을 제한하기 위해 특정 권한을 부여받아 SMS 시스템의 전반적인 보안을 강화합니다. 다음으로, RaspiSMS 소스 코드는 GitHub 저장소에서 직접 가져옵니다. 구성에는 여러 파일을 수정해야 합니다.

phinx.yml

(데이터베이스 연결용),

  • env.php
  • (애플리케이션 런타임 환경 및 비밀 키용),
  • env.prod.php

(네트워크 설정, 메일 서버 및 URL 관리용)입니다. Linux 명령을 사용하여 강력한 비밀 키를 생성하면 인터페이스 보안에 필수적인 암호화 키가 할당됩니다.

필수 PHP 패키지는 Composer를 통해 설치되고, 데이터베이스는 프로젝트에 제공된 마이그레이션을 통해 초기화됩니다. 관리자 사용자 추가는 명령줄을 통해 수행되므로 인터페이스 접근 관리가 간소화됩니다.

마지막으로, Apache 서버 구성은 RaspiSMS용 특정 파일을 가져오는 방식으로 처리되며, 이를 통해 가상 호스트와 재작성 모듈이 원활하고 안전한 브라우징을 보장할 수 있습니다. 엄격한 파일 및 폴더 권한 관리를 통해 권한 문제를 방지하며, 특히 raspisms 사용자와 www-data 그룹에 소유권을 할당합니다. 자동 시작 및 모니터링을 위해 맞춤형 raspisms systemd 서비스가 생성됩니다.로그 회전은 logrotate를 사용하여 로그 파일의 크기와 기록을 제한합니다.

모든 변경 사항을 적용하고 구성을 검증하기 위해 서비스가 재시작됩니다.

이렇게 신중하게 설치하면 RaspiSMS의 기능을 안전하게 완전히 활용할 수 있는 안정적인 기반을 확보할 수 있습니다.

3G 동글을 구성하고 RaspiSMS를 홈 자동화 시스템 또는 Linux 인프라와 통합합니다.

RaspiSMS를 안정적으로 사용하기 위한 핵심 단계는 SMS 게이트웨이 역할을 할 3G 또는 4G 모뎀을 구성하는 것입니다. Gammu 소프트웨어는 이 통합의 핵심이며, AT 프로토콜을 통해 USB 모뎀과의 통신을 관리합니다. 초기 감지는 `gammu-detect` 명령을 사용하여 수행되며, 이 명령은 모뎀의 USB 포트(대개 `/dev/ttyUSB0`)를 자동으로 식별합니다. 추가 설정에는 `~/.gammurc` 파일을 생성하여 포트, 연결 유형(AT), 유니코드 인코딩 매개변수 및 로그를 지정하는 작업이 포함됩니다. Gammu는 특히 SIM 카드 PIN/PUK 코드를 처리할 때 영어로 변조된 응답을 요구하므로 `en_GB.utf8` 로캘을 사용하는 것이 중요합니다. SMS 대기열 관리를 담당하는 gammu-smsd 데몬의 설정은 /etc/gammu-smsdrc에서 이루어집니다. 이 파일은 받은 편지함, 보낸 편지함, 보낸 편지함, 오류 폴더의 경로를 지정합니다. 또한 시작 시 SIM 카드 잠금 해제에 필수적인 PIN 및 PUK 코드를 정의할 수 있습니다. 데몬이 구성되고 실행되면 RaspiSMS는 자체 인터페이스를 통해 3G 동글을 감지합니다. 사용자는 모델, gammu-smsdrc 설정 파일, PIN 코드를 지정하여 “전화기”를 생성할 수 있습니다. 이러한 추상화는 웹 인터페이스를 통한 메시지 송수신을 간소화합니다.

홈 오토메이션 애호가를 위해 RaspiSMS는 Domoticz 또는 Jeedom과 같은 플랫폼과 통합되어 SMS 시나리오를 사용하여 자동화된 작업을 트리거할 수 있습니다. 예를 들어 침입이 감지되면 SMS를 통해 보안 경고를 전송하거나 SMS 명령을 수신하여 홈 네트워크를 원격으로 제어할 수 있습니다.

  • 성공적인 통합을 위한 핵심 사항:
  • Gammu를 사용하여 올바른 3G 모뎀 감지 확인
  • 메시지 폴더 경로를 포함한 gammurc 및 gammu-smsdrc 파일의 신중한 구성
  • RaspiSMS 사용 전 gammu 명령을 사용하여 SMS 송수신을 테스트하여 하드웨어 통신을 검증
  • 다중 전화 관리를 위한 그래픽 인터페이스에서 RaspiSMS 사용자 구성

맞춤 스크립트를 사용하여 홈 자동화 플랫폼과 통합하여 상호 작용을 자동화합니다. 이처럼 완벽하게 구성된 기술적 접근 방식 덕분에 Raspberry Pi는 각 Linux 사용자의 요구에 맞게 프로그래밍 및 확장 가능한 진정한 SMS 통신 허브가 됩니다.

https://www.youtube.com/watch?v=I1-7vJMhkio

RaspiSMS를 사용한 SMS 메시지 전송 및 관리: 웹 인터페이스 및 API, 세부 프로세스

설치 및 구성 후, RaspiSMS의 핵심 기능은 웹 기반 그래픽 인터페이스 또는 명령줄 API를 통해 SMS 메시지를 송수신하는 기능으로, 다양한 사용자 프로필에 대한 광범위한 활용을 제공합니다.

  • 웹 인터페이스는 새 메시지 전송을 위한 간소화된 사용자 경험을 제공합니다.
  • 콘솔에서 “새 SMS” 메뉴에 액세스합니다.
  • 동적 목록 관리 기능을 통해 메시지 텍스트, 번호 또는 저장된 연락처를 입력합니다.
  • 구성된 여러 3G 키에서 발신자 번호를 선택합니다.

즉시 전송하거나 나중에 전송되도록 메시지를 예약합니다.

발송된 SMS 메시지를 확인하여 각 메시지의 기록 및 상태(전송됨, 보류 중, 오류)를 관리할 수 있습니다.

<!– wp:code {"content":"
curl -X POST http://192.168.1.101/raspisms/api/scheduled/ -H "X-Api-Key: VOTRE_CLE_API" -d "text=Message depuis RaspiSMS" -d "numbers=%2B33123456789"
“} –>
RaspiSMS REST API는 Linux 또는 Windows 기반 개발자 및 시스템 관리자의 요구에도 맞춰 조정됩니다. 인증은 사용자별 고유 API 키를 사용하며, 인터페이스를 통해 프로필에서 액세스할 수 있습니다. 이 키는 API 엔드포인트에 대한 안전한 액세스를 보장하여 전송을 완벽하게 자동화합니다.

Linux에서 cURL을 사용하는 일반적인 사용 예:

  • `curl -X POST http://192.168.1.101/raspisms/api/scheduled/ -H “X-Api-Key: YOUR_API_KEY” -d “text=Message from RaspiSMS” -d “numbers=%2B33123456789″`
  • Windows에서는 `Invoke-WebRequest`를 통해 유사한 PowerShell 명령을 사용할 수 있으며, 이를 통해 스크립트나 관리 도구와의 통합을 용이하게 할 수 있습니다.
  • 이러한 이중 상호 작용 방식 덕분에 RaspiSMS는 다양한 플랫폼과 호환되며 다음과 같이 더 복잡한 IT 처리 체인에 통합될 수 있습니다.

bash 또는 Python 스크립트에서 자동 알림 전송

데이터 검색을 위한 API를 통한 클라우드 서비스와의 상호 운용성

“` Linux 또는 Windows 기반 인프라에서 자동화된 워크플로우

  • PlaySMS 또는 PiSMS와 같은 다른 솔루션과 비교할 때 RaspiSMS는 설치가 간편하고 완전한 자체 호스팅 모드가 있으며 Raspberry Pi OS 스택과의 기본 호환성이 뛰어나 맞춤형 오픈 소스 SMS 게이트웨이를 채택할 때 선호되는 옵션입니다. https://www.youtube.com/watch?v=zIJVpEon4sE
  • Raspberry Pi에서 RaspiSMS 사용을 최적화하기 위한 모범 사례, 조언 및 고급 옵션 기본 설치 및 구성 외에도 RaspiSMS를 완전히 활용하려면 복잡한 Linux 환경에서 보안, 성능 및 통합을 최적화하기 위한 특정 권장 사항을 따라야 합니다. SMS 게이트웨이 관리에서 얻은 경험을 통해 개선 및 고급 옵션이 필요한 몇 가지 흥미로운 영역이 드러났습니다.
  • 다음은 필수 모범 사례 목록입니다. 액세스 보안:
  • Let’s Encrypt를 통해 SSL 인증서를 사용하여 HTTP 교환을 암호화하고 API 키 또는 비밀번호의 가로채기를 방지하세요. 정기적인 백업 수행:
  • 손실을 방지하기 위해 MariaDB 데이터베이스 및 Gammu 구성 내보내기를 자동화합니다. 로그 모니터링:

/var/log/raspisms/daemon.log 및 gammu.log 파일을 주의 깊게 따라가면 하드웨어 오류나 무단 액세스 시도를 빠르게 감지하는 데 도움이 됩니다.

  • 할당량 관리:
  • 사용자당 전송되는 SMS 수 또는 시간 간격에 대한 제한을 구성하여 스팸이나 남용을 방지합니다.
  • 업데이트 일정:
  • 호환성을 보장하고 취약점을 수정하려면 RaspiSMS, 운영 체제 및 종속성을 최신 상태로 유지하세요.
  • 고급 옵션 측면에서 RaspiSMS는 다음을 허용합니다.

다중 모뎀 관리: 여러 개의 3G 키를 연결하여 전송 부하를 분산할 수 있어 대규모 SMS ​​캠페인에 유용합니다.

다중 사용자 환경에서 비밀번호 재설정을 위한 통합 메일 서버 구성은 유용합니다.