質問: ### 前提・実現したいこと プログラム、というわけではないですが、知見のある方にお聞きしたいのですが、PCを利用して通話をしたり、SMSを送受信できるようにしたいです。通話やSMSをする際に必要なアプリケーションは作ることができます。 今回の質問内容について自身が調べてわかったことを、以下に記載するので、それに対するレビューや、指摘をいただきたいです。 また、詳細なやり方がわかる場合は、教示いただけますと嬉しいです。 質問をいただけますと、答えられる範囲でお答えいたしますので、よろしくお願いします。 ### わかったこと 自身で調べてわかったことが、SMSを送付するうえで、SIMとモデムとなる端末を用意して、PCからモデムに対してATコマンドを送信することで、できそう、ということはわかりました(電話の送受信をPCでできるかよくわかりませんでした)。 SIMとモデムとなる端末、これは携帯電話そのものだと思うので、PCに携帯電話を差し込んで、携帯電話にATコマンドを送ったりなんだりをすればよいと思いました。 ### 問題点 PCにスマホを差し込むと、`/dev/ttyXxx`のようなシリアルポートに対する接続を検出するみたいなのですが、ガラケもスマホも両方を差し込んだのですが、検出されませんでした。これは、PCからの接続がセキュリティ上好ましくないから、ブロックされているのかな、とも思ったのですが、本当にそうなのか確信できる情報はありませんでした。 そのため、ATコマンドの送付先がわかりませんでした。 WindowsではシリアルポートがCOMポートというみたいなので、COMポートを調べてみたのですが、スマホも、携帯も抜き差ししても利用中のCOMポートに変化がなかったので、PCに認識されていないのかな、と思いました。 ただ、デバイスマネージャにはスマホを差し込んだ時に、表示されるので、認識はされているけれど、、なぜなんだ?という気持ちです。 ### 私のできること Windows, Mac, Linux(PCもラズパイも)もあります。 PHP, Ruby, Python, C#, Rust, golang, scala, javascript等が使えるのでどれを勧めていただいても大丈夫かと思います。 スマホもガラケもどちらもよいですが、ガラケで実装しきれると嬉しいです。
回答: 直接ATコマンドを発行する場合、ATコマンドを受け付けるかどうかやATコマンドのコマンド体系等は機種によって異なります。 スマホ上でSMSアプリを実装する場合はAPI経由で叩けるので、スマホアプリを作ってそこにPCから命令を出すというのが機材調達/難易度的には一番楽だと思います。 (既存でPCからスマホのSMSを送受信出来るアプリも存在します。) 他の方法だと、 ATコマンドのデータシートが提供されている3Gモジュールの搭載されているIoT向けのシングルボードPCを使う場合も難易度は比較的低いです(金額的にはスマホより高いかも) ガラケーだと、モデムモードでシリアル接続出来る機種であれば可能な気がしますが、調べてる途中で挫折した経験があります。 番外編としては、送受信に対応しているAPIを提供しているSaaSを使うという方法がありますが、日本国内では安定した受信の実装ハードルが高いため、まともに使えるものは基本的に法人向けのものしかありません(年間3桁万円くらいは普通にかかります)