前回は、Rabbit4000(モジュールはRCM4010)のオープンドレインで使用可能なピンを見つけて、16文字x2行のキャラクタディスプレイAQM1602をソフトI2C接続いたしました。今回は同じ「I2C」バスにAHT21B温湿度センサを取り付けてみます。今回はライトオンリの前回とは違って読み書き双方向が必要です。
うさちゃんと一緒(16) RCM4010にAQM1602液晶ディスプレイをI2C接続
前回、Rabbit4000のGPIOポート合計40ビットのうち特定の目的に使用可能なポートは以外と少ないことが分かりました。その後Dynamic CのI2C用サンプルプログラムを調べたところ「手元のRCM4010+プロトタイプボード」では使用不可、という結論にいたりました。仕方が無いので自分で「サンプル」書きます。
うさちゃんと一緒(15) 使えるピンはどれ? ボード上の接続、ポートの属性の違い。
前回までのように、うさちゃんRabbit4000をイーサネット経由で動かしている分には、手足のGPIO端子などは気にする必要はありません。でもそろそろマイコンらしい仕事をさせたいです。勿論、http経由でですが。しかし、うさちゃんのIO端子について全く分かってないことが発覚。大慌てで調べましたです。
うさちゃんと一緒(14) 動的なWebページその2、CGIハンドラ記述のRabbit式お作法
前回は動的なWebページの最初ということでSSIでした。SSI利用時にもCGIハンドラにあたるべきものは動いていたのですが断片的でした。今回はWebページ全体を動的に生成できるように、「うさちゃん」式のCGIハンドラ記述のお作法を学んでいきたいと思います。マニュアル読んでサンプル読んでようやく少しわかった?知らんけど。
うさちゃんと一緒(13) 動的なWebページ最初の一歩、SHTMLでSSI
前回は、静的なコンテンツのみのHTMLサーバの作り方を調べました。しかし、うさちゃん(Rabbit 4000)をHTTPサーバにしたいのは、何かマイコンらしい処理をしてもらったものにWebページとしてアクセスしたいからです。動的なページ必須です。今回は動的ページでもっとも簡単そうなSSIでやってみます。 “うさちゃんと一緒(13) 動的なWebページ最初の一歩、SHTMLでSSI” の続きを読む
うさちゃんと一緒(12) 改めてHTTPサーバ、最小構成のSTATICコードを読みます
うさちゃんと一緒(11) Rabbit4000(RCM4010)のチップセレクトロジック
前回、Rabbit4000のメモリマップと称するものを掲げつつ、本人も釈然としておりませんでした。今回、実機に「問いかけつつ」分かってきたのが、Rabbit4000のチップセレクトロジックが果たす役割です。物理アドレスのその先にもう一段階の対応関係がアリーの。うさちゃん、思ったよりももっと複雑。 “うさちゃんと一緒(11) Rabbit4000(RCM4010)のチップセレクトロジック” の続きを読む
うさちゃんと一緒(10) Rabbit4000(RCM4010)のメモリマップ(仮)
うさちゃんRabbit4000(モジュール型番としてはRCM4010)でプログラムを書いていくにあたって、知らん事が多いなと痛感いたしました。その一番はメモリの構成です。Z80的16ビット論理アドレスから24ビットの物理アドレスに拡張しているRabbit4000の仕組みをまず知ろうと。ううむ、調べてみるといろいろ複雑。
うさちゃんと一緒(9) HTTP Serverになってもらう、Rabbit4000
Z80上位互換のCPUは数あれど、うさちゃん印のRabbitはEthernetインタフェースまで搭載した強力なものであります(コマケーことを言うと完全な上位互換ではないようです。)ともあれ8ビットのZ80の64kバイトのメモリ空間の制約をバンクスイッチ的なハードで大拡張しているところは他の拡張CPU同様かもしれません。
うさちゃんと一緒(8) HTTP clientでNode-REDとお話、Rabbit4000
今回は上位層に上がってHTTPです。まずはクライアントになってサーバーにリクエストを投げてみて、Wiresharkで観察する、の回。というのも別件投稿にてNode-REDのフローとして「サーバー」を「構築」途上であるためです。例のごとく、うさちゃんRabbit4000にNode-REDの対話相手になってもらいます。
うさちゃんと一緒(7) TCPパケットをオウム返しでtelnet、Rabbit4000
前回はUDPでしたが、今回はTCPのパケットをうさちゃん(Rabbit4000)にオウム返ししてもらいます。使うポートは23。telnetであります。Scapyも使ってみますが、TCPは3wayハンドシェイクしないといけないので本来の telnet コマンドにご登場願う、と。あれtelnetインストールしてなかった?
うさちゃんと一緒(6) Scapyから送ったUDPパケットをオウム返し、Rabbit4000
うさちゃん(Rabbit4000)相手のネットワーク通信の練習も、そろそろデータを載せてみたいです。今回は高々4文字、UDPでラズパイからうさちゃんへ、うさちゃんからラズパイへと相互にパケットを投げつけあってみたいと思います。わたしゃ止めることを全然気にしていなかったこと発覚。1つ間違えたら自分で自分にDDoS攻撃?
うさちゃんと一緒(5) ScapyでARPしてICMP、一歩づつ? Rabbit 4000
ふと見ると「うさちゃん」ボードに薄っすらと埃が積もってました(うさちゃんの御近影は冒頭に。)前回から大分間が空いてしまいました。今回は前回の続きでARPパケットにお返事をもらい、リプライの中から必要な情報を取り出し、次なる送信パケットを組み立てたいと思います。
うさちゃんと一緒(4) Rabbit 4000 対 Python Scapy
前回はRabbit4000からラズパイに向かってPingかけるのを、ラズパイ上のWiresharkで覗き見してました。今回は、Rabbit4000とパケットをやり取りするトイメンとして、Python上のScapyを使ってみます。これでEthernetの両側をパケットレベルでプログラムできる筈。