树莓派与Flask项目通信【一对一】(二)

使用python+flask实现树莓派的WEB控制 如果你想在网页上点击按钮,并且让树莓派接收到响应,并做响应的处理,实现网页上与树莓派进行数据交互以及一些数据渲染,那么希望这篇文章对你有所帮助: 源码放在git,有需要的同学可以留言 首先先看效果图,总体效果我会放在文章末尾 这是已经写好的HTML页面,我截取了其中一部分,当我们点击蓝色按钮,树莓派打开Arduino板上的风扇,点击红色按钮关闭风扇 然后是树莓派做出的相应,接收到我的点击事件,并... 阅读详情

在本系列的(一)已经教过大家如何使用树莓派建立与Flask项目的通信,这里给大家进一步优化代码,实现服务端往Flask页面传输图像

1.服务端(树莓派)

import cv2
import requests
import base64
from io import BytesIO
import time

def capture_frame_and_send(text):
    cap = cv2.VideoCapture(0)  # 使用摄像头
    ret, frame = cap.read()
    cap.release()
    if ret:
        # 将帧转换为JPEG格式
        _, buffer = cv2.imencode('.jpg', frame)
        img_str = base64.b64encode(buffer)
# 发送请求到 Flask 服务器,上传图片
    response_image = requests.post(
    'http://192.168.137.1:5000/upload-image',
    files={'image': ('image.jpg', BytesIO(img_str), 'image/jpeg')}
)
    print(f'Image Status: {response_image.status_code}, Response: {response_image.text}')

# 发送文本数据到 Flask 服务器
    response_text = requests.post(
    'http://192.168.137.1:5000/send-text',
    data={'text': text}
)
print(f'Text Status: {response_text.status_code}, Response: {response_text.text}')
i = 0
while True:
    i += 1
    text_message = f'Hello {i} from Server!'
    capture_frame_and_send(text_message)
    time.sleep(1)  # 根据需要调整延时

2.Flask端

flask段接收路由:

@app.route('/upload-image', methods=['POST'])
def upload_image():
    image_file = request.files['image']  # 获取文件对象
    image_data = image_file.read()  # 读取文件内容

    # 解码 Base64 编码的图像数据
    image_data = base64.b64decode(image_data)

    # 使用 PIL 将图像数据转换为图像对象并保存
    image = Image.open(BytesIO(image_data))
    image.save("static/received_image.jpg", "JPEG")

    # 将图像数据转换为可在网页上显示的格式
    image_string = base64.b64encode(image_data).decode('utf-8')
    received_images[0] = f'data:image/jpeg;base64,{image_string}'

    return jsonify({'status': 'success'})

3.效果展示

image-20240108140848552

树莓派GPIO控制-flask 树莓派提供了GPIO接口可进行控制;Flask是一个轻量级Web框架,通过在raspberry Pi上部署flask框架,能够实现在网络前端对Pi进行GPIO控制 连接关系如之前博文进行设定和连接 利用Xshell工具保持PC和Pi之间的连接关系,便于指令输入和控制 利用FlashFXP工具实现PC和Pi之间进行FTP文件传输服务,便于程序等文件的上下传 步骤1:编写Flask程序并进行部 阅读详情

相关推荐

Flask + Flask-socketio 实现简单的 WebServer(可与C++程序进行通信)

Flask + Flask-socketio 实现简单的 WebServer 最近手头上的项目要给树莓派上的一个程序实现一个web客户端,公司之前用的goahead(c++)实现的,正好最近在看Python,鉴于python有强大的web开发框架,所以决定用python来实现这一模块,达到增强C++程序的目的。 初步的思路是通过python的框架 Flask来处理web的请求,将处理好的数据转

fengchu3415的博客 1万+

树莓派与Flask项目通信【一对一】(一)

树莓派与flask项目传输数据

Azheyangba的博客 1004

通俗解释树莓派如何与手机App远程通信

深入浅出讲解树莓派与手机App之间远程通信的实现原理,涵盖网络配置、数据传输方式等关键环节,帮助掌握树莓派物联网应用的核心交互机制。

weixin_31749299的博客 978

树莓派+Flask实现远程拍照WEB服务器

组件: Raspberry Pi 3B 1G RMONCAM G180摄像头 环境: Python:3.7.3 Flask:1.0.2 opencv-python:4.5.3.56 一、打开相机配置 打开你的树莓派并转到树莓派配置工具的主菜单上,并确认相机接口是否开启: 如果你需要开启它,请按[Enable]并重新启动你的树莓派。 做一个简单的测试来验证一切是否正常: 以下为 CSI摄像头测试 raspistill -o /Desktop/image.png 如果使用的是USB摄像头,则在树莓

꧁༺ʚvv༒catɞ༻꧂的博客 4902

12、在树莓派上运行Flask及温度监测配置

本文介绍了如何在树莓派上部署并运行Flask应用,实现通过本地网络访问Web服务,并结合DS18B20温度传感器完成温度监测系统的软硬件配置。内容涵盖Flask服务器启动、IP地址设置、自动启动配置、1-wire接口启用、传感器连接与数据读取,以及将实时温度集成到网页显示的完整流程,适合物联网和嵌入式开发初学者参考。

j2k3l4的博客 63

树莓派小车远程控制与视频监控实战项目

Flask是一个轻量级的Python Web框架,旨在使Web开发变得简单、快速和强大。其核心特性包括:内置开发服务器和调试器,Jinja2模板引擎,RESTful请求分发,支持WSGI 1.0和UTF-8编码。树莓派(Raspberry Pi)是一种小型的单板计算机,它拥有一系列的接口,使得它能够连接到各种外围设备和传感器。在构成上,树莓派包含以下几个核心部分:中央处理器(CPU):负责处理计算任务,树莓派的不同型号搭载的CPU不同,性能也有所差异。图形处理器(GPU)

weixin_42612804的博客 949

使用flask获取树莓派摄像头监控视频

当表单按下是,当前页面的视频会消失或者编码错误导致监控视频无法正常播放,或者重复刷新当前页面,导致摄像头重新打开,报错摄像头已被占用的问题。可以使用Ajax来解决这个问题。

最好喝的还是那杯白开 2380

树莓派与iOS交互应用

本文介绍如何配置树莓派并使用Python和Flask构建控制LED的API,通过I2C和GPIO接口实现硬件交互,并开发简易iOS应用远程调用API,完成对PiGlow模块的灯光控制,涵盖软硬件配置及HTTP通信全过程。

postgres8guard的博客 685

树莓派NAS系统搭建教程:使用Flask和SQLite实现HTTP/HTTPS文件管理(代码示例)

随着物联网(IoT)技术的发展,数据存储和共享需求日益增长。本文将介绍如何利用树莓派(Raspberry Pi)搭建一个网络附加存储(NAS)系统,以实现数据的集中管理、共享和访问。该系统具备可视化界面和访问管理功能,用户可以通过Web界面方便地管理文件,实现跨设备访问,适合家庭或小型办公室使用。在本项目中,我们成功地使用树莓派搭建了一个功能齐全的网络附加存储(NAS)系统。该系统不仅可以实现文件的上传和存储,还具备基本的用户访问管理功能,确保了文件的安全性和访问的便捷性。

嵌入式极客小张 2203

树莓派安装flask模块

此资源是安装在树莓派2上flask的方法

Python-树莓派opencvflask家庭监控系统

树莓派 opencv flask家庭监控系统

树莓派边缘计算网关搭建:集成MQTT、SQLite与Flask的完整解决方案

随着物联网(IoT)的快速发展,边缘计算的应用越来越广泛。边缘计算可以将数据处理和分析推向离数据源更近的地方,从而降低延迟,提高效率。本文将介绍如何利用树莓派构建一个多协议边缘计算网关,以支持各种传感器和设备的连接和数据传输。该项目的主要目标是实现一个边缘网关,能够通过不同的通信协议(如MQTT、HTTP、CoAP等)采集和处理来自传感器的数据,并将这些数据发送至云端或本地数据库进行存储和分析。

嵌入式极客小张 3148

树莓派flask机器人智能家居系统

树莓派flask机器人智能家居系统,功能齐全,界面漂亮

树莓派5远程控制插座的项目应用详解

利用树莓派5搭建智能远程插座控制系统,结合Wi-Fi与GPIO操作继电器模块,实现手机端实时开关控制。项目涵盖硬件连接、Python脚本编写及远程访问配置,突出树莓派5的高效性能与扩展能力。

weixin_42465140的博客 920

Ubuntu20.04下运行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM

在我第一篇博文Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM2+Gazebo仿真运行ORB-SLAM2+各种相关库的安装的基础环境下跑通A-LOAM首先已经按照上一篇文章已经安装好了ROS noetic、Eigen3.4.0、OpenCV4.2.0和PCL1.10,A-LOAM在Github的开源地址:https://github.com/HKUST-Aerial-Robotics/A-LOAM。接下来根据代码要求,需要安装Ceres,另外环境的变

zardforever123的博客 3万+

避坑指南:麒麟系统ARM架构下PostGIS离线安装常见问题解析

本文深度解析了在国产麒麟系统ARM64架构下进行PostGIS离线安装的完整路径与核心避坑点。通过对比Docker容器化与源码编译两种部署方式的优劣,详细阐述了离线Docker环境搭建、ARM64镜像获取验证、容器化配置及常见故障排查的全流程,为在特殊环境下稳定部署空间数据库提供了一套可靠的实践指南。

Python的专栏 287

树莓派使用SPI与一片flask通信

首先,需要一块spi的flask芯片,我这里使用M25P80;按照引脚顺序连接到树莓派,在测试事前,确保你的spi是开启的,其他就不多说了。开始干活: python用于spi的包为spidev, 我使用的B+版本的树莓派是不用另行下载这个包的。简要介绍下里面的变量和函数: 具体参考官方文档,我会在下载中上传一份,大家可以在我的下载页面中下载. 属性 bits_per_word : 每个单词字

thystar的专栏 8182

Typora绘制思维导图

我们观察一下,其实思维导图就是树状结构的数据嘛,作为程序员,拿语言写树状结构的数据是很平常的事情。而且写代码可比画图省事多了,查阅资料可以知道,有一种`mermaid`语法,就是做这件事情的,支持 UML,甘特图,流程图等。

Peter Cheung的博客 7932

flask mysql 树莓派_(13)使用python+flask实现树莓派的WEB控制

如果你想在网页上点击按钮,并且让树莓派接收到响应,并做响应的处理,实现网页上与树莓派进行数据交互以及一些数据渲染,那么希望这篇文章对你有所帮助:源码放在git:https://github.com/StarFishing/ardunio/tree/master树莓派与Arduino进行通信可以参考另一篇文章:https://blog.youkuaiyun.com/qq_34803821/article/det...

weixin_39622084的博客 306

零中频接收机实战:DC Offset的5种常见解决方案与调试技巧

本文针对零中频接收机中DC Offset这一核心挑战,深入剖析了其产生机理与对信号解调的严重影响。文章从实战角度出发,系统性地介绍了五种解决方案,包括硬件预防、数字域校正、I/Q不平衡联合校正等,并分享了关键的实验室调试与产线测试技巧,旨在帮助射频工程师有效提升接收机性能。

weixin_29234509的博客 395

2025年从零开始:构建你的首个ComfyUI工作流-ComfyUI入门教程

然而,由于它拥有众多的插件节点,以及较为复杂的操作流程,学习起来相对困难。以前面搭建的文生图工作流为例,首先点击功能区的【保存】,然后你的浏览器会出来一个弹窗,你可以进行文件命名,点击确定后浏览器会下载该文件,也就是带“json”后缀的文件,这样我们的工作流就打包成一份文件了。思考一下前面说的,节点是不是需要下载安装才能使用,而我们复用别人的工作流,他用的节点你不一定下载了,因为目前有600多个节点,你不可能全部下载了吧,所以我们日后使用别人的工作流,你会经常出现这样的问题。

weixin_59486588的博客 1454

三步在树莓派上部署nginx+uWSGI+flask

转自:https://www.jianshu.com/p/14123b6b74c0 最近在学习flask,想把应用部署在树莓派上面,我的树莓派是2代B+,使用的是Kali linux。 部署之前先来看一下内存 部署前内存的使用情况 现在只用了214.3M,还好。 我使用的是python3,所以所有软件都得安装python3版本的。 下面开...

qq_40584960的博客 1152

别再被网站风控了!手把手教你修改Chromium源码,实现TLS指纹随机化

本文详细介绍了如何通过修改Chromium源码实现TLS指纹随机化,有效规避网站风控。文章深入解析了TLS指纹(如JA3指纹)的工作原理,并提供了具体的源码修改步骤和编译方法,帮助开发者突破高级反爬技术。通过动态打乱加密套件顺序,实现每次请求生成不同的指纹,显著提升自动化工具的隐蔽性。

weixin_28712661的博客 426

树莓派与Arduino串口通信实战:从硬件连接到Web控制

串口通信(UART)作为一种经典、可靠的异步串行通信协议,是嵌入式系统和物联网项目中实现设备间数据交换的基础技术。其工作原理基于TX(发送)和RX(接收)两根信号线,通过约定好的波特率、数据位、停止位和校验位进行数据传输,无需复杂的时钟同步。这项技术的核心价值在于其硬件简单、协议灵活、抗干扰能力强,广泛应用于传感器数据采集、设备控制、调试接口等场景。在树莓派与Arduino的协同项目中,串口通信是连接两者、实现**传感器数据**实时上传与**远程控制**指令下发的关键技术链路。通过USB直连或GPIO引脚连

weixin_34214500的博客 370

【11】科曼医疗——科曼医疗 嵌入式--面试,校招,面试问答记录

科曼医疗嵌入式校招面试记录:3位面试官分别考察应用层技术、底层技术和HR面。技术问题涵盖C++特性(多态、虚函数、指针与引用区别)、内存管理(malloc与new对比)、嵌入式基础(51最小系统、IIC/SPI协议)及项目经验(智能黑板擦专利项目)。同时考察了Linux使用经验、STM32开发及嵌入式操作系统认知。最后环节应聘者询问了开发环境及面试流程。面试内容全面覆盖嵌入式开发核心知识点。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1248

调节桌面图标大小的方法(编程)

如果你对其他操作系统或编程语言有类似的需求,可以根据具体的情况进行相应的调整和搜索相关的库和方法。在编程中,我们可以使用各种桌面应用程序来调节桌面图标的大小。库提供的函数,我们获取了桌面图标的窗口句柄,并使用Windows消息发送方式设置图标的大小。你可以根据自己的需求修改代码中的图标大小值,并在运行代码后观察桌面图标的变化。函数并传入所需的图标大小,这里设置为48x48像素。首先,我们需要使用Python的第三现的方法。首先,我们需要使用Python的第三方库。首先,我们需要使用实现的方法。

CyberFlare的博客 437
上一篇: 树莓派与Win11通信【一对一】(三)
下一篇: ROS2学习(1):ROS2的安装
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值