うさちゃんと一緒(17) Rabbit4000にAHT21B温湿度センサをI2C接続

Rabbit4000_AHT21B
Joseph Halfmoon

前回は、Rabbit4000(モジュールはRCM4010)のオープンドレインで使用可能なピンを見つけて、16文字x2行のキャラクタディスプレイAQM1602をソフトI2C接続いたしました。今回は同じ「I2C」バスにAHT21B温湿度センサを取り付けてみます。今回はライトオンリの前回とは違って読み書き双方向が必要です。

“うさちゃんと一緒(17) Rabbit4000にAHT21B温湿度センサをI2C接続” の続きを読む

うさちゃんと一緒(16) RCM4010にAQM1602液晶ディスプレイをI2C接続

RCM4010_AQM1602
Joseph Halfmoon

前回、Rabbit4000のGPIOポート合計40ビットのうち特定の目的に使用可能なポートは以外と少ないことが分かりました。その後Dynamic CのI2C用サンプルプログラムを調べたところ「手元のRCM4010+プロトタイプボード」では使用不可、という結論にいたりました。仕方が無いので自分で「サンプル」書きます。

“うさちゃんと一緒(16) RCM4010にAQM1602液晶ディスプレイをI2C接続” の続きを読む

うさちゃんと一緒(15) 使えるピンはどれ? ボード上の接続、ポートの属性の違い。

RCM4010onRCM4XXXprotoBoard
Joseph Halfmoon

前回までのように、うさちゃんRabbit4000をイーサネット経由で動かしている分には、手足のGPIO端子などは気にする必要はありません。でもそろそろマイコンらしい仕事をさせたいです。勿論、http経由でですが。しかし、うさちゃんのIO端子について全く分かってないことが発覚。大慌てで調べましたです。

“うさちゃんと一緒(15) 使えるピンはどれ? ボード上の接続、ポートの属性の違い。” の続きを読む

うさちゃんと一緒(14) 動的なWebページその2、CGIハンドラ記述のRabbit式お作法

2layerStateMachine
Joseph Halfmoon

前回は動的なWebページの最初ということでSSIでした。SSI利用時にもCGIハンドラにあたるべきものは動いていたのですが断片的でした。今回はWebページ全体を動的に生成できるように、「うさちゃん」式のCGIハンドラ記述のお作法を学んでいきたいと思います。マニュアル読んでサンプル読んでようやく少しわかった?知らんけど。

“うさちゃんと一緒(14) 動的なWebページその2、CGIハンドラ記述のRabbit式お作法” の続きを読む

うさちゃんと一緒(13) 動的なWebページ最初の一歩、SHTMLでSSI

SSI_TOP
Joseph Halfmoon

前回は、静的なコンテンツのみのHTMLサーバの作り方を調べました。しかし、うさちゃん(Rabbit 4000)をHTTPサーバにしたいのは、何かマイコンらしい処理をしてもらったものにWebページとしてアクセスしたいからです。動的なページ必須です。今回は動的ページでもっとも簡単そうなSSIでやってみます。 “うさちゃんと一緒(13) 動的なWebページ最初の一歩、SHTMLでSSI” の続きを読む

うさちゃんと一緒(12) 改めてHTTPサーバ、最小構成のSTATICコードを読みます

STATIC_PAGE
Joseph Halfmoon

前回前々回と気になっていたうさちゃんのメモリマップを調べて少しスッキリしたので、HTTPデーモンねたへと戻りました。今回は改めてということで最小構成、動的なページが一切ないスタティックなHTMLと画像のみをサーバするサンプルプログラムを眺めてみたいと思います。これだけなら簡単?ホントか?

“うさちゃんと一緒(12) 改めてHTTPサーバ、最小構成のSTATICコードを読みます” の続きを読む

うさちゃんと一緒(11) Rabbit4000(RCM4010)のチップセレクトロジック

CSLOGICupd2
Joseph Halfmoon

前回、Rabbit4000のメモリマップと称するものを掲げつつ、本人も釈然としておりませんでした。今回、実機に「問いかけつつ」分かってきたのが、Rabbit4000のチップセレクトロジックが果たす役割です。物理アドレスのその先にもう一段階の対応関係がアリーの。うさちゃん、思ったよりももっと複雑。 “うさちゃんと一緒(11) Rabbit4000(RCM4010)のチップセレクトロジック” の続きを読む

うさちゃんと一緒(10) Rabbit4000(RCM4010)のメモリマップ(仮)

RCM4010_L2P_MAP
Joseph Halfmoon

うさちゃんRabbit4000(モジュール型番としてはRCM4010)でプログラムを書いていくにあたって、知らん事が多いなと痛感いたしました。その一番はメモリの構成です。Z80的16ビット論理アドレスから24ビットの物理アドレスに拡張しているRabbit4000の仕組みをまず知ろうと。ううむ、調べてみるといろいろ複雑。

“うさちゃんと一緒(10) Rabbit4000(RCM4010)のメモリマップ(仮)” の続きを読む

うさちゃんと一緒(9) HTTP Serverになってもらう、Rabbit4000

Rabbit4000onPrototypingBoard
Joseph Halfmoon

Z80上位互換のCPUは数あれど、うさちゃん印のRabbitはEthernetインタフェースまで搭載した強力なものであります(コマケーことを言うと完全な上位互換ではないようです。)ともあれ8ビットのZ80の64kバイトのメモリ空間の制約をバンクスイッチ的なハードで大拡張しているところは他の拡張CPU同様かもしれません。

“うさちゃんと一緒(9) HTTP Serverになってもらう、Rabbit4000” の続きを読む

うさちゃんと一緒(8) HTTP clientでNode-REDとお話、Rabbit4000

Rabbit4000
Joseph Halfmoon

今回は上位層に上がってHTTPです。まずはクライアントになってサーバーにリクエストを投げてみて、Wiresharkで観察する、の回。というのも別件投稿にてNode-REDのフローとして「サーバー」を「構築」途上であるためです。例のごとく、うさちゃんRabbit4000にNode-REDの対話相手になってもらいます。

“うさちゃんと一緒(8) HTTP clientでNode-REDとお話、Rabbit4000” の続きを読む

うさちゃんと一緒(7) TCPパケットをオウム返しでtelnet、Rabbit4000

telnet
Joseph Halfmoon

前回はUDPでしたが、今回はTCPのパケットをうさちゃん(Rabbit4000)にオウム返ししてもらいます。使うポートは23。telnetであります。Scapyも使ってみますが、TCPは3wayハンドシェイクしないといけないので本来の telnet コマンドにご登場願う、と。あれtelnetインストールしてなかった?

“うさちゃんと一緒(7) TCPパケットをオウム返しでtelnet、Rabbit4000” の続きを読む

うさちゃんと一緒(6) Scapyから送ったUDPパケットをオウム返し、Rabbit4000

WSK000
Joseph Halfmoon

うさちゃん(Rabbit4000)相手のネットワーク通信の練習も、そろそろデータを載せてみたいです。今回は高々4文字、UDPでラズパイからうさちゃんへ、うさちゃんからラズパイへと相互にパケットを投げつけあってみたいと思います。わたしゃ止めることを全然気にしていなかったこと発覚。1つ間違えたら自分で自分にDDoS攻撃?

“うさちゃんと一緒(6) Scapyから送ったUDPパケットをオウム返し、Rabbit4000” の続きを読む

うさちゃんと一緒(5) ScapyでARPしてICMP、一歩づつ? Rabbit 4000

Rabbit4000_EC
Joseph Halfmoon

ふと見ると「うさちゃん」ボードに薄っすらと埃が積もってました(うさちゃんの御近影は冒頭に。)前回から大分間が空いてしまいました。今回は前回の続きでARPパケットにお返事をもらい、リプライの中から必要な情報を取り出し、次なる送信パケットを組み立てたいと思います。

“うさちゃんと一緒(5) ScapyでARPしてICMP、一歩づつ? Rabbit 4000” の続きを読む

うさちゃんと一緒(4) Rabbit 4000 対 Python Scapy

scapyOnRPiGreeting
Joseph Halfmoon

前回はRabbit4000からラズパイに向かってPingかけるのを、ラズパイ上のWiresharkで覗き見してました。今回は、Rabbit4000とパケットをやり取りするトイメンとして、Python上のScapyを使ってみます。これでEthernetの両側をパケットレベルでプログラムできる筈。

“うさちゃんと一緒(4) Rabbit 4000 対 Python Scapy” の続きを読む