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

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

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

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

Arduino

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

Q&A

0回答

1167閲覧

M5STACKCORE2の文字表示について

re-zun

総合スコア0

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

Arduino

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

0グッド

0クリップ

投稿2021/11/25 08:56

前提・実現したいこと

m5stackcore2でディスプレイに、htmlのリンクをクリックした文字を表示させるプログラムを作りたい

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

リンクの作成は出来たが
文字の表示が出来ない
クリックした文字のみを表示させたい

該当のソースコード

#include <WiFi.h>
#include <M5Core2.h>
#include <LiquidCrystal.h>

const char* ssid = "xxx"; // SSID
const char* password = "xxx"; // PASSWORD

WiFiServer server(80);

// Wifiに接続
void setup()
{
M5.begin();
delay(100);
M5.Lcd.setTextSize(3); // 文字サイズ
M5.Lcd.println("Connecting");

// wifi接続開始 WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); M5.Lcd.print("."); } // 接続完了したらIP表示 M5.Lcd.println("Successed"); M5.Lcd.println("IP: "); M5.Lcd.println(WiFi.localIP()); server.begin();

}

void loop(){
//M5.Lcd.println(". ");
WiFiClient client = server.available(); // クライアントのアクセスを待つ
if (client) { // クライアントがサクセスしてきたら
M5.Lcd.println("Connected.");
// クライアントからの受信データを保持する文字列
String currentLine = "";
// クライアントが接続している間ループ
while (client.connected()) {
if (client.available()) {
char c = client.read();
// もし改行コードが送られてきたら
if (c == '\n') {
if (currentLine.length() == 0) {
// HTTPヘッダーの応答コードとコンテンツタイプ
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println();

// 色を変更するためにリンクを表示 client.print("<a href=\"/R\">Red</a><br>"); client.print("<a href=\"/B\">Blue</a><br>"); // HTTP応答は、別の空白行で終了しループを抜ける client.println(); break; } else { // if you got a newline, then clear currentLine: currentLine = ""; } // CR文字でなければcurrentLineに文字を追加 } else if (c != '\r') { currentLine += c; } // currentLineが「GET /R」で後方一致すれば赤色 if (currentLine.endsWith("GET /R")) { M5.Lcd.println(RED); } // currentLineが「GET /B」で後方一致すれば青色 if (currentLine.endsWith("GET /B")) { M5.Lcd.println(BLUE); } } } // 接続解除 client.stop(); M5.Lcd.println("Disconnected."); } M5.update();

}

試したこと

ここに問題に対して試したことを記載してください。

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

Arduino 1.8.16

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

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

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

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

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

y_waiwai

2021/11/25 12:34

このままではコードが読みづらいので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
thkana

2021/11/25 22:36

> クリックした文字を表示させる それだけでは何ができればいいのかが明確とはいいがたいです。 C/C++(Arduino)言語プログラミングに於いては'文字'と"文字列"は違うものであるあたりも踏まえて、 「何をどうしたらどうなる」、というのを具体的に示してみてください。 今回は(多分)WebブラウザとM5StackのLCD画面という2つの表示場所があります。何がどこに表示されて、どこでどう操作するのか、というのを明示してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問