2018年11月30日金曜日

dmonitor & 専用Nextionディスプレイ

Back


  今年の末までに全国のリピータのゲートウェイソフトが新しくなり、周辺アプリケーションの構成も大きく変わります。
  今まで無線機(ユーザ側)からの電波を受けたリピータの受信機が、コントローラを経てゲートウェイPCからインターネットに繋がっていました。 つまり、コントローラ(ID-RP2C)の次に繋がるゲートウェイPC内の機能は、ゲートウェイソフト(dsgwd:アイコム社製)であった訳です。
  新システムに於いては、コントローラの次に繋がるゲートウェイPC内の機能は、D-STAR_xchangeアプリ(xchange:D-STAR委員会製)となり、その次がゲートウェイソフトとなります。 これらの詳細に付いては、「D-STAR リピータ・ゲートウェイ(dsgwd)のインストール(CentOS 7 対応)」をご覧戴くとして、次には大きな機能の追加が有りました。それが、multi_forward というアプリケーション(D-STAR委員会製)です。
  既存のゲートウェイの間に入った xchange から特定のポートを振ってもらい、通信内容が multi_forward に接続(リフレクタをお使いのユーザは同様にと考えてください)した、複数のユーザにポーリングされます。また、その接続しているあるユーザからの信号は、他のユーザと共に本流であるゲート越え・山掛け通信に割り込みます。つまり電波の届き得ないリピータの会話をワッチ出来るのみならず、そのリピータ配下の山掛け通信、そのリピータへエリアCQしてきたコールサインルーティングとも交信が可能となります。この接続に使用するユーザ側ソフトウェアが dmonitor です。(本記事のdmonitorインストールに関しては2018.10.15付けJARL D-STAR委員会発行の「dmonitor」を参照させて戴きました。


準備するもの
  1. Nextion 2.4インチ(NX3224T024_011)ディスプレイ

  2. WEBブラウザ(PC又はスマホなど)を使用してコントロールする場合は不要です。 本記事後半の「Nextionを使用せずWEB cgi でコントロールする場合」をご参照ください。

  3. Raspberry Pi ZERO W 及び microSDカード(クラス10、8GB以上推奨)

  4. GPIO の②、⑥⑧⑩を使用しますが、ピンは必ずしも必要では有りません。また、大きさに問題なければB/B+タイプでも問題有りません。 ただし、ここではWiFi機能がオンボードであるとして説明します。

  5. Raspbian 最新版ダウンロード

  6. Index of /raspbian/images から最新版(最下部)を取得します。

  7. アイコム社製データ通信ケーブル OPC-2350LU

  8. アイコム社製ターミナル/アクセスポイントモード付き無線機


Rasberry Pi にOSをインストールし環境を整えます
  1. microSD にダウンロードした 201y-mm-dd-raspbian-stretch-lite.img を焼きます。

  2. Windowsマシンに Win32 Disk Imager 等をインストールして焼き付けます。

  3. Pi ZERO に使用する前に Pi B/B+で立ち上げて次の作業をして置くと便利です。

  4. 残念ながら、Pi ZERO にディスプレイやキーボードを接続出来る環境にあれば良いのですが、でないと次のように立ち上げ後すぐWiFiが接続出来るようにしておくか、USBタイプのLANアダプターを使うしかありませんが、いずれにしてもSSHを有効に出来なければ作業が出来ません。

    $ sudo systemctl enable ssh.service
    $ sudo systemctl enable wpa_supplicant.service
    $ sudo wpa_passphrase WARPSTAR-8FE884 0046D824FE72C
    network={
    ssid="WARPSTAR-8FE884"
    #psk="0046D824FE72C"
    psk=19f5f008061fd70d815cfa74377a73222e0e42df442f76225f73b30d9bd3fb18
    }
    
    wpa_passphrase の後は、ご自宅(又はスマホ等)の SSIDパスワード(13桁) です。

    上の結果を、wpa_supplicant.conf にコピーして自宅 WiFi に接続出来るようにしておきます。
    $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
    
      GNU nano 2.7.4         File: /etc/wpa_supplicant/wpa_supplicant.conf
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    network={
            proto=RSN
            key_mgmt=WPA-PSK
            pairwise=CCMP
            ssid="WARPSTAR-8FE884"
            psk=19f5f008061fd70d815cfa74377a73222e0e42df442f76225f73b30d9bd3fb18
    }
    
    

  5. wlan0 を有効にするためのファイルを編集します。

  6. $ sudo nano /etc/network/interfaces.d/ifcfg
    
      GNU nano 2.7.4         File: /etc/network/interfaces.d/ifcfg
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp
    
    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    
    

    Raspberry Pi ZERO W に microSD カードを差し替えて電源を入れます。

  7. Pi ZERO W の GPIO と Nextion がデータを送受信できるようにします。

  8. $ sudo nano /boot/cmdline.txt
    
      GNU nano 2.7.4         File: /boot/cmdline.txt
    #dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=60e09218-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
    dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=60e09218-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
    
    太線部分を削除します。元の標記の上で [Ctrl]+[k]とするとその行が消えます。次に[Ctrl]+[u]とすると一旦消えた行が貼り付けできます。これをもう一度実行し、行を複写して置いて一行を編集し、元の行を # でコメントアウトしておくと便利です。

    $ sudo systemctl disable serial-getty@.service
    $ sudo nano /boot/config.txt
    
      GNU nano 2.7.4         File: /boot/config.txt
        :
        :  最終行に追加 ↓
    dtoverlay=pi3-disable-bt
    


dmonitorのインストール
  1. USBシリアルデバイスを認識できるようにする

  2. $ sudo nano /etc/udev/rules.d/99-serial.rules
    
      GNU nano 2.7.4         File: /etc/udev/rules.d/99-serial.rules
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="IDxxPlus", MODE="0666"
    

  3. aptインストール出来るようにリポジトリを構成

  4. $ cd /etc/apt/sources.list.d
    $ sudo wget –N http://app.d-star.info/debian/stretch/jarl.list
    
    $ cd /var/tmp
    $ sudo wget –N http://app.d-star.info/debian/stretch/jarl-gpg.key
    $ sudo apt-key add jarl-gpg.key
    

  5. インストールの実行

  6. $ sudo apt clean all
    $ sudo apt update
    $ sudo apt install dmonitor
    


Nextionディスプレイ表示プログラムのインストール
  1. まず、Nextion の画面やデータを表示するレイアウトイメージをWindowsマシンにダウンロードします。

  2. https://todo.vc/download/app/dmonitor/JE3HCZ_2.4_dmonitor_v1.0.zip

    Windowsに、Nextionディスプレイ購入時、説明のある Nextion Editor がインストールされていれば、拡張子 .HMI の方を読み込み込んで編集できます。

    また、エディターが無い場合は、拡張子 .tft の方を、FAT32でフォーマットされたmicroSDにコピー(焼くのではなく通常コピーです)して、Nextion の下部スロットに差し込みます。 その上で電源5V(Raspberry GPIO の 2番(赤)6番(黒))を供給(実稼働時は8番(黄)10番(青)も必要)すると、イメージがメモリーに転送されます。 作業が済んだら、電源を切って microSD を抜いて置いてください。


    =MEMO= こちらも参考にして戴ければ幸いです。 MMDVMノード用、ネットワークモニター Nextion 2.4 「Nextion 表示用のグラフィックスをメモリーにアップロードする」

  3. 次は、Raspberryで、当方のサイトよりアプリを取得してください。
    (JE3HCZ_Nextion4dmonitor_v00.00 Coded by Yosh Todo/JE3HCZ)

  4. $ wget https://todo.vc/download/app/dmonitor/JE3HCZ_Nextion4dmonitor_v00.00.zip
    

  5. 解凍して各ファイルを所定のフォルダに配置してください。

  6. $ unzip JE3HCZ_Nextion4dmonitor_v00.00.zip
    $ cd JE3HCZ_Nextion4dmonitor_v00.00
    $ sudo chmod +x nextion
    $ sudo mv nextion /usr/local/bin
    $ sudo mv nextion.* /etc/systemd/system
    

  7. 自動起動を有効にします。

  8. $ sudo systemctl enable nextion.timer
    $ sudo reboot
    


Nextionを使用せずWEB cgi でコントロールする場合
JARLインストールマニュアルより転記します。
  1. 環境としてWEBアプリ apache2 をインストール

  2. $ sudo apt install apache2
    

  3. インストール後、cgi が実行できるように下記の設定をおこないます。

  4. $ sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
    

    $ sudo nano /etc/apache2/sites-available/000-default.conf
    
      GNU nano 2.7.4         File: /etc/apache2/sites-available/000-default.conf
    <VirtualHost *:80>
       :
       :
        #Include conf-available/serve-cgi-bin.conf 有効にする
       ↓
        Include conf-available/serve-cgi-bin.conf
    
    <VirtualHost>
    

  5. perl のインストールとweb 用モジュールのインストール

  6. $ sudo apt install perl
    $ sudo apt install CGI.pm
    
    $ sudo reboot
    

    Windowsマシンやスマホから、http://[Raspberry IP Address]/cgi-bin/repeater_mon を指定して使用します。 もちろんWEBでコントロールしてもNextionディスプレイのメイン画面には接続先、ラストハード等が同様に表示されます。


Nextion でのコントール方法
  • 起動直後の画面です。

  • 上部の <<>> はリピータリストの「最後のページ」、「最初のページ」へ移動します。 また D*MONITOR の文字は「システムコマンドのページ」へ移動するタッチボタンになっています。
    下部、STATUS AND LASTHEARD は2行ですが現在の状況と今カーチャンクした人のコールサインを表示します。初期は新ゲートウェイ導入リピータとして読み込んだ数を示しています。
  • >> をタッチしてリピータリストへ移動します。

  • 接続したいリピータを選択して、タッチします。メインページに戻って[LINK TO : JP1XXX A]の様に表示され、ステータスの行が一つ下へ送られ、上の行に[DMONITOR START V00.19]の様に表示されます。
    移動には最上部の文字がボタン代わりになります。[Multi]: 戻る、[Forwarded]: メインへ、[Gateway]: 次ページへ
  • システムコマンドが実行できます。

  • Restart はこのNextion用プログラムをリスタートします。
    Reboot は Raspberry自体を再起動します。
    Shutdown は RaspberryのOSを終了します。電源を切っても良い状態です。電源を切るまではNextionの表示は消えません。
    Return は単純にメインページへ戻ります。



Nextion と Pi Zero W のアッセンブル例
Nextion を分解し同サイズのアクリ板を作っておきます。ビス穴も合わせて開けます。 Nextion の裏カバーに2ヶ所、基盤パーツに干渉しない方の対角位置に3mmの穴を開け、短いビスでワッシャ2枚をスペーサにして Pi Zero W を取り付けます。 作っておいたアクリ板を、充分USBと電源コネクタを挿した時の隙間が空くように、スペーサを挟んで取り付ければ完成です。




Back



73 J E 3 H C Z/XLX047 B/C

0 件のコメント:

コメントを投稿