見出し画像

~番外編~ラズベリーパイ PICOでWEBサーバーを作る。(あと一歩のところで完成だが、シリアル通信ができない。次のステップに行きます。)

95日目

公開する順番が変わりましたが、PicoでのWebサーバーの構築は一旦停止です。

Nuttxのインストールが完了し、nuttxフォルダにnuttx.uf2があることを確認しました。その段階を踏まえて、次はWebサーバーの構築を行います。とりあえず、↓の配線図通りに繋ぎます。

無題

前回のブログではシリアル通信時にUSBシリアルCOMがなぜか表示されなくなり、一難去ってまた一難と嘆いていましたが、よく調べたら、Raspberry Pi Pico のシリアルCOMが表示されない理由は壊れているわけではなく、何かしらのエラーだったみたいです。
参考にしたブログ https://bokunimo.net/blog/raspberry-pi/1460/

とりあえず、CircuitPython(https://circuitpython.org/board/raspberry_pi_pico/)をダウロードしてドラッグしたら、USBシリアルCOMが読み込まれたのでこのまま進めていきたいと思います。

色々な文献を見ましたが、やはりラズパイ公式のサイトを参考にして進めていきます。
https://www.raspberrypi.com/news/how-to-add-ethernet-to-raspberry-pi-pico/

<Webサーバー構築>
$ git clone https://github.com/sandeepmistry/pico-rmii-ethernet.git
$ cd pico-rmii-ethernet
$ git submodule update --init

$ mkdir build
$ cd build
$ cmake ..
$ make
$ cd examples/httpd
$ ll
pico_rmii_ethernet_httpd.uf2ファイルができていることを確認する。
$ explorer.exe . そしておなじみにエクスプローラーを開くコマンドを記述します。

エラーが再び発生したが、簡単に解決!!!
/home/sattaku1538/pico-rmii-ethernet/src/rmii_ethernet.c:12:10: fatal error: pico/unique_id.h: No such file or directory 12 | #include "pico/unique_id.h"

このエラー文はつまり、#include "pico/unique_id.h"がありませんという意味です。しかし、ファイルには既に記入されているため、何かしらのエラーということがわかりました。解決方法として、 pico-rmii-ethernetを作成後に再度、pico-sdkをインストールすれば、エラーが起きずにmakeコマンド実行後にpico_rmii_ethernet_httpd.uf2を作成できます。

そして、シリアルデバイスを読み込まないエラーが発生!!!
環境構築後にuf2ファイルをラズパイにドラッグ&ドロップをして、IPアドレスをtera termで確認しようとしたところ、読み込んでくれない。

画像2

CP2102ドライバをインストールしても読み込んでくれず、CircuitPythonを読み込んでも、IPアドレスを読み込んでもくれない。

画像3

このエラーを解決するのに時間を費やすのは辛いので、とりあえず、違うステップに行こうかと思います。
この記事を読んで、Webサーバーの構築に成功した方はぜひ教えてください。お願いします。

この記事が気に入ったらサポートをしてみませんか?