0%

博主曾经接手的一个项目,主控板连续好几年使用的一直是 Rapsberry Pi,但是随着 Raspberry Pi 价格长期居高不下,让人直呼伤不起,只能考虑把板子换成更便宜的方案,再三权衡之下,博主最后选了 Orange Pi One。

Orange Pi One 使用了 Allwinner H3 作为 CPU,内建 512 MB 运存,对于博主的项目来说绰绰有余,另外,Orange Pi One 的 GPIO 定义和 Raspberry Pi 相同,而且闲鱼上的售价普遍 70 左右,和树莓派现在的售价比起来,直接少了个 0,让人很难不心动。

悲催的是,这个项目恰好就用到了 Raspberry Pi 的 GPIO,而且原本的代码中并没有用外部库去操作 GPIO,只是使用了内存映射的方式,透过读写内存来操作 GPIO。

我们知道,不同的 CPU 之间,内部的寄存器集合与地址也都会有所不同,所以在博主想碰碰运气,尝试过直接换板子,发现果然运行不了之后,博主只能很不情愿地改代码去了。

这篇文章将会介绍博主如何理解 mmap 的概念,如何看懂 Allwinner H3 提供的 Datasheet,以及如何成功编写程序控制 GPIO 的一整套流程,希望能对您有所帮助。

博主的 Orange Pi One

阅读全文 »

引子

出了这么大一事儿,博主才想起自己还有个博客…… 直到有人开始传博主也是因为被喝了茶,才金盆洗手同无线电一刀两断时,博主这才觉得有必要出来冒个泡了。

1

继 ADS-B、AIS 玩家挨个被慰问过后,各种另类版本也冒了出来,有说自己建气象站被喝茶的,有说玩 FT8 会被喝茶的,还有说用别人 KiwiSDR 也会被喝茶的(这都什么牛马?)…… 照这趋势,以后是不是车上听个对岸中波电台也要被喝茶了?

既然干啥都会被喝茶,那喝茶就得喝得有逼格,鉴于以上种种,博主这次就来手把手教大家如何通过“架设气象观测设备”喝茶。

2

境外势力的风云二号观测设备

阅读全文 »

  • 本文内容仅供参考、学习之用。
  • 在阅读本文之前,请详细了解相关法律,若因读者对本文内容进行模仿而造成的一切负面影响及后果,“I BCL.”一概对其不负责。
  • 本文内容应情节需求系完全虚构,如有雷同实属巧合。

前情提要

一个百无聊赖的午间,博主正躺在床上带着耳机听歌,昏昏欲睡之中,突然收到一条讯息。

冷气与睡意之间,被通知铃声吵醒是一件痛苦的事,但是博主还是打开了萤幕,原来是某位大佬发来的留言。

大佬:最近忙啥呢?

既然是大佬主动联系博主,一定是有什么有趣的事情。

博主:表示现在很闲,大佬是有什么事?

接着,大佬发来一个链接,对应的地址是一个名为 gr-gsm 开源专案

大佬:既然有时间,咱们来玩嗅探 GSM 怎么样?就用你的 RTL-SDR。

博主:蛤?

博主从未想过,自己与成为一个能偷看他人简讯的偷窥狂,仅仅只有 50 块的距离……

这么有趣的体验,怎么能够拒绝?于是博主果断答应了大佬的邀请。

阅读全文 »

听惯了中短波广播,甚至已经能准确说出当前的某个频率对应哪个电台在播音… 是的,博主终于对传统广播有了倦意,也正因如此,最后博主决定拿出闲置的 RTL-SDR,玩玩 ADS-B 接收。

在这篇文章中,博主将介绍如何用 RTL-SDR 接收 1090MHz,由航班下发的 ADS-B 信号,并将实时航班情况展示在地图上,公开至外网,然后坐等被喝茶(

现在,博主的 ADS-B 监测站点已经上线,欢迎来踩~

博主的 SDR 服务器

阅读全文 »

在剁手斐讯 N1 刷入 Armbian 作为本站的 SDR 服务器之后,博主已经对这个“穷人的树莓派”佩服得五体投地了。

然而人的欲望总是无止境的,所以过了几天,博主又在并夕夕上剁手了斐讯 T1 盒子,也打算刷入 Armbian,作为日常实(瞎)验(搞)之用。

可网上一大堆教程都是在调教 N1,有关 T1 刷机的文章少之又少,一切只能自己摸索。

在害怕踩坑并搞烂 T1,导致自己省下的一百五十来块打水漂的情况下,于是博主带着 T1 去附近的庙里烧了香拜了佛……

听上去有些扯,但是博主最后顺利地让 T1 运行了 Armbian,并烧写镜像到了自带的 emmc 中。

这篇文章,便是调教 T1 盒子的笔记。

T1 盒子

阅读全文 »

一天,BH4ERB 给我发来消息他说:“你敢不敢和我接收 GK2A 气象卫星”,我豪爽的答应了:“我当然敢”,周日下午在 xx 路 xx 大厦举行,谁不来谁就是怂货。

我原本以为我恐吓了 BH4ERB,BH4ERB 应该躲在家,不敢找我,可正当这时,我听见了音乐声,原来是我手机响了,一看,竟然是 BH4ERB 发来的消息,他还真有勇气,我接通了电话,听道电话那头骂道:“小废物,你怎么还不来,再不来你妈的泌尿系统就被我搞坏了。”我听到他对我的毒骂之后,我回骂道:“我要把你挂到同性恋网站上,帮你炒作一番,你说好不好啊。

他吓得没再回应我,可是到了周日,BH4ERB 竟然又给我发消息了,他还真要和我举行接收大战,于是我按照约定,到达了 xx 大厦,可他已经等我很久了。

……

GK2A 是韩国的气象卫星,由韩国气象厅开发,KARI 制造。于 2018 年 12 月 4 日由欧洲航天局的阿丽亚娜 5 号将其送上轨道,属于地球同步卫星。

最近 HAM 大佬 BH4ERB 对这颗卫星感上了兴趣,决定尝试接收并解码 GK2A 下传的数据。

接收数据需要使用到一个名为 Goestools 的工具,钦定在 Linux 下运行。由于 BH4ERB 对 Linux 并不熟悉,在多次尝试编译安装,却报错无法启动之后,找到了博主帮忙,希望跟博主一起合作填完这个巨坑。

阅读全文 »

起因

博主最近申请到了 WebSDR 的服务端程序,在准备好各种环境之后,却卡在了与 RTL-SDR 的对接上……

WebSDR 的后端一般与 RTL-SDR 驱动自带的 TCP 服务器模块 rtl_tcp 对接并进行调谐。rtl_tcp 的启动很简单,只需要一行命令即可解决。

1
root@yukiho:~# rtl_tcp -a 127.0.0.1 -s 1024000 -g 0 -d 0 -p 1234

在设置好中心频率(9500 kHz),采样率(1.2 Msps)并启动该模块之后,博主却发现 WebSDR 并不能正常地接收短波信号,频谱瀑布一片空白。

这就很迷了。经过一波分析之后,博主得出了结论:

rtl_tcp 命令不能像 rtl_sdr 命令一样使用 I/Q 通道直采接收中短波信号,而此前 OpenWebRX 能实现是因为 Op 采用的是支持 I/Q 通道直采的 rtl_sdr 模块加 netcat 转发数据至 TCP 实现的……

转发数据确实是一条新的思路,但是操作起来却有些麻烦:

1
root@yukiho:~# rtl_sdr -D2 -s 1024000 -f 9500000 -p 0 -g 0 -| nmux --bufsize 253952 --bufcnt 379 --port 1234 --address 127.0.0.1

此外,由于引入了新的工具 netcat 做数据转发,所以负载也跟着上去了,对于博主的垃圾 Orange Pi Lite 来说简直就是灭顶之灾……

还有更好的方法吗?

阅读全文 »