Programming

M5Stack を WiFiに接続する

簡易紹介:こうたろう

1986年生まれ
音大卒業後日本、スウェーデン、ドイツにて音楽活動
その後金田式DC録音のスタジオに弟子入り
プログラミング(C)を株式会社ジオセンスのCEO小林一英氏よりを学ぶ
現在はヒーリングサウンド専門のピアニスト、またスタジオでは音響エンジニア、フォトグラファーなどマルチメディアクリエーターとして活動中
当記事ではプログラマー、音響エンジニアとして知識とスキルをシェアしていきます。
トレードに関するブログサイトではより本格的な金融に関するPythonのサンプルコードを公開中!

WiFi接続

WiFiはssidとpasswordを最初に定義し、WiFi.begin関数で呼び出します。

以下にサンプルコードを掲載しておきます。

#include <M5Stack.h>
#include <WiFi.h>

const char* ssid = "あなたのssid";
const char* password = "あなたのpassword";

void setup() {
    M5.begin();
    M5.Lcd.setTextSize(2);

    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED){
        delay(500);
        M5.Lcd.print('.');
    }

    M5.Lcd.print("\r\nWiFi connected\r\nIP address: ");
    M5.Lcd.println(WiFi.localIP());
}

void loop() {
}

これで簡単に繋がります。

ポイントM5Stack は2.4Ghzですので注意です。

WiFiに接続できたら次にネットワークからしっかりと情報を取得していきましょう。

NTPプロトコルを使って時刻をWiFiで取得する

NTPプロトコルを使って現在時刻を取得するライブラリがArduinoに用意されています。

Arduinoのインストールなどについてはこちら

在宅介護にも使える! / M5Stackで温湿度計を作る5つの手順

NTP=Network Time ProtocolサーバーとM5Stackを同期します。

サンプルコード

#include <M5Stack.h>
#include <WiFi.h>

#define JST (3600L * 9)

const char* ssid = "あなたのWiFi";
const char* password = "あなたのpassword";

void setup() {
    M5.begin();
    M5.Lcd.setTextSize(2);

    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED){
        delay(500);
        M5.Lcd.print('.');
    }

    M5.Lcd.print("\r\nWiFi connected\r\nIP address: ");
    M5.Lcd.println(WiFi.localIP());
    delay(500);

    M5.Lcd.setTextSize(3);
    configTime(JST,0,"ntp.nict.jp", "time.google.com",
            "ntp.jst.mfeed.ad.jp");
}

void loop() {
    struct tm tm;
    if(getLocalTime(&tm)){
       M5.Lcd.fillScreen(BLACK);
       M5.Lcd.setCursor(60,80);
       M5.Lcd.printf("%d/%2d/%2d",
               tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
       M5.Lcd.setCursor(80,140);
       M5.Lcd.printf("%02d:%02d:%02d", tm.tm_hour, tm.tm_min, tm.tm_sec);
    }
    delay(1000);
}
#define JST (3600L * 9)

にて、協定世界時間との時差を入力します。

configTimeにてNTPサーバーとの接続を定義。

これでバッチリ表示できました。

printfに関しては自由にカスタマイズしてみてください。

音響プログラミング記事

【Pythonサンプルコード】録音後の音声データを文字起こしする方法
SpeechRecognitionライブラリを使用します。これは、Pythonのpipコマンドを使って簡単に行えます。…
“Pythonで学ぶ:ポッドキャストテクニック〜完成動画からMP3音声抽出”
完成動画からMP3の高音質版である320kbpsで抽出するPythonサンプルコードを紹介します。…
エポキシ基盤 vs ベークライト基盤:あなたのプロジェクトに最適な選択は?
エポキシ基盤とベークライト基盤を選択する際には、プロジェクトの要件、特に耐久性、耐熱性、コストの観点から適切な基盤を選ぶことが重要です。…
【フォルマント分析】言語パスバンド分析による語学学習効率化
スペイン語が日本人にとって相性がいい根拠を提示しましょう!…
【エンジニア向け保存版】DSD完全ガイド〜DSDからPCMへの変換サンプルコードまで
録音エンジニアとしては、自然界のロケなどもう2度といけないような場所の音響は是非DSDで残したいですし、一期一会の音楽もDSDで残したいと思うものです。…
Raspberry Piを使ってオーディオレコーダーを自作する方法
保存場所や、WIFIを使った機能の追加など、市販品ではなかなか難しいレコーダーを自作して、現場の業務を安全かつ円滑に進められるように工夫していってください。…
【Python音声からテキスト抽出】英語の字幕を自動生成する方法
日本語字幕はすでに対応可能なソフトやツールがたくさん出ていますので、自動で翻訳して出力するまでをやってみましょう。…
【音声機械学習】音源だけで性別、年齢、感情を識別するアプリの開発ガイド決定版
性別、年齢、感情を識別するアプリを開発する例を用いて機械学習の感覚を掴んでいただこうと思います。…
【Music21保存版】音楽家必須のPythonプログラミング〜楽譜の管理と楽曲分析の最強ツール
music21は、古典音楽から現代音楽に至るまで、幅広い楽曲の分析と探究を可能にします。…

こうたろう

音大を卒業後ピアニストとして活動。 日本で活動後北欧スウェーデンへ。 アーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。 その後ドイツ・ケルンに渡りAchim Tangと共にアルバム作品制作。 帰国後、金田式DC録音の第一人者:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入り。 独立後音楽レーベル「芸術工房Pinocoa(現:Kotaro Studio)」を結成。 タンゴやクラシックなどアコースティック音楽作品を多数プロデュース。 大阪ベンチャー研究会にて『芸術家皆起業論~変化する社会の中、芸術家で在り続けるために』を講演。 その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。 村上宏治氏の元で本格的に写真、映像技術を学ぶ。 祖父母の在宅介護をきっかけにプログラムの世界に興味を持ち、株式会社 ジオセンスの代表取締役社長:小林一英氏よりプログラムを学ぶ。 現在はKotaro Studioにて『あなたのためのアートスタジオ』音と絵をテーマに芸術家として活動中。 2023年より誰かのための癒しの場所『Curanz Sounds』をプロデュース。