0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

milk-V DuoAdvent Calendar 2023

Day 10

Milk-v Duo上のpythonでお手軽HTTPサーバー

Last updated at Posted at 2023-12-09

はじめに

秋葉原ロボット部の有志で、Milk-v Duoを購入し、個々人が様々な実験を行って、勉強会内で報告しています。

Milk-v Duoは9ドルのrisc-vコンピュータとして知られています。
ハードウェアは以下の通りです。

  1. CPUはCVITEKのCV1800B (C906@1Ghz + C906@700MHz)
  2. 最高1 GHzで動作するデュアルRV64コア
  3. 64 MBのラム
  4. オプションのアドオンボードを接続すると10/100Mbpsの速度でイーサーネットに接続可能

Milk-v DuoのOSイメージにはpythonが標準でインストールされています。
PythonでI2C接続したセンサの利用はできましたので、他の機能も利用してみます。
本記事では、HTTPサーバーを動作させます。
Milk-v DuoはWindowsマシンとUSBケーブルで接続しています。

HTTPサーバーの立ち上げ

サーバーの起動は、とても簡単です。

[root@milkv-duo]~# python -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

ブラウザからのアクセス

Milk-v DuoのIPアドレスは「192.168.42.1」なので、Windowsマシンのブラウザで、「http: //192.168.42.1:8080」と入力すると、Milk-v Duoの表示が以下のメッセージが表示されます。

192.168.42.24 - - [01/Jan/1970 00:02:09] "GET / HTTP/1.1" 200 -

Windowsマシンのブラウザの表示は、以下の通り。
image.png

「.ash history」をクリックすると、以下のメッセージが表示されます。

192.168.42.24 - - [01/Jan/1970 08:36:01] "GET /.ash_history HTTP/1.1" 200 -

index.htmlを表示

「testserver.py」として、以下のpythonスクリプトを作成しました。

testserver.py
import http.server
import socketserver

PORT = 8000

Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()

「index.html」として以下のファイルを作成しました。

index.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  Hello, World!
</body>
</html>

再度、ブラウザからMilk-v Duoにアクセスします。

image.png

ブラウザ上に「index.html」の内容が表示されました。

おわりに

実験用のhttpサーバーには利用できそうです。
PHPに対応したサーバーを作成する場合は、buildroot用のapacheとphpをインストールした環境を用いる必要があります。

参考 https://docs.python.org/ja/3/library/http.server.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?