以下の記事は昨年の2023年10月1日(日)に開催された「電波文化祭⚡️サイクル1」向けに書いた記事です。
オリジナルは次のURLをご覧ください。
「インターネットでモールス通信 - DitDahChat」
DitDahChatとは
DitDahChatは、インターネット上でモールス通信を楽しめるウェブアプリです。ブラウザが動作する端末であれば、スマートフォン、タブレット、パソコンのいずれでも動作します。
モールス通信を楽しむにはアマチュア無線の資格の取得や、無線機やアンテナの準備が必要だと思っていませんか。DitDahChatならいつでもどこでも、すぐに楽しむことができます。
https://ditdah.jp/ditdah-chat/
DitDahChatの特徴
DitDahChatはできるだけ手軽にモールス通信を楽しんでいただけるようにしています。
- 無料でご利用いただけます
- IDやパスワード等のアカウント情報の登録はありません
- 無線従事者免許、無線局免許は不要です
- 電鍵を接続できます
- ルームを作成できます。交信内容は同じルームの人のみに聴こえます
- すべてのルームがオープンです。誰でもご自由に入室できます
このような方におすすめ
- モールス通信の初心者
- 免許の取得、無線機とアンテナの準備の前にモールス通信を体験してみたい
- 他にワッチしている人がいないところで練習したい
- 無線で交信する前に不安や緊張を和らげたい
- 手軽にモールス通信がしたい
- 無線でなくてもよいので、モールス符号で会話したい
- お空のコンディションの良くないときでもモールス通信を楽しみたい
- 海外にいる人と手軽にモールス通信したい
- いつでもどこでも寝転がりながらでもモールス通信を楽しみたい
- 和文好き
- 様々な理由で無線ができない
- 事情があり、無線機とアンテナを設置できない
- 無線局を廃止した
- 免許を切らしてしまった
(例)モールス通信初心者の練習風景
符号は覚えても実際のモールス通信デビューは不安なものです。とくに無線では他の人が聴いている可能性があり、恥ずかしさもあると思います。DitDahChatなら気心の知れた人と、他の人が聴いていない状態で練習することができます。
youtu.be ギタリストHaruka JJ1ROEのハムライフ / 😊🎸ギタリストHarukaの交信動画【第98回】JR0BAQ-JJ1ROE (2022/4/27)🍀(掲載許可済み)
いつでもどこでもモールス通信
無線では難しい時間帯や場所からでも、DitDahChatなら簡単にオンエアーできます。
インターネットで繋がっているので当たり前ですが、海外との交信ができたときは感動しました。
- 通勤電車
- 会社の昼休み
- ネットカフェ
- 旅行先のホテル
- 飛行機
- 東北新幹線(盛岡あたりでトンネルが多く、途切れ途切れ)
- 船上から(名古屋港?)
- タイのビーチ
- サウスカロライナ州に在住の方が日本の局と和文交信
(例)海外からの交信風景
タイのビーチから和文(?)交信
(掲載許可済み)DitDahChat on the beach 🤗
— JF1IBZ (@JF1IBZ) 2022年12月20日
HS8/JF1IBZ pic.twitter.com/Iq4ecGLqkG
(例)スマホを使った打鍵
(例)電鍵接続(シリアル接続)
お使いのブラウザがChromeの場合、パソコンのシリアルインタフェースに電鍵を接続できます。シリアルインタフェースがない機種の場合、USB-シリアル変換ケーブルを利用して接続してください。
DitDahChatはシリアルインタフェースの2つのピン、DTRとDSRをスイッチとして使用します。2つのピンを短絡すると信号が送出され、切断すると信号の送出が停止します。
DB-9オスコネクタの場合は、次の図の黒丸の位置にあるピンを使用します。
⚪⚪⚪⚫⚪ ⚫⚪⚪⚪
私はハンダ付けが苦手なので、ジャンパー線で雑に繋げています。
開発のきっかけ
- 遠隔操縦に使える映像・音声を伝送する技術を探していた
- WebRTCにたどり着く
- ブラウザが内部に持っているオシレーターの音をマイクからの音声の代わりに流せばモールス通信できるのではと思った
試作品
youtu.beWeb Audio APIのオシレータをWebRTCのストリームに接続すれば、ブラウザ間でモールス通信できそう。でも画面上のボタンをタッチだと速く打てないですね。
— JI1JDI (@ji1jdi) 2021年1月17日
WebRTCはSkyWayを使いました。サーバを用意する必要もなく、無料で使えるのがいいですね。 pic.twitter.com/B5xEN6XYex
これまでの流れ
- 2021-01-17 試作品(映像をTwitterで公開)
- 2021-01-23 テスト公開
- 2021-01-24 テスト公開(Twitter)
- 2021-01-25 テキストチャット機能
- 2021-01-27 ルーム参加者表示機能
- 2021-02-28 任意のルームを作成する機能
- 2021-04-17 匿名ルーム機能
- 2021-07-28 電鍵シリアル接続機能
- 2021-11-28 モールス符号デコード機能
※ 多くの機能がA1 CLUBの方々からのリクエスト、ご意見から生まれました。ありがとうございました。
※ ご意見、不具合報告等をいただきました皆さま、ありがとうございました。
使用技術
使用外部サービス
DitDahChat は通信基盤として、NTT Communications の SkyWay を使用しています。
- SkyWay
- https://skyway.ntt.com/ja/
- リアルタイムコミュニケーションを実現するマルチプラットフォームSDK
- Freeプラン
- 利用量に上限はあるが、無料枠が大きい
- モールス符号のトーンを流すだけなら十分な量が使える
打鍵方式
- はじめは画面上のボタンを押すか、上下矢印キーで打鍵のみ
- 電鍵の接続は公開当初から望まれていた
- マウス経由で電鍵を接続する人が現れる
- 遅延が大きい
- 外付けエレキーのサイドトーンを聴くので、アプリのサイドトーンを消す機能をリクエストされる
- シリアル接続が可能に(Chromeのみ)
インターネットでモールス通信できる他のサービス
- CWCom
- サーバは動作しているものの、公式サイトが消滅
- クライアントアプリはミラーサイトからダウンロード可能
- VBand
- WebSocketで打鍵のタイミング(スペースとマーク)を送受信している(?)
- Peanut
- iCW (Internet CW)
モールス通信を体験してみたい方へ
DitDahChatを使ったモールス通信の体験や練習の相手をお探しの方は、次のページに記載の連絡先までご連絡ください。
Profile - JI1JDI - Amateur radio station
DitDahChatがモールス通信を楽しむきっかけとなって、技能の向上にもお役に立てるとうれしいです。
プログラミングをはじめてみたい方へ
これからプログラミングをはじめてみたい方は、ブラウザを使ったプログラミングはいかがでしょうか。
OSやハードウェアに依存しない次のような道具が揃っていて、本格的なアプリ開発を楽しめます。
- 映像、画像処理(Canvas API, WebGL)
- 音声処理(Web Audio API)
- シリアル通信(Web Serial API)
- カメラ、マイク(MediaDevices)
- コミュニケーション(WebRTC)
- 位置情報(Geolocation API)
- 双方向データ通信(WebSocket)
- AI/機械学習(ブラウザ上で動作する Tensorflow.js など)
- その他多数
マニュアル
DitDahChat モールス通信ウェブアプリ(簡易マニュアル) https://ji1jdi.hatenablog.com/entry/2021/12/29/152305
Tiny DitDahChat(開発中)
DitDahChatは商用サービスとそのSDK(SkyWay)を利用していますが、いずれは特定のWebRTCサービスに依存しない自前のサービスにしたいと考えています。その第一歩として、シグナリングサーバーとWebRTCクライアントの部分を自作してみました。