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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

1681閲覧

Arduinoとブラウザ間のデータのやり取りについて

opensesame2705

総合スコア6

Arduino

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/12/26 06:48

#include"TextFinder.h" #include <ESP8266WiFi.h> #include <Servo.h> // サーボのピン番号 const int SERVO_PIN = 5; // サーボのインスタンス Servo servo; const char* ssid = ""; const char* password = ""; WiFiServer server(80); WiFiClient client; // HTML出力 //void PrintHtml(EthernetClient& client) void PrintHtml() { client = server.available();//クライアント生成 delay(10); int change; change = analogRead(0); client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); client.println("<!DOCTYPE html>"); client.println("<html lang=\"ja\">"); client.println("<head>"); client.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">"); client.println("<title>ArduinoをLAN制御</title>"); client.println("<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css\">"); client.println("</head>"); client.println("<body>"); client.println("<div class=\"container\">"); client.println("<div class=\"page-header\">"); client.println("<h1>部屋の電気ON/OFF</h1>"); client.println("</div>"); client.println("<h2>サーボモーター制御(I13)</h2>"); client.println("<a href=\"/?pin5=1\" target=\"ifr\" class=\"btn btn-primary\">ON</a>"); client.println("<a href=\"/?pin5=0\" target=\"ifr\" class=\"btn btn-default\">OFF</a>"); client.println("<h3>室内光度</h3>"); client.println(change); client.println("</div>"); client.println("<iframe name=\"ifr\" style=\"display:none;\" width=\"0\" height=\"0\"></iframe>"); client.println("</body>"); client.println("</html>"); } void setup() { servo.attach(SERVO_PIN); Serial.begin(115200); Serial.println("Ready"); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); Serial.println(WiFi.localIP()); } void loop() { // Html出力 PrintHtml(); delay(1); if (client) { TextFinder finder(client); if (finder.find("GET")) { while (finder.findUntil("pin", "\n\r")) { int iPin = finder.getValue(); int iVal = finder.getValue(); pinMode(iPin, OUTPUT); digitalWrite(iPin, iVal); Serial.print("Pin" + String(iPin)); if (iVal == 1) { Serial.println(" ON"); servo.write(0); delay(2000); servo.write(180); delay(2000); servo.write(0); delay(2000); } else { Serial.println(" OFF"); servo.write(0); delay(2000); servo.write(180); delay(2000); servo.write(0); delay(2000); } } } delay(1); client.stop(); } }

このコードで実行するとシリアルモニタに表示されたIPアドレスでブラウザを開くことができるのですが、IPアドレスを任意のものにしたいのですが、どうすればよいのでしょうか。

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

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

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

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

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

CHERRY

2017/12/26 10:29

どのように、IPアドレスを割り当てているのでしょうか?
guest

回答1

0

無線LANはどんなマシンが接続されるかが想定できないのでDHCPでIPアドレスを取得するのが普通です。
DHCPなので、同じマシンでも接続するたびに付与されるIPが変わっている可能性があります。

「IPアドレスを任意のものにしたい」というのが、マシンに(コードで指定した)固定のIPを付与したいという事であれば、以下の記事が参考になると思います。

Arduino の ESP8266をwebサーバーでip address を固定する

 無線LANルータによってDHCPで付与するIPの範囲が違います。DHCPでは付与されないIPをマシンにつけるように注意してください(記事で使っている、192.168.0.99が適切かどうか判りません)。

投稿2018/06/23 09:23

coco_bauer

総合スコア6915

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問