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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Arduino

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

Q&A

0回答

2105閲覧

Ethernetシールド用のプログラムを、ESP-WROOM-02用のプログラムにしたい

bobby2128

総合スコア42

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Arduino

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

0グッド

0クリップ

投稿2017/03/29 07:52

###前提・実現したいこと
参考文献にあるコード(ArduinoからPOSTデータを送信してPHPで受け取る方法)を書き換え、Ethernetシールドではなく、ESP-WROOM-02を用いてプログラム内容を実行したいです。
http://kakikukeko.sakura.ne.jp/blog/send-post-data-to-php-from-arduino/

Ethernetに該当する箇所をESP-WROOM-02の文に書き換えるだけで実行できると思ったのですが…
ところが、以下に示すようにエラー文が出てきまして、解決の方法がよくわかりません。

解決のアイデアや方法などございましたら、お教えいただけますと幸いです。
よろしくお願いいたします。

###発生している問題・エラーメッセージ

In file included from C:\Users\y.y\Documents\Arduino\Patern2\Patern2.ino:9:0: C:\Users\y.y\Documents\Arduino\libraries\Milkcocoa_Arduino_SDK-master/Client_ESP8266.h:27:35: error: expected class-name before ',' token class ESP8266Client: public Client, public ESP8266 { ^ C:\Users\y.y\Documents\Arduino\Patern2\Patern2.ino: In function 'void setupWiFi()': Patern2:93: error: 'wifi' was not declared in this scope wifi.begin(Serial1); //RX-D0 TX-D1 ^ C:\Users\y.y\Documents\Arduino\Patern2\Patern2.ino: In function 'bool post(String, String)': Patern2:183: error: 'client' was not declared in this scope if (client.connect(HOST, 80)) { ^ ?ESP8266.h????????????????????? ????C:\Users\y.y\Documents\Arduino\libraries\ESP8266_Arduino_AT-master ????C:\Users\y.y\Documents\Arduino\libraries\ITEADLIB_Arduino_WeeESP8266-master exit status 1 'wifi' was not declared in this scope

###該当のソースコード

書き換えたコード

c

1//参考文献 Ethernet 2//#include <SPI.h> 3//#include <Ethernet.h> 4/*****************************WifiSetting*************************************/ 5// ライブラリの読み込み 6#include "ESP8266.h" 7#include "Client_ESP8266.h" 8// 転送スピード 9#define SERIAL_SPEED 115200 10/************************* WiFi Access Point *********************************/ 11// Wi-Fi SSID 12#define WLAN_SSID "D*****" 13// Wi-Fi PASSWORD 14#define WLAN_PASS "e*******" 15/******************************************************************************/ 16 17//入力ピンの設定 18#define PIN_INPUT_BLUE 5 19#define PIN_INPUT_YELLOW 7 20#define PIN_INPUT_GREEN 9 21 22 23//参考文献 Ethernet 24////MACアドレス(適当に) 25//byte mac[] = {0x02, 0x02, 0x02, 0x02, 0x02, 0x02}; 26////IPアドレス(適当に) 27//byte ip[] = {192, 168, 0, 123}; 28 29 30//接続先のURL 31char HOST[] = "https://*****************websites.net"; //元々のプログラム"www.example.jp"; 32String END_POINT = "******************.php"; //元々のプログラム/dev/wwwroot/Sent.php 33 34//参考文献 Ethernet 35//EthernetClient client; 36 37void setup() { 38// Wi-Fi設定 39 setupWiFi(); 40 41 pinMode(PIN_INPUT_BLUE, INPUT); 42 pinMode(PIN_INPUT_YELLOW, INPUT); 43 pinMode(PIN_INPUT_GREEN, INPUT); 44 45// パソコンとのシリアル通信のポートを開ける 46 Serial.begin(SERIAL_SPEED); 47// Wi-Fiモジュールとのシリアル通信のポートを開ける 48 Serial1.begin(SERIAL_SPEED); 49 50// 参考文献 Ethernet 51//Serial.begin(9600); 52 53 54 delay(500); 55 while (!Serial) { 56 ; 57 } 58 delay(1000); 59 60 61 62// 参考文献 Ethernet 63// Ethernet.begin(mac, ip); 64// delay(3000); 65// Serial.print("IP: "); 66// Serial.println(Ethernet.localIP()); 67// Serial.println("Ready..."); 68// Serial.println(); 69} 70 71bool onBlue = false; 72bool onYellow = false; 73bool onGreen = false; 74 75/*************************************Wi-Fiを設定します*********************************/ 76void setupWiFi() { 77 Serial.print("Connecting to"); 78 Serial.println(WLAN_SSID); 79 // シリアルポートの指定 80 wifi.begin(Serial1); //RX-D0 TX-D1 81 // Wi-Fiへ接続(成功するまで処理を繰り返す) 82 while (!wifi.joinAP(WLAN_SSID, WLAN_PASS)) { 83 delay(500); 84 Serial.print("."); 85 } 86 Serial.println("Wi-Fi connected"); 87 Serial.println("IP address: "); 88 // Wi-FiのローカルIPアドレスをシリアルモニターへ表示 89 Serial.println(wifi.getLocalIP().c_str()); 90} 91 92 93 94void loop() { 95 int blue = digitalRead(PIN_INPUT_BLUE); 96 int yellow = digitalRead(PIN_INPUT_YELLOW); 97 int green = digitalRead(PIN_INPUT_GREEN); 98 99 switch (blue) { 100 case HIGH: 101 if (!onBlue) { 102 Serial.println("BLUE ON"); 103 post("Blue", "time-" + String(millis(), DEC)); 104 delay(1000); 105 onBlue = true; 106 } 107 break; 108 case LOW: 109 if (onBlue) { 110 Serial.println("BLUE OFF"); 111 onBlue = false; 112 } 113 break; 114 default: 115 break; 116 } 117 118 switch (yellow) { 119 case HIGH: 120 if (!onYellow) { 121 Serial.println("YELLOW ON"); 122 post("Yellow", "time-" + String(millis(), DEC)); 123 delay(1000); 124 onYellow = true; 125 } 126 break; 127 case LOW: 128 if (onYellow) { 129 Serial.println("YELLOW OFF"); 130 onYellow = false; 131 } 132 break; 133 default: 134 break; 135 } 136 137 switch (green) { 138 case HIGH: 139 if (!onGreen) { 140 Serial.println("GREEN ON"); 141 post("Green", "time-" + String(millis(), DEC)); 142 delay(1000); 143 onGreen = true; 144 } 145 break; 146 case LOW: 147 if (onGreen) { 148 Serial.println("GREEN OFF"); 149 onGreen = false; 150 } 151 break; 152 default: 153 break; 154 } 155} 156 157bool post(String title, String message) { 158 Serial.println("connecting..."); 159 if (client.connect(HOST, 80)) { 160 Serial.println("connected"); 161 String query = "title=" + title + "&message=" + message; 162 163 client.println("POST " + END_POINT + " HTTP/1.1"); 164 client.print("Host: "); 165 client.println(HOST); 166 client.println("Content-Type: application/x-www-form-urlencoded"); 167 client.println("User-Agent: Arduino Post Client"); 168 169 //ここは無くてもOK 170 //client.print("Post-Title: "); 171 //client.println(title); 172 //client.print("Post-Message: "); 173 //client.println(message); 174 175 client.print("Content-Length: "); 176 client.println(query.length()); 177 178 client.println("Connection: close"); 179 client.println(); 180 client.print(query); 181 182 Serial.println(query); 183 Serial.println("sent"); 184 delay(500); 185 client.stop(); 186 187 return true; 188 } 189 return false; 190}

###参考文献
http://kakikukeko.sakura.ne.jp/blog/send-post-data-to-php-from-arduino/

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問