树莓派-简易的web服务器的实现过程!

在 microPython 上搭建 HTTP WEB 服务器 esp8266 esp32 在microPython上搭建一个简单的HTTP WEB服务器 microPython给会使用Python的人从事单片机开发提供了一个可能, 但是目前好像没有一个成熟的web服务器方案, 于是我开发了一个名为 micro_route 的框架 下面演示一个简单的例子: import network, gc, time, micropython, ujson WLAN = network.WLAN (network.STA_IF) WLAN.active (True) WLAN.connect ("YMJK" 阅读详情

前言

TPYBoard v201开发板上搭载了以太网转TTL串口模块(USR-K2),从而实现了TCP通信的功能。既然可以TCP通信,自然也可以实现HTTP协议通信。于是,就萌发了本教程。本教程很简单,仅是实现了一个简单的静态页面,希望可以给大家带来不一样的启发。

TPYBoard v201开发板实物

Python资源共享群:484031800

 

 

 

 

准备工作

硬件&工具

- TPYBoard v201 开发板 1块

- TPYBoard v201 网络参数配置的工具

- 路由器、电脑、网线等

知识储备

- 了解基本的TCP、HTTP通信协议等相关的知识。不知道的可自行去百度,相关教程很多。

TPYBoard v201网络参数配置

USR-K2资料和工具下载: https://github.com/TPYBoard/Documentation/blob/master/tpyboard_docs/tpyboard/tutorial/doc/USR-K2%E8%B5%84%E6%96%99.rar

下载地址是在GitHub上,如果下载速度很慢的话,你也可以加TPYBoard技术交流/*裙*/;157816561 文件里下载。

首先,将TPYBoard v201开发板通过网线与你使用的电脑接入同一个局域网内。双击运行<USR-M0_V2.2.1.272.exe>,点击搜索设备,成功的情况下会在上面的列表中显示搜索到的设备。

 

 

 

 

点击搜素到的设备,可以读取到该设备的相关参数。同时也可以进行修改并保存。接下来,我们要进行IP地址、端口等设置。IP地址我这里设置了静态IP<192.168.0.99>,防止每次重新启动时会改变IP。

 

 

 

 

接下来端口设置,模块工作方式选择TCP Server。大家可以注意到基础设置中有一个HTTP服务端口的设置,是因为USR-K2中本身就有一个内嵌的网页用于参数的设置,默认是启用了80端口,那我们下面开启的TCP Server的服务端口就使用81端口吧。

 

 

 

 

设置完毕后,点击软件最下方的保存设置。左侧的操作日志显示框会显示保存的进度和状态。

 

 

 

 

这时再重新搜索设备,验证下模块的IP地址是否和我们设置的一致。

 

 

 

 

程序实现

TPYBoard v201通过板子上的串口6与USR-K2模块之间通信。我们不用去管TCP链接等问题,只需要将想要发送的数据通过串口6发送给K2模块即可。其实我们的程序主要就是读取和写入串口的工作,

当我们从串口读取到HTTP请求报文时,组成一个简单的响应报文写入到串口发送回去就可以了。

main.py 源码:

 1 import pyb
 2 from pyb import UART
 3 
 4 #串口6初始化
 5 uart = UART(6,115200,timeout = 100)
 6 #响应报文
 7 header = """
 8 HTTP/1.1 200 OK
 9 Content-Type:text/html
10 Content-Length:{0}
11 
12 {1}
13 """
14 #HTML页面
15 html = """<!DOCTYPE html>
16 <html>
17     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
18     <head> <title>TPYBoard</title> </head>
19     <body>
20       <h1>TPYBoard v201</h1><br />
21       <h2>Simple HTTP server</h2>
22     </body>
23 </html>
24 """
25 
26 while True:
27     if uart.any() > 0:
28         request = uart.read().decode()
29         print('request:',request)
30         #当接收到GET请求头时,进行响应
31         if request.find('GET') > -1:
32             data = header.format(len(html),html)
33             uart.write(data)

保存代码。打开浏览器,输入URL进行访问。URL=ip:81,例如我的URL就是192.168.0.99:81。

 

 

 

 

PuTTY中打印了接收到的请求头的数据,如下:

request: GET / HTTP/1.1
Host: 192.168.0.99:81
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.7 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

我用的是谷歌浏览器,不同浏览器可能会有些不同,但是大同小异,只要符合HTTP请求报文格式即可,有兴趣的朋友可以多去了解些。细心的朋友会注意到,每次访问时浏览器会发送两次请求,其中有一个 GET /favicon.ico HTTP/1.1,这是因为浏览器想找favicon.ico文件作为访问网页的图标,这个可以忽略掉,不影响功能。也可以在程序中进行过滤。

【树莓派】作为服务器,实现外网访问 我的个人博客目前由树莓派提供服务 本文首发于我的个人博客:xiebin.tech 内容重点参考自 科技爱好者博客 前期准备 如果你只有一块新买的树莓派,可以看树莓派4B 安装系统 实现WIFI联网 设置静态IP先安装系统 下面这些要求在按照上述文章操作后,即可达到.你可以自己对照一下看看是都达到要求. 已经安装好Linux系统的树莓派开发板(本文中采用树莓派4B)一块,且已经通过Wifi连接至局域网. 树莓派设置静态IP地址.这一步是为了后期通过XShell连接和VNC连接,IP地址不固定会导致利用无. 阅读详情

相关推荐

树莓派搭建nginx服务器实现PHP web控制树莓派GPIO

准备工作 1:搭建web服务器 nginx + php + sqlite 参考链接: 注意事项: 配置nginx与php链接的时候 location ~ \.php$ { # include snippets/fastcgi-php.conf; # # # With php5-cgi alone:

lanlxb的博客 3283

micropython TPYBoard v201 简易的web服务器的实现过程

转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 前言 TPYBoard v201开发板上搭载了以太网转TTL串口模块(USR-K2),从而实现了TCP通信的功能。既然可以TCP通信,自然也可以实现HTTP协议通信。于是,就萌发了本教程。本教程很简单,仅是实现了一个简单的静态页面,希望可以给大家带...

weixin_30655219的博客 360

[我的树莓派服务器]树莓派自动通过东南大学Web认证并报告IP地址!

1背景 这学期从开学开始就在忙托福,考完了之后仍旧每日碌碌而不知所为,跋山涉水带回来的树莓派也吃灰了好久。 前段时间做项目突然要用到SQL,听说在Win下的卸载非常麻烦,于是脑洞大开。一开始只有在树莓派上装MySQL的想法,在经历了数日的YY,最终决定顶着数门考试的压力重新把树莓派挂到外网上作服务器。 其实之前也有过成功的尝试,但上次是经过宽带路由器挂上的,只需要简单进行端口转发即可。这次由...

SixMoe的博客 1681

MicroPython TPYBoard v201 简易家庭气象站的实现过程

前言 上一篇教程中我们实现了一个简单网页的显示。本篇呢,增加上温湿、时间等信息的展示,实现一个简单的家庭气象站。 TPYBoard v201实物图: 准备工作 硬件&工具 TPYBoard v201 开发板 1块 TPYBoard v201 网络参数配置的工具 路由器、电脑、网线等 DHT11温湿度模块 1个 DS3231时钟模块 1个 知识储备 了解基本的TCP、HTTP通信协议...

192

USR-K2-V1.0.4

USR-K2-V1.0.4超级网口,可将串口转为网口,使用方便。

tinyweb:用于micropython的简单轻便的HTTP异步服务器

TinyWeb 适用于运行小型设备(例如ESP8266 / ESP32 )的简单,轻便(因此很小)的HTTP服务器。 拥有简单的HTTP服务器使开发人员能够为其物联网设备创建美观而现代的UI。 就其本身而言-tinyweb是运行在uasyncio之上的简单TCP服务器-用于micropython的库,因此tinyweb是单线程服务器。 产品特点 与用于MicroPython的库一起使用时完全异步。 / 类的API。 微小的内存使用情况。 因此,您可以在具有64K / 96K板载RAM的ESP8266 / ESP32等设备上运行它。 顺便说一句,还有很大的优化空间-因此,欢迎您的贡献。

树莓派搭建web服务器

                                                                               树莓派搭建Web服务器  安装nginx+sqlite+php5打造轻量级W服务器  简单介绍一下 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。...

mahaijun1996的博客 1万+

micropyserver:MicroPyServer是用于MicroPython项目的简单HTTP服务器

MicroPyServer 是用于MicroPython项目的简单HTTP服务器。 重要的! 版本1.1.x与版本1.0.1及更早版本不兼容。 安装 下载代码并将其解压缩到您的项目文件夹中。 使用Thonny IDE或其他IDE将代码上传到ESP8266 / ESP32开发板中。 快速开始 你好世界的例子 from micropyserver import MicroPyServer def hello_world(request): ''' request handler ''' server.send("HELLO WORLD!") server = MicroPyServer() ''' add route ''' server.add_route("/", hello_world) ''' start server ''' server.start() 添加一些

在树莓派上搭建web服务器——基于Apache

1,Apache简介: Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件。 【详细介绍见:百度百科—apache,维基百科—Apache HTTP Server】 2,安装Apache到树莓派: apt-get install apache2 提示Do you want to c

九天揽月,五洋捉鳖 1万+

USR-M0_V2.2.5.8.exe

USR-M0_V2.2.5.8------------------------------------------------------------------------------------------

HTTPServer:带有 Micro Phython 的 HTTP 服务器

HTTP服务器 带有 CC3000WiFi (Adafruit) 的 HTTP 服务器微型 Phython (v1.3.8-43-gc114496) 接线 C3K pin | board pin --------+---------- GND | GND Vin | Vin IRG | Y3 V3EN | Y4 CS | Y5 CLK | Y6 (SPI2) MISO | Y7 (SPI2) MOSI | Y8 (SPI2) 通过 USB 供电 使用 在 inic3k.py 中添加密码 每个 PnTTY (Win7) import inic3k inic3k.ini() import httpserver httpserver.ini('',80)

用树莓派做服务器运行博客网页

用三四百的树莓派开发板做服务器运行博客网页,炫酷极了

嵌入式学习记录站点 9827

M0系列设置软件-USR-M0_V2.2.4.288.exe

【设置软件】M0系列设置软件V2.2.4.288----RS485,便捷实现mudbus,节省开发时间!!!适合所有人,所有有关mudbus协议的

在树莓派4B上安装操作系统,本地内网连接树莓派,以及树莓派内网暴露,搭建Web服务器

1. 树莓派安装操作系统 官网下载网址:https://www.raspberrypi.org/downloads/ 1.1 下载树莓派系统烧入软件 官网为不同的电脑操作系统提供了烧录软件,大家可以根据不同的操作系统下载对应软件。而且Raspberry Pi Imager文件不大,下载很快。树莓派官方提供的 Raspberry Pi imager 系统写入程序: Imager烧入程序:链接:https://pan.baidu.com/s/1FsHywur3oyea1gXMMQm4uA 提取码:4r7z

唤醒手腕 7217

【超详细】C#的单例模式

本文详细介绍了C#中的单例设计模式,包括两种实现方式:普通类泛型单例(Singleton<T>)和基于MonoBehaviour的组件单例(MonoSingleton<T>)。单例模式通过私有构造、静态私有实例和公共访问入口确保全局唯一实例,具有节省资源、保证数据一致性等优势。文章分别阐述了两者的核心原理、代码实现、使用场景及注意事项,并提供了日志管理器和音效管理器的具体应用示例。特别强调了多线程安全、初始化时机和避免过度使用等重要原则,为Unity开发中合理运用单例模式提供了全面指导。

grapefruit_lyy的博客 1535

PCIe控制器深度解析-RK3588 PCIe子系统核心模块探秘

本文深度解析了RK3588芯片中PCIe子系统的核心架构与功能模块。文章将PCIe控制器比作智能交通枢纽,详细阐述了RADM、XADM、CDM、eDMA等核心模块的工作原理,包括数据流管理、地址转换、DMA加速及电源管理。旨在帮助开发者和硬件工程师深入理解RK3588 PCIe控制器的内部机制,为驱动开发、性能优化和故障排查提供清晰的思路与实用指导。

weixin_29246195的博客 189

树莓派+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ɞ༻꧂的博客 4907

Difftest踩坑笔记(一)

Difftest是差分测试框架,有什么用呢?高性能CPU的设计需要做复杂的测试,传统的测试方法运行较慢,而且出了问题很难定位,Difftest就是为了解决这两个问题。

http://www.icfgblog.com/ 4198

树莓派微型 web 服务器——正式设计报告

这篇博客介绍了一个基于树莓派的轻量级服务器项目的正式设计报告。树莓派是一款低成本、小型化的单板计算机,具有较低的功耗和良好的可扩展性。该项目利用树莓派搭建了一个功能简洁但性能稳定的服务器环境,适用于小型应用或个人使用。该轻量级服务器具有较低的能耗和占用空间,并提供基本的网站托管、文件存储与共享等功能。

知识虔诚的信徒,探索所有未知是信徒毕生的信仰 1万+

Python爬虫实战:构建高可用静态网页爬虫 - 以 Quotes 网站数据采集为例!

我长期专注 Python 爬虫工程化实战,主理专栏 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 462

AI大模型:(三)3.2 Spring AI实现Agent

SpringAI实现了流式对话功能,通过与Ollama模型集成完成前后端交互,当前版本存在thinking信息丢失问题。系统支持两种工具注册方式(方法注解和函数式),并内置时间工具类展示外部工具调用能力。记忆功能提供多种存储方案(内存、JDBC、NoSQL等),实现跨对话轮次的上下文保持。MCP协议集成方面,服务端实现计算和业务查询工具,客户端支持12306及自定义业务系统接入。完整演示了流式对话、工具调用与记忆功能的综合应用。该实践构建了具备复杂交互能力的AI系统,同时指出生产环境需关注的安全与优化问题。

haylee的专栏 1012

2022年,树莓派搭建web服务器,加各种bug的解决

2022年,树莓派搭建web服务器,加各种bug的解决 配置: 1、树莓派3B+ 2、树莓派系统:2022-1-28 桌面版 文章目录2022年,树莓派搭建web服务器,加各种bug的解决一、首先更新安装工具:二、安装nginx 一、首先更新安装工具: sudo apt-get update sudo apt-get upgrade 二、安装nginx 在terminal中输入以下代码 sudo apt-get install nginx 如果之前安装了Apache需要卸载 sudo apt-get

wei190328的博客 5183

多摄像头场景下 ISP 的同步与调度机制实战解析

在智能手机多摄系统中,主摄、广角、长焦、微距等摄像头的协同工作能力直接决定了影像系统的体验上限。而支撑这一能力的核心之一,正是 ISP 的同步与调度机制。ISP 需要处理多个 Sensor 的输入流、统一时序、资源仲裁、并发调度,并支持在不同模式间快速切换(如预览 → 拍照 → 视频)。本文将基于 Qualcomm、MTK、HiSilicon 平台的实际架构,系统性剖析 ISP 在多摄场景下的时序控制、Pipeline 配置、Buffer 管理与故障恢复机制,并分享实战中的典型问题与调试方案。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2351

树莓派本地快速搭建web服务器,并发布公网访问

在cpolar安装完成后,我们在树莓派浏览器中输入localhost:9200,打开cpolar的web-UI界面,输入自己的账户名和密码后,进入cpolar的程序主界面,进入“隧道管理”项下的“创建隧道”页面,为本地网页建立起对应的数据隧道。操作到这一步,我们已经通过几步简单的操作,将树莓派上的网页通过cpolar建立的数据隧道,成功发布到公共互联网上,让其成为五彩缤纷的网络世界中的一员(如果您想要获得cpolar发布树莓派上简单网页的详细内容,可以阅读《)直接安装cpolar。

2301_78420308的博客 856

RT-DETR改进策略【注意力机制篇】| 2024 PPA 并行补丁感知注意模块,提高小目标关注度

本文记录的是利用改进检测精度,详细说明了优化原因,注意事项等。原论文在红外小目标检测任务中,小目标在多次下采样操作中容易丢失关键信息。通过替代编码器和解码器基本组件中的传统卷积操作,更好地保留小目标的重要信息。HCF-Net: Hierarchical Context Fusion Network for Infrared Small Object Detection采用多分支特征提取策略,通过不同分支提取不同尺度和层次的特征。利用局部、全局和串行卷积分支,对输入特征张量进行处理。通过控制 patch si

Limiiiing的博客 1648

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: Python黑科技:20行Python代码打造一个微信群聊助手​ !
下一篇: Python登录豆瓣并爬取影评!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值