分享

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

 业余无线电 2020-10-28

业余无线电

有趣好玩的火腿圈

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

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

当然,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。这样你就可以看到一切都在发生。

认识收发器

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

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

连接面包板

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

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

433Mhz无线电聊天设备:电路图

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

连接到Raspberry Pi板

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

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相机模块和车牌识别检测您家中的汽车回家,然后打开房屋灯?

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

更多树莓派相关:

【火腿DIY】树莓派2 | 搭建自己的FM发射系统,如何使用树莓派在其他装置上发声

【火腿DIY】教您3D打印一台树莓派收音机

【火腿课堂】树莓派打造无线扫描仪,监听飞机信号!

【火腿课堂】用树莓派和业余无线电打造远距离无线视频传送

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多