jl7gmnのblog

yahooブログから移行してきました。アマチュア無線を中心としたブログです。

2022年10月

MODEL 1200FXローテーターその25

ローテーターから常時角度表示をしているESP32DevKitCの親ステーションから、スマフォから角度アスキーコマンドのUDP送信と同じ機能をもたせたるようにしたESP32DevKitCクライアントのスケッチも検討してみました。問題が1つだけあリました。スマフォでPresetGO設定の”M”コマンドのみのアスキー送出動作に関してです。角度の"M090"などは問題なく動作してくれています。PresetGOはスマフォだと動作してくれるのですが、ESP32のUDP送信では動作してくれません。受信データをシリアルモニタでみても同じ受信データなのですが、ESP32クライアントからの"M"コマンドだけは動作してくれません。原因はデータのデリミタが無いためかもと思い”/¥”コードを追加してみたところ動作するようになりました。受信シリアルモニタ上ではスマフォと異なる表示データとなっていますが、動作したので現状OKとします。やっつけ仕事です。Hi !
UDP送信でのアスキーコマンド送信がスマフォと同じように動作してからは、親ステーションと同じ角度表示をするための親ステーションからのUDP送信のスケッチ追加と、それのクライアント側でのUDP受信スケッチの追加を検討してみました。

先ずは、親ステーション(1200FXをコントロールする側)への角度情報表示しているデータをクライアントへ送出する部分です。内容は簡単で角度情報をクライアントへUDP送信するルーチンの追加だけなのですが、実際にスケッチを考えてゆくと0から255文字までのデータしかアスキーデータは送れない壁に突き当たりました。Webでも上記と同じ問題についての情報が結構ありました。
この壁の内容詳細は、角度で言うと255°を超えた256°は0°となってしまう現象です。これの対策としてはパケットにしてデータを分割送出する手法を取る必要がありました。対策は下記のWebページの方法3を応用して解決しました。(”通信処理では1byteしか送れない”という決まりがあるということです。)

3.0-255より大きい整数や少数を送りたい

1200FXをコントロールしているESP32DevKitC親ステーションでのローテーター角度表示部の角度情報の変数Readkakudoを2byteで分割送出するようにしました。例では4byteですが角度では2byte分割送出で済みます。(上位ビット下位ビットをそれぞれの1byteデータを2回送出するという事)TFT液晶に角度表示している箇所で使用している角度情報変数を使います。

〜略
 //*********************************************
  tft.setTextColor(TFT_WHITE,TFT_BLACK);
  tft.setTextSize(3);
  tft.setCursor(0,0);
  tft.print("Now :");   
  char ce[4];
  sprintf(ce,"%3d",Readkakudo);
  tft.print(ce);
  //******************************************************************************
  //  UDP data Send to client (STA mode)  add 2022oct24
  //******************************************************************************
  //udp.beginPacket(ip,localPort);
  udp.beginPacket(client_address,localPort);

  //Sending Readkakudo to Client Devided data byte High and byte Low add 2022oct25
  // int32_t Readkakudo;
  uint8_t ReadkakudoLH = (uint8_t)((Readkakudo & 0x0000FF00) >> 8);
  uint8_t ReadkakudoLL = (uint8_t)((Readkakudo & 0x000000FF) >> 0);

  udp.write(ReadkakudoLH);  //send byte Hight data by UDP
  udp.write(ReadkakudoLL);  //send byte Low data by UDP

  udp.endPacket();
    //*******************************************************************************   

  tft.setTextColor(TFT_WHITE,TFT_BLACK);
  tft.setTextSize(3);
  tft.setCursor(0,44);
  tft.print("SET :");   
  char cc[6];
  sprintf(cc,"%3d",kakudo);
  //sprintf(cc,"%3d",dd);
  tft.print(cc);  
  //********************************************

少しかかりましたが、単に角度表示している値をUDP送信するという上記ルーチンの追加で済みました。

クライアント側では、送られてきたUDPデータを受信デコードしてTFT液晶に送出したコマンドと同じように現在の角度を表示させます。loopルーチンの頭にUDP受信のスケッチを追加します。
TFT液晶への表示では、角度数字の桁の位置表示調整をしないと見栄えが悪いので、10以下の場合スペース2文字分、100より下の場合スペース1文字分を入れて右詰め表示で揃う様にしてあります。


void loop() {
  uint8_t dataLH;
  uint8_t dataLL;
 
  int32_t rv_data;
 
  int rec_size; //recieve data number
  // データ受信

  if (rec_size = udp.parsePacket()) {
      Serial.print("rec_size = ");
      Serial.println(rec_size);
      
      counter_100msec = RE_CONNECT; // re connect counter resets.
 
      uint8_t dataLH = (uint8_t)udp.read();
      uint8_t dataLL = (uint8_t)udp.read();
   
      int32_t rv_data = (int32_t)(
           (((uint8_t)dataLH << 8) & 0x0000FF00)
         | (((uint8_t)dataLL << 0) & 0x000000FF)
      );
      Serial.println(rv_data);

      tft.setTextColor(TFT_WHITE,TFT_BLACK);
      tft.setTextSize(3);
      tft.setCursor(0,0);
      tft.print("Now :");
   
     // rv_data value change add blunk for set digit right location
     if(rv_data < 10){
          tft.print("  ");
          tft.print(rv_data);
      }
      else
      if(rv_data < 100){
         tft.print(" ");
         tft.print(rv_data);
      }
      else
      if(rv_data >= 100){   
         tft.print(rv_data);
      }  
  }

省略〜

上記のスケッチ追加で親ステーション側での1200FXの現在の角度情報のUDP送信、そしてクライアント側でのUDP角度情報の受信がリアルタイムで出来るようになります。
これでクライアントではスマフォの角度情報送信だけでなく、送った角度情報でローテーターが回転している間もリアルタイムの角度情報を受信することが出来る様になりました。現在のローテーターの位置がクライアントで常時見れます。とても便利になりました。この状態でデバッグをもう少し続けます。

■親ステーション側の1200FX現在のローテーター角度表示
Readkakudoの270の角度情報を常時UDP送信しています。
CIMG9832

■クライアント側の常時親ステーションからの角度表示(電源ON後)
Now :270 と親ステーションと同じ位置にTFT液晶表示されています。
CIMG9815

なお、使う際の電源ONの手順ですが、起動する順番はローテーター電源を一番最初にONします。次にローテーター側の親ステーションESP32に電源ONします。次にクライアント側のESP32に電源をONにする順番で起動してゆきます。

現在は家庭のメーカーターミナルでWiFiを利用していますが、ESP32のフィチャーでWiFiサーバーが作れる様でなので、ローテーター1200FXのコントロールで試してみたいと思います。ESP32のサーバー機能を使いWiFi-UDP通信へとバージョンアップです。親ステーションから親サーバー化へステップアップします。スマフォにて接続表示されてるWiFiにESP32で設定する自分のサーバーが表示できるようになるということです。こんなことも出来るESP32はやはり凄いですね。最高です。
いまWiFiサーバー化へトライしている最中です。
ほかに、DDS-VFOで使ったシリアルデータ送出でのデュアルコア導入と同じようにUDP通信の受信と送信をデュアルコアで別々に動作させる応用もできそうです。時間があればこれもトライしてみたいと思います。現状特に表示上のレイテンシもなく、リアルタイム動作してくれてますので、気がむけばですが。Hi!


つづく?

インターフェアー対策用パーツ購入

現在、前の7MHzのアンテナではなかったのですが、アンテナを変えてからアマチュア無線バンドの7MHzで、200W出力でのパソコンへのインタフェアーがあります。1/4ラムダの自作バーチカルアンテナでは問題無いです。また、100W運用では問題ありませんが、200W運用では使っているアプリケーションのシリアル通信がフリーズする現象が出るため、色々とパッチンコア等の対策も行なってみましたが、完全にはインターフェアーはなくなっていません。音声のピークでシリアル通信が止まる現象がでます。PCの方からピッと音が出る様な状況なので、先ず考えられるのはPCの電源への高周波の回り込みが強いんだと思われます。ACコードへの5〜6個でのパッチンコアでの高周波の減衰は少ししか望めないとの情報もあり、-30dB減衰効果を期待するには数十個も直列に入れないといけない様です。パッチンコアでは限界があるため(−30dB減衰が取れない)電源ライン用のフィルターを2個購入することにしました。

メーカーは TDKーLambda です。電流により選べるので、パソコン系用としては十分すぎる容量ですが、RSHN-2016 にしました。

TDKのWeb上にはコモンモードとディフェレンシャルモードの技術資料としての説明もあります。

訂正:アマゾン通販では価格は安かったのですが、在庫がなくカタログのみ閲覧でした。
注文は一番安いと思われるアマゾンにしました。

最終的にはモノタロウで2ケ注文しました。
範囲を選択_349


資料上見ると、7MHz帯でのコモンモードとディフェレンシャモードそれぞれの減衰特性では−70dBと結構期待できそうな感じです。電源ラインからの高周波の回り込みが予想したとおりの原因で、コレが効いてくれれば良いのですが…。電源からでなければ、コモンモードの同軸ようのフィルターを考えます。
アンテナのSWRが高いのも問題となることなので、アンテナも調整しSWRを下げる事も必要ですね。


下のグラフの右上のRSHN-2016が購入注文中のコモンモードとデイフェレンシャルモードの特性です。

範囲を選択_347

届いたら配線して取り付けて7MHzのインターフェアーの確認をします。
電源での7MHzでの効果がなかったとしても、入れたままにしておこうかと思っています。必要なものという考えからです。

つづく?

Aliexpress通販で違うパーツが届いた時の対応忘備録その2

私がAliexpress通販で注文したものと違うものが届き、紛争処理セずに、最初にショップとの交渉で不足の2.4GHzのWiFiアンテナをこちらで注文し、ほぼ、ただで送ってくれることでおりがつき、交渉成立したのですが、なにせWiFiアンテナ価格自体が安いものなので、配達時期は12月となっていたので、気長に待つことにしていました。ところが、今日、届いたんです。コレにはおそらく、何かしらの条件があるように思えます。注文がこの安い2.4GHzのWiFiアンテナだけであればやはり、12月の配達になっていたと思うんです。ということで、明かすと、他のショップに別に注文したもの2つと合わせて3つが同包されて送られてきました。

■送られてきた商品の梱包袋
CIMG9823

■袋の中身(別々の注文した製品の包、3つ)
CIMG9824

■交渉成立分で送付されてきたのは黄色の一番小さな袋です。
CIMG9825

■少し大きな黄色の包は別のショップに注文したブレッドボードと配線線材
専用電源(+5V,+3.3V)です。
CIMG9829
デビットカード支払いの方法確認した時に、確認上やむなく購入することに
なった必要と思っていた安い部品たちです。(やむなくとは書きましたが
いずれ購入するつもりでいた部品です。Hi !)

■リミットSWです。クランクアップタワー用の保守パーツです。
日本では高くて購入する気が起きないです。やはりAliexpressの価格の安さ
は魅力です。中国製かと思っていましたが、しっかりとOMRONのロゴが
ありました。本物かどうかはわかりませんが、生産国はインドネシアで
した。中国製ではない様です。@¥864
(調べたら上海にOMROM工場がありました。インドネシアは販売拠点は
ありました。)
不思議なのが、注文したところのカタログでは@¥1,674でした。バーゲン
セールだったのかもしれません。
CIMG9830

ということで3つの注文があらたに袋につめられて送付されてきたということです。同包もなにもこちらからは言ってませんので、送付宛先が同じものが纏められた可能性もあります。いずれにしても2.4GHzのWiFiのアンテナの納期は10月15日注文しましたので26日の今日ですから11日と予定の12月の納期より、かなり早く届いたことになります。同包することにより合計金額が増え、短納期化対象への変更がなされたのかもしれません。いずれにしても全部が早く届いたので、まずは、WiFiアンテナなしのESP32に早速2.4GHzWiFiアンテナを付けてコンパイルかけて動作確認したいと思います。
実は既にコンパイルしてあります。ESP32どうしが50cmの距離では、アンテナがなくても動作しましたが、付けると通信範囲がのびるのでしょう!

つづく?


MODEL 1200FXローテーターその24

エモトの1200FXローテーター側のESP32DevKitCとのUDP通信で角度のアスキーデータを送信するUDP TCP Serverで、目的のスマフォからの角度設定が出来るようになりましたが、設定したキーの固定角度のみでした。任意に角度を設定出来るアプリがないかと少し探してみた所、ありました。UDP Monitor なるアプリです。

■スマフォでの最初のUDP通信コントロールアプリ

CIMG9529

CIMG9563


■UDP Monitor 任意角度設定送出対応可能なアプリ
CIMG9817

■UDP Monitor 操作パネル
CIMG9819

ターゲットとなる親のESP32DevKitCで設定したポートとIPをスマフォアプリUDP MonitorのRemote PORTとRemote IPに設定です。スマフォのローカルIPは自動で設定されます。少し紛らわしいのですが、ローカルポートも同じに設定してます。(別にスマフォ側の受け側のポートということで任意設定可能のようです。サーバー側とは異なって構わないということです。)

■任意角度の設定入力箇所 下側のMessageに送出角度のコマンド仕様設定値を手入力で対応します。
CIMG9820

■Message入力時のスマフォ
CIMG9821

■Message欄への入力例(角度123°を設定)
コマンド ”M123” を入力後右の▷をタッチしてESP32へUDPデータ送信です。
CIMG9822

このアプリはWebのQRZ.COMなどでの局検索での角度情報やハムログでアマチュア無線局のコール登録者検索時に表示される角度を入力すると、そのアマチュア無線局の方位へピンポイントでローテーター(1200FX)が回転して合わせてくれるというわけです。前のアプリの固定設定の角度以外の角度を任意に設定し、UDPデータ化して送信することが出来るということです。
(勿論、利用するWiFiのネットワークは利用可能なネットワークでESP32側もスマフォ側も同じ設定に予め設定しておきます。)

方位角度設定が自由になったのでローテーターコントロール用として、ある程度の利用価値があるアプリかと思います。

ただし、アプリの機能では角度を設定送付するだけなので、少し物足りないです。この点は、アプリにない機能として、クライアント側での設定角度のUDPデータ送出後に親側のESP32から現在の角度情報をUDPデータで常時送出し、クライアント側でこれをUDP受信し設定するまでの角度情報が逐次受取表示出来る様な双方向のUDP通信が必要かと思います。検討し双方向UDP通信で出来る様にしたいと思います。ない機能は考えて製作するしかありません。これが出来ると、基本機能が充実した事になり、一段と利用価値が上がると思っています。

つづく?






Aliexpress通販で違うパーツが届いた時の対応忘備録

手持ちのESP32DivKitCが少なくなってきたので、いつも部品購入で利用している中華のAliExpressで購入をすることにしました。実は、USB以外のESPの別電源の動作を確認している時に端子接続を間違えて2個程壊してしまったためです。端子接続は注意をしないといけませんね。
9月24日にESP32DivKitC(ESP-WROOM-32D)を4個注文しました。注文は種類が多く掲載されてるので、目的の物をしっかりと見極めて、間違えないように注文しました。

範囲を選択_340

上記の中から色とあるので、購入対象の雄一WiFiアンテナ付きのESP-WROOM-32Dを4個程注文です。

My-order32D

範囲を選択_346-41

単価は為替で刻々とかわります。上の@¥524は購入時の画像です。今現在は @¥531で
若干価格が上がっでいました。
範囲を選択_346-01

10月も過ぎて3日に小さな袋に4個入った注文した商品が届きました。注文した商品か確認の為に早速袋をあけてみました。ガビーンでした。4個とも別のタイプの型の商品が入っていました。さてどうしたものか、です。

ということで、初めて、商品が違うものが届いた場合の処理をすることになってしまいました。実際のやり取りを記録に残し、今後に活かしたいと思います。

先ずは何と間違えて送られてきたかの型番の確認をしました。
注文したESP32-WROOM-32Dに対し、届いたのはWiFiのアンテナが外付仕様だけ異なるESP32-WROOM-32Uでした。4個ともWiFiアンテナが付いていない仕様です。
Not-my-order-32U
アンテナがないだけなのでスケッチは全く同じで使えますが、わたしの注文品とは異なります。なので早速連絡です。注文したストアへはメッセージで、連絡することが出来るので先ずは下記の様な連絡をしました。
こちらからは英語で対応です。ネットのWeblioを使い和英変換です。変換された英文は少し変えたり調整してのメッセージ送付です。
先ずは、届いた商品が自分の注文品と異なる事を第一に連絡しました。また、WiFiアンテナが内蔵されていないタイプの32Uが届いたことも連絡です。そして、先ずは4個とも全交換でメッセージ送付です。

範囲を選択_3461

次に証拠の写真を数枚送りました。

範囲を選択_3462

範囲を選択_3463

範囲を選択_3464

すると中国語で、よくわからないので空けてみてと要求がきました。Weblio中国語日本語変換を使いました。(ここからずっとストア側は中国語で連絡してきます。)できれば英語がいいのですが!!

なので、1個だけ開封して、写真で商品が32Uである事
が分かるように送りました。
範囲を選択_3465

すると次の日、商品は使ったか?の質問??また、ストアの従業の粗忽(そこつ:軽率で不注意なこと)で申し訳ない云々の良心的な回答がきました。
こちらとしては、まずは、写真を取るために空けたけど、使ってないとの回答です。それと、あくまでも全交換の意思ですが、4台分のWiFiアンテナを送ってくれるならと譲歩の連絡付きでメッセージしました。誠意ある回答を待ちます。です。

範囲を選択_346(008)

すると次の様な回答がきました。
注文書発注があれば、ストアはアンテナを添えて与える事ができます。

誠意ある回答ですが、わたしからは次の様に回答しました。
第1の方法は交換です。第2は無償で4台分の2.4GHzのアンテナを無償で送ることです。なぜなら全てそちらのストアの過失(間違い)だからです。

すると次の回答がきました。
こちらは何とか発送します。
 
おそらく、第2のアンテナ送付の意味のような感じかと!
私からは、まず、交換を優先に、メッセージを返しました。

どのようにストアが送るかとか考えるのは責任です。手元の32Uを32Dの送付を考慮するのも責任でしょう。


範囲を選択_3468

すると次の様な回答がきました。

範囲を選択_346(010)

次の様な回答がきました。

こちら(ストア側)の言っている意味は、あなたが発注書を提供できれば、こちらはアンテナを与えます。

私としては支払いの点でわからない状態なので、次の様に質問をしました。

私が2.4GHzの無線アンテナをSAMIORE Storeにした場合の価格の支払は必要ないですか?

範囲を選択_346(011)

ついでに、間違いのないように
支払いはしません。
と送りました。

範囲を選択_346(012)

少し日にちが過ぎたので、こちらから意思表示をストアへ再度メッセージしました。

親愛なるSAMIORE Store商店さん2つの内のどちらかに決めて下さい。1つは32Uとこちらの注文32Dとの全(4pcs)交換、他は32Uに接続する2.4GHzのWiFiアンテナを私に送ることです。

するとストアから次の回答がきました。
どちらがお望み(必要)ですか?
単一のそれを注文して下さい。発注書発行処理が必要で、こちらは価格を修正することができます。

WiFiアンテナの画像を2枚送ったので、どちらが必要かを聞かれた様です。

範囲を選択_346(013)



注文をすれば良いような回答です。

まずは対応するWiFiアンテナを同じストア内で検索で探しました。3種類程見つかりましたので、そのうちの1つを購入処理での発注のみが出来るか確認してみています。この確認のため、事前に安いブレッドボードと電源とワイヤーのセットを試しに購入処理で確認してみていました。

私のはクレジットカードですが、購入のシステムでは、発注書のみの処理はできない様です。必ず支払い処理が入りました。

上記の内容をメセージでストアへ連絡です。発注のみの対応ができないので、イメージ写真では注文だめかも質問しました。数枚のストアの商品のアンテナの写真も送付しています。

範囲を選択_346(014)

すると次の回答がストアからきました。

まず、こちらの順序を知って下さい。発注書の必要な商品の支払いのページでいずれの支払い方法も支払わない発注書の記録を残してウェブサイトをとじて下さい。

のような意味かと思います。
Weblio訳ではよくわかりませんでした。(機械翻訳では次の様に全くわからない訳でした。)

「まず、私の順序を知ってください、発注書のこの製品は、それに支払いのページを弾き出して、ウェブサイトを閉じて、いずれの暗号支払わない発注書を残してこのようなかを入れてはいけなく」


範囲を選択_346(015)


こちらでも試した事と質問と一緒に連絡しました。

私の支払いはデビットカードです。
なので、そちらの方法は使えません。ボタンを押して注文ボタンで購入するとお金が支払われます。
他の方法はありませんか?
この支払われる方法を使う場合、支払ったお金は戻すことができますか?


範囲を選択_346-1


ストアからは次の回答です。

カードを削除してみて下さい。


範囲を選択_346-2

私からは実際にカードを一端情報全部削除して注文ボタン(購入)を押してどうなるか試してみた事を連絡です。

新しいカード追加か、PAYPALかの要求があります。
支払いなしには注文はできません。

ここで、ウェブ検索をして注文だけする方法の情報を探してみました。ネットで支払いをせずに注文する方法というウェブページが、とてもヒントになりました。

この中の方法の一つを行なってみました。クレジットカードの情報を間違えて行う方法です。
クレジットカード番号は間違えても、必ず聞かれるので、ここは正しく入力しないといけませんでした。
期限の月情報を間違えて入力処理することで、注文(購入処理)ができました。何回か間違えると使えなくなる情報もありましたので、注意して行ないました。


範囲を選択_346-3


わたしが調べた方法で注文できたので、その連絡をしました。

支払い待ちの注文ができました。カードへの入力で間違えた期間情報を入力しただけです。
ID番号のオーダー品を支払い金無しで送ることができますか?

支払いを行なって下さいのメッセージがでますが、ショップで金額修正処理を行なうまでは、そのままです。
上記でのUS4.22$の価格がストアの金額修正されるのを待ちます。

範囲を選択_346-4

ストアからの連絡が来ました。
機械翻訳だと次のとおりです。なんとなくわかるかな程度ですね。

$の0.01すでに金額を修正して発注書を支払ってやっと私を発送することができてなることがただある

こちらで金額を$0.01に修正したので、支払いがあれば発送します。
の意味だと思います。

即、クレジットを正しく入力し直して、支払いを行ないました。
このストアはとても対応が良いと思います。
2013年11月にネットショップを始めているので、ネット商売の実績もあるのでしょうね。対応が誠実です。ただ、実際に物を扱って働いている人の質に問題があるのではないかと思います。オーダー品を間違えて梱包するんですからね。ただ形状が似ている商品であったことも確かにありますが!

範囲を選択_346

9月24日注文で10月3日商品到着なので、今の時期にしては9日で届いたのでとても早い方と思います。

後は10月14日に支払ったので、同じ9日で届くとすると10月23日頃かと思いたいところですが、お買い上げ金額が¥750以上の場合で明日15日発送です。¥750以下の商品では12月16日に発送予定の様です。少し掛かりそうです。例の送付コンテナが満杯になるまで、待たされるわけです。
アンテナが届くまで32UはWiFiで使えません。手持ちのESP32DivKitCが少しあるので、気長に待ちます。

つづく?
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード
  • ライブドアブログ