前言:
希望在这个网站慢慢记录自己学习过的东西,做过的东西,回看应该会明白更多。

我去年实习短暂接触了HackRF,做了这个小尝试,目标也很简单,就是实现一个对固定码的监听及发送功能。这篇帖子更多是从工具使用者的角度出发,旨在分享给同我一样的新手一些入门经验吧。

在这个小项目中,我使用到的工具有:

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

URH是一个将监听结果图形化的开源工具,由Johannes Pohl开发提供,

GitHub - jopohl/urh: Universal Radio Hacker: investigate wireless protocols like a boss

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

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

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

WiringPi的安装命令行:

git clone git://git.drogon.net/wiringPi

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

rtl-433的安装命令行:

git clone https://github.com/merbanan/rtl_433

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

433Utils的安装命令行:

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发送自己想要的脉冲图像,也实现了自己的目的。

Hack radio【小尝试总结】相关推荐

  1. SubstanceDesigner制作PBR材质制作并且同步到Unity小尝试

    SubstanceDesigner制作PBR材质制作并且同步到Unity小尝试 1.下载安装SubstanceDesigner,网址:https://zixue.3d66.com/softhtml/d ...

  2. 层 数据仓库_小尝试:基于指标体系的数据仓库搭建和数据可视化

    关于作者:小姬,某知名互联网公司产品专家,对数据采集.生产.加工有所了解,期望多和大家交流数据知识,以数据作为提出好问题的基础,挖掘商业价值. 0x00 前言 我将整理文章分享数据工作中的经验,因为业 ...

  3. 小尝试:基于指标体系的数据仓库搭建和数据可视化

    我将整理文章分享数据工作中的经验,因为业务内容上的差异,可能导致大家的理解不一致,无法体会到场景中的诸多特殊性,不过相信不断的沟通和交流,可以解决很多问题.前面我们分析了职场基本功.数据指标体系,今天 ...

  4. 提高外卖单量-整理思考小尝试(大花猫冯夏)

    (一).问别人 1.平台-付费 -- 2.微信个人-付费 - 3.微信公众号等平台-免费 - (二).自己学 一.现存问题分析 1.数据分析-现存问题和优化点 分析店铺存在的数据,通过商家后台数据显示 ...

  5. 揭秘手机空间不足的小尝试

    自从拿到了华为Mate 7的手机之后,大屏确实给我带来了很多不一样的使用体验,特色功能是双卡双待,确认让我省心不少,但是一直让我纠结的就是这手机存储空间的问题.本来存储空间是12G,到现在空间剩余总是 ...

  6. readelf小尝试

    代码如下: #include <stdio.h>/* run this program using the console pauser or add your own getch, sy ...

  7. Flutter 28: 图解 ListView/GridView 混用时滑动冲突小尝试

    小菜在学习过程中会在一个 Page 页面同时用到 GridView 和 ListView 或多个 ListView,此时就会遇到常见的滑动冲突问题.小菜尝试了两种解决滑动冲突的方案,仅记录一下基本的使 ...

  8. Raymarching小尝试

    Raymarching(光线步进) 概念 和光追的不同 光线步进 屏幕射线插值方式重建 SDF(signed distance functions) 步进过程 深度 阴影 AO 反射 结尾 前言:在做 ...

  9. SDL小尝试,是男人就坚持20秒

    今天在电脑里掏出来自己以前试着使用SDL游戏引擎的时候做的一个简单版 是男人就坚持20秒的小游戏.. 玩家通过键盘WSAD操作人物躲避四面八方来的物体,看最终能坚持多长时间. 图片是随便在网上找的或者 ...

最新文章

  1. UVa1600 PatrolRobot 巡逻机器人(bfs)
  2. Ubuntu switch window switch terminal tab
  3. Silverlight与WCF之间的通信(4)silverlight以net.tcp方式调用console上寄宿的wcf服务
  4. gRPC四种模式、认证和授权实战演示
  5. .NET Core 3.1之深入源码理解HealthCheck(二)
  6. tableau三轴合并_《Tableau数据可视化实战》——1.12节合并不同数据源-阿里云开发者社区...
  7. 发送当前IP到我的手机
  8. Base64编码简介及在java中的使用
  9. Mysql 浮点型入门
  10. fortran95 文件读写等操作的字段参数总结
  11. SQL Server之增删改查
  12. 一文带你搞定AOP切面
  13. 201621123068 Week03-面向对象入门
  14. Langlands纲领介绍
  15. python中一般使用几个空格表示缩进_python中使用空格还是使用 Tab键缩进的建议...
  16. 03-鸢尾花分类问题(120个样本的实验)
  17. 软件的成本与定价如何决策?PMP软件开发规模估算和成本估算方法详解
  18. 基站伪造、蹭网卡:无线安全之多敏感话题访杨哲
  19. ctfshow 萌新22 (类似级客巅峰web4)
  20. python输出星号等腰三角形_星号三角形Python(带输入)(Asterisk Triangle Python (with input))...

热门文章

  1. 第二章 关于74181逻辑图中的Cn+1
  2. WebRTC + 直播 + 连麦 = AnyRTC ?
  3. 复杂网络建模的实现(哈工大深圳复杂网络建模课程Project)
  4. 当Java泛型擦除遇到JSON序列化和反序列化
  5. Markdown 扩展语法-特殊字符
  6. 传奇扑克联合30位顶级投资人,数百家众创空间,打造扑克联赛新生态
  7. 【微语】第十周(01.18~01.24)
  8. verilog设计简易正弦波信号发生器_采用集成运放和分立元件相结合的方式,利用迟滞比较器电路产生方波信号,以及充分利用差分电路进行电路转...
  9. 别克GL8改装完工,一起来看看效果
  10. 漫画:你们这些奇葩的代码!