arduino 串口读取字符串_树莓派和Arduino联姻:人人都可以DIY的智能家居监控系统...

本文介绍了如何使用树莓派和Arduino构建一个家庭监控系统。通过结合两者的优点,如Arduino的ADC和PWM功能,实现更复杂的系统。文中详细讲解了项目所需的硬件、代码实现,包括如何从DHT11传感器读取数据和通过串口通信,以及在树莓派上设置Web服务器的过程。
摘要由CSDN通过智能技术生成
8bcec1218ef23b63dceb45fb8b871d72.png

开源硬件领域有两大法宝,树莓派和Arduino,如果你手上正好有这两样东西,那么恭喜你,接下来你可以极为简单的构建一个家庭监控系统。本篇文章将指导您完成每一步骤,确保你不会遇到问题。

介绍

首先,肯定有工程师会有疑问,为什么要将树莓派和Arduino一起使用?树莓派具有适用于简单布尔任务(开或关)和读取一些低端温度传感器的GPIO,这样就够了吗?没有!对于更复杂的系统,我们需要使用微控制器来完成繁重的工作,比如Arduino,它具有带多个通道的ADC(模数转换器),PWM(脉冲宽度调制)通道和非常精确的时序。

例如,如果您想测量房屋的电能消耗,您需要一个电流互感器和一个基本电路,它将输出你可以使用ADC测量的电压。如果你想输出介于1和0之间的东西,比如可以产生像呼吸灯一样效果的LED,就可以使用PWM输出。最后,如果您需要具有非常精确定时的设备(如PID系统,多路复用LED阵列或控制步进电机),则需要一个微控制器。在本文的例子中,我们将使用Arduino Uno作为微控制器。

BOM和硬件原框图

对于此项目,您将需要以下内容:

  • Arduino Uno(如果你愿意,可以使用不同的Arduino产品)

  • 树莓派(同样,树莓派的任何产品都可以)

  • 树莓派电源(针对最新的树莓派3b+,最好配上一个额外的电源)

  • 安装了Raspbian系统的SD卡(Raspbian Lite也可以)

  • 传感器和Arduino的其它模块(取决于你想要实现什么功能)

  • Arduino IDE,Raspbian,C / C ++,HTML和javascript的基础知识(其实只需了解C / C ++,那就足够了。)

硬件原理框图并不复杂,取决于您想要实现的功能。在这个例子中,我使用了温度/湿度传感器和LED。

234a90022617df71381c21064979dc97.png

Arduino代码

为简单起见,这里仅展示如何从DHT11传感器读取温度和湿度以及如何远程闪烁LED。

79a312d6dd28236584293d04c6e742c1.png

数据通过串口以9600的波特率发送。在主函数中,我们读取串口并检查收到的内容。如果我们收到字符串“thl”,则意味着我们需要通过串口从传感器发送数据。为了使此功能正常工作,我们使用while循环并反复发送数据,直到我们收到“ok”以知道数据已到达服务器。如果我们收到字符串“led”,我们只是闪烁LED。在这里你可以添加你想要的任何函数和字符串——只需记住使用“thl”发送数据。

你需要知道的是这里我们以JavaScript Object Notation(JSON)形式发送数据。JavaScript Object Notatio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值