青ポスの部屋

旅と技術とポエムのブログ

YouTubeでバーチャル鉄道旅行 その9 広島→博多

前回

bluepost69.hatenablog.com

山陽新幹線 さくら 広島→新山口

バーチャルでお金がかからないので、ババーンと山陽新幹線を使うことにした。

新下関まで行くことができたが、中途半端なので新山口で乗り換えることにした。

山陽本線 新山口→下関

山陽本線山口県区間は長閑な風景が続いており、雰囲気が良い。

山陽本線鹿児島本線 下関→小倉

関門トンネルをくぐる区間はたくさん動画が上がっているが、下記を使った。調べてみるとムーンライト九州で渡ることもできるらしい。

関門トンネルは、数ある海底トンネルの中でも数少ないジョイントのあるレールを使っているトンネルであり、ガタンゴトンという鉄輪の音が非常によく響く。なので何もなくてもたまに作業BGMに使っている。

鹿児島本線 小倉→博多

この区間にはスペースワールドという駅があり、文字通りスペースワールドの玄関駅だった。しかしスペースワールドが閉園したため、快速列車は停車しなくなってしまった。スペースワールドへは子供のころ何度か遊びに行ったことがあるので、少し寂しくなった。

次回

bluepost69.hatenablog.com

外出自粛中でもやっておきたいバイクのメンテ

バイクには走らなくても劣化していく部分があります。乗らない間もちゃんと気を配っておかないと、いざというときにバイクが動かないということになりかねません。

タイヤ空気圧

タイヤには無数に細かい隙間があるので、乗らなくても空気がわずかに抜けていきます。なので定期的に、長くても3か月に1回くらいは空気圧を見て空気を入れてやる必要があります。

空気圧はバイク屋さんでも調整してもらえますし、ガソリンスタンドにも空気圧計や空気入れを貸してもらえます。最近は車とバイク、自転車とで共用できるものも出ています。

バッテリー

バッテリーはエンジンを回したり電装をつけたりしなくても自然放電します。なので放置していると最悪バッテリーが上がってエンジンがかからなくなります。特にFI車だと押しがけも多くの場合できないので、替えのバッテリーを調達しない限り不動車になります。というかバッテリーは普通に高いし一回上がってしまうと交換しないといけなくなるので、痛い出費になります。

バッテリー充電器はバッテリー1個分より安く買えます。通常でも1か月に1回くらいは充電しておくとバッテリーが長持ちします。

最後に

何であっても、趣味を自粛するのはつらいことです。ですがまたのびのびバイクに乗れる時はまた必ず訪れます。その時に備えて、愛車を磨いておきましょう。

M5ATOM Matrix (4) Wi-Fiにつなぐ

ここからが今流行りのIoT*1っぽいことをやります。

Wi-Fiにつなぐ

ATOMWi-Fiを使うとき、ATOM自身がAPとなるAPモードと、既存のAPにつなぐSTAモードがあります。今回はSTAモードで既存のAPに接続します。Wi-Fiを使うことでATOMはインターネットへ出ることができるようになります。

Wi-Fiを使うには、WiFiモジュールを使います。あらかじめSSIDとパスワードをchar配列に格納しておき、WiFi.begin(ssid,password)で接続待ちにします。

ここからはマイコンっぽいポイントで、1回で接続が成功するとは限らないので、接続状況を観測して接続できていなければdelayして処理を止めます。それを接続が成功するまで無限ループさせ、接続するまで次の処理へ行かないようにします。

うまくいかないとき

AUTH_EXPIREというエラーで接続できないことがあります。自分の場合、別のスケッチを書き込んでから再度アップロードするとうまくいきました。

github.com

サンプル

下記サンプルでは、起動するとLEDが赤く光り、接続されると緑に変わります。myssid、mypasswordの部分は実際に使うSSIDとパスワードにしてください。

#include "WiFi.h"
#include "M5Atom.h"

const char *ssid = "myssid";
const char *password = "mypassword";

uint8_t DisBuff[2+5*5*3];

void setup(){
    WiFi.disconnect(false,true);

    M5.begin(true, true, true);
    WiFi.begin(ssid, password);

    DisBuff[0] = 0x05;
    DisBuff[1] = 0x05;

    for (int i = 0; i < 25; i++)
    {
        DisBuff[2 + i * 3 + 0] = 0x20;
        DisBuff[2 + i * 3 + 1] = 0x00;
        DisBuff[2 + i * 3 + 2] = 0x00;
    }

    M5.dis.displaybuff(DisBuff);

    while(WiFi.status() != WL_CONNECTED){
        delay(500);
        Serial.print(".");
    }

    for (int i = 0; i < 25; i++)
    {
        DisBuff[2 + i * 3 + 0] = 0x00;
        DisBuff[2 + i * 3 + 1] = 0x20;
        DisBuff[2 + i * 3 + 2] = 0x00;
    }

    M5.dis.displaybuff(DisBuff);
    Serial.println(WiFi.localIP());
}

void loop(){
    
}

緑に変わった後ルータの設定画面へ行くと、ちゃんとSerialにprintされたIPアドレスの端末が表示されています。

*1:もうレッドオーシャンとか言わないでください。。。