2022年12月3日土曜日

RemoteXY 温湿度・LED・スイッチ 表示/操作
















パソコン画面より
【remote xy】を検索して
【Remote XY editor】を選択
スマホ図に【Controls】(Button)【Indication】(Instrument)(Led)
それぞれ適当な位置に貼付る。【Configuration】(Wi-Fi)(ESP32 based board)(WiFi on chip)選択して【Get source code】によりソースコードをArdino IDEにはる
同ブログ:【RemoteXY使い方

ブレッドボード
ブレッドボードにESP32・LED・スイッチ・DHT11温湿度センサープルアップ抵抗付きモジュールを挿入配線する。






接続回路















【Get source code】に63.以降を修正したプログラムです。

 プログラム
  1. /*
  2.    -- LED_DTH11_SW --
  3.    
  4.    This source code of graphical user interface
  5.    has been generated automatically by RemoteXY editor.
  6.    To compile this code using RemoteXY library 3.1.8 or later version
  7.    download by link http://remotexy.com/en/library/
  8.    To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
  9.      - for ANDROID 4.11.1 or later version;
  10.      - for iOS 1.9.1 or later version;
  11.     
  12.    This source code is free software; you can redistribute it and/or
  13.    modify it under the terms of the GNU Lesser General Public
  14.    License as published by the Free Software Foundation; either
  15.    version 2.1 of the License, or (at your option) any later version.
  16. */
  17. //////////////////////////////////////////////
  18. // RemoteXY include library //
  19. //////////////////////////////////////////////
  20. // RemoteXY select connection mode and include library
  21. #define REMOTEXY_MODE__ESP32CORE_WIFI_POINT
  22. #include <WiFi.h>
  23. #include <RemoteXY.h>
  24. // RemoteXY connection settings
  25. #define REMOTEXY_WIFI_SSID "RemoteXY"
  26. #define REMOTEXY_WIFI_PASSWORD "12345678"
  27. #define REMOTEXY_SERVER_PORT 6377
  28. // RemoteXY configurate
  29. #pragma pack(push, 1)
  30. uint8_t RemoteXY_CONF[] = // 92 bytes
  31.   { 255,1,0,9,0,85,0,16,31,1,1,0,20,58,24,24,2,31,0,70,
  32.   16,3,4,9,9,26,37,0,71,56,3,22,27,27,0,2,24,135,0,0,
  33.   0,0,0,0,200,66,0,0,160,65,0,0,32,65,0,0,0,64,24,0,
  34.   71,56,32,22,28,28,0,2,24,135,0,0,0,0,0,0,200,66,0,0,
  35.   160,65,0,0,32,65,0,0,0,64,24,0 };
  36.   
  37. // this structure defines all the variables and events of your control interface
  38. struct {
  39.     // input variables
  40.   uint8_t button_1; // =1 if button pressed, else =0
  41.     // output variables
  42.   uint8_t led_1; // led state 0 .. 1
  43.   float instrument_1; // from 0 to 100
  44.   float instrument_2; // from 0 to 100
  45.     // other variable
  46.   uint8_t connect_flag; // =1 if wire connected, else =0
  47. } RemoteXY;
  48. #pragma pack(pop)
  49. /////////////////////////////////////////////
  50. // END RemoteXY include //
  51. /////////////////////////////////////////////
  52. #define SWPin 12
  53. #define LEDPin 13
  54. #define DHTPIN 14
  55. int sw ;
  56. #include "DHT.h" // https://github.com/adafruit/DHT-sensor-library
  57. #define DHTTYPE DHT11 //our sensor is DHT11 type
  58. DHT dht(DHTPIN, DHTTYPE); //create an instance of DHT senso
  59. void setup()
  60. {
  61.   RemoteXY_Init ();
  62.   
  63.   
  64.   // TODO you setup code
  65.   Serial.begin(115200);
  66.   pinMode(SWPin, INPUT_PULLUP); //SW
  67.   pinMode(LEDPin, OUTPUT); //LED
  68.   dht.begin();
  69. }
  70. void loop()
  71. {
  72.   RemoteXY_Handler ();
  73.   
  74.   
  75.   // TODO you loop code
  76.   // use the RemoteXY structure for data transfer
  77.   // do not call delay()
  78.     float temperature = dht.readTemperature(); // 温度読み取り
  79.     float humidity = dht.readHumidity(); // 湿度読み取り
  80.       
  81.     // 読み取りに失敗しているかチェック
  82.     // 失敗している場合はもう一度、温湿度の読み取りをする
  83.     if (isnan(temperature) || isnan(humidity)) {
  84.        Serial.println("Failed to read from DHT sensor!");
  85.        return;
  86.     }
  87.   RemoteXY.instrument_1 = temperature ;
  88.   RemoteXY.instrument_2 = humidity ;
  89.  
  90.   sw = digitalRead(SWPin ) ; //スイッチの状態を読む
  91.   RemoteXY.led_1 = sw ;
  92.   digitalWrite(LEDPin,RemoteXY.button_1) ;
  93.   
  94.   
  95.   Serial.print("湿度: ");
  96.   Serial.print(humidity);
  97.   Serial.print(" *C\t");
  98.   Serial.print("温度: ");
  99.   Serial.print(temperature);
  100.   Serial.print(" % ");
  101.   Serial.print("スイッチ:");
  102.   Serial.println(sw);
  103.   
  104. }



ESP32とパソコンを接続
ボード【NodeMCU-32S】にする
(シリアルポートは環境によって異なる)
【→】を実行してコンパイル・書込・実行







DHT11温度・湿度の表示がされる
ボタンを押すとESP32ブレッドボードLedが点灯する


















LED 点灯











ESP32ブレッドボードのスイッチを押すとスマホのLedが黒、離すと赤く表示する。




0 件のコメント:

コメントを投稿

Raspberry Pi Donkey Car スマートカー

  2020年に製作したDonkey Car スマートカー について記事にしました。 Donkey CarはRaspberry Pi のカメラからコースを ディープラーニングさせ自動走行を行います。(動画は白線上を自動走行)   動画