基于nRF9161 DK的模拟卫星接收与通信物联网平台
扫描二维码
随时随地手机看文章
自古以来,外空就吸引着人类,在当今数字时代,与空间技术互动的可能性比以往任何时候都更容易实现。宇宙物联网通信器项目应运而生,将物联网(IoT)技术与卫星通信相结合,创造了一种身临其境的教育体验,模拟了从太空接收和传输数据。
本文档全面介绍了宇宙物联网通信器(Cosmic IoT communicator)的构建、配置和部署。宇宙物联网通信器是一个使用nRF9151 DK开发套件接收来自国际空间站(ISS)等卫星的慢扫描电视(SSTV)信号,解码后上传到云端,以便在移动应用或网站中可视化的系统。
此外,该文件概述了未来与Sateliot的集成,这将允许用户从应用程序发送模式或信息。当卫星经过安装物联网系统的区域时,这些将被处理和重新传输,从而模拟双向地外通信。
该项目不仅解决了硬件和软件的技术问题,而且还专注于模块化,未来主义外壳的设计和制造,增强了功能和美学。使用SLA 3D打印和CNC加工,创建了一个视觉上吸引人的设备-一个在紧凑和坚固的设计中加强空间主题的同时保护电子元件的设备。
在本文档中,将详细介绍复制和理解宇宙物联网通信器操作的所有必要步骤-从组件选择到最终测试,包括装配过程,软件配置和完整的系统验证。
问题分析
近几十年来,空间探索和卫星通信取得了重大进展,但公众获得这些技术的机会仍然有限。在对空间通信的广泛兴趣与与空间通信直接相互作用的能力之间存在着相当大的差距。这种情况提出了若干具体挑战:
首先,接收卫星信号传统上需要专门的设备和先进的技术知识,这限制了爱好者和学生在这一领域的参与。例如,从国际空间站发射的SSTV信号包含迷人的图像,由于现有的技术障碍,很少有人能够接收和解码。
其次,这些信号的可视化和共享通常是孤立完成的,没有一个集成的平台允许用户存储、上下文化和分发接收到的内容。这阻碍了学习型社区的形成和对这些信号的教育使用。
此外,一般认为空间通信对一般用户来说是单向的——人们可能接收到信号,但缺乏发送信息的便利手段,限制了这些技术的交互体验和教育潜力。
最后,现有的卫星通信设备往往缺乏吸引人的和直观的设计。它们被呈现为复杂的技术设备,这阻碍了非专业用户的探索和学习。
宇宙物联网通信器旨在通过创建一个集成系统来解决这些问题,该系统简化了卫星信号接收,提供了一个可视化和共享的平台,并最终实现了模拟双向通信——所有这些都在一个设备内,具有受空间技术启发的吸引人的设计。
建议的解决方案
宇宙物联网通信器通过结合专业硬件,先进软件和受空间技术启发的美学设计,为确定的挑战提供了全面的解决方案。提出的解决方案是围绕几个相互连接的组件构建的,这些组件协调工作,提供完整的模拟卫星通信体验。
该系统的核心是北欧半导体公司的nRF9151 DK开发套件,这是一个多功能平台,集成了蜂窝物联网通信功能(LTE-M/NB-IoT)、用于定位的GNSS和对DECT NR+的支持。该组件充当系统的大脑,管理通信和数据处理。
为了接收卫星信号,该系统包括一个连接到合适天线的软件定义无线电(SDR)接收器。这个装置捕获从国际空间站和其他卫星在145.800兆赫频率上传输的SSTV信号。这些信号经过处理和解码,使用专门的软件将其转换为可见的图像。
一旦解码,图像被传输到nRF9151 DK,后者将它们与接收时卫星位置等上下文数据一起上传到云平台。这些信息被存储和组织起来,以便以后通过移动应用程序或网站访问。
用户界面,作为一个网络应用程序实现,也可以选择作为一个移动应用程序,允许用户查看接收到的图像,探索历史数据,接收关于即将到来的卫星通过的通知,并在未来的版本中,发送模式或消息,当兼容的卫星经过系统位置时,这些模式或消息将被处理和重新传输。
所有这些技术都被安置在一个模块化和未来主义的外壳中,使用半透明树脂或ABS的SLA 3D打印制造,内部支撑由铝或丙烯酸通过CNC加工制成。设计包括模拟空间技术的RGB照明,创造了一种视觉上引人入胜的体验,强化了项目的主题。
建议的解决方案不仅解决了问题的功能方面,而且还考虑了用户体验、设备美观性和未来的可伸缩性。其结果是一个完整的系统,使卫星通信大众化,为探索这一迷人的技术提供了一个教育和娱乐平台。
概述
该系统旨在:
•使用外部SDR接收器接收来自诸如国际空间站等卫星的真实SSTV信号。
•使用专门的软件将信号解码成图像和声音。
•通过nRF9151 DK将解码后的数据上传到云端,允许用户从移动应用程序或网站实时访问。
•通过人工智能生成的模式模拟地外通信,用户可以通过Sateliot网络发送给系统(从2026年开始)。
使用nRF9151 DK
nRF9151 DK是该项目的核心,用于:
•物联网连接:通过LTE-M/NB-IoT上传解码数据(图像和声音)到云端。
•全球导航卫星系统:将信号接收与卫星(如国际空间站)的轨道通道同步。
•未来卫星支持:从2026年开始,当卫星经过该地区时,它将允许接收用户从移动应用程序发送的消息。
关键部件
•nRF9151 DK:管理物联网连接和GNSS。
•SDR Receiver (RTL-SDR):用于捕获VHF/UHF频段的SSTV信号。
•MMSSTV/QSSTV软件:将SSTV信号解码成图像和声音。
•移动/Web应用:显示解码数据并允许用户发送自定义模式。
•未来主义外壳:使用CNC/3D打印制造,以保护组件并增强美观性。
软件和固件配置
1. nRF9151 DK的开发环境
安装nRF Connect SDK
nRF Connect SDK是北欧半导体设备的官方软件开发工具包,包括nRF9151 DK。它提供了开发应用程序所需的所有工具、库和示例。
安装步骤
•安装nRF连接桌面从nordicsemi.com
•运行安装程序并按照说明操作
•打开nRF连接桌面
•安装工具链管理器应用程序
在工具链管理器中,单击最新版本的nRF Connect SDK的“安装”
选择并安装:
•nRF Connect SDK
•nRF命令行工具
•耐火J-Link
•GNU Arm嵌入式工具链
此外,安装:
•编程器(用于闪烁固件))
•串行终端(用于串行通信)
•功率分析器(可选)
安装验证脚本(Linux/macOS)
开发环境设置
推荐:Visual Studio Code
•下载VS Code
安装以下扩展:
•nRF连接扩展包
•C/ c++扩展包
•Cortex-Debug
•CMake的工具
•打开命令面板→“nRF连接:设置nRF连接SDK”
•选择已安装的SDK版本
命令行设置
添加到。bashrc或。zshrc:
2. nRF9151 DK固件
项目结构
项目配置(Project .conf)
主要设置包括:
•日志记录和断言
•LTE、MQTT和AWS物联网连接
•USB主机支持
•内存和安全选项(mbedTLS)
•JSON、日期时间和GPIO处理
主要固件模块
1. 主模块(Main .c)
初始化:
•发光二极管
•USB(用于SDR)
•LTE调制解调器
•SSTV处理程序
•云连接
处理状态:
•STATE_INIT
•STATE_CONNECTING_LTE
•STATE_RECEIVING_SSTV
•STATE_PROCESSING_IMAGE
•STATE_UPLOADING_IMAGE
•STATE_ERROR
它等待SSTV信号,处理并上传图像,然后返回空闲状态。
3. 云连接模块(cloud_connection.c)
初始化和管理与AWS IoT的MQTT通信。(在原始文档中截断,但包括cloud_connection_init, cloud_connection_connect, cloud_connection_upload_image等)
硬件配置
1. nRF9151 DK配置
1.1. 最初的准备
所需材料:
•nRF9151开发套件
•高品质USB-C线缆
•安装了nRF Connect SDK的计算机
•Nano-SIM卡(可选用于蜂窝连接)
•外接LTE/NB-IoT天线(可选,接收效果更好)
所需工具:
•小一字螺丝刀
•精密镊子
•数字万用表(可选验证)
初步的步骤:
•小心地打开nRF9151 DK的盒子
•目视检查是否有损坏
•识别所有连接器和跳线
•准备干净、光线充足、防静电的工作台面
•把参考文件放在附近
1.2. 跳线和连接器配置
电源:
•将跳线P24设置为“VEXT”,用于外部电源
•设置跳线P24为USB供电(默认)
目前测量:
•拆除跳线P20以启用电流测量(可选)
•让跳线P20正常工作
天线设置:
•LTE/NB-IoT天线:取下P27,连接外接天线至SMA J1
•GNSS天线:取下P28连接到SMA J13
SIM设置:
•外接nano-SIM卡:插入插座J14
•对于内部eSIM:不需要设置
1.3. SIM卡安装
•在电路板底部找到插座J14
•将盖子滑至“打开”位置,小心抬起
•放置纳米sim卡(金触点向下,缺口对齐)
•关上并锁上盖子
确保SIM卡安装牢固
1.4. 天线连接
LTE / NB-IoT:
•拆下P27跳线
•将兼容的外部天线连接到SMA J12
GNSS:
•拆下P28跳线
•将有源GNSS天线连接到SMA J13
•放置天线与清晰的天空视野,以获得最佳信号
定位指出:
•将天线分开以减少干扰
•避免金属障碍物
•在室内使用时,请将天线放置在靠近窗户的地方
1.5. 首次连接与验证
•将USB-C连接到单板和计算机的J2上
•电源LED (LED1)应该亮起
设备识别:
•Windows:检查以下设备管理器:
•COM Ports下的“JLink CDC UART Port”,USB Devices下的“JLink driver”
•Linux:运行lsusb,检查SEGGER J-Link
•macOS:运行system_profiler SPUSBDataType并查找J-Link
通信测试:
•打开nRF连接桌面
•启动“串行终端”
•请选择正确的COM端口
•设置为115200波特,8位数据位,无奇偶校验,1位停止位
•确认沟通
1.6. RGB led的GPIO引脚设置
WS2812B带(1个数据引脚):
•数据→P6.11 (GPIO)
•GND→任意GND
•VDD→5V或3.3V(根据需要)
单个RGB led(3引脚):
•R→p6.12
•G→p6.13
•B→p6.14
•Common→GND(共阳极)或VDD(共阴极)
1.7. 全面运行检查
细胞连接:
•刷新lte_ble_gateway示例
•打开串口终端,检查连接信息
•串口终端和检查连接消息
•LED2应闪烁以指示网络状态
GNSS测试:
•Flash gnss_sample示例
•将GNSS天线放置在室外
•验证终端中的有效坐标
GPIO / LED测试:
•Flash修改gpio_toggle示例
•确认RGB led响应正常
2. SDR接收机配置
2.1. 硬件安装
材料:
•RTL-SDR V3接收机(或同等设备)
•优质USB电缆铁氧体芯
•天线适配器(SMA、BNC等)
•甚高频天线(145.800 MHz)
步骤:
•打开箱子,检查收听筒
•安装散热器(如果包括在内)
•连接甚高频天线
•垂直放置天线,最理想的是放置在室外或窗边
•不将SDR连接到PC -先安装驱动程序
2.2. 驱动程序和SDR软件安装
窗口:
•安装Zadig
•以admin身份运行→列出所有设备选择RTL2838UHIDIR或同等设备选择“WinUSB”→安装/替换驱动程序
•以admin身份安装ZadigRun→列出所有设备选择RTL2838UHIDIR或同等设备选择“WinUSB”→安装/替换驱动程序
•安装特别提款权#
•解压ZIP→运行install-rtlsdr.bat
•打开SDRSharp.exe
•选择“RTL-SDR (USB)”作为源
设置:
•射频增益:自动
•采样率:2.4 MSPS
•RTL AGC和调谐器AGC:启用
•偏移调整:禁用
Linux:
添加udev规则:
•测试使用:rtl_test -t
•启动GQRX,选择“RTL-SDR”
•输入速率:2.4 MSPS
•增益:20-40 dB根据需要
macOS:
2.3. SSTV接收设置
•频率:145.800 MHz
•模式:窄带调频
•带宽:3-5 kHz
•增益:从auto开始;手动调整到20-40分贝
•启用噪声过滤器,并设置噪声高于噪声底
2.4. 虚拟音频配置
•Windows:使用VB-Cable
•SDR# output→“CABLE Input”
•MMSSTV输入→“CABLE输出”
•Linux:使用PulseAudio
•GQRX→输出到“Monitor of Virtual_Cable”
•macOS:使用Soundflower或BlackHole
2.5. SSTV软件安装
•Windows: MMSSTV
•设置RX模式为“PD120”输入设备:“CABLE Output”
Linux:
•输入:Virtual_Cable的监视器
•模式:PD120
3. 天线配置
3.1. SSTV用甚高频天线
选项1:DIY偶极天线
•145.800 MHz→长度= 0.977 m总计→每臂48.85 cm
•使用铜线,同轴电缆和可选的PVC管构建
•另一端使用BNC/SMA连接器
选项2:商用天线
•VHF 145-146 MHz范围
•至少3dbi增益
•遵循制造商说明
3.2. 天线定位技巧
•更高=更好
•ISS的垂直方向
•使用全向天线,除非有软件跟踪
•避免附近的电子产品
•使用短的、屏蔽的同轴电缆
•可选使用甚高频带通滤波器
3.3. 天线性能验证
•FM电台测试
•然后调到145.800兆赫
•等待ISS通过以验证实际的SSTV接收
•调整高度和方向,以获得最佳效果
结论
由于一些关键硬件组件的延迟到来,宇宙物联网通信项目仍在积极开发中。尽管如此,基本的基础设施(硬件配置和软件开发)几乎已经完成。我们正准备与Sateliot合作启动第一个试验阶段,这将通过低地球轨道(LEO)卫星网络实现模拟双向通信,标志着一个重要的里程碑。该试验将使我们能够验证实际性能,并在全面部署之前进一步完善系统。
本文编译自hackster.io