电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>物联网驱动的水银行

物联网驱动的水银行

2022-11-11 | zip | 0.85 MB | 次下载 | 免费

资料介绍

描述

概述:

众所周知,水资源短缺几乎影响了每个大陆,并于 2019 年被世界经济论坛列为未来十年潜在影响最大的全球风险之一。当我读到在非洲和亚洲大陆的一些地方,孩子们不能去上学时,我的眼里充满了泪水,因为他们必须和父母一起排长队为他们的日常家庭课程加水。即使是农民也无法在这些地方种植农作物。世界上有些地方正在享用干净、健康的水,而有些地方则不得不靠雨水形成的泥潭中的水来满足他们的需求。我们献血是因为它可以挽救生命,那么为什么我们不捐出可以拯救我们生命的水呢?物联网已经为我们铺平了道路,但我们未能在现实生活中建立它。

我将如何解决这个问题?

在容易获得饮用水的地方,他们可以选择向其他地区捐赠水。捐赠的水将被引导到社会的公共雨水收集渠道,一辆社会社区货车将把这些水运送到附近需要的地方。一个人可以捐赠的最小水量是一升。如果收集到足够量的水,则会向偏远地区发送通知。移动应用程序将处理有关水纯度、饱和点、储水量、捐赠金额和用水请求的所有数据。

所需硬件

 
poYBAGNsYV-AaoXYAC1KepCTxYE524.png
 

使用本教程设置您的氩气并上传您的第一个代码(Blink 代码或 hello world 代码)。

 

如下所示连接您的传感器

 
poYBAGNsYW6AM9NyAAS7G5szx0o958.jpg
请注意,您需要为所有传感器和模块提供外部电源此处显示的电机是指直流水泵。
 

在 Particle Web IDE 中编程:

使用的库是:

#include   
#include   
#include    

我有 DHT11、雨量传感器的功能

void readDht()  
{  
   // Wait a few seconds between measurements.  
	delay(2000);  
	float h = dht.getHumidity();  
   float t = dht.getTempCelcius();                                  // Read temperature as Celsius  
	float f = dht.getTempFarenheit();                                // Read temperature as Farenheit  
	if (isnan(h) || isnan(t) || isnan(f))                            // Check if any reads failed and exit early (to try again).  
	{  
		Serial.println("Failed to read from DHT sensor!");  
		return;  
	}  
	float hi = dht.getHeatIndex();                                   // Compute heat index  
	float dp = dht.getDewPoint();  
	float k = dht.getTempKelvin();  
	humid = h;  
	temp = t;  
	dPoint = dp;  
	hIndex =hi;  
}  
// unfortunately my rain sensor is not working but code would be like this   
void rainSensor()  
{  
 int sensorReading = analogRead(A5);  
 int range = map(sensorReading, sensorMin, sensorMax, 0, 3);  
 lcd->setCursor(0,0);  
 switch (range)  
   {  
     case 0:  
       lcd->print("RAINING");  
       break;  
     case 1:  
       lcd->print("RAIN WARNING");  
       break;  
     case 2:  
       lcd->print("NOT RAINING");  
       break;  
   }  
 delay(1000);   
}  

这些函数用于从 webhook 读取数据,将数据更新到 webhook

void resetWaterAmt()  
{  
   donateAmount = 0;  
   char buf[128];  
	snprintf(buf, sizeof(buf), "{"sendL":%.2f}", donateAmount);  
	Serial.printlnf("publishing %s", buf);  
	Particle.publish("Database", buf, PRIVATE);  
	delay(3000);  
}  
void dataRead(const char *event, const char *data)   
{  
   StaticJsonBuffer<255> jsonBuffer;  
   char *mutableCopy = strdup(data);  
   JsonObject& root = jsonBuffer.parseObject(mutableCopy);  
   free(mutableCopy);  
   donateAmount = atof(root["sendL"]);  
   if(donateAmount>0)  
   digitalWrite(pump,HIGH);  
}  
void publishData()   
{  
	char buf[256];  
	snprintf(buf, sizeof(buf), "{"temp":%.2f,"humid":%.2f,"dp":%.2f,"hi":%.2f}",  
	temp, humid, dPoint, hIndex);  
	Serial.printlnf("publishing %s", buf);  
	Particle.publish("Database", buf, PRIVATE);  
	delay(3000);  
}  

完整的代码附在下面。

Firebase 的粒子网络钩子:

第 1 步:转到 firebase 并使用您的 google 帐户登录,然后单击创建项目。输入项目名称,然后单击创建。

 
 
 
 
pYYBAGNsYXGADhKoAACQB1CyRK4244.png
 
1 / 2
 

第 2 步:为您的项目创建一个实时数据库。在创建数据库时单击以测试模式启动。

 
 
 
 
poYBAGNsYXSAKSubAAD5D9YPl9s215.png
 
1 / 2
 

第 3 步:记下项目设置->服务帐户->数据库机密->添加机密并复制它的身份验证令牌。

 
poYBAGNsYXiANw5OAADPaildLrs783.png
 

第 4 步:转到粒子控制台并创建一个新的集成,如下所示。查看并记下哪个集成用于 PUT,哪个集成用于 GET。

 
pYYBAGNsYXqAU8u3AABsskSyq3k941.png
将数据上传到 Firebase。
 

 

 
poYBAGNsYX6APsVGAABAEBiFESU555.png
从 firebase 读取数据
 

您现在只剩下在 thunkable 或 MIT 应用程序发明者中进行应用程序开发了。

该项目的应用程序:

 
 
 
 
poYBAGNsYYCAV6gEAADKfBJiiS4327.png
 
1 / 4
 

 

 

 

 

 

 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费