LabVIEWでESP8266を操作する

LabVIEWでArduinoを操作するなら LINX が 便利だけど、ESP8266は残念ながらLINXで対応できていない (2017年6月時点でαバージョン)。そこでLINXの内部を修正してとりあえずWiFi経由でLチカが動くようにしてみた。

あらかじめやっておくこと

LabVIEW Home Bundle, NI-VISA, VIPM, およびLINXのインストール。
(参考: LabVIEW+LINX+BeagleBoneBlack を試してみた

ESP8266 core for Arduinoのインストール。
(参考: ESP- WROOM-02開発ボードをArduino IDEで開発する方法

ESPr Developerの準備と、4番ピンでLチカができるようにしておく。

LabVIEW_LINX_ESP8266/ESPr.png
抵抗はLED内に内蔵されているよ。

プログラミングの準備

1.Ken SharpさんのGitHUBに行く。

2.右上の"Clone or download" → "Download ZIP" を選択してファイルを保存する。

LabVIEW_LINX_ESP8266/0001.png

3.ダウンロードしたファイルを解凍して、その中に入っている
LINX-dev-esp8266-cfg-2.1\LabVIEW\vi.lib\MakerHub\LINX\Firmware\Source
のフォルダを次のフォルダへ上書き保存する。
C:\Program Files (x86)\National Instruments\LabVIEW 2014\vi.lib\MakerHub\LINX\Firmware\Source

4.LabVIEW2014を起動して、ツール(T) → MakerHub → LINX → Generate Firmware Libraries... を選ぶ。

LabVIEW_LINX_ESP8266/0002.png

5.C:\Users\(自分のフォルダ)\ドキュメント\Arduino\libraries を選択して、左側の"Generate" ボタンを押す。
"Done !" のメッセージが出ればOK。指定したArduino\librariesフォルダにLinx○○○○というフォルダがいっぱい作られているはす。

LabVIEW_LINX_ESP8266/0003.png

6. 先ほど作成したLibraries/LinxESP8266WifiListener フォルダの中にLinxESP8266WifiListener.cpp と LinxESP8266WifiListener.h が入っているので、それぞれを以下のファイルに置き換える。右クリックで保存してね。
LinxESP8266WifiListener.cpp [MOD]
LinxESP8266WifiListener.h [MOD]


ESP8266へ接続


1.次のファイルをダウンロードしてArduinoで開く。
ESP8266_Wifi_DHCP_Configuration.ino

2.ESPr DeveloperをPCにつないで、4番ピンのLチカ回路を準備する。

3.ツール → ボード:"○○" → Generic ESP8266 Module を選択する。選択項目が表示されない無い場合は「ESP8266 core for Arduino」でググって。

LabVIEW_LINX_ESP8266/0004.png

4.上図のように、Flash mode: "QIO" 以下の項目を設定する。シリアルポートは環境ごとに合わせる。

5.ESPr Developerを接続するルーターのSSIDとパスワードを以下の通りスケッチに書き込む。他はいじらない。
LinxWifiConnection.SetSsid("○○");   ←○○の部分にSSIDを入力
LinxWifiConnection.SetPassphrase("○○");  ←○○の部分にパスワードを入力

LabVIEW_LINX_ESP8266/0005.png

7. ESPr Developerにスケッチを書き込み、シリアルモニタを開く(Ctrl + Shift + M)。しばらくするとDHCPで接続したIPアドレスとPortが表示される。

LabVIEW_LINX_ESP8266/0006.png

8. LabVIEWを起動し、ヘルプ(H) → サンプルを検索(E)... を開く。検索タブに移り"LINX"で検索し、LINX - Blink (Simple) (TCP).viを開く。

LabVIEW_LINX_ESP8266/0007.png

9. 先ほど表示されたIP AddressとPort を入力し、DO Channel に4番を入力して、プログラムを実行する。^^ Click Here ^^ の緑ボタンをクリックすると、これに連動してLチカができる。

LabVIEW_LINX_ESP8266/0008.png
10.
ESPr DeveloperをPCから外し、モバイルルーター等で動作させる。ESPr Developper がPCと物理的に接続されていなくても、WiFi経由でLabVIEWからLチカできる。

memo

https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=1099
https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=1813
https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=2241
https://www.labviewmakerhub.com/forums/viewtopic.php?f=4&t=2389