2018年6月9日土曜日

MMDVMノード用、ネットワークモニター Nextion 2.4

Back


JumboSPOT + RaspberryPi Zero W にMMDVMHost + NextionDriverをセットアップする手順です。
別途ご参照ください。 「MMDVMホットスポットのメンテナンス」(2023.03.11追加)
Nextion Displayの実例
    モービル運用中、DMR から D-STAR に切り替えたい時、又 DMR 受信中他のトークグループに移りたい時などの送信タイミングが、無線機だけだと分かり難かったので(デスクトップならPi-Starでも良い)、Nextion 2.4インチで構成してみました。これで車内での操作がやり易くなります。



    実際車に固定しました。ダッシュボード上にと思っていましたが、もう少し近いとより視認性が上がるのと、電源の取り回しが隠せるのでハンドルポストの上にしました。マジックテープなのでメンテナンスも簡単!




    DVMEGA RaspberryPi Radio に USB接続で Nextion を取り付け、NextionDriver を経由させたモデルです。(2018.08.26 追加)


    =MEMO= このタイプ(温度表示、周波数自動表示)は USB 接続のみでしたが、現在はモデム上の4ピン(HS-HAT系)にも対応しています。 詳しくはNextionDriverの github を参照してください。なお、Nextionイメージはこちらからダウンロードしてください。 GITHUB(2019.01.31追加)
Nextionディスプレイの接続方法
  1. MMDVMの基板上に専用端子ホールが有る場合

  2. 端子を付けるか又は直付けにて Nextion のリード線を取り付けます。この時注意しなければならないのは次のように送信・受信をひねることです。

    Nextion側     MMDVM側
    +5V ---------- 赤線 ---------- 5V0
    TX   ---------- 青線 ---------- RXD
    RX   ---------- 黄線 ---------- TXD
    GND ---------- 黒線 ---------- GND


    =注意= 最近試された方からの情報では、JunboSpot側のピン配列が変更されており、 TX と RX が逆になっている(Nextion側と同順のストレート)そうです。写真の色だけで合わさず、シルク印刷をご確認ください。(JA3IVV局情報有り難うございました)  2018.11.30

    更に、この場合ケーシングによっては Nextion側、モデム側共に半田付けでと考えることも有りますが、この回路が接続されたままでは、USBシリアル変換でもmicroSDに依ってもスクリーンのアップデートが出来ませんので注意が必要です。必ずどこかで外せるようにしましょう。
    この件に関しては、記述変更を忘れていましたが、Raspberry PiのmicroSDを抜いた状態で、電源を入れればスクリーンのアップデートが可能です。(2024.2.28追記)

    =MEMO=
     この時のMMDVM.ini(又は、Pi-Star)に於ける [Nextion] のポートは Port=modem です。


  3. GPIOに接続されているDVMEGAの場合

  4. 先ず必須なのがUSBシリアルコンバータです。

    図のように、ブルーのLEDが点滅している時が通信可能な状態です。


    =MEMO=
     この時のMMDVM.ini(又は、Pi-Star)に於ける [Nextion] のポートは Port=/dev/ttyUSB0(0でない時も有ります)です。
    $ ls /dev
    
    で確認してください。

    また、Pi ZERO W をご使用の場合はmicroUSB/Aタイプ変換アダプタ、又は省スペース型の場合両端 microUSB(TypeBオス)ケーブルmicroUSBシリアルコンバータが必要になるケースが有ります。
  5. GPIOにNextionを直結する場合

  6. モデム(DVMEGA+BlueStackなど)をUSB接続したPCがRaspberry Piで有るような場合、GPIOが空いていますので、写真の方向として下側、左から ⑩番ピン:RxD、⑧番ピン:TxD、⑥番ピン:GND、②番ピン:+5V となります。他の場合同様、Nextion の TX は、GPIO の RxD に入れます。

    =MEMO=
    DVMEGA RasPi Radioが装着されている場合、これらのピンに半田付け等で共用することは出来ませんのでご注意ください。


    この時のMMDVM.ini(又は、Pi-Star)に於ける [Nextion] のポートは Port=/dev/ttyAMA0です。

Nextion 表示用のグラフィックスをメモリーにアップロードする

    =MEMO= 新たにインストールされる方は NEXTION EDITOR LTS をダウンロードしてください。VER 0.58 は最新版ですが今までの VER 0.53 で作成されたデータと互換性が有りません。LTS はその資産保全のために今後長期サポートを約束されたバージョンとなります。(追記 2019.07.21)

  1. ITEAD STUDIO のホームページから Editor をダウンロード(左図をクリック)

  2. Windowsマシンにインストールします。データは拡張子HMIのファイルです。ここでは編集について詳しく述べませんが、Facebookの「NEXTION - HAM-Radio screens」に加入すると沢山サンプルが投稿されています。下記は私のデザインしたスクリーンですのでご自由にお使いください。(配布もかまいませんが、D-STAR,DMRしか表示確認しておりません。) JE3HCZ_2.4_Nection_v1.0_HMI
  3. 周波数の項目を編集してください。

  4. t20(指のカーソルで示したところ)のデータフィールド(表示枠)をクリックしてください。右下の[Attribute](属性)の内容をスクロールすると、[txt]と言う項目が有ります。ここをお使いの周波数に書き直してください。他の項目についてはそのままにして置いてください。
  5. 次に、図の赤枠で示したコンパイルを実行します。

  6. 一瞬で終了しますので、[File]➡[Open build folder]とクリックするとコンパイル後のファイル JE3HCZ_2.4_Nection_v1.0.tft が出来ています。これを、Fat32でフォーマットした 2GB から 32GB(以下)の microSDカードにコピーして、単体の Nextion に挿した状態で、赤黒2本のみで電源を投入するとアップロードされます。(microSDの性能等で上手く行かない時は次の方法で

  7. Nextion Editor から直接アップロード

  8. 上述の「Nextionディスプレイの接続方法」②のUSBシリアルコンバータが有る前提となりますが、これをPCに接続します。この時COMポートが新規作成されます。
    図のとおり[Upload]をクリックすると、自動でコンパイルされ、COMポートを選択するダイアログボックスが開きますので、分かっている場合はそのCOMポートを、不明の時は[Auto search]のまま[Go]してください。
    これで、リブートすればめでたくNextion にMMDVMの情報が表示されるはずです。

=蛇足=待機画面の日付表示を変更する
Nextion2.4の表示の内、待機画面の日付と時間の表示が dd/mm/yy 形式で 07/06/18など6月18日と読んでしまったり不便でしたので 2018.06.29 のように表示するようMMDVMHostの一部を変更しました。



$ cd MMDVMHost
$ nano Nextion.cpp

  GNU nano 2.7.4                       File: Nextion.cpp
#strftime(text, 50, "t2.txt=\"%x %X\"", Time);
strftime(text, 50, "t2.txt=\"%Y.%m.%d %X\"", Time);
964行目(付近 [%x %X]で検索すると良い )をコメントアウトして表示指定を変更したものを追加(又は変更)します。

=MEMO= 最新のMMDVMHostをコンパイルする時には libsamplerate-dev をインストールする必要が有ります。 (2024.2.20 追記)

$ make clean // 一度makeした後で変更した場合はcleanしない方が速い(変更部のみのコンパイル)
$ make
した上で、

$ sudo mv MMDVMHost /usr/local/bin	// 設定によっては /usr/bin の場合も有る

$ sudo reboot
又は、
$ sudo service mmdvmhost restart
すると、表示が変わります。

Back



73
J E 3 H C Z /XLX047 B

0 件のコメント:

コメントを投稿