使用WLAN接口将温度和相对湿度发送到家庭网络web服务器

news/2025/3/15 20:26:22/文章来源:https://www.cnblogs.com/linkstu/p/18774145

在本文中,我想利用WLAN接口,为家庭网络中的web服务器提供温度和相对湿度。但是,我将使用物有所值的DHT20传感器和带有SH1106驱动IC的1.3英寸OLED,以尽量减少重复。

但首先是树莓派Pico W的引脚图,以及树莓派Pico和Pico W的区别:

虽然外形尺寸和引脚(很大程度上)保持不变,但布局上的差异很明显。这在WLAN芯片和用于DEBUG的三个空闲引脚上最为明显,由于WLAN天线的缘故,它们现在位于芯片的中间。内置LED的连接器已经更换;稍后会详细介绍。2.4 GHz无线局域网接口采用英飞凌CYW43439芯片。蓝牙尚未实现;这需要固件更新,但近期不打算更新。

下载了扩展名为。uf2的最新文件后,Pico被插入计算机的USB端口,并按下BOOTSEL键;然后显示为USB驱动器RPI-RP2;请看下图。只需将下载的文件复制到目录中。复制过程完成后,驱动器消失,并且在tony下将Pico W识别为虚拟COM端口。

对于那些还没有安装或更新的人。

目前截至2022年10月:thonny-4.0.1.exe

在Run/Execute选项卡下进行设置。

像往常一样,我们首先在命令行(也称为shell或REPL)中测试“hello world”。

物理计算中的“hello world”是闪烁的LED,我们的第二次尝试:

在程序中,您可以看到上述内置LED的差异。使用简单的Pico,这是通过引脚25控制的,引脚没有连接到外部。使用Pico W, LED连接到无线芯片,并通过名称“LED”进行寻址。

在一切解决之后,我想首先重建Jörn Weise的实验装置,然后使用另一个传感器,以及另一个显示器。

除了MicroPython模块机和utime模块bme280和ssd1306用于0.96英寸OLED。两者都可以在PyPI上找到,点击“附加”选项卡下的“管理软件包…”并在搜索窗口中输入术语。选择时请注意名称中的“micropython”字样。

示意图:

安装成功,见图:

现在我首先想把0.96英寸的显示屏换成1.3英寸的OLED显示屏。但是这个没有驱动IC SSD1306,而是SH1106;PyPI上没有MicroPython模块。

该模块实际上是为ESP8266编写的,但工作良好。因此,下载ZIP文件,将其解压为tony下的sh1106.py,并将其安装在Pico W的lib目录下。i2c示例程序中Pico W的唯一偏差是实例化期间的一个附加参数,i2c接口的编号:i2c= i2c (0, sda=sda, scl=scl, freq=400000)

当实例化显示时,我必须插入rotate=180:oled = sh1106。SH1106_I2C(128, 64, i2c, None, 0x3c, rotate=180)

有了这个,它马上就工作了。所以选择DHT20,而不是昂贵的BME280。

我已经在2022年7月的一篇博客文章中使用了DHT20。有趣的是i2c接口,这个组合温湿度传感器与DHT11和DHT22不同。PyPI上也没有为此提供MicroPython模块。所以我再次在GitHub上搜索。

再次下载ZIP、解压缩、dht20.py,用thony运行它,并将它保存在Pico W子目录lib子目录下。

下面是代码中的主要新行:

在while循环中:

现在所缺少的就是把Pico W变成一个大气数据的网络服务器。在互联网上进行研究。到目前为止失踪了。但是树莓派基金会有两个例子程序,已经被其他博主复制了:一个简单的web服务器,带有文本显示和通过内部网切换LED,可以在小册子“用pico-w连接到互联网”中找到。

总是需要登录到家庭WLAN的部分:

在队列中

请输入家庭网络的SSID和密码。

作为我项目的基础,我使用示例程序进行文本输出。在这里,我基本上必须增加第二行的字体大小,以便能够在智能手机上阅读文本,并将测量值作为字符串插入。测量值基于HTML行每10秒更新一次。最后我以这个名字创建了这个程序:main.py

在Pico W上,这个程序在Pico W通电时自动启动。因此,对花园棚或储藏室的监控很容易实现。

结论:与没有WLAN的Pico相比,您只需花费不到两欧元的额外费用,就可以获得带有Pico W的多功能微控制器,可以轻松地在家庭WLAN中注册,因此适合许多自己的智能家居项目。我自己很快就会把它用在我最喜欢的机器人汽车项目上。我不认为会有什么困难;我会回来报告的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/899364.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【水】洛谷 P3913 (待续)

今天NaN在刷水题时碰到这么一道题:洛谷P3913 https://www.luogu.com.cn/problem/P3913 代码的思路特别简单:用全部格子数 - 没被車侵占的行数 \(\times\) 列数即可. code void solve() {cin >> n >> k;g = h = n;for (ll i = 1; i <= k; i++){cin >> x …

web77笔记(POST+FFI)

web77 命令执行最后一题,php7.4 FFI,php7.4以上才有 https://www.php.net/manual/zh/ffi.cdef.php https://www.php.cn/php-weizijiaocheng-415807.html $ffi = FFI::cdef("int system(const char *command);");//创建一个system对象 $a=/readflag > 1.txt;//没…

day:22 python函数——介绍及自定义函数运用

一.函数的定义 函数是组织好,可以重复使用,用来实现单一,或者关联功能的代码段 二.pycharm中运用的结构三.函数的优点? a.降低代码的冗余 b.增加代码的复用性,提高开发效率 c.提高程序的拓展性 d.把代码片段放在函数当中 四.定义函数 (1)自定义函数 (一)自定义函数 a.函数格式…

英语单词音标重读符号读法作用

比如explicit,重读的是`后面的第一个元音即i

量子网络操作系统 QNodeOS 资料收集

2025年3月14日,通过科技日报的报道知道了这个量子计算领域的重大突破 —— 全球首个量子网络操作系统 QNodeOS 问世。欧洲的量子互联网联盟(QIA)的研究人员2025年3月12日在《自然》(Nature)杂志上发表了论文 An operating system for executing applications on quantum n…

Typora的基本的一些使用用法

markdown 标题 二级标题 (在最前面两个#号加空格) 三级标题 (在最前面三个#号加空格) 字体 Hello,World!(粗体:两边各两个星号) Hello,World!(斜体:两边各一个星号) Hello,World!(粗体加斜体:两边各三个星号) Hello,World!(删除体:两边各两个波浪号) 引用(大于加…

http--nodejs原生web服务

创建http服务const http = require(node:http) const url = require(node:url)http.createServer((req, res) => {}).listen(98, () => {console.log(server is running on port 98) }) 区分请求方法 例如常见的 POST、GET req表示前端的入参(请求参数)。 res 表示后…

Windows server 中 静默安装SQL SERVER 数据库 命令 参数

这篇文章记录一下自己如何在Windows Server Core上安装和配置SQL Server。 安装之前的检查 安装SQL Server的操作系统要求检查 第一件事是需要仔细检查SQL Server的要求文档,这个文档里详细的列出了目前SQL Server支持的操作系统版本,最重要的一条就是检查当你在使用云上的虚…

(3).工厂方法模式

我们接上一个模式的实例: (1).创建水果接口 IFruit:1 namespace 工厂方法模式2 {3 public interface IFruit4 {5 /// <summary>6 /// 水果的单价7 /// </summary>8 double Amount { get; }9 10 11 /// <s…

nestjs Provider

Nest 实现了 IoC 容器,会从入口模块开始扫描,分析 Module 之间的引用关系,对象之间的依赖关系,自动把 provider 注入到目标对象以上部分只是简写{provide: AppService,useClass: AppService }两种注入方式构造器注入属性注入全局模块一般来说,我们都是在需要导出的模块的m…

FastAPI+CrewAI+MySQL+Celery实现AI Agent复杂工作流

FastAPI+CrewAI+MySQL+Celery实现AI Agent复杂工作流 https://github.com/fanqingsong/CrewAIFlowsFullStack本项目主要实现使用FastAPI后端框架+CrewAI实现AI Agent复杂工作流。代码实现CrewAI的Flows功能,并支持Flow运行中间结果进行持久化存储和查询(MySQL),支持多Flow并行…

石家庄地铁收费app

先建立一个项目,项目结构如图所示先编写app页面activity_main.xml,包括其输入框和按钮<TextViewandroid:id="@+id/tvStartStation"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="起点站&quo…