質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

受付中

2台のesp8266それぞれにLEDを付けてスマホ1台でLチカさせたい!

退会済みユーザー

退会済みユーザー

総合スコア0

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

1回答

0評価

0クリップ

550閲覧

投稿2021/12/18 08:00

編集2022/01/12 10:55

前提・実現したいこと

お世話になります!
スマホ1台で、WiFiを使用し直接2台のesp8266それぞれのLEDを点灯と消灯をさせてみたいです。
具体的には、
esp82661台をAP(Webサーバー)、1台をSTAとして、APのhtml上に2つのボタンを用意し、
スマホでそのボタンを押すことでLEDそれぞれを制御したいです。
現状AのLED(親機)は制御できているのですがBのLED(子機)ができておりません。
シリアルを出力したところ親機側にて子機との通信ができておりません。。
アドバイスをいただきたいです!

### 該当のソースコード(追記) 以下ソース /*親機*/ #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> const char *ssid = "LED"; const char *password = "123456789"; //子機 const IPAddress ip(192, 168, 4, 3); //子機 const IPAddress subnet(255, 255, 255, 0); boolean ALED = false; boolean BLED = false; ESP8266WebServer server(80); WiFiClient client; String form ="<html>" "<head><meta name=viewport content=width=100></head>" "<form action=A_LED><input type=submit value=A></form>" "<form action=B_LED><input type=submit value=B></form>" "</html>"; void Atika(); void A_LED(); void Btika(); void B_LED(); void setup() { delay(1000); Serial.begin(115200); Serial.println(); Serial.print("Configuring access point..."); WiFi.softAP(ssid, password); IPAddress myIP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(myIP); WiFi.begin("BLED","123456789"); server.begin(); server.on("/", handleRoot); server.on("/A_LED",Atika); server.on("/B_LED",Btika); Serial.println("HTTP server started"); pinMode(4, OUTPUT); } void loop() { server.handleClient(); } void handleRoot(){ server.send(200, "text/html", form); } void Atika(){ A_LED(); server.send(200, "text/html", form); } void A_LED(){ ALED = !ALED; digitalWrite(4, ALED); } void Btika(){ B_LED(); server.send(200, "text/html", form); } void B_LED(){ if(client.connect(ip,80))Serial.println("success"); if(client.connected())Serial.println("success"); BLED = !BLED; client.write(BLED); delay(1000); } /*子機*/ #include <ESP8266WiFi.h> const char* ssid = "BLED"; const char* password = "123456789"; const IPAddress ip(192,168,4,3); const IPAddress subnet(255,255,255,0); WiFiServer server(80); boolean BLED=false; void B_tika(); void setup() { delay(1000); Serial.begin(115200); Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.mode(WIFI_AP); delay(100); WiFi.softAP(ssid,password); WiFi.softAPConfig(ip,ip,subnet); IPAddress myIP = WiFi.softAPIP(); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(myIP); pinMode(4, OUTPUT); digitalWrite(4, LOW); server.begin(); } void loop() { B_tika(); } void B_tika(){ WiFiClient client = server.available(); client.connected(); BLED=client.read(); digitalWrite(4,BLED); }

詳細

補足情報(FW/ツールのバージョンなど)

Arduino 1.8.16

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

y_waiwai

2021/12/18 08:10

子機のシリアルの出力はどうなってるんでしょうか
退会済みユーザー

退会済みユーザー

2021/12/18 08:16

コメントありがとうございます! 子機は主に受信のみを想定しておりました・・・ もしかして何か送信すべきなのでしょうか?
y_waiwai

2021/12/18 08:29

コードを見ると動作確認用にシリアルの出力してるようですが、それは見てないんでしょうか。
退会済みユーザー

退会済みユーザー

2021/12/18 08:31

すみません、誤解しておりました。 ....... WiFi connected IP address: 192.168.4.3 success 上記のとおり出力されております。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。