基于nb-iot和arduino的气象站(四)

基于nb-iot和arduino的气象站(四)综合

前几篇分开记录了气象站上的温湿度、紫外线、PM2.5、GPS传感器和NB-IoT模组的使用。

这一篇记录如何把所有硬件集成到一起。

一、硬件集成

设计了一块专用PCB电路板,连接所有硬件,避免了复杂的导线连接,电路板上所有元件紧凑排布,尽可能减小了设备体积;同时,我们设计了防水外壳。

qixiangzhan.jpg

二、代码集成

前面几篇已经记录了单个传感器的示例代码。因此,在合并所有代码过程中,对于每个传感器的代码,基本上全部复制过来就行了。在loop函数中调用各个传感器的函数,然后将所有数据合并到一起,修改为NB模组要求的格式,通过NB模组发送数据,就结束了气象站硬件部分的工作。

点击我下载代码

在代码合并中遇到的一些问题

  1. 因为传感器比较多,arduino pro mini 的串口不够用,因此使用了软串口的方法。在代码中,PM2.5和GPS传感器数据的读取使用软串口。而arduino同时只能开启一个软串口,因此在loop中读取PM2.5和GPS之前,都要调用对应软串口的listen()函数。
  2. 因为GPS传感器大概以每秒一次的频率发送数据,如果以之前文章中记录的代码来读取GPS数据,很有可能会遇到数据读取不成功的情况。因此,修改了gpsRead函数,在调用时,先清空串口中内容,然后等待串口数据,最后再读取,这样就能保证读取成功。
  3. 有些时候遇到了问题却找不到原因,就加了delay语句,就神奇的好了。
  4. 在最开始遇到了arduino频繁重启的问题,是因为动态内存不足。
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
使用Arduino,ESP8266和ThingSpeak的IoT无线气象站。 硬件部件 乐鑫Wemos D1 Mini× 1个 DHT11温湿度传感器(4针) × 1个 Seeed Grove-气压计传感器(BMP280)× 1个 软件应用程序和在线服务 ThingSpeak API Arduino IDE 全球变暖导致了不可预测的气候;世界各地的研究人员正在使用气象站来观察记录并分析天气模式,以研究气候变化并提供天气预报。这些气象站通常由很少的传感器来测量环境参数,以及监测或测井系统来分析这些参数。在本教程中,我们将学习如何构建基于无线物联网气象站,该气象站可以测量关键的环境参数,例如温度,湿度和压力。同样,由于我们的气象站已启用IoT,因此我们可以将这些参数发送到ThingSpeak通道(IoT云),在这里我们可以远程存储,分析和访问数据。较早使用Raspberry Pi的气象站,这与该项目非常相似。 我们将使用Arduino开发板以及DHT11传感器,BMP180传感器和ESP8266 wifi模块。DHT11传感器感应温度和湿度,而BMP180传感器计算压力,ESP8266用于互联网连接。在我们之前的项目中,我们已经学会了使用DHT11传感器通过Arduino监视温度和湿度,在此项目中,我们将添加另一个传感器(BMP180)以使用Arduino制作一个完整的气象站。将这些数据发送到ThingSpeak可以在世界任何地方进行实时监视,我们还可以查看记录的数据,这些数据将存储在他们的网站上,甚至可以随着时间的流逝绘制图表进行分析。 电路原理图 基于ArduinoIoT Weather Station的完整电路如下所示。 DHT11传感器Arduino的5V引脚供电,其数据引脚连接到引脚5,以进行一条线通信。BMP180传感器Arduino的3.3V引脚供电,其数据引脚SCL(串行时钟)和SDA(串行数据)连接至Arduino的A4和A5引脚以进行I2C通信。 ESP8266模块还由Arduino的3.3V引脚供电,其Tx和Rx引脚连接到Arduino的数字引脚2和3进行串行通信。您可以使用下表作为建立连接的参考。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值