特点:
1。连接到wi-fi,并将数据上传到网络(blynk app和thingspeak)
2。监测天气参数,如温度,压力,湿度,海拔和紫外线水平等。
3。额外端口添加更多传感器
4。远程电池状态监控
5。使用功能强大的锂离子电池(3400 mah)和太阳能电池板(1w)
6。独立于外部电源
7.可以安装在远程站点或地理位置具有挑战性的环境中
8。由太阳能供电,它是一种环保设备。
第1步:所需的组件和工具
更新05.08.2019
现在您可以从 pcbway 购买单个套件中的pcb和所有组件。
注意:电池和3d打印的外壳不是包含在试剂盒中
使用的组件:
1。 wemos d1 mini pro(banggood/亚马逊)
2。 tp 4056充电板(banggood/亚马逊)
3。 bme 280传感器(亚马逊/bangood)
4。 bmp280(banggood/亚马逊)
5。 ds18b20传感器(banggood/亚马逊)
6。 switch(banggood/amazon)
7。螺钉端子(banggood)
8。 pcb支架(banggood/亚马逊)
9。 18650电池(aliexpress)
10.18650电池座(banggood/亚马逊)
11。太阳能电池板(banggood)
12。 straight headers pin(banggood/亚马逊)
13。 22 awg电线(banggood/亚马逊)
14。气象站v2.0 pcb(pcbway)
15。超级胶水(亚马逊)
16。 3d打印灯丝-pla(gearbest)
使用的工具:
1。 3d打印机(creality cr-10)
2。烙铁(亚马逊)
3。胶枪(亚马逊)
4。剥线钳(亚马逊)
5。 wire cutter(亚马逊)
第2步:电源
我的计划是部署天气站在一个偏远的地方(我的农舍)。为了连续运行气象站,必须有一个连续的电源,否则系统将无法工作。为电路提供连续电源的最佳方法是使用电池。但是几天之后电池汁就会耗尽,去那里充电是非常困难的。因此,提出了一种太阳能充电电路,用于从太阳获取自由能量,为电池充电并为wemos板供电。我使用的是18650锂离子电池。
电池通过tp4056充电模块从太阳能电池板充电。 tp4056模块配有电池保护芯片或不带保护芯片。我会建议购买一个包含电池保护芯片的模块。
关于tp4056电池充电器
tp4056模块非常适合为单节3.7v 1 ah或更高的lipo电池充电。基于tp4056充电器ic和dw01电池保护ic,该模块将提供1000 ma充电电流,然后在充电完成时切断。此外,当电池电压降至2.4v以下时,保护ic将切断负载以保护电池免受欠压。它还可以防止过压和反极性连接。
步骤3:通过bmp/e280监测温度和湿度
在早些时候,使用单独的模拟仪器测量环境温度,湿度和气压等天气参数:温度计,湿度计和气压计。但今天市场充斥着廉价高效的数字传感器,可用于测量各种环境参数。最好的例子是dht11,dht 22,bmp180,bmp/e280等传感器。
在这个项目中,我们将使用bmp280/bme280传感器。
bmp 280 :
bmp280是一款先进的传感器,能够以合理的精度非常精确地测量气压和温度。 bme280是博世的下一代传感器,是bmp085/bmp180/bmp183的升级产品 - 具有0.25米的低海拔噪音和相同的快速转换时间。该传感器的优点是它可以使用i2c或spi与微控制器进行通信。为了简单方便接线,我建议购买i2c版本板。
bme280:
新型bme280传感器,一种温度,气压的环境传感器和湿度。 bme280是博世的下一代传感器,是bmp280的升级产品。博世的这款精密传感器是测量湿度的最佳低成本传感解决方案,精度为±3%,气压为±1 hpa绝对精度,温度为±1.0°c精度。它可以在i2c和spi中使用。
注意: bme280可以测量湿度,但bmp280不能。 在市场上,bmp280也可以以bme280的名称获得。因此,请确保它是bmp280还是bme280。
步骤4:更多传感器的附加端口
气象站v2.0电路板有5个额外端口可连接更多天气传感器。可以轻松连接以下附加传感器:
1。 gy-1145传感器:用于测量紫外线指数
si1145是一种带有校准紫外线感应元件的传感器,可以计算紫外线指数。它可以通过i2c通信(地址0x60)进行通信。您可以将此传感器与位于电源开关旁边的电路板中的i2c端口连接起来。
您可以阅读本文以了解有关此传感器的更多信息。
您可以从banggood购买此传感器。
2。 hdc1080:用于测量温度和湿度
hdc1080是一款数字湿度传感器,带有集成温度传感器,可在极低功率下提供出色的测量精度。它还可以通过i2c通信进行通信。
您可以阅读本文以了解有关此传感器的更多信息。
您可以从banggood购买此传感器。
3。 ds18b20:用于测量温度
它可以用最少量的硬件和接线来测量温度。这些传感器使用数字协议将精确的温度读数直接发送到开发板,无需模数转换器或其他额外硬件。它使用单线协议与微控制器通信。它可以连接在位于wemos板右侧的板上的端口p2中。
您可以阅读本文以了解有关此传感器的更多信息。
步骤5:使用外部天线(3dbi)
wemos d1 mini pro板具有内置陶瓷天线,可连接外部天线以改善范围。在使用外部天线之前,必须将天线信号从内置陶瓷天线重新布线到外部插座。这可以通过旋转小表面贴装(0603)零欧姆电阻(有时称为链接)来完成。
您可以看到上面的图片,我是如何做到的。
您还可以观看由alex eamesto制作的视频来旋转零欧姆电阻。然后将天线sma连接器卡入wemos pro迷你天线插槽。
步骤6:监控电池电压
气象站由18650 li运行 - 电池,因此监控其状态非常重要。输入到wemos板的最大电压约为3.2~3.3v,但充满电的18650电池电压为4.2v。因此,要测量此电压,我们必须使用分压器网络降低电压。
wemos d1 mini已经有一个内部分压器,将a0引脚连接到esp8266芯片的adc。分压器由220k(r1)和100k(r2)组成。因此,我们必须使用内置的220k电阻添加外部电阻来读取电池电压。通过使用100k电阻,我们可以测量电池的最大电压,但需要一些余量,选择220k电阻。它在pcb板上命名为r1,位于电池座的正上方。
要选择分压器电阻值,您可以使用此在线计算器。
你也可以阅读这篇关于电池电压监测的文章。
第7步:暗示深度睡眠模式
心脏在我们的气象站使用的wemos板是esp8266 soc,它是一个耗电的芯片。我们的目标是使用18650电池运行设备,但对电源的需求通常会使电池操作变得不切实际。
另一个问题是,随着设备连续运行,很明显设备将会体验升温,因此测量的温度将高于环境温度。
从上面可以看出,我们必须降低esp8266 wifi芯片的功耗。为此,我们将使用深度睡眠模式,这是esp芯片最省电的选择。它允许esp8266进入休眠状态并节省电池电量。您可以定期将其唤醒以进行测量并发布。
组件操作模式-----睡眠模式
1。 esp8266 170 ma -------- 10 ua
2。 ch340 12 ma --------- 50 ua
3。内置led 3 ma ----------- 0 ua
4。电压监控器0.006 ma ----- 6 ua
-------------------------------- ---
总计 185 ma ---- 66 ua
如果睡觉 - 唤醒周期为10分钟,唤醒时间为30秒,能耗预算如下:
唤醒时间为185 ma,持续0.5分钟= 92.5 ma分钟
睡眠时间0.066毫安,9.5分钟= 0.627毫安 - 分钟
总共10分钟= 93.13毫安 - 分钟
因此平均电流消耗为9.3毫安。
步骤8:选择太阳能电池板
从上一步可以得出结论,平均电流消耗为9.3 ma
全天运行设备所需的电量= 9.3 ma x 24小时= 223.2 mah
wemos中使用的线性稳压器没有电流增益,因此任何电流在3.3v使用导致相同的cur租用电压为3.7v或电池所处的任何电压。
太阳辐射量根据您所在地球的哪个部分而有所不同。要了解您所在地区的太阳曝晒量,您可以使用global solar atlas。通过考虑最少1小时的全日照,我们将选择太阳能电池板。
因此,我们的目标是在1小时内产生223.2 mah。
要为3.7v锂离子电池充电,电压为5到6v的太阳能电池板就足够了。
所需的太阳能电池板额定值= 223.2 ma,电压约为5至6伏。
太阳能电池板额定值= 223.2ma x 5v = 1.1w
太阳能电池板选择:1w/5v至6v
在这个项目中,我使用了5v,200ma太阳能电池板(99 x 69 mm)
所以a 1w面板应足以在冬季高纬度地区运行项目。
注意: 如果您的位置接收到充足的阳光,则为0.66我在早期版本中使用的w太阳能电池板也可以工作。
步骤9:pcb设计
在切换到pcb布局后,我使用easyeda在线软件绘制了原理图。
原理图中添加的所有组件都应该在那里堆叠在彼此的顶部,准备放置和路由。通过抓住其垫片来拖动组件。然后将其放置在矩形边界线内。
排列所有组件,使板占用最小空间。电路板尺寸越小,pcb制造成本越低。如果该板上有一些安装孔,那么将它安装在一个外壳中将是有用的。
现在你必须路由。路由是整个过程中最有趣的部分。这就像解决一个难题!使用跟踪工具,我们需要连接所有组件。您可以使用顶层和底层来避免两个不同轨道之间的重叠并缩短轨道。
您可以使用silk图层向电路板添加文本。此外,我们可以插入图像文件,因此我在我的网站徽标上添加了一个图像,以便在电路板上打印。最后使用铜区域工具,我们需要创建pcb的接地区域。
现在pcb已准备好进行制造。
您可以从pcbway 立即注册pcbway,即可获得5美元的优惠券。这意味着您的第一笔订单是免费的,只需支付运费。
当您下订单时,我将从pcbway获得10%的捐款用于我的工作。你的小帮助可能会鼓励我将来做更多精彩的工作。感谢您的配合。
第10步:pcb制作
完成pcb设计后,我们只需单击“gerber输出”按钮,保存项目,我们就可以下载用于制造pcb的gerber文件。
步骤11:组装pcb
从pcb制造厂收到电路板后,你必须焊接组件。
对于焊接,你需要一个像样的焊铁,焊锡,钳子。
首先,我切断直的男性和wemos board,tp4056,bmp/e 280以及所有端口的母头引脚。
以下是有关接头的详细信息:
1。 wemos board - 2 x 8pins female
2。 bmp280 - 1 x 6针女性
3。 i2c端口 - 1 x 4pins
4。端口p1 - 1 x 4pins
5。端口p2- 1 x 3pins
6。端口p3- 1 x 4pins
7。端口p4- 1 x 3引脚
最好根据组件的高度焊接组件。首先焊接较小高度的元件。
我已经开始焊接电阻器,开关然后移向更大的元件,如接头引脚,螺钉端子和电池座。
步骤12:添加模块和电池
组装插头引脚后,切换和螺钉端子,是时候将板插入各自的头部。 pcb上标有清晰的标题,因此不会产生混淆。
首先,我放置tp4056板并焊接所有焊盘。
然后我添加了wemos板和bme280传感器。
最后,我将18650电池插入电池座。
步骤13:安装支架
添加所有零件后,将支架安装在4个角落。我使用了m3 brass hex standoffs。
使用支座可为焊接接头和地线提供足够的间隙。
步骤14:3d打印机壳
为了给出漂亮的商业产品外观,我为这个项目设计了一个外壳。我使用autodesk fusion 360来设计机箱。
机箱有两部分:
1。主体
2。盖盖
主体基本上设计适合气象站v2.0 pcb(85mm * 83mm)。
盖子盖子用于盖住主体开口。
我用我的creality cr-10打印机和1.75毫米绿色pla灯丝打印零件。我花了大约11个小时打印主体,大约3个小时打印顶盖。
我的设置是:
打印速度:60毫米/秒
层高:0.2mm(0.3也适用)
填充密度:25%
挤出机温度:200℃
床温:60 deg c
从thingiverse下载stl文件
您还可以查看由3ku_delta设计的机箱。
从下载其设计的stl文件thingiverse
步骤15:将pcb置于机柜内
首先,将mf十六进制支架插入机箱的四个安装插槽中。
然后通过对准角落处的四个螺孔将pcb板固定在支架上。
插入四个支架后,由于小的不对中,我很难修复pcb。所以我想修改安装支架直接固定3m螺钉而不是六角形支架。
步骤16:安装组件
安装pcb后,必须安装bme280模块和wemos板。
然后插入跳线jp2。
将sma连接器插入机箱中提供的孔中。然后用垫圈拧紧螺母。现在通过与sma连接器正确对齐来安装天线。
最后,将18650电池放入电池座内。确保必须以正确的极性插入。极性标记在电池座,pcb和电池上。
步骤17:安装太阳能电池板
将22 awg红线焊接到正极端子,将黑线焊接到太阳能电池板的负极端子。
将两根电线插入主机壳顶部的孔中。
使用超级胶水固定太阳能电池板并按压一段时间以便正确粘接。
使用热胶从内部密封孔。
步骤18:3d打印stevenson屏幕
我早期的外壳设计是一个不错的外观,但它不适合气象站。保持天气传感器的理想外壳是史蒂文森屏幕。一个史蒂文森屏幕是一个天气传感器的外壳,可以抵御雨水和来自外部的直接热辐射,同时仍然允许空气在它们周围自由流通。
太阳能气象站v2的stevenson屏幕由我的朋友glen设计。它有一个简单的壁挂支架和一个2部分盖子,用于隔离太阳能电池板的热传递。我非常感谢他的工作。
您可以从thingiverse下载.stl文件
提示: 使用 lacquer spray喷涂完全组装的pcb 保护电路板和元件,但你需要在bme280温度传感器孔上放一点胶带,不要阻挡它。
步骤19:与blynk app接口
步骤1:下载blynk应用程序
1。对于android
2。对于iphone
步骤2:获取身份验证令牌
要连接blynk app和您的硬件,您需要一个验证令牌。
1。在blynk app中创建一个新帐户。
2。按顶部菜单栏上的qr图标。通过扫描上面显示的qr码创建此项目的克隆。一旦检测到成功,整个项目将立即在您的手机上。
我已经制作了sol weather station应用程序。欢迎您试用!
开始使用它:1。下载blynk app:http://j.mp/blynk_android或http://j.mp/blynk_ios 2.触摸qr - 代码图标并将相机指向下面的代码3.享受我的应用程序!
3。项目创建完成后,我们将通过电子邮件向您发送auth token。
4。检查您的电子邮件收件箱并找到验证令牌。
步骤3:为wemos board准备arduino ide
要将arduino代码上传到wemos板,你必须遵循这个instructables
step-4:arduino sketch
安装上面的库后,粘贴下面给出的arduino代码。
输入路由器的步骤1,ssid和密码的验证码。
然后上传代码。
步骤20:将传感器数据上传到thingspeak
首先,在thingspeak上创建一个帐户。
然后创建一个新的频道您的thingspeak帐户。
查找如何创建新通道填充字段1作为压力,字段2作为温度,字段3湿度,字段4作为高度,字段5作为蝙蝠电压。
在您的thingspeak帐户中选择“频道”,然后选择“我的频道”。
点击您的频道名称。
单击“api密钥”选项卡并复制“写入api密钥”
打开solar_weather_station_thingspeak代码。
将“write api”替换为复制的“write api密钥” “。
你可以看到我的实时信息。
目前,我的电池电压读数不一致,因此该字段已被禁用。
步骤21:软件和库
要将wemos d1与arduino库一起使用,您必须使用支持esp8266板的arduino ide。如果您还没有这样做,可以通过sparkfun的本教程轻松地为您的arduino ide安装esp8266板支持。
以下设置更可取:
pu频率: 80mhz 160mhz
闪存大小: 4m(3m spiffs) - 3m文件系统大小4m(1m spiffs) - 1m文件系统大小
上传速度: 921600 bps
库
在上传代码之前安装以下图书馆:
1。 esp8266
2。 bmp280
3。 blynk
您可以通过sparkfun阅读本教程来安装arduino库。
在我的早期版本中,blynk和thinspeak有两个单独的代码,但是在这个版本中,我们已经编写了一段代码。用户只需为blynk或thingspeak注释掉一行代码。例如,如果您将其用于blynk app,则代码应如下所示:
const string app = “blynk”; // alternative is line below
// const string app = “thingspeak”; // alternative is line above
信用: 我想对keith hungerford给予很多赞誉,他指导我让这个项目更加强大。 bmp280的软件库也是由他编写的。您可以在bmp280省电模式下阅读他的instructable。
注意: 在使用深度睡眠功能之前,必须将wemos d0引脚连接到rst引脚。这可以通过短接跳线jp2来完成。
更新:15.05 0.2019 的
您还可以在他的github页面上看到 3kudelta所做的出色工作。在他的v2.3代码中,他包括着名的zambretti预报员。我非常感谢他为改进项目所做的辛勤工作。
该软件使用着名的zambretti预测模型提供短期预测(4-6小时):
用语言预测4-6小时
语言趋势
温度
露点
热指数
湿度
绝对压力
相对压力
电池电压(v)
步骤22:结论
今天我收到了太阳能电池板并安装了它。我真的很喜欢这个项目的最终成果。
如何减小变压器的损耗?
近来LCD电视面板价格飞涨,LGD的LCD面板生产线将延后推迟关闭
配电箱内主要元器件的选型指南
全球树莓派领先制造商与分销商e络盟宣布推出全新第三代树莓派B型板
苹果已经在走下坡路?十周年iPhone 8能否拯救苹果?
太阳能WiFi气象站的制作
T_CONFIG的编程示例介绍
诺基亚8国行还没上市,诺基亚9又曝光了:屏占比将会超越三星Note8
润和软件HopeStage操作系统推动江苏长江商业银行信创转型
全方位测评奔驰GLK260动感型
安霸与Autobrains合作开发可扩展的高级驾驶辅助系统解决方案
重庆大学机器人创新人才培养中心正式揭牌成立
今年整个汽车行业的产量将减少约100万辆
诺基亚S8曝光黑科技真强:骁龙835+6GB运存
储能电池的成本要素构成以及在电网中发挥的作用
LED发光腰包BSEEN上线众筹 可为iPhone充电
区块链技术可以有效的维护我国经济安全
FPGA在基站上的应用
捷豹路虎:寻求健康发展,将中国打造成全球创新中心
手机数据传真接收