ESP32 と Z80A で

できる!Twitterクライアント

IoTLT 広島 Vol.11

菅原 政行
Twitter: ぺんた @plageoj

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

自己紹介

「歌う工学部生」

「昭和のエンジニア」

#ポケコンでモテる大学生

年齢を疑われることが増えましたが
21歳(昭和73年生まれ)です。

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

今回の Z80A マシン: PC-G850VS

Z80 を裸では扱いません。期待された皆さんごめんなさい。

  • SHARP製
  • 2009年発表
  • CPU Z80互換 CMOS @ 8MHz
    • 世界最後にして最強の 8bit マイコン
  • SRAM 32KB SIMM
  • 144 × 48 フルグラフィックモノクロ LCD
ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

ことの発端


Arduino UART でポケコンと通信できることがわかりました

このときは片方向でしたが、実験を重ねて双方向通信に成功

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

UART でポケコンと通信する

ポケコンの信号レベルは UART と同じ、論理は RS-232C 準拠

image.png
出典: PC-G850VS Interface

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

Software UART で論理を反転すれば通信可能

#include <SoftwareSerial.h>

// 第3引数に true を渡す
SoftwareSerial Serial2(rxPin, txPin, true);
void setup(){
    Serial2.begin(9600);
}

詳細: PC-G850VS を最近のマイコンと接続する

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

ESP32 から Twitter を叩く

ESP32 の基本的なコードはこちらの記事のものをほぼ流用

Twitter API から Arduino – ESP32 を使ってトレンドツイートを取得してみた

元ソースではベタ打ちされているリクエスト URL と内容を
差し替えられるように改変しました

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

叩いた内容をポケコンで表示する

ポケコンでは漢字やひらがなが表示できません。

美咲フォント(8✕8)なら、ポケコン内臓の
ANKフォント(8✕6)と一行の高さが同じになります!

これを HEX でダンプして転送し
ポケコンで液晶に書き込むと……

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

ツイートを表示できます

動作動画

API のリクエストの組み立て方自体は同じなので、
ポケコンからツイートもできます

運が良ければ実機デモ

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj

ありがとうございました

ESP32とZ80Aでできる!Twitterクライアント - IoTLT 広島 Vol.11 / ぺんた @plageoj