GUI Maker for ESP8266 & ESP32 - Python Inst. Panel icon

GUI Maker for ESP8266 & ESP32 - Python Inst. Panel APK

  • Author:

    RapidNack.com

  • Latest Version:

    1.0.14

  • Publish Date:

    2017-10-18

The description of GUI Maker for ESP8266 & ESP32 - Python Inst. Panel

ボタン、タイマー、グラフ等を貼り付けて処理をPythonで記述。ESP8266、ESP-WROOM-32(ESP32)用の操作パネルを簡単に作ることができます。

Arduinoスケッチ http://rapidnack.com/?p=835
操作説明ー画面 http://rapidnack.com/?p=918
操作説明ーグラフ http://rapidnack.com/?p=945
SampleーColor LED http://rapidnack.com/?p=967
SampleーTemp & Humidity http://rapidnack.com/?p=987
SampleーPush Switch http://rapidnack.com/?p=1017


この説明の最後に貼ってあるArduinoスケッチを、ESP8266かESP-WROOM-32に書き込んでください。
アプリ画面のIP addressをESPのIPアドレスに変更して接続ボタンを押し、ボタン、スライダー等を操作するとアプリ画面のログに表示される内容と同じものがArduino IDEのシリアルモニタに表示されます。
アプリ画面にタイマーとグラフを追加してArduinoスケッチを測定データを返信するように変更すれば、リアルタイムで測定データをグラフ表示できます。


実際に使用するときは、Arduinoスケッチの最後の部分に独自の処理を追加します。

String process(String str) {
Serial.println(str);
//if (str == "Button1: Button1")
// return "Received!";
return "";
}

アプリ側も、各Button、InputField、Slider、DropdownのScriptに処理を追加します。Script言語はIron Pythonです。スクリプトの書き方は、このアプリに入っている「PlotView Sample」の実際のスクリプトを参考にしてください。


ESPからデータを取得する場合は、次のようにします。

Remote.Writer.WriteLine(msg)
Remote.Writer.Flush()
print Remote.Reader.ReadLine()


InputFieldのスクリプトはTextプロパティの現在の内容を text で参照できます。
SliderのスクリプトはValueプロパティの現在の内容を value で参照できます。
スクリプトを呼び出したボタン、スライダー等のプロパティは、sender.X 等で参照・設定できます。他の部品は、Items[インデックス番号].X 等で参照・設定できます。

  X:(int)左端からの距離
  Y:(int)上端からの距離(下向きはマイナス)
  W:(int)部品の幅
  H:(int)部品の高さ、PlotViewのグラフの高さ
  Text:(string)Button等の表示文字列、PlotViewのタイトル
  FontSize:(int)Button等のフォントサイズ
  F:(16進文字列RGBA)Textの文字色
  B:(16進文字列RGBA)Textの背景色
  Value:(float)Sliderの値(0~1)
  IntValue:(int)Dropdownの選択肢のインデックス(0~)
  BoolValue:(bool)TimerのOn/Off
  Interval:(float)Slider、Timerのリピート間隔(秒)
  Options:(string[])Dropdownの選択肢
  DataCount:(int)PlotViewのデータ数
  StringFormat:(string)PlotViewの横軸日時フォーマット
   例)'HH:mm:ss'


アプリ起動時に次のコードを実行しています。これ以外のモジュールはPanel setup scriptでimportしてください。

  import clr
  from System import DateTime
  from System import Array, UInt32, UInt16, Byte
  clr.AddReferenceByPartialName('UnityEngine')
  from UnityEngine import Debug
  import time
  import math


以下は、ESP-WROOM-32用のサンプルスケッチです。
ESP8266の場合はInclude文を差替えてください。
ESP8266:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
ESP-WROOM-32:
#include <WiFi.h>

----------------------------------- ここから -----------------------------------
#include <WiFi.h>

/* Set these to your desired credentials. */
//const char *ssid = "ESPap";
//const char *password = "thereisnospoon";

const char* ssid = "your-ssid";
const char* password = "your-password";

WiFiServer server(2002);
WiFiClient client;

String process(String str);

void setup() {
Serial.begin(57600);

mySetup();

// Serial.println();
// Serial.print("Configuring access point...");
// /* You can remove the password parameter if you want the AP to be open. */
// WiFi.mode(WIFI_AP);
// WiFi.softAP(ssid, password);
// IPAddress myIP = WiFi.softAPIP();
// Serial.print("AP IP address: ");
// Serial.println(myIP);

Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
//WiFi.mode(WIFI_STA); // Disable Access Point
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());

server.begin();
Serial.println("Server started");
}

void loop() {
myLoop();

if (!client.connected()) {
// try to connect to a new client
client = server.available();
} else {
// read data from the connected client
if (client.available()) {
String inputString = client.readStringUntil('\n');
inputString.trim();
String outputString = process(inputString);
if (outputString != "") {
client.println(outputString);
}
}
}
}

void mySetup() {

}

void myLoop() {

}

String process(String str) {
Serial.println(str);
//if (str == "Button1: Button1")
// return "Received!";
return "";
}
----------------------------------- ここまで -----------------------------------
Show More
Comment Loading...
Be the first to comment.
Popular Apps In Last 24 Hours
Download
APKPure App