FrontPage
arduinoVNC インストール方法 †
概要 †
- VNC(Virtual Network Computing)は、PC等をネットワーク経由で使用する仕組みで、
操作される側でVNCサーバーを、操作する側でVNCクライアントを動作させて使用します。
- arduinoVNCは Arduino esp8266で動く VNCクライアントです。
- arduinoVNCはArduinoライブラリ形式になっています。
- プログラムは、ライブラリ付属のexamplesの中で2種類提供されています。
- VNC_ILI9341 (タッチスクリーンを使用しないバージョン)
- VNC_ILI9341_touch (タッチスクリーンを使用するバージョン)
- HSES_LCD24で VNC_ILI9341_touchを動作させるには、SP1をショートさせる必要があります。
- 最初にVNC_ILI9341で動作を試してみることをお勧めします。
- 以下、VNC_ILI9341のインストール方法を説明し、その後に VNC_ILI9341_touchの方法を説明します。
ソースの入手 †
VNCサーバをインストール †
- お使いになりたいPCに VNCサーバをインストールしてください。
- Windows 用であれば,以下のものが有名です。
ライブラリのインストール †
- 下記のArduinoのライブラリが必要です。インストールされていないものがあれば、インストールしてください。
プログラム(sketch)を開く †
- Arduino IDEを起動します
- メニューの「ファイル」→「スケッチの例」→「arduinoVNC」→「VNC_ILI9341」を選択し、プログラム(sketch)を開きます。
- プログラムを修正するため、メニューの「ファイル」→「保存」か「名前を付けて保存」で、プログラムを保存してください。
プログラムを修正 †
- 自分の環境に合わせて、プログラムの25~38行あたりを修正します。
IO接続の修正 †
- HSES-LCD24を使用する場合、LCD接続は以下のようになります。
#define TFT_DC 15
#define TFT_CS 2
#define TFT_RESET -1 // 未接続を示す
VNCサーバ関連設定 †
- vnc_ipは、VNCサーバを動かすPCのIPアドレスを設定してください
- vnc_portは変更しなくてもいいでしょう。
- vnc_passは、VNCサーバのパスワードに合わせてください
const char * vnc_ip = "192.168.1.12";
const uint16_t vnc_port = 5900;
const char * vnc_pass = "12345678";
WiFi設定 †
- お使いの無線LAN環境のssidとパスワードを設定してください。
const char* ssid = "your-ssid";
const char* password = "your-password";
プログラムの書き込み †
- Arduino IDEで 「マイコンボードに書き込む」ボタンをクリックし、書き込みます。
- 書き込みが終了すると、WiFi接続後、下の写真のように表示されるはずです。(IPアドレスは、設定によって変わります)
- VNCサーバーを起動すると、PCの画面の一部が表示されます。
- 画面の更新は、かなり高速です。
VNC_ILI9341_touch のインストール †
SP1をショートする †
- HSES_LCD24でVNC_ILI9341_touchを動作させるには、SP1をショートさせる必要があります。
- SP1に半田コテで半田を盛り、ショートさせて下さい。
XPT2046ライブラリをインストール †
- XPT2046ライブラリがインストールされていなければ、インストールしてく笹井。
プログラムの書き込み、実行 †
- Arduino-IDEの「スケッチの例」でVNC_ILI9341_touchを呼び出し、「名前を付けて保存」します。
- プログラムの修正箇所は、VNC_ILI9341の場合と同じです。
- タッチスクリーンのIOの設定は、元のままで変更の必要はありません。
#define TOUCH_IRQ 4
#define TOUCH_CS 16
- 「マイコンボードに書き込む」を行えば、VNC_ILI9341と同様に起動するはずです。
- スクリーンにタッチすると、カーソルが移動します。
- ダブルクリックも動作します。
- 89~92行目も修正する必要があるかもしれません。
tft.setRotation(3); // 3に変更
touch.begin(tft.getWidth(), tft.getHeight());
touch.setRotation(3);
touch.setCalibration(350, 550, 3550, 3600); // may need to be changed