<- BACK

DCF39/DCF49パケット

パケット通信、基礎の基礎

  
EFR Teleswitch

EFR Teleswitch

EFR Teleswitchは広域の電力系システムをリモートコントロールするための無線システムです。

ドイツ(DCF39, DCF49)とハンガリー(HGA22)に送信所があり、日本で直接受信することは困難ですが、WebSDR経由でモニターできます。
EFR Teleswitch

PROTOCOL

国際規格「IEC 60870-5」をベースに「DIN 19244」に規定されているようです。

EFR公式資料
Klaus Betke氏資料

シンプルなプロトコルです。これを題材にしてパケット通信の基礎を勉強しましょう!
DCF39 PACKET PARSER

PACKET PARSER / ANALYZER

Arduinoで受信プログラムを作成してみました。

v1.38 DOWNLOAD(.zip)up

パケットの処理は初めての領域で「たぶんこんな感じだろう」という自己流ですが、市販ソフト以上の機能を盛り込むことができたので満足です。
MASK AND SHIFT

MASK & SHIFT

プログラミングの超初歩の確認!

1バイトに複数の情報があって切り分ける必要があるとします。そんな時は「ビット演算子」である「マスク」や「シフト」を使って加工します。
PARITY AND FCS

PARITY & CHECKSUM

通信理論の超初歩の確認!

ざっくり図のような検算を送信側・受信側双方で行うことによってエラーを検出します。BAUDOTのRTTYには出てこない概念ですね。
MSB AND LSB

MSB & LSBnew

通信理論の超初歩の確認!

書くときはMSBファースト、送るときはLSBファーストが一般的です。例外もあるので注意を払う必要があります。
DCF39 PACKET PARSER

SYSTEM

※デモジュレータはNE565Nを使ったもの

VIDEO

10秒ごとにタイムパケット、必要に応じて機器に対するコマンドが送信されています。

ユーザーデータ領域はあくまでバイナリデータですが、稀にアスキー文字で"DCF39 TEST"のようにコールサインを送出することがあるようです。
時計表示

電波時計

LCDにタイムパケットを表示して電波時計風に。
DCF39 PACKET CSV

CSV FILE OUTPUT

ファイル出力をすれば統計をとって分析することもできます。

参考コード
DCF49 ANALYSIS

DCF49 24H ANALYSIS

DCF49を24時間記録して分析してみました。

取得ログ(.csv)

※2020年現在、アスキー文字でのコールサイン送出はやっていないようですね。

PACKET SENDERnew

フレームがシンプルなので送信側も簡単に作れます。送受信して遊びましょう!

さらにデータ構成を自分で考えてテストしたり勉強にもなりますね。

参考コード

SSDVの基礎実験new

デジタル伝送なら文字、音声、画像データは本質的に同じものなので、同じプラットフォームで送ることができます。

左の動画は32x32ピクセルのビットマップデータを64バイトx16パケットに分割して送受信しているところ。ヘッダ内のフレーム番号を元に後から組み立てたりできるのがパケット構造を使うメリットでもあります。
SSDV TEST

SSDVの基礎実験

液晶表示もできました。速度も200Baud出せばいい感じです。

参考コード

DCF39/DCF49から少し話がそれてきましたので、SSDVの話はまたいずれ別の項目を作って載せたいと思います。