chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣創(chuàng)建樹(shù)莓派上的Web應(yīng)用程序 并使用Flask Web Framework控制伺服電機(jī)

454398 ? 來(lái)源:工程師吳畏 ? 2019-07-26 15:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在這篇文章中,您將學(xué)習(xí)如何創(chuàng)建Raspberry Pi上的Web應(yīng)用程序,使用Flask Web Framework控制伺服電機(jī),以創(chuàng)建Web應(yīng)用程序。我們將在Web應(yīng)用程序上創(chuàng)建兩個(gè)滑塊,它們將發(fā)送相應(yīng)的值,導(dǎo)致伺服電機(jī)在按下按鈕時(shí)移動(dòng)。

Flask是一個(gè)用Python編寫(xiě)并由Armin Ronacher開(kāi)發(fā)的Web應(yīng)用程序框架。領(lǐng)導(dǎo)一個(gè)名為Pocco的國(guó)際Python愛(ài)好者群體。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。兩者都是Pocco項(xiàng)目。

先決條件

確保您的Raspberry Pi是最新的。要更新Raspberry Pi,請(qǐng)鍵入以下命令: sudo apt-get update

要安裝Flask,我們需要有pip,因此請(qǐng)鍵入以下命令來(lái)安裝pip: sudo apt-get install python-pip

然后輸入以下命令來(lái)安裝Flask: sudo pip install flask

必需組件

Raspberry Pi

SG90伺服電機(jī)

跳線(xiàn)電纜

電路圖和說(shuō)明

這個(gè)項(xiàng)目的電路圖很簡(jiǎn)單 - 你只需要連接你的兩個(gè)伺服電機(jī)。進(jìn)行以下連接:

伺服電機(jī)1伺服電機(jī)2Raspberry Pi

黃色或橙色線(xiàn)

GPIO 26

Red Wire

5V

黑色或棕色線(xiàn)

GND

黃色或橙色線(xiàn)GPIO 19

紅線(xiàn)5V

黑色或棕色線(xiàn)GND

代碼演練

讓我們分析一下這個(gè)項(xiàng)目中使用的代碼。完整的代碼可以在文章的最后找到。

首先,我們導(dǎo)入了這個(gè)項(xiàng)目所需的燒瓶模塊。 render_template_string 模塊允許我們?cè)陧?xiàng)目中使用HTML。 請(qǐng)求模塊允許我們從HTML獲取數(shù)據(jù)。 RPi.GPIO 庫(kù)允許我們控制Raspberry Pi的GPIO引腳。

from flask import Flask, render_template_string, request

import RPi.GPIO as GPIO

from time import sleep

現(xiàn)在,我們啟用調(diào)試模式我們的項(xiàng)目。啟用調(diào)試模式的優(yōu)點(diǎn)是它可以在更改代碼時(shí)自動(dòng)重新加載服務(wù)器。它還提供了一個(gè)有用的調(diào)試器來(lái)跟蹤應(yīng)用程序中的錯(cuò)誤。

app.config[‘DEBUG’] = True

伺服電機(jī)在不動(dòng)時(shí)會(huì)抖動(dòng)一下。為了阻止它,我們使用以下行:

p.ChangeDutyCycle(0)

p1.ChangeDutyCycle(0)

如何運(yùn)行程序

創(chuàng)建Python文件并上傳代碼。接下來(lái),使用sudo命令運(yùn)行此文件以在端口5000 上的localhost啟動(dòng)服務(wù)器。

打開(kāi)瀏覽器并輸入在https://127.0.0.1:5000中,打開(kāi)一個(gè)網(wǎng)頁(yè),如下所示。

現(xiàn)在,按提交按鈕將發(fā)送值根據(jù)我們控制的伺服電機(jī)的滑塊。

完全代碼

from flask import Flask, render_template_string, request # Importing the Flask modules required for this project

import RPi.GPIO as GPIO # Importing the GPIO library to control GPIO pins of Raspberry Pi

from time import sleep # Import sleep module from time library to add delays

# Pins where we have connected servos

servo_pin = 26

servo_pin1 = 19

GPIO.setmode(GPIO.BCM) # We are using the BCM pin numbering

# Declaring Servo Pins as output pins

GPIO.setup(servo_pin, GPIO.OUT)

GPIO.setup(servo_pin1, GPIO.OUT)

# Created PWM channels at 50Hz frequency

p = GPIO.PWM(servo_pin, 50)

p1 = GPIO.PWM(servo_pin1, 50)

# Initial duty cycle

p.start(0)

p1.start(0)

# Flask constructor takes the name of current module (__name__) as argument.

app = Flask(__name__)

# Enable debug mode

app.config[‘DEBUG’] = True

# Store HTML code

TPL = ‘’‘

Web Application to Control Servos

Slider 1

Slider 2

’‘’

# which URL should call the associated function.

@app.route(“/”)

def home():

return render_template_string(TPL)

@app.route(“/test”, methods=[“POST”])

def test():

# Get slider Values

slider1 = request.form[“slider1”]

slider2 = request.form[“slider2”]

# Change duty cycle

p.ChangeDutyCycle(float(slider1))

p1.ChangeDutyCycle(float(slider2))

# Give servo some time to move

sleep(1)

# Pause the servo

p.ChangeDutyCycle(0)

p1.ChangeDutyCycle(0)

return render_template_string(TPL)

# Run the app on the local development server

if __name__ == “__main__”:

app.run()

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1302

    瀏覽量

    73597
  • 伺服電機(jī)
    +關(guān)注

    關(guān)注

    88

    文章

    2161

    瀏覽量

    60819
  • 樹(shù)莓派
    +關(guān)注

    關(guān)注

    122

    文章

    2069

    瀏覽量

    109561
  • flask
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    3853
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在樹(shù)莓派上安裝Ubuntu MATE ?

    ,而非GNOME。在本文中,我將介紹如何輕松地在樹(shù)莓派上安裝它。UbuntuMATE官方支持樹(shù)莓派,因此每發(fā)布一個(gè)新版本,都會(huì)為樹(shù)莓派發(fā)布一個(gè)鏡像。該鏡像可刷入S
    的頭像 發(fā)表于 08-12 18:56 ?2924次閱讀
    如何在<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>安裝Ubuntu MATE ?

    如何在樹(shù)莓派上設(shè)置使用VNC?遠(yuǎn)程訪(fǎng)問(wèn)完整指南!

    為什么要在樹(shù)莓派上使用VNC?使用VNC與樹(shù)莓派的主要優(yōu)勢(shì)在于其提供的靈活性。我們可以在“無(wú)頭模式”(無(wú)物理顯示器)下運(yùn)行樹(shù)莓派,同時(shí)仍能完全訪(fǎng)問(wèn)其圖形用戶(hù)界面(GUI)。這減少了對(duì)額
    的頭像 發(fā)表于 07-26 20:42 ?5017次閱讀
    如何在<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>設(shè)置<b class='flag-5'>并</b>使用VNC?遠(yuǎn)程訪(fǎng)問(wèn)完整指南!

    如何在樹(shù)莓派上安裝運(yùn)行 Arduino 集成開(kāi)發(fā)環(huán)境!

    使用樹(shù)莓派單板計(jì)算機(jī),你可以運(yùn)行各種應(yīng)用程序,包括廣受歡迎的Arduino集成開(kāi)發(fā)環(huán)境(IDE)。這意味著你可以用它輕松地為通過(guò)USB連接到樹(shù)莓派計(jì)算機(jī)的微控制器編程,以
    的頭像 發(fā)表于 07-01 17:41 ?4017次閱讀
    如何在<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>安裝<b class='flag-5'>并</b>運(yùn)行 Arduino 集成開(kāi)發(fā)環(huán)境!

    Web Components實(shí)踐:如何搭建一個(gè)框架無(wú)關(guān)的AI組件庫(kù)

    不同的Web應(yīng)用程序中重復(fù)使用,并且具有自己的樣式、行為和功能。 Web Components并非一項(xiàng)新技術(shù),而是一組持續(xù)演進(jìn)的、由W3C標(biāo)準(zhǔn)化的組件化API。最早可以追溯到2011年左右,大約在2016
    的頭像 發(fā)表于 04-08 11:27 ?453次閱讀
    <b class='flag-5'>Web</b> Components實(shí)踐:如何搭建一個(gè)框架無(wú)關(guān)的AI組件庫(kù)

    人臉識(shí)別指南:如何在樹(shù)莓派上安裝和設(shè)置 Dlib

    學(xué)習(xí)如何在樹(shù)莓派上安裝Dlib配置人臉識(shí)別功能,為您的AI項(xiàng)目奠定基礎(chǔ)。在樹(shù)莓派上安裝Dlib的詳細(xì)步驟要為
    的頭像 發(fā)表于 03-24 17:31 ?1232次閱讀
    人臉識(shí)別指南:如何在<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>安裝和設(shè)置 Dlib

    「極速探索HarmonyOS NEXT 」閱讀體驗(yàn)】+Web組件

    \'@ohos.web.webview\'進(jìn)行導(dǎo)入,效果一樣 @Entry@Component struct WebComponent{ //創(chuàng)建一個(gè)新的控制器 webviewController
    發(fā)表于 03-10 10:39

    AWTK-WEB 快速入門(mén)(6) - JS WebSocket 應(yīng)用程序

    WebSocket可以實(shí)現(xiàn)雙向通信,適合實(shí)時(shí)通信場(chǎng)景。本文介紹一下使用Javacript語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用程序,并用WebSocket與服務(wù)器通訊。用AWTKDesigner新建一個(gè)應(yīng)用程
    的頭像 發(fā)表于 02-26 11:42 ?619次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(mén)(6) - JS WebSocket <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(mén)(5) - C 語(yǔ)言 WebSocket 應(yīng)用程序

    導(dǎo)讀WebSocket可以實(shí)現(xiàn)雙向通信,適合實(shí)時(shí)通信場(chǎng)景。本文介紹一下使用C語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用程序,并用WebSocket與服務(wù)器通訊。用AWTKDesigner新建一個(gè)應(yīng)用程序先安裝
    的頭像 發(fā)表于 02-19 11:49 ?878次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(mén)(5) - C 語(yǔ)言 WebSocket <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(mén)(4) - JS Http 應(yīng)用程序

    導(dǎo)讀XMLHttpRequest改變了Web應(yīng)用程序與服務(wù)器交換數(shù)據(jù)的方式,fetch是其繼任者。本文介紹一下如何使用JS語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用程序,并用fetch訪(fǎng)問(wèn)遠(yuǎn)程數(shù)據(jù)。
    的頭像 發(fā)表于 01-22 11:31 ?703次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(mén)(4) - JS Http <b class='flag-5'>應(yīng)用程序</b>

    電機(jī)控制器與伺服系統(tǒng)的關(guān)系

    在自動(dòng)化控制系統(tǒng)中,電機(jī)控制器和伺服系統(tǒng)是實(shí)現(xiàn)精確運(yùn)動(dòng)控制的關(guān)鍵組件。電機(jī)
    的頭像 發(fā)表于 01-22 09:35 ?1448次閱讀

    AWTK-WEB 快速入門(mén)(3) - C 語(yǔ)言 Http 應(yīng)用程序

    導(dǎo)讀XMLHttpRequest改變了Web應(yīng)用與服務(wù)器交換數(shù)據(jù)的方式,fetch是XMLHttpRequest繼任者,具有更簡(jiǎn)潔的語(yǔ)法。本文
    的頭像 發(fā)表于 01-15 11:38 ?632次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(mén)(3) - C 語(yǔ)言 Http <b class='flag-5'>應(yīng)用程序</b>

    SSM框架在Java開(kāi)發(fā)中的應(yīng)用 如何使用SSM進(jìn)行web開(kāi)發(fā)

    (full-stack)的應(yīng)用程序框架,它提供了全面的基礎(chǔ)設(shè)施建設(shè)支持,能夠幫助開(kāi)發(fā)者構(gòu)建出企業(yè)級(jí)的應(yīng)用程序。Spring的核心是控制反轉(zhuǎn)(I
    的頭像 發(fā)表于 12-16 17:28 ?2082次閱讀

    HarmonyOS Web開(kāi)發(fā)性能優(yōu)化指導(dǎo)

    20ms收益。 | 低 | - | ArrayBuffer格式的數(shù)據(jù)傳輸。 | (二)預(yù)啟動(dòng)Web渲染進(jìn)程 原理介紹 此方案適用于Web頁(yè)面啟動(dòng)場(chǎng)景。開(kāi)發(fā)者需額外創(chuàng)建一個(gè)空白的ArkWeb組件,它雖不
    發(fā)表于 12-06 08:41

    AWTK-WEB 快速入門(mén)(2) - JS 應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開(kāi)發(fā)各種平臺(tái)的應(yīng)用程序。有時(shí)我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用JS語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用程序。用AWTKDesigner新
    的頭像 發(fā)表于 12-05 01:04 ?790次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(mén)(2) - JS <b class='flag-5'>應(yīng)用程序</b>

    入門(mén)web安全筆記分享

    在計(jì)算機(jī)技術(shù)如日中天的今天,Web安全問(wèn)題也接踵而來(lái)。但Web安全卻“入門(mén)簡(jiǎn)單精通難”,涉及技術(shù)非常多且廣,學(xué)習(xí)阻力很大。 為此今天分享一份94頁(yè)的《Web Hacking 101》筆記,包含
    的頭像 發(fā)表于 12-03 17:04 ?885次閱讀
    入門(mén)<b class='flag-5'>web</b>安全筆記分享