使用bladeRF和树莓派+YateBTS做GSM基站

2023-05-16

        个人出于对无线电的好奇加入了gnuradio的学习。

        本次测试是基于以下链接网址内容进行的相关测试:

        https://www.freebuf.com/geek/102729.html

 

        我的安装步骤是一个大神给我找的:

        https://github.com/MBRO95/PortableCellNetwork

        PS:整个安装过程中,会因为下面.sh文件中安装bladeRF的时候安装bladeRF失败,但不影响后面的安装,所以需要手动安装bladeRF,原因是下面程序中的一条命令的问题:

        这个命令wget -c https://github.com/Nuand/bladeRF/archive/master.zip得到的源文件会缺少部分文件,需要你从GitHub上找到缺少的文件手动下载下来或者直接手动下载压缩包,从其中找到需要的文件放入相应区域,即可继续安装。

#INSTALL BladeRF
echo -e "\e[1;32mINSTALL BladeRF\e[0m"
cd /tmp
wget -c https://github.com/Nuand/bladeRF/archive/master.zip
unzip master.zip
cd bladeRF-master
cd host
mkdir build
cd build
echo `cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DINSTALL_UDEV_RULES=ON ../`
make -j4
make install > /var/log/BladeRF_install.log
ldconfig
if dmesg | grep -q bladeRF; then
    echo -e "\e[1;32mBladeRF Successfully Detected!\e[0m"
else
    echo -e "\e[1;32mBladeRF Was Not Detected!\e[0m"
    read -n1 -r -p "Please connect the BladeRF...then press any key to continue..."
    if dmesg | grep -q bladeRF; then
        echo -e "\e[1;32mBladeRF Successfully Detected!\e[0m"
    else
        echo -e "\e[1;32mBladeRF Was Not Detected! Exiting Script...\e[0m"
        exit
    fi
fi

        缺失的文件如下:

        解决方案(我这里演示的步骤和在树莓派上是一样的,但是是用的Ubuntu16.04LTS演示):

        进入以下网址:

        https://github.com/analogdevicesinc/no-OS/tree/0bba46e6f6f75785a65d425ece37d0a04daf6157

        然后点击Clone or download,再点击Download ZIP

        我把文件下载到桌面,右键点击Extract Here解压到当前文件夹,再将文件夹重命名为no-OS,然后找到下面的文件夹:

        删除之前的no-OS文件夹,将新的no-OS文件夹放入,里面原本空白一片就会出现很多文件

        这个时候就可以再次执行以下命令即可:

    cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DINSTALL_UDEV_RULES=ON ../

    make -j4

    make install > install.log(要加sudo)

    ldconfig(要加sudo)

        整个手动安装命令过程如下(wget -c https://github.com/Nuand/bladeRF/archive/master.zip会缺少no-OS文件里面的文件,记得补上)

        PS:最后两个命令要加sudo

        然后输入bladeRF-cli -i进行测试:

        至于FPGA version的问题,就去找官网下相应的版本刷就好了。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

        因为之前做了很久都是不明所以,很多地方的操作都是照着输入,感觉学得很迷茫。

        自己也尝试过添加订阅者(老师买了白卡帮助我学习),但手机收到基站依然连不上去,不知道什么原因,因此我将希望放在了能直接连接所有具有GSM功能手机的强大功能上,如下:

        但是你要注意,不是单独一个“*” 号,我看漏了应该是“.*”,少了个“.”!!!我还是看到下面链接中的文字说明才反应过来:

        http://mini.eastday.com/a/160410125702346-3.html

 

        这一次,我成功连上了基站,但是可能因为我配置的问题,导致信号很弱,要离bladeRF的天线很近才能搜索并连接到GSM基站:

        这是我旧的华为手机,里面SIM卡是买的白卡,接下来测试的是我的坚果pro手机,里面是移动的SIM卡:

        因为不想暴露自己移动SIM卡的IMSI,所以后面涂掉了,前面460是MCC(移动用户所属国家代号),460代表中国,而00是MNC(移动网络编码),00代表中国移动。

        MSISDN是这个GSM基站分配给的一个移动用户所需拨打的号码,这里进行通话测试(语音效果差):

        当你连接上基站后会有短信提示(还会发送你此时被分配的移动号码):

        我的华为旧手机(白卡)(左上角的数字为00101(90170)):

        00101是基站设置的MCC和MNC,90170是白卡IMSI前五位数字。

        我的坚果pro手机(移动SIM卡):

 

        接下来是短信测试:

 

        以上是本次所有测试,因为是将近凌晨一点,做完通话测试和短信测试后,暂时不懂什么叫GPRS测试,所以先去睡觉了,今早起来查了一下,GPRS(General Packet Radio Service,通用分组无线业务),GPRS是介于2G和3G之间的技术,也被称为2.5G。它后面还有个弟弟EDGE,被称为2.75G。它们为实现从GSM向3G的平滑过渡奠定了基础。

        GPRS参考链接:

        https://zhidao.baidu.com/question/2009624091261062828.html

        我觉得最重要的功能还是在打电话的情况下能上网?因为还要上课,暂不测试。

        文章内有错的地方烦请各位指出,谢谢大家!

        其它的使用方法还不知道,希望有志同道合的人多多指教。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用bladeRF和树莓派+YateBTS做GSM基站 的相关文章

  • 使用bladeRF和树莓派+YateBTS做GSM基站

    个人出于对无线电的好奇加入了gnuradio的学习 本次测试是基于以下链接网址内容进行的相关测试 xff1a https www freebuf com geek 102729 html 我的安装步骤是一个大神给我找的 xff1a http
  • OpenBTS for bladeRF代码修改

    首先从https github com Nuand dev 上 git clone 下来下载打包的文件 xff0c 接着到本地dev目录下执行 clone sh下载OpenBTS以及它的其他依赖的安装包 这里在openbts文件夹Trasc
  • 西门子PLC各类通信协议差异对比

    西门子PLC有4大类 几十个型号类型 PLC不同所支持的通讯协议也不相同 S7 200系列支持的协议有 PPI MPI PROFIBUS 以太网 S7协议 AS INTERFACE USS MODBUS 自由口 S7 300 400系列支持
  • GSM模块_GPRS数据传输机制和原理

    通信专业术语 BSS 基站子系统 通过无线接口与移动台直接联系 负责在一定区域内和移动台通信 GSM BTS 基站收发台 可以看作一复杂的无线调制器 BSS的主要部分 每个分配有若干信道 GSM RBS Radio Base Station
  • 当 pppd 处于活动状态时向 SIM900 发送 AT 命令

    我有一个连接了 SIM900 GSM 附加板的 Raspberry Pi 我已成功与以下设备建立 GPRS 连接pppd依照指示本指南 针对不同的GSM模块 但步骤是相同的 我想定期发送一条 AT 命令 AT CCLK 到SIM900检查时
  • 如何查明Android设备是否有蜂窝无线电模块?

    我如何确定该设备确实具有 gsm cdma 或其他蜂窝网络设备 不仅仅是 WiFi 我不想检查当前连接的网络状态 因为设备此时可能处于离线状态 我不想通过 TelephonyManager act getSystemService Cont
  • 在 iOS 5.1 中获取 CellID、MCC、MNC、LAC 和网络

    我需要在 iOS 5 1 iPhone 4S 中检索当前服务基站的 CellID MCC MNC LAC 和网络 GSM 3G 我知道此信息可用 因为我可以在 FieldTest 模式下看到它 拨打 3001 12345 后即可访问 我想它
  • 根据可用性在 GPS 和网络提供商之间切换

    public void onCreate locationListener new GeoUpdateHandler locationManager LocationManager getSystemService Context LOCA
  • 在 PHP 中通过 GSM 调制解调器建立和接听电话

    我有一个基于 php 构建的 CRM 客户关系管理软件 并在本地主机 Windows XP 系统 上运行 这包含我的客户列表 我希望能够直接从我的 CRM 致电这些客户并保留相同的日志 通话时间 通话时长和通话录音 对于来电 我应该能够将其
  • 如何使用末尾带有 # 的 Uri.parse()

    我尝试使用 GSM 代码通过 Android 应用程序转接电话 例如 如果我致电 21 otherNumber 我所有的电话都将转接至其他号码 My code Uri transfert Uri parse tel 21 numero In
  • 如何通过 adb android 更改首选网络类型?

    如何使用 ADB 更改首选网络类型 示例 设置仅使用 GSM 仅使用 WCDMA 仅使用 LTE 或自动 这适用于我的设备 adb shell sqlite3 data data com android providers settings
  • Android 作为 SIP 转 GSM 网关

    很快我就可以使用 SIP 转 GSM 网关 因为我需要从德国向捷克共和国的手机拨打电话 因此 我考虑实施一个 现在 问题是 这样的解决方案是否已经存在 价格合理 是否可以使用可用的 Android API SDK 或 NDK 将 语音 流重
  • 在 Raspberry Pi 2 上使用 AT 命令和 Python 接收空白短信 SIM800

    我在 rpi2 上创建了这个 python 脚本 消息通过了 但它是一条空白消息 是编码问题吗 import serial import time from sys import version info from curses impor
  • 信号强度中的负dbm是什么意思?

    当我们尝试获取附近的小区及其 LAC MNC 信号 以及使用其他 Android 应用程序时 时 我们得到的信号为负值 例如 85dbm 我该如何接受这个 我应该忽略 ve 符号并取绝对值还是 85 的强度小于 60 这将如何影响我的位置查
  • sim800 在指挥所数据到服务器

    我对向远程服务器发送数据感到困惑 我能够发送发布请求 但不确定如何添加服务器随后接收的数据 我已经浏览了数据表http www jarzebski pl datasheets SIM900 https 121018 1 00 pdf htt
  • sim800L GPRS 发布请求

    我一直在研究 LoNet 迷你 GSM 模块 SIM800L 并将其与 Arduino 连接 我已插入 SIM 移动卡并且可以连接互联网 通过串行监视器 我可以毫无问题地与它通信 但是当向网络服务器页面发出 GET 或 POST 请求时 它
  • 使用 GSM 调制解调器接收短信

    我读到 GSM 调制解调器每分钟最多只能接收 30 条短信 如果您需要收到更多 您会怎么做 还有其他技术吗 我认为您可能想要与列出的答案不同的东西构建短信服务器的最佳实践是什么 https stackoverflow com questio
  • SIM900 GSM/GPRS 未获得正确的 AT+CREG?回答

    我使用的是带有 IComsat SIM900 GSM GPRS 扩展板的 Arduino UNO 使用以下教程 Arduino 实时 GPS 追踪器 http www samaria me uk 2011 12 arduino live g
  • 使用 GsmCellLocation 的 getPsc() 始终返回 -1

    我成功得到了GsmCellLocation以及相关的 cid 和 lac 信息 但服务小区的 PSC 主扰码 总是以初始化值 1 返回 有人能得到服务小区的真实 PSC 值吗 telephonyManager TelephonyManage
  • 电话管理器值可靠且可变(cdma)吗?

    我想知道我的应用程序是否可以依赖 Android 上的电话值 例如国家 地区 MCC 等 我可以使用 setprop 在运行时更改它们吗 我尝试使用 setprop 进行更改 但似乎不起作用 据我了解 电话管理器是一个类 接口 代表 GSM

随机推荐

  • 解决ubuntu安装后只有一个800x600的分辨率,且系统设置显示里也只有这个分辨

    1 修改 etc default grub 打开终端用命令 xff1a sudo gedit etc default grub 会出现下面的代码 xff1a If you change this file run update grub a
  • DRV8833直流电机驱动模块代替 TB6612FNG电机驱动

    江科大自化协TB6612使用DRV8833代替 xff0c 以及使用方法 文章目录 前言一 两种模块对比二 HAL库驱动的使用步骤1 配置CubeMX 前言 购买了国产DRV8833模块驱动直流电机 xff0c 单片机3 3V的GPIO口无
  • Spring boot Json字符串传输 " 转义问题解决

    在接收前端返回过来的json字符串时 xff0c 发现出现 34 被转义的情况 xff0c 这里记录下解决方式 xff0c 获取到json字符串的时候我们可以使用工具类去进行转就可以了 xff0c 使用 org apache commons
  • 计算机三级Linux应用与开发技术

    第1章 计算机体系结构与操作系统 一 选择题 1 操作系统负责管理计算机系统的 xff08 C xff09 xff0c 其中包括处理器 储存器 设备和文件 A 程序 B 文件 C 资源 D 进程 2 操作系统是一种 xff08 B xff0
  • Linux 命令 cp mv 花括号用法

    Linux 命令行使用 mv 重命名文件时 xff0c 巧妙的使用 可以很方便 xff0c 最常见的就是把一个文件加个后缀临时备份 例如 xff1a span class token function mv span files local
  • FreeRTOS的调度器源码分析及系统滴答SysTick

    1 PendSV系统调用 查遍了C站上所有关于FreeRTOS调度器的分析 xff0c 发现大家分析完vTaskStartScheduler 之后就戛然而止了 xff0c 我就会比较迷糊 xff0c 这个仅开启了调度器的调度 xff0c 而
  • 从零适配IMX6ULL开发板Linux系统——uboot移植

    串口驱动搜 CP210 下载 目的 xff1a 当拿到一块儿完全没有系统的开发板 xff0c 厂家并没有提供给我们对应的Linux系统 xff0c 从芯片厂家提供的原厂资料中 xff0c 修改并适配自己的开发板 我们需要做的步骤如下 xff
  • NXP IMX6ULL芯片时钟系统全概况

    本文主要针对IMX6ULL芯片的时钟系统进行分析 xff0c 并没有针对哪款开发板 xff0c 毕竟是芯片的问题 一 硬件原理图分析 对于IMX6ULL芯片有两个时钟源 xff0c 我使用的开发板是百问网IMX6ULL xff0c 其他IM
  • 【FreeRTOS】FreeRTOS内存管理的五种方式

    内存管理 1 FreeRTOS为什么要实现自己的内存管理 内存的动态管理是C语言程序的知识范围 xff0c 并不属于FreeRTOS的知识范畴 xff0c 但是它跟FreeRTOS关系是如此紧密 在C语言的库函数中 xff0c 有mallc
  • 【存储】存储特性

    存储特性 精简配置技术 xff08 SmartThin xff09 SmartThin主要功能容量虚拟化存储空间写时分配 xff1a Capacity on Write读写重定向 xff1a Direct on Time应用场景及配置流程
  • 【存储】RAID0、RAID1、RAID3、RAID5、RAID6、混合RAID10、混合RAID50

    存储 RAID基本概念RAID数据组织形式RAID数据保护方式常用RAID级别与分类标准创建RAID组成员盘要求 热备盘 xff08 Hot Spare xff09 RAID 0的工作原理RAID 0的数据写入RAID 0的数据读取 RAI
  • 【存储】RAID2.0+、多路径技术、磁盘可靠性技术

    RAID2 0 43 RAID 2 0 43 技术RAID技术发展RAID 2 0 43 软件逻辑对象RAID 2 0 43 基本原理硬盘域Storage Pool amp TierDisk Group xff08 DG xff09 LD
  • http请求digest auth认证

    1 post请求 public static String postMethod String url String query String host throws IOException String content 61 null 认
  • npm install 报错? fs 不能被resolve ?

    先看一下报错信息 然后我按照他的提示去 node modules 里面找到对应文件 xff0c 注释掉 fs 相关就ok了 可是这样毕竟不雅 经过苦苦寻找 xff0c 终于找到原因了 在 webpack config js 中添加如下 与
  • 树莓派3B+安装Ubuntu16.04系统(64位)

    目录 系统下载 Ubuntu16 04系统 补丁 刷系统 换源 改DNS网关 无线 U盘挂载 原文 系统下载 感谢公众号 xff1a 树莓派爱好者基地 更多系资源请关注公众号 Ubuntu16 04系统 链接 xff1a https pan
  • 将浏览器请求直接导入到 Postman Apifox 中

    方法就是如下图所示 xff0c 好像不需要过多文字来赘述了 应用场景就是浏览器 F12 debug 到的请求 xff0c 可以直接拷贝为 cURL 请求 xff0c 拷贝的内容 xff0c 包含了 请求头 参数 请求体所有内容 xff0c
  • SMPL-论文解读

    文章目录 创新点算法shape blend shape xff1a pose blend shapeJoint locationSMPL model 训练过程Pose Parameter Trainingjoint regressorSha
  • Jetson Xavier NX 刷机烧录及备份还原

    文章目录 前言一 准备二 详细流程1 准备OS升级包2 主机和Jetson产品连接3 系统安装4 载入镜像5 提取 Jeston Xavier NX 母板镜像5 1 在PC端搭建烧录环境5 2 提取镜像 6 镜像还原 xff08 批量复制烧
  • 第二章.1节 进程基本概念

    xff08 PS xff1a 个人课下整理的操作系统笔记 xff0c OneNote直接拷贝过来的 xff0c 图片看不了就将就一下 xff0c 配合张伟老师的PPT看效果更好 xff09 一 进程定义 1 进程是具有某一个功能的程序 在某
  • 使用bladeRF和树莓派+YateBTS做GSM基站

    个人出于对无线电的好奇加入了gnuradio的学习 本次测试是基于以下链接网址内容进行的相关测试 xff1a https www freebuf com geek 102729 html 我的安装步骤是一个大神给我找的 xff1a http