立即注册

RadioHack 同频共振  同质相吸

查看: 427|回复: 0

[新手]Hack radio

[复制链接]

1

主题

2

帖子

41

积分

新手上路

Rank: 1

积分
41
发表于 2019-7-4 02:35:22 | 显示全部楼层 |阅读模式
本帖最后由 Obnergnaw 于 2019-7-4 02:35 编辑

前言:
实习时老师对Hack RF来了兴趣,让我去研究研究,目标很简单,就是实现一个对固定码的监听及发送功能。这篇帖子更多是从工具使用者的角度出发,旨在分享给同我一样的新手一些入门经验吧。
(文章里有些表述不大准确,我是机器学习方向的,短时间里也没注意纠正名词的使用,还请见谅^ ^)


在这个小项目中,我使用到的工具有:
* RDL2832U(只可接收信号)
* 树莓派3 Model B+ (使用Arduino也可以), Module RF 433MHz的发射器和接收器
* HackRF One(准备搭配GNURadio一起研究下,尚未开荒)
* 开源软件:URH(Universal Radio Hacker),433Utils,rtl_433


URH是一个将监听结果图形化的开源工具,由Johannes Pohl开发提供,
  1. [GitHub - jopohl/urh: Universal Radio Hacker: investigate wireless protocols like a boss](https://github.com/jopohl/urh)
复制代码

我这里是通过RDL2832U监听无线电波,在URH软件里可以查看监听信号的频率,调制后的图像,自定义解码等等。

URH主要提供了四个模块,Interpretation,Analysis,Generator和Simulator,使用前两个模块对于实现我的目标已经足够了,工具使用比较简单,注意选择好正确的Bit length,以及需要的解码器(NRZ,曼彻斯特码等),我需要设置的是摩斯码。

URH界面

URH界面


433Utils和rtl-433是树莓派上的开源工具库,也是用于实现监听无线电信号,搭配Module RF使用(这里也要用到GPIO接口,所以在树莓派上需要安装WiringPi库及相应设置)。

WiringPi的安装命令行:
  1. git clone git://git.drogon.net/wiringPi
复制代码


rtl-433由Benjamin Larsson开发提供,呈现出的监听结果是张表格,我没有太明白如何分析显示结果,所以没怎么使用。大家若是感兴趣,可以去了解一下它的使用。

rtl-433的安装命令行:
  1. git clone https://github.com/merbanan/rtl_433
复制代码


433Utils可以搭配Module RF实现监听和发送功能,用于树莓派和Arduino。通过RFSniffer这个接口实现监听,可以得到一个十进制的数,这与URH上监听该信号,摩斯解码后二进制转十进制的结果相同。然后通过codesend接口发射,至此我们可以不再通过原来的控制器去打开开关。

Sniffer监听

Sniffer监听

codesend发送

codesend发送


433Utils的安装命令行:
  1. git clone - - recursive git://github.com/ninjablocks/433Utils.git
复制代码
我们可以根据自己的需要在433Utils的底层库等文件里进行修改,如Protocol(包含pulse length, 1,0如何由高电平、低电平呈现,Synch. Bit等信息),但我还是遇到了以下问题:
- 由于底层库RCSwitch的中断机制,我们不能在同一程序同时实现监听和发送功能
- 自定义protocol,发射信号,然后通过URH+RDL接收信号,得出图像,并未观察到Synchronisation Bit这部分的呈现
- 利用433Utils监听、发送信号时,有效信息(我们接收和发送信号时实际是将一段单位信号重复,这里我叫这段单位信息为有效信息)最长不可超过32bits。虽然RCSwitch库的新更新有指出解决该问题,但我按指示来更改底层库后,依旧无法实现。用codesend发送一段代表40bits信号的十进制数时,高于32的bits在调制后体现实为一种补零。


我测试的物件有两个,一个是通过控制器打开转换插头的开关,不管是打开还是关闭按钮,它的有效信息长度都为20bits,所以用433Utils实现目标完全没问题。另一个是将接收器与灯连接,然后控制灯的开关,这里使用的遥控器(好像是个波兰的牌子)发送的信息长度是40bits,且上下键含有两段有效信息(我通过URH记录的信号观察到的),所以433Utils对此不再能发生功效。我选择了用URH监听,然后自己写了个小代码,利用树莓派的GPIO和Module RF发送自己想要的脉冲图像,也实现了自己的目的。

IMG_1923.GIF IMG_1924.GIF




如果大家有想法尝试,希望也可以向我分享你的理解和思考。

回复

使用道具 举报

快速回复 返回顶部 返回列表