玩转物联网-4G模块如何快速将数据上传到巴法云(TCP篇)
目录
1 前言
2 环境搭建
2.1 硬件准备
2.2 软件准备
2.3 硬件连接
2.4 检查驱动
3 巴法云平台设备创建
3.1 创建账号
3.2 进入巴法云
3.3 获取联网参数
4 连接巴法云
4.1 打开配置工具读取基本信息
4.2 设置连接参数进行数据交互
4.2.1 建立TCP连接
4.2.2 订阅主题
4.2.3 发布信息
4.2.4 巴法云推送消息
5 总结
1 前言
巴法云物联网平台采用前后端分离的设计思想,致力于攻克高性能的异步并发的物联网端服务器,保证了低功耗下数据的完整性。巴法云物联网平台支持多模式的数据交互,满足不同开发者的需求,并且协议规范,适用于各种平台服务全兼容。文档编写全面,并提供开发实例,可使开发者快速构建应用,将物联网快速落实到产品中。

FS800DTU核心板是基于飞思创4G Cat.1模组设计的,上面集成了DC-DC、SIM卡、天线和串口电平转换电路,支持5-16V供电输入,我们不需要额外的设计,核心板串口可与单片机直连,再接上天线、SIM卡和供电就可以进行数据交互了。
FS800DTU支持4路Socket,支持TCP/UDP/HTTP/MQTT等通信协议,适配了阿里云、OneNET等物联网平台。不需要一条一条发AT指令配置,出厂自带YunDTU固件,通过飞思创提供的配置工具直接填写联网参数即可,连上服务器后数据直接透传,小白也能快速上手。
2 环境搭建
2.1 硬件准备
- FS800DTU核心板(型号:FS-MCore-F8A2M1)。
- 4G物联卡一张,移动,联通,电信均可。
- USB转TTL模块,包括4根杜邦线。
- 4G天线一根。

2.2 软件准备
SerialPort_To_Network_ConfigTools参数配置软件。

2.3 硬件连接
将天线,SIM卡装到4G模块上(按照模块上的插卡方向操作),按图示方式接好线,注意串口是交叉连接。

2.4 检查驱动
打开电脑的设备管理器,查看是否有CH340驱动,图中是已经装好驱动的,如果在端口处没有该设备,可以在产品资料包里找到该驱动并安装。

3 巴法云平台设备创建
3.1 创建账号
打开巴法云主页:巴法科技&巴法云-巴法设备云-巴法物联网云平台,登录巴法云平台,有账号的话直接点击登录,没有账号就注册后登录。

3.2 进入巴法云
(1)创建主题

(2)新建成功

3.3 获取联网参数
(1)打开巴法云文档中心简介 | 巴法文档中心,选择TCP协议->查看接口

地址:bemfa.com
端口:8344
(2)获取私钥

私钥b9d8f1671xxxxxxxxe0d3b33e60将用于主题的订阅、发布以及发送其它相关信息。
(3)查看发布和订阅主题的格式

将其中的个uid替换为自己私钥,topic替换为自己的topic,替换后如下:
订阅:cmd=1&uid=b9d8f1671xxxxxxxxe0d3b33e60&topic=light002\r\n
发布:cmd=2&uid=b9d8f1671xxxxxxxxe0d3b33e60&topic=light002&msg=off\r\n
4 连接巴法云
4.1 打开配置工具读取基本信息
在资料包里双击打开SerialPort_To_Network_ConfigTools参数配置软件->选择设备对应的端口->点击同步产品信息。

点击读取基本信息,查看基本信息是否如图完整->点击查询运行状态,查看是否注册上网络以及设备运行状态->点击查询信号强度,查看设备信号强度是否正常。(0-7很差,8-13能注上网,14-18较差,19-25正常,26-31优秀,99异常)。

4.2 设置连接参数进行数据交互
4.2.1 建立TCP连接
选择TCP/UDP->填写第三章记录的连接参数->设置高级参数->点击设置所有参数,下面等待连接就行了。

心跳包设置说明:发送任意数据,只要以\r\n结尾,均视为心跳消息。这包括发布、订阅指令等,也都算作心跳消息。例如,心跳内容"70696E670D0A"转换为ASCII码就是ping\r\n。
等待设备主动连接巴法云出现FS@TCP CONNECTED:1表示连接成功,如果出现其他的返回值说明有问题,可以根据资料中的手册找到对应返回值代表的含义,或者联系飞思创工作人员协助解决。

4.2.2 订阅主题

4.2.3 发布信息

4.2.4 巴法云推送消息

5 总结
本篇文章详细介绍了如何利用FS800DTU实现与巴法云的连接,包括主题的订阅、消息的发布以及巴法云的消息推送功能。感谢大家的观看!如果您对本文有任何疑问,或者希望进一步了解该产品,请随时通过私信或评论区留言,我们将尽快回复您的消息!
相关文章:
玩转物联网-4G模块如何快速将数据上传到巴法云(TCP篇)
目录 1 前言 2 环境搭建 2.1 硬件准备 2.2 软件准备 2.3 硬件连接 2.4 检查驱动 3 巴法云平台设备创建 3.1 创建账号 3.2 进入巴法云 3.3 获取联网参数 4 连接巴法云 4.1 打开配置工具读取基本信息 4.2 设置连接参数进行数据交互 4.2.1 建立TCP连接 4.2.2 订阅主题 4.2.3 发布信…...
postgresql 高版本pgsql备份在低版本pgsql中恢复失败,报错:“unsupported version”
关键字 PostgreSQL、pg_restore、版本兼容性、数据库迁移、pg_dump、备份恢复、unsupported version in file header 背景环境 系统配置 环境类型操作系统PostgreSQL版本内存工具链测试环境Windows 111616GBNavicat/PgAdmin生产环境Windows Server 2012 R2128GBPgAdmin/命令…...
html相关常用语法
html相关常用语法 HTML(HyperText Markup Language)即超文本标记语言,是用于创建网页的标准标记语言 HTML使用标记语言描述Web页面的结构 HTML元素是HTML页面的建构快 HTML元素通过标签tag来表示 HTML标签是“标题”、”段落“、”表格“等内…...
vue3+ts心得
1、Vue3核心 1、setup setup里弱化this,return可以返回函数,返回后页面也显示那个函数值 data里面是可以用this.来获取setup里的值,这个是单向的 vue3两个script标签不要觉得奇怪,一个是配置组合式api的,一个是配置组…...
单片机flash存储也做磨损均衡
最近在做一个项目,需要保存设置数据,掉电不丢失。那么首先想到的是加个24c02,是一个eeprom,但是客户板太小,没有办法进行扩展。后面就找了一个带ee的OTP单片机,发现擦写次数有限,只有1000次&…...
【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(10)
1.问题描述: 离线推送,锁屏的时候没有弹出消息,只有下拉在通知中心里面显示。请问是否是正常的? 解决方案: 检查一下是否存在图片风控:https://developer.huawei.com/consumer/cn/doc/harmonyos-referen…...
SQLark中如何进行数据筛选与排序
本文将为你介绍在 SQLark 中如何进行数据筛选与排序,掌握这些操作能够极大提升你的工作效率。 SQLark官网链接:www.sqlark.com 数据筛选 在数据库操作中,数据筛选是一项关键功能,它依据特定条件对数据进行过滤,帮助用户从海量数据…...
token升级(考虑在分布式环境中布置token,结合session保证请求调用过程中token不会过期。)
思路: 首先,用户的需求是确保使用同一个Token的外部调用都在一个Session中处理。 需要考虑Token与Session绑定、安全措施、Session管理、分布式处理等。 使用Redis作为Session存储, 在Java中 通过Spring Data Redis或Lettuce库实现。 2.生成…...
VSTO(C#)Excel开发11:自定义任务窗格与多个工作簿
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
python:AI+ music21 构建LSTM模型生成爵士风格音乐
这是一个使用 python的 music21 和 TensorFlow/Keras 构建 LSTM 模型生成爵士风格音乐的完整脚本。该脚本包含MIDI数据处理、模型训练和音乐生成全流程: # -*- coding: utf-8 -*- """AI music21 和 TensorFlow/Keras 构建LSTM模型生成爵士风格音乐 …...
vscode查看文件历史git commit记录
方案一:GitLens 在vscode扩展商店下载GitLens 选中要查看的文件,vscode界面右上角点击GitLens的图标,选择Toggle File Blame 界面显示当前打开文件的所有修改历史记录 鼠标放到某条记录上,可以看到记录详情,选中O…...
使用netDxf扩充LaserGRBL使它支持Dxf文件格式
为 LaserGRBL 扩展支持 DXF 文件格式,需要了解 LaserGRBL 的代码结构,并在其基础上添加 DXF 文件的解析和转换逻辑。以下是详细的扩展方案: 1. 了解 LaserGRBL LaserGRBL 是一个用于控制激光雕刻机的开源软件,支持 G 代码文件的加…...
GaussDB备份数据常用命令
1、常用备份命令gs_dump 说明:是一个服务器端工具,可以在线导出数据库的数据,这些数据包含整个数据库或数据库中指定的对象(如:模式,表,视图等),并且支持导出完整一致的数…...
数学建模 第三节
目录 前言 一 钻井布局问题 第一问分析 第二问分析 总结 前言 这里讲述99年的钻井布局问题,利用这个问题讲述模型优化,LINGO,MATLAB的使用 一 钻井布局问题 这个是钻井布局的原题,坐标的位置为 a [0.50,1.41,3.00,3.37,3…...
单调队列【C/C++】
当我在网上搜索了一大堆单调队列的文章后, 我人傻了!? 单调队列不应该很难吗?? 不应该是,像 优先队列 那样,站在 堆 的肩膀上,极尽升华吗??? …...
Spark DataFrame、Dataset 和 SQL 解析原理深入解析(万字长文多张原理图)
目录 1. Spark SQL 概述 1.1 Spark 整体架构概览 1.2 DataFrame 与 Dataset 简介 2. RDD 与 Spark 的分布式架构基础 2.1 弹性分布式数据集(RDD) 2.2 Spark 的分布式执行模型 3. SQL 解析流程与 Catalyst 优化器 3.1 SQL 解析流程概述 3.2 解析阶段与抽象语法树(AST…...
算法系列——有监督学习——3.逻辑回归
一、概述 逻辑回归是一种学习某个事件发生概率的算法。利用这个概率,可以对某个事件发生或不发生进行二元分类。虽然逻辑回归本来是二元分类的算法,但也可以用于三种类别以上的分类问题。为了理解这个算法,请思考以下例子。 你在回家的路上发…...
深入理解traceroute命令及其原理
traceroute 是一个网络诊断工具(Windows上叫tracert),用于显示数据包从本地主机到远程主机经过的路由(跳数)。它可以帮助您了解数据包在网络中的传输路径,以及每跳的延迟情况。这对于网络故障排除、分析网络…...
前后端联调解决跨域问题的方案
引言 在前后端分离的开发模式中,前端和后端通常在不同的服务器或端口运行,这样就会面临跨域问题。跨域问题是指浏览器因安全限制阻止前端代码访问与当前网页源不同的域、协议或端口的资源。对于 Java 后端应用,我们可以通过配置 CORS&#x…...
深入解析 .NET 中的依赖项加载机制:原理、实现与最佳实践
在现代应用程序的开发中,依赖项管理与加载是非常重要的组成部分,尤其是在大型系统中,如何高效地加载和管理依赖项可以极大地影响应用程序的性能、可维护性和扩展性。在 .NET 中,依赖项加载不仅涉及静态依赖的管理,还包…...
【vue2 + Cesium】相机视角移动+添加模型、模型点击事件
参考文章:vue2 使用 cesium 【第二篇-相机视角移动添加模型】 这篇文章在上篇文章的基础上继续开发,主要实现效果 相机视角移动 添加模型 点击事件 上篇文章:【vue2 Cesium】使用Cesium、添加第三方地图、去掉商标、Cesium基础配置、地…...
【AI】AI编程助手:Cursor、Codeium、GitHub Copilot、Roo Cline、Tabnine
文章目录 一、基本特性对比二、收费标准三、私有部署能力1、Tabnine2、Roo Code 三、代码补全与自然语言生成代码四、安装独立的IDE安装插件安装 五、基本使用(一)Cursor(二)GitHub Copilot1、获取代码建议2.聊天1)上下…...
我的uniapp自定义模板
uniapp自定义模板 如有纰漏请谅解,以官方文档为准后面这段时间我会学习小程序开发的知识,会持续更新可以查看我的github,后续我会上传我的uniapp相关练习代码有兴趣的话可以浏览我的个人网站,我会在上面持续更新内容,…...
如何将MediaPipe编译成Android中Chaquopy插件可用的 .whl 文件
环境准备 操作系统:建议使用 Ubuntu 20.04 或者 macOS(这篇博客会以 Ubuntu 为例)。Python 版本:Python 3.7 或以上版本。Android Studio:配置好 Android Studio 和 Android NDK(Native Development Kit&a…...
华为OD机试-绘图机器-双指针(Java 2025 A卷 100分)
题目描述 绘图机器的绘图笔初始位置在原点 (0, 0)。机器启动后按照以下规则绘制直线: 尝试沿着横坐标正向绘制直线,直到给定的终点 E。期间可以通过指令在纵坐标轴方向进行偏移,offsetY 为正数表示正向偏移,为负数表示负向偏移。给定的横坐标终点值 E 以及若干条绘制指令,…...
【C++】动态规划从入门到精通
一、动态规划基础概念详解 什么是动态规划 动态规划(Dynamic Programming,DP)是一种通过将复杂问题分解为重叠子问题,并存储子问题解以避免重复计算的优化算法。它适用于具有以下两个关键性质的问题: 最优子结构&…...
OpenCV计算摄影学(23)艺术化风格化处理函数stylization()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 风格化的目的是生成不以照片写实为目标的多种多样数字图像效果。边缘感知滤波器是风格化处理的理想选择,因为它们能够弱化低对比度区…...
S32K144外设实验(三):ADC单通道连续采样(中断)
这次的实验比较简单,主要目的就是验证一下ADC的中断功能,思路是使用软件触发ADC的连续单通道采样,将采样值通过串口发送到上位机观察数是否正确。 其实官方并不推荐使用中断的方式,这种方式会占用大量的CPU资源,笔者安…...
LeetCode 第19~21题
LeetCode 第19题:删除链表的倒数第N个结点 题目描述 给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。 难度:中等 题目链接:19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 示例…...
Web3 时代数据保护的关键挑战与应对策略
Web3 时代数据保护的关键挑战与应对策略 随着互联网技术的飞速发展,我们正步入 Web3 时代,这是一个以去中心化、用户主权和数据隐私为核心的新时代。在这个时代,数据保护成为了一个至关重要的议题。本文将探讨 Web3 时代数据保护面临的主要挑…...
