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

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

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

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

Arduino

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

受付中

M5STACKCORE2の文字表示について

re-zun
re-zun

総合スコア0

M5Stack

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

Arduino

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

0回答

0評価

0クリップ

592閲覧

投稿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

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

y_waiwai

2021/11/25 12:34

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

2021/11/25 22:36

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

M5Stack

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

Arduino

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