Raspberry Pi 3 & Python 開発ブログ☆彡

Raspberry Pi 3の使い方、設定をわかりやすく解説。Raspberry Pi3 Model B(Element14版)、Raspbian 8.0(NOOBS Ver1.9.2)を使用して開発中。

【スポンサーリンク】

SwampDragonの使い方 (その3)

【スポンサーリンク】

前回までで、Webページにテーブルを表示するところまでできました。あと少しで、データベースの値を変更するとリアルタイムでWebページのテーブルの値が更新されるようになります。それではさっそくdjangoシステムから、データベースに値を登録してみましょう。

データベース管理サイトの作成(djtest→webpi→admin.py)

djangoと同様にadmin.pyにコードを追加します。

from django.contrib import admin
from webpi.models import PiData

class PiDataAdmin(admin.ModelAdmin):
    list_display = ('id','pidata1', 'pidata2', 'pidata3', 'pidata4','pidata5',)
admin.site.register(PiData, PiDataAdmin)

データベースの再構築

管理サイトにModelを追加しているので、下記コマンドでデータベースを再構築します。

python3 manage.py makemigrations
python3 manage.py migrate


それではデータベース管理サイトを開いてみましょう。djtest→webpi→urls.pyにサイトのURLがデフォルトで設定されており、admin/となっています。ブラウザに下記のアドレスを入力してください。
http://[Raspberry PiのIPアドレス]:8000/admin

IDとパスワードを聞かれますので、createsuperuserで登録したadmin、raspberrypiと入力します。

表示されたデータベース管理サイトで、適当にPidataのpidata1~5に値を登録して、もう一度、webpiのWebページ(http://[Raspberry PiのIPアドレス]:8000/webpi)を開いてみましょう。テーブルに値が表示されていれば成功です。

更にadminページとwebpiページを両方開いた状態で、adminページでデータベースの値を更新してみてください。webpiページの値もリアルタイムで更新されていると思います。とても便利ですね。

swampdragonではdjangoシステムを使ってデータベースを更新すると、Webページに通知されデータをリアルタイムで更新することができます。また、websocket通信でもサーバーとデータのやり取りをすることができます。

次回は、クライアント側でpythonでwebsocket通信を行い、Webページの値をリアルタイムで更新する方法を紹介します。次回で最後となります。