ホームページ ウェブフロントエンド htmlチュートリアル Raspberry PiのWEBの簡単な実装 control_html/css_WEB-ITnose

Raspberry PiのWEBの簡単な実装 control_html/css_WEB-ITnose

Jun 24, 2016 am 11:26 AM

最終的な効果は以下のとおりです:

使用した知識: Python Bottle HTML Javascript JQuery Bootstrap AJAX、そしてもちろん Linux

放っておいてください、たくさんあります…それについては少し話します少しずつ...

最初に最終的なソースコードを投稿してください:

   #!/usr/bin/env python3from bottle import get,post,run,request,template@get("/")def index():    return template("index")@post("/cmd")def cmd():    print("按下了按钮: "+request.body.read().decode())    return "OK"run(host="0.0.0.0")
ログイン後にコピー

はい、10 文だけです。1 つずつ説明します:

1. # !/usr/bin/env python3、シェルにこれを伝えますファイルは Python ソース コードであり、bash で python3 を呼び出します。このコードを説明しましょう

2. from bottle import get,post,run,request,template、使用したメソッドとオブジェクトはボトル フレームワークからインポートされます

次の文は定義します2 つのルート、1 つは "/"、1 つは "/cmd"、前者は get タイプ (@get で装飾)、後者は POST タイプ (@post で装飾) です

最初のルートは非常に単純です。パスが「/」であるため、インデックス テンプレート (テンプレートは html ) を読み取り、クライアント (ブラウザー) に送信します。つまり、たとえば、Raspberry Pi の IP アドレスは 192.168.0.10 です

次に、http://192.168.0.10:8080 を使用して「/」ルートにアクセスします (ボトルのデフォルトのポートは 8080)

同様に、2 番目のルートのパスは「/cmd」、つまり http:/ にアクセスします。 /192.168.0.10:8080/cmd は 2 番目のルートにアクセスします

最後の文: run(host = " 0.0.0.0 " ) は、ブラウザ経由でインターフェイスにアクセスできるように、ボトルの run メソッドを呼び出して http サーバーを確立します。 。

これらのコードの機能を以下で詳しく説明します:

最初のルートの機能は、HTML (index.tpl) ドキュメントをブラウザにスローして、このインターフェイスを表示することです:

このソース コードファイルは次のとおりです。

  <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>遥控树莓派</title>    <link href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" media="screen">    <script src="http://code.jquery.com/jquery.js"></script>    <style type="text/css">        #up {            margin-left: 55px;            margin-bottom: 3px;        }        #down {            margin-top: 3px;            margin-left: 55px;        }    </style>    <script>        $(function(){            $("button").click(function(){                $.post("/cmd",this.id,function(data,status){});            });        });    </script></head><body><div id="container" class="container">    <div>        <button id="up" class="btn btn-lg btn-primary glyphicon glyphicon-circle-arrow-up"></button>    </div>    <div>        <button id='left' class="btn btn-lg btn-primary glyphicon glyphicon-circle-arrow-left"></button>        <button id='stop' class="btn btn-lg btn-primary glyphicon glyphicon-stop"></button>        <button id='right' class="btn btn-lg btn-primary glyphicon glyphicon-circle-arrow-right"></button>    </div>    <div>        <button id='down' class="btn btn-lg btn-primary glyphicon glyphicon-circle-arrow-down"></button>    </div></div><script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script></body></html>
ログイン後にコピー

この内容は少し多くなりますが、非常に単純です。jquery bootstrap の 2 つのフロントエンド フレームワークを参照し、5 つのボタン ( 間のコード) を追加するだけです。 )。もちろん、ブートストラップの組み込みの上、下、左、右、および停止アイコンを使用し、これら 5 つのボタンの ID を上、下、左、右、および停止として定義し、次のキー コードを記述しました。

    $(function(){            $("button").click(function(){                $.post("/cmd",this.id,function(data,status){});            });        });  
ログイン後にコピー

そうです、以上です 3 行のコード…

1 行目と 2 行目でクリック イベントをすべてのボタン (ボタン) にバインドし、3 行目で jquery の post メソッドを呼び出して this.id (の ID を送信します)クリックされたボタン) をパス「/cmd」の下に追加します。この時点で、Python コードの 2 番目のルートが機能し、Web ページ上でクリックされたボタンの ID を受け取り、「ボタンが押されました: XXX」を出力しました

Ofもちろん、ここにいくつかの if ステートメントを記述して判断することで、実際のニーズに応じて実際の制御を行うことができます。たとえば、Python で Wireringpi2 を呼び出して Raspberry Pi の GPIO を制御することができます。

完全なソース コードは次のとおりです (ボトル フレームワークに付属しており、解凍後に直接実行するだけです)

http://pan.baidu.com/s/1qWYPHQs

yafeng による投稿

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

WebアノテーションにY軸位置の適応レイアウトを実装する方法は? WebアノテーションにY軸位置の適応レイアウトを実装する方法は? Apr 04, 2025 pm 11:30 PM

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? Apr 05, 2025 am 06:15 AM

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

HTML、CSS、およびJavaScript:Web開発者に不可欠なツール HTML、CSS、およびJavaScript:Web開発者に不可欠なツール Apr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

See all articles