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

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

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

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

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

454398 ? 來源:工程師吳畏 ? 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編寫并由Armin Ronacher開發(fā)的Web應(yīng)用程序框架。領(lǐng)導(dǎo)一個(gè)名為Pocco的國際Python愛好者群體。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。兩者都是Pocco項(xiàng)目。

先決條件

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

要安裝Flask,我們需要有pip,因此請鍵入以下命令來安裝pip: sudo apt-get install python-pip

然后輸入以下命令來安裝Flask: sudo pip install flask

必需組件

Raspberry Pi

SG90伺服電機(jī)

跳線電纜

電路圖和說明

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

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

黃色或橙色線

GPIO 26

Red Wire

5V

黑色或棕色線

GND

黃色或橙色線GPIO 19

紅線5V

黑色或棕色線GND

代碼演練

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

首先,我們導(dǎo)入了這個(gè)項(xiàng)目所需的燒瓶模塊。 render_template_string 模塊允許我們在項(xiàng)目中使用HTML。 請求模塊允許我們從HTML獲取數(shù)據(jù)。 RPi.GPIO 庫允許我們控制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)試器來跟蹤應(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文件并上傳代碼。接下來,使用sudo命令運(yùn)行此文件以在端口5000 上的localhost啟動(dòng)服務(wù)器。

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

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

    關(guān)注

    2

    文章

    1309

    瀏覽量

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

    關(guān)注

    88

    文章

    2199

    瀏覽量

    61528
  • 樹莓派
    +關(guān)注

    關(guān)注

    122

    文章

    2081

    瀏覽量

    110746
  • flask
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    不限Web用戶數(shù)量、更低成本 | Essentials Web無限版SCADA方案正式發(fā)布

    宏集Panorama輕量級SCADA方案正式上線!Essentials Web無限版方案,打破傳統(tǒng)SCADA按用戶收費(fèi)模式,讓工業(yè)數(shù)據(jù)真正實(shí)現(xiàn)全員共享:不限Web客戶端數(shù)量,支持25,000個(gè)數(shù)據(jù)標(biāo)簽,內(nèi)含開發(fā)環(huán)境,開箱即用,工業(yè)級網(wǎng)絡(luò)安全保障,低門檻起步,后續(xù)可擴(kuò)展。
    的頭像 發(fā)表于 04-01 16:26 ?597次閱讀
    不限<b class='flag-5'>Web</b>用戶數(shù)量、更低成本 | Essentials <b class='flag-5'>Web</b>無限版SCADA方案正式發(fā)布

    VF2 Debian image 69 Web 瀏覽器失敗,怎么修復(fù)?

    只需啟動(dòng)運(yùn)行圖像 69。 $ ip 一個(gè) 顯示互聯(lián)網(wǎng)連接已建立良好。 單擊以運(yùn)行默認(rèn)的Web瀏覽器時(shí),會(huì)彈出一條錯(cuò)誤消息。 “無法執(zhí)行默認(rèn) Web 瀏覽器?!?輸入/輸出錯(cuò)誤。 有什么提示需要修復(fù)嗎?
    發(fā)表于 03-24 06:54

    Python運(yùn)行本地Web服務(wù)實(shí)現(xiàn)遠(yuǎn)程訪問

    本文介紹使用Python搭建本地Web服務(wù)結(jié)合 ZeroNews 實(shí)現(xiàn)公網(wǎng)訪問。
    的頭像 發(fā)表于 02-06 11:39 ?304次閱讀
    Python運(yùn)行本地<b class='flag-5'>Web</b>服務(wù)<b class='flag-5'>并</b>實(shí)現(xiàn)遠(yuǎn)程訪問

    伺服電機(jī)控制方式簡述

    伺服電機(jī)作為自動(dòng)化控制系統(tǒng)的核心執(zhí)行元件,其控制方式直接決定了設(shè)備的動(dòng)態(tài)響應(yīng)、定位精度和運(yùn)行效率。隨著工業(yè)4.0和智能制造的發(fā)展,伺服
    的頭像 發(fā)表于 12-01 07:37 ?1049次閱讀
    <b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>的<b class='flag-5'>控制</b>方式簡述

    伺服電機(jī)和步進(jìn)電機(jī)的核心區(qū)別

    大家在運(yùn)動(dòng)控制的時(shí)候是用伺服電機(jī)的還是用步進(jìn)電機(jī)做定位控制了?為什么有時(shí)候用伺服
    的頭像 發(fā)表于 10-15 14:32 ?1960次閱讀
    <b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>和步進(jìn)<b class='flag-5'>電機(jī)</b>的核心區(qū)別

    如何快速在云服務(wù)器上部署Web環(huán)境?

    如何快速在云服務(wù)器上部署Web環(huán)境
    的頭像 發(fā)表于 10-14 14:16 ?829次閱讀

    如何在樹莓派上安裝Ubuntu MATE ?

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

    技能+1!如何在樹莓派上使用C++控制GPIO?

    和PiGPIO等庫,C++可用于編程控制樹莓派的GPIO引腳。它提供了更好的性能和控制能力,非常適合對速度和精度要求較高的硬件項(xiàng)目。在樹莓派社區(qū)中,關(guān)于“Python
    的頭像 發(fā)表于 08-06 15:33 ?4451次閱讀
    技能+1!如何在<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>使用C++<b class='flag-5'>控制</b>GPIO?

    初學(xué)者指南:樹莓派上搭建虛擬環(huán)境!

    在這篇簡明扼要的指南中,我們將探討如何在樹莓派上設(shè)置和使用虛擬環(huán)境(或稱為Venv)——包括在終端和Thonny集成開發(fā)環(huán)境中。使用Bookworm操作系統(tǒng)或更高版本時(shí),或在嘗試安裝Python
    的頭像 發(fā)表于 07-27 13:24 ?1154次閱讀
    初學(xué)者指南:<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>搭建虛擬環(huán)境!

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

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

    C++ 與 Python:樹莓派上哪種語言更優(yōu)?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯(lián)網(wǎng)項(xiàng)目中同樣廣受歡迎且功能強(qiáng)大。那么,在樹莓派項(xiàng)目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發(fā)表于 07-24 15:32 ?1094次閱讀
    C++ 與 Python:<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>哪種語言更優(yōu)?

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

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

    labview如何調(diào)用web api

    同事給了一個(gè)web api 的接口地址,方法名等等。但是我不會(huì)用labview去調(diào)用。求高手指點(diǎn)!
    發(fā)表于 06-26 17:24

    WEB組態(tài)物聯(lián)網(wǎng)平臺(tái)是什么?有什么功能?

    、流程控制等操作,無需安裝本地客戶端。 核心特點(diǎn) : Web化部署 :基于B/S架構(gòu),用戶通過瀏覽器即可訪問,降低部署和維護(hù)成本。 組態(tài)化配置 :提供拖拽式界面設(shè)計(jì)工具,用戶可快速搭建監(jiān)控畫面(如工業(yè)流程圖、設(shè)備狀態(tài)看板等)。 物聯(lián)網(wǎng)集成 :
    的頭像 發(fā)表于 06-17 15:25 ?1176次閱讀

    從初學(xué)到進(jìn)階:樹莓派上最適合你的代碼編輯器推薦!

    安裝樹莓派操作系統(tǒng)后,你就可以使用Python、Scratch、Java、C/C++等受Linux支持的多種編程語言進(jìn)行編程了。其中,Python是樹莓派上最受歡迎的編程語言。在樹莓
    的頭像 發(fā)表于 05-15 16:20 ?1368次閱讀
    從初學(xué)到進(jìn)階:<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>最適合你的代碼編輯器推薦!