当前位置:首页 > 物联网 > IoT设计分享
[导读]在这个项目中,我们将建立一个基于物联网的天气监测系统,可以在我们的智能手机上无线显示温度和湿度。只有我们需要稳定的互联网连接我们的模块到互联网。

在这个项目中,我们将建立一个基于物联网的天气监测系统,可以在我们的智能手机上无线显示温度和湿度。只有我们需要稳定的互联网连接我们的模块到互联网。

我们使用树莓派Pico W作为内置WiFi功能的微控制器。树莓派Pico W是一款经济实惠的开发板,由RP2040微控制器供电。它具有内置2.4 GHz WIFI,支持无线连接。采用英飞凌CYW43439 WIFI+ BLE芯片,集成单频段2.4 GHz无线接口(802.11n)。这允许用户创建用于无线控制和远程监控的AIoT解决方案。微控制器支持Micropython和C/ c++编程。

如果您想了解更多关于Raspberry Pi Pico W的信息,您可以使用此链接参考制造商统计数据。

我们将创建一个网页,其中所有的传感器数据将被显示,并可以监控。为了测量温度和湿度,我们使用所谓的著名传感器“DHT11”。

对于所有这些传感器和web编程,我们使用Arduino IDE来编程我们的微控制器。对于那些不知道如何在Arduino IDE中编程Raspberry Pi Pico W的人来说,这可能会让他们感到惊讶。但可以在Arduino IDE中使用C/ c++进行编程。

此前,我们使用其他微控制器和云服务构建了许多基于物联网的气象站,

•使用NodeMCU和ThingSpeak的太阳能Wi-Fi气象站

•基于物联网的树莓派气象站,使用DHT11和BMP180传感器

•基于物联网的ESP32 Wi-Fi气象站,使用DHT11和BMP180传感器

物联网无线气象站使用Arduino, ESP8266和ThingSpeak

气象站所需部件

1.树莓派Pico W

2.DHT11传感器

3.跳线

4.电路试验板

Raspberry Pi Pico W Pinout

模块板侧共有40个引脚端子,其中GPIO引脚共26个,包括3个ADC引脚。其余的包括电源、接地和参考引脚。

气象站线路图

电路连接非常容易理解和实现。下图显示了一个全面的电路图。

让我们看看这些连接是如何工作的:

DHT11有三个端子,分别是VCC、GND和Signal。将Vcc连接到电路板的3.3v输出电源,该电源位于引脚36上。同样,将GND连接到引脚23上的板的接地。船上有各种各样的地面终端,你可以选择其中任何一个。

信号引脚应连接到Pico板的任何数字GPIO引脚,因为我们将其连接到GPIO 16。

用Arduino IDE编程树莓派Pico W

让我们看看如何使用Arduino IDE对树莓派Pico W板进行编程。为此,我们需要安装支持Raspberry Pi Pico w的Raspberry Pi RP2040板包。如果已经安装,请离开安装过程。

1.打开Arduino IDE,进入File > Preferences。现在将给定的链接粘贴到Additional Boards Manager url中,并按Ok保存。

2.打开Arduino IDE,导航到Boards Manager,搜索“Pico”。您将找到带有电路板名称的软件包,安装它。

3.现在,选择板为Raspberry Pi Pico W,其余的保持原样。

4.最后,复制并编译下面提供的示例代码。

5.要上传代码,您必须将Pico W板连接到显示在任何COM端口的计算机。为此,同时按住Pico W上的BOOTSEL按钮,立即使用micro-USB电缆将Board连接到计算机。释放BOOTSEL按钮,如果RPI-RP2驱动器通知出现在您的计算机上。

因此,下图显示了文件管理器中的RP1-RP2驱动器,这意味着驱动器引导模式。因此,设备已准备好接受代码/固件。

6.将编译后的代码上传到Pico W板,选择正确的端口。

7.上传代码成功后,打开串口监视器,将波特率设置为115200。

Arduino编程代码说明

项目代码很容易理解,因为我们正在读取传感器数据并将其发布到web服务器,所以我们的代码必须包括连接WiFi,读取传感器数据和创建网页。

首先,我们必须包含所有必要的基本库Wifi.h和DHT.h。通过WiFi成功连接到internet是访问网页的必要条件。为此,我们使用库WIFI .h将Pico W板连接到WIFI连接。图书馆拥有通过WiFi网络连接和通信的所有必要功能。我们需要通过我们的登录凭据,包括SSID和密码来加入加密的网络。

安装DHT库:

必须包含DHT库来读取传感器的数字输出数据。该库使处理这种类型的传感器很容易,只需要定义某些引脚,并调用一些函数将使您能够访问就绪数据。

通过Sketch进入Arduino的库管理器> include libraries> manage libraries。

搜索“DHT”,你会发现滚动后,图书馆命名为“DHT传感器库”由Adafruit。

安装它,这就是如何容易库安装。

我们还定义了在进一步编程中使用的必要变量和对象。我们已经将DHT11传感器信号引脚定义为连接到Pico板的GPIO引脚16。

创建了存储WiFi连接SSID和密码所需的变量。你必须根据你的WiFi证书更改它才能成功连接到网络。

我们创建了一个名为“server”的wiiserver对象。我们传递HTTP端口号。80作为参数。

在setup()函数中,我们以115200年的波特率初始化硬件串行通信.WiFi.begin()函数以名称和密码作为参数初始化WiFi。

成功连接WiFi网络后,IP地址将显示在串口监视器上。

Dht.begin()初始化传感器以与微控制器通信。类似地,我们使用命令Server .begin()启动类WIFI Server的Server对象。

在Loop函数中,最初,我们通过调用DHT类的readHumidity()和readTemperature()函数来读取温度和湿度,并将其显示给串行监视器以进行测试。

Web服务器建设

每当web服务器接收到来自web客户端的请求时,它将打印“新客户端已连接”并生成一个web页面。它只是将HTML代码连接到一个长字符串中,然后输出响应。该函数使用我们之前访问过的类型转换,将温度和湿度变量读取为字符串。

首先,我们总是需要声明来表明我们正在发送HTML代码。

元素使网页在浏览器中响应。

我们添加一些CSS来样式化网页的整体外观。我们选择的字体为Helvetica,没有中间对齐的边距。此外,我们还为body、h1和p标记设置样式。

然后我们使用温度和湿度的字符串类型转换值将其显示在网页上。

气象站示范

按照上面讨论的步骤正确地将代码上传到Raspberry Pi Pico W。请记住,要添加所有必要的库以成功执行,而不会出现任何错误。

打开串口监视器,设置正确的波特率,检查WiFi连接,等待,直到显示IP地址。

在需要与Pico Board连接同一WiFi网络的设备上打开浏览器,进入IP地址,进入网页。

您需要刷新页面才能在web页面上获得更新后的数据。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭