用树莓派打造一款433MHZ无线电聊天设备

【火腿DIY】简单丨用树莓派打造一款433MHZ无线电聊天设备

建立一个433MHZ无线电聊天设备

为Raspberry Pi添加便宜的433MHz无线电台,无需WiFi即可发送无线信息并操作遥控主插座

【火腿DIY】简单丨用树莓派打造一款433MHZ无线电聊天设备

当然,WiFi一切都很好,但它是Raspberry Pi无线通信的唯一选择吗?如果没有可用的网络或者您需要更长的通信范围怎么办? 433MHz无线电是您想要的地方。

在本教程中,我们将把这个功能添加到一对Pi板上,并展示如何在没有WiFi网络的情况下将无线消息从一个地方发送到另一个地方。然后,我们将通过科学的方式增加范围,并开始与基于RF的可切换主插座通讯。在房子周围都有Pi控制的插座!

本教程由PJ Evans编写,最初出现在MagPi杂志第75期。

 

你需要

 

2×433MHz收发器

2×迷你面包板

12×M / F跳线引线

RF电源插座套件

准备Raspberry Pi板

 

为了演示使用433MHz发送消息,使用两个Raspberry Pi板是有意义的,这样我们就可以进行对话。我们在这里所做的一切都不需要太多的处理能力,因此任何Pi都可以,甚至是原型Model As或Bs。根据您的喜好,安装完整的Raspbian Stretch,或者 – 正如我们在这里做的那样 – Raspbian Lite,因为所有内容都将从命令行运行。如果您无法访问多个显示器和键盘,请考虑使用SSH访问主计算机上有两个窗口的每个Pi。这样你就可以看到一切都在发生。

 

【火腿DIY】简单丨用树莓派打造一款433MHZ无线电聊天设备

 

认识收发器

 

每个套件都配有两块电路板。两块板的较长时间是接收器,四个引脚。在接线之前,请仔细检查这些引脚的标签,因为它们有时会发生变化。无论位置如何,都会有5 V电源(标记为VCC),接地(GND)和两条“DATA”线传输接收信号。这些是相同的,所以你可以使用其中之一

 

较小的发射器有三条线,它们的位置也可以根据制造商而变化。就像接收器一样,你有VCC用于电源,GND用于接地,这次是单条数据线。

 

连接面包板

 

我们正在使用一个小面包板,但任何尺寸都可以。实际上,带有电源和接地导轨的更大的电路板可能会更整洁一些。小心地将每个面包板中的接收器和发射器彼此并排放置。我们想要两个面包板对面,以便Pi#1的发射器(我们称之为’Alice’)直接指向Pi#2(’Bob’)的接收器,反之亦然。

将六个跳线连接到每个面包板,一个在导轨上,用于收发器对的每个引脚。您在接收器上使用哪条“DATA”行并不重要。

【火腿DIY】简单丨用树莓派打造一款433MHZ无线电聊天设备433Mhz无线电聊天设备:电路图

电路图:这对收发器不需要任何额外组件,可以直接连接到GPIO

 

连接到Raspberry Pi板

 

将每个Raspberry Pi连接到其六个跳线。幸运的是,这个项目不需要任何额外的组件,因此您可以直接连接。接收器和发送器都工作在5 V,因此将每个VCC跳线连接到GPIO的物理引脚2和4(当引脚1在左上方时,顶部两个右侧引脚)。接下来,将GND引线连接到引脚6和9.尽管您的无线电现在已通电,但如果它无法发送和接收数据则没有多大用处,因此将发送器的DATA连接到GPIO 17,将接收器的DATA连接到GPIO 27(引脚) 11和13)。

 

【火腿DIY】简单丨用树莓派打造一款433MHZ无线电聊天设备

 

433MHz无线电聊天设备:GPIO连接

收发器从Pi获取5 V电源,以及输入和输出信号

 

测试接收

在我们对新安装的无线电做任何事情之前,我们需要一些软件。打开终端并发出以下命令:

 

光盘

sudo apt安装python3-pip git

pip3安装rpi-rf

git clone https://github.com/mrpjevans/rfchat.git

 

您现在已经安装了所有内容来测试硬件。选择您最喜欢的两个Raspberry Pi板并输入以下内容:

 

cd~ / rfchat

python3 receive.py

 

现在将RF套件中的遥控器靠近接收器并按下按钮。看到数字出现?大。如果没有,请检查您的接线。按CTRL + C退出并重复另一个Pi。

 

测试发送

定位Raspberry Pi板,使两个面包板彼此相距厘米,Alice的发射器指向Bob的接收器,同样反过来。在Alice上,就像我们在上一步中所做的那样启动接收脚本。在Bob上,在终端中输入以下内容:

 

cd~ / rfchat

python3 send.py 1234

 

一切顺利,’1234’应该在Alice的屏幕上重复显示。没有纠错,所以看到丢失或损坏的字符是正常的。如果看起来不太正确,请再试一次。一旦你开心,逆转测试以确认Bob的接收器也在工作。

 

我们聊聊吧

 

我们的两个Raspberry Pi板现在可以无线通信,无需WiFi。为了演示可能的内容,请查看rfchat.py脚本。此代码使用线程(代码表示同时执行多项操作)来监视键盘和接收器的数据。我们将传入和传出的数据转换为数字(ASCII)并返回。结果是实时聊天界面。您现在可以发送和接收消息。开始:

 

cd~ / rfchat

python3 rfchat.py

 

现在慢慢输入任一Pi,消息将出现在另一个上。事实上,您的本地输出是您的接收器拿起您自己的发射器!

 

通过科学扩大范围

 

无线电范围较差的原因是微型天线,但这可以修复。天线的长度需要是波长的谐波,通过将光速除以频率(299 792 458 m / s除以433 000 000)来计算。您可以将692.36 mm的结果除以2,直到得到合理的长度。 173毫米的天线足够长,可以提供令人印象深刻的范围,通常覆盖整个房屋。将173毫米焊锡焊接到PCB上的所有四个“ANT”焊点。你的rfchat现在应该长距离工作。

 

插座给我控制

 

有许多家用设备使用433MHz来发送控制代码。其中最受欢迎的是遥控电源插座,通常用于切换灯。这些通常使用433MHz和rpi-rf可以理解的协议。

 

cd~ / rfchat

python3 receive.py

 

按遥控器上的按钮。您可能会看到一个数字列表,重复进行纠错,每个按钮都会发生变化。记下这些,然后按如下方式发送:

 

python3 send.py [编号]

 

您应该从插座的继电器听到安慰的“咔哒”声。尝试打开或关闭它。

 

把它变成你自己的

 

这些433MHz的设备以极低的成本为您的Raspberry Pi项目增添了一系列可能性。不仅是具有可控插座的家庭自动化项目,而且还提供WiFi不实用的无线电通信,例如高空气球或洪水监视器等异常定位的传感器。

 

物联网设备可以使用无线电来传递和接收任何信息。

 

现在您可以从Raspberry Pi控制套接字,您可以将它们链接到您可以想象的任何类型的事件。如何使用Pi相机模块和车牌识别检测您家中的汽车回家,然后打开房屋灯?

 

【火腿DIY】简单丨用树莓派打造一款433MHZ无线电聊天设备

【火腿DIY】简单丨用树莓派打造一款433MHZ无线电聊天设备

 

source:https://www.raspberrypi.org/magpi/build-433mhz-radio-chat-device/

 

【火腿DIY】简单丨用树莓派打造一款433MHZ无线电聊天设备