文章目录

  • 前言
  • (一)注册添加TCP设备
    • (1)注册巴法云账号
    • (2)创建主题
  • (二)订阅发布主题
    • (1)TCP设备相关指令
    • (2)调试
  • (三)ESP8266接入巴法云

前言

巴法云物联网云平台,就如它的文档介绍的,是一个专注物体联网的神奇的设备云平台(cloud.bemfa.com),它有以下特征,轻量级,支持发布/订阅模式,提供遗嘱机制,支持TCP长连接,全平台兼容。本文,将介绍如何通过esp8266这个芯片连接到巴法云的TCP设备云。

(一)注册添加TCP设备

(1)注册巴法云账号

到巴法云官网或直接进入 https://cloud.bemfa.com/u_login.php?reurl=https://cloud.bemfa.com/tcp/index.html
如下图,点击“微信一键登录”,扫码直接登录注册,然后直接进入“控制台

(2)创建主题

登录后,会直接跳转到巴法云云平台的个人控制台,如下图,选中TCP设备云,输入主题名“test”,点击新建主题,便可以创建一个名为test的主题,之后我们就可以对这个主题进行订阅或发布了。

(二)订阅发布主题

完成上面后,我们可以使用 SSCOM5 串口/网络调试助手来调试我们之前创建的主题。uid即用户私钥,可以直接在用户控制台获取

(1)TCP设备相关指令

这主要参考官方文档关于 TCP设备云部分。
TCP服务器地址IP: bemfa.com 服务器端口:8340

订阅主题格式
  cmd=1&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002\r\n
正常返回:
cmd=1&res=1

发布信息格式
  cmd=2&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002&msg=off\r\n
正常返回:
cmd=2&res=1

订阅主题,并获取一次已推送的消息
  cmd=3&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002\r\n
正常返回:
cmd=3&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002&msg=on

获取一次时间
  cmd=7&uid=7d54f85af42976ee3c2693e6xxxxxxxx&type=1\r\n
正常返回:
2021-06-11 16:39:27

获取一次已发消息
  cmd=9&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002\r\n
正常返回:
cmd=9&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002&msg=on

发送心跳
  ping\r\n
正常返回:
cmd=0&res=1

json响应
上述任意指令中加入 mode=1 时,服务器响应的数据格式是 json 类型。
例如发送:
cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002&msg=on&mode=1
正常响应:
{“cmd”:2,“res”:1}
此时订阅light002的设备将收到:
{“cmd”:2,“time”:1623402740,“uid”:“4d9ec352e0376f2110a0c601a2857225”,“topic”:“light002”,“msg”:“on”}
其中time为发送消息的时间戳

字段说明
cmd:为消息类型
cmd=1 时为订阅消息,当设备发送一次此消息类型,之后就可以收到发往该主题的消息
cmd=2 时为发布消息,向订阅该主题的设备发送消息
cmd=3 是订阅消息,和cmd=1相同,并且会拉取一次已发送过的消息
cmd=7 是获取时间,获取当前北京时间
cmd=9 为遗嘱消息,拉取一次已经发送的消息
uid:用户私钥

可在控制台获取
topic:用户主题
可以在控制台创建主题,格式为英文或数字,相当于设备标识
msg: 为消息体
用户想要发送到某个主题的数据

获取时间指令说明
type=1 获取当前日期和时间,例如:2021-06-11 17:20:54
type=2 获取当前时间,例如:17:20:54
type=3 获取当前时间戳,例如:1623403325

符号说明
\r\n: 为回车换符,每条指令后都需要有回车换行
&: 为连接符,各字段间用’&'隔离

心跳说明
发送任意数据 为心跳消息,包括上述指令也算是心跳,但要以回车换行结尾。
心跳消息是告诉服务器设备还在线,可30秒发送一次,结尾以\r\n结尾。

可选功能
推送消息时:主题名后加/set推送消息,表示向所有订阅这个主题的设备们推送消息,假如推送者自己也订阅了这个主题,消息不会被推送给它自己,以防止自己推送的消息被自己接收。

推送消息时:主题名后加/up推送消息,表示只更新云端数据,不进行任何推送。
例如向主题 light002推送数据,可为 light002/set , light002/up

示例:cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002/set&msg=on

(2)调试

测试的内容就是上面的指令,使用网络调试助手连接上巴法云后,修改uid,就可以直接发送指令了。下面图片是返回的结果。

(三)ESP8266接入巴法云

这里给出测试代码,ESP8266 Arduino IDE开发环境的配置,以及ESP8266的相关编程,可以参考我的另一篇博文《esp8266环境配置以及相关学习资料》。下面代码,订阅了一个test主题,当有信息下发时,会直接将数据输出到ArduinoIDE的串口查看器上。

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>ESP8266WiFiMulti wifiMulti;           // 建立ESP8266WiFiMulti对象const char* host = "bemfa.com"; // 网络服务器地址
const int httpPort = 8340;              // http端口80// WiFi连接信息
const char*  WiFi_SSID = "ling";
const char*  WiFi_Password = "ling....9";// 建立WiFi客户端对象,对象名称client
WiFiClient client;void setup(){Serial.begin(9600);          WiFi.mode(WIFI_STA);    // 设置ESP8266为无线终端模式wifiMulti.addAP(WiFi_SSID, WiFi_Password); Serial.println("Connecting ..."); // 尝试进行wifi连接。int i = 0;  while (wifiMulti.run() != WL_CONNECTED) { delay(1000);Serial.print(i++); Serial.print(' ');}// WiFi连接成功后将通过串口监视器输出连接成功信息 Serial.println("");Serial.print("Connected to ");Serial.println(WiFi.SSID());              // WiFi名称Serial.print("IP address:\t");Serial.println(WiFi.localIP());           // IP//连接巴法云client.connect(host, httpPort);Serial.print("conneted bamfa!\n");//订阅主题testclient.print("cmd=1&uid=<填你们自己的uid>&topic=test\r\n");}void loop(){// 判断登录状态if(not client.connected()){//连接巴法云client.connect(host, httpPort);Serial.print("reconneted bamfa!\n");//订阅主题testclient.print("cmd=1&uid=<填你们自己的uid>&topic=test\r\n");}//输出结果while (client.connected() || client.available()){ if (client.available()){String line = client.readStringUntil('\n');Serial.println(line);}}delay(10);
}

esp8266 TCP接入巴法云物联网云平台相关推荐

  1. Walker智慧农业物联网云平台(Version:3.0.1)「源码」

    一.简介 Walker智能农业物联网云平台,从(设备端-APP端-平台端-管理端)全业务场景包含设备采集系统.监控控制系统.溯源系统.专家系统.仓库系统,大屏系统,开源版本毫无保留给个人及企业免费使用 ...

  2. uniapp 开发移动端对接巴法云物联网平台控制ESP8266开关灯

    巴法云物联网平台的MQTT接入只有说明文档,没有移动端实例.经过多次连接测试,使用uniapp开发的移动端终于成功连接服务器. 手机端效果图 uniapp 代码(app, 小程序): <temp ...

  3. 移远EC600S-CN (3) - HTTP(S)应用GET请求POST请求,HTTP接入OneNET物联网云平台

    移远EC600S-CN 使用AT指令HTTP连接GET请求POST请求,并接入OneNET物联网云平台.实现HTTP对物联网设备的接入. 同样也适用于 EC200S.(EC200S不支持QuecPyt ...

  4. OneNET物联网云平台HTTP数据流上传与下发,使用Fiddler调试开关应用,stm32 esp8266物联网家居远程开关

    本文使用OneNET物联网云平台,进行HTTP接入.创建设备.创建数据流. 并且创建一个多路开关应用,使用Fiddler抓HTTP包进行调试. stm32.esp8266 可通过解析 HTTP 返回的 ...

  5. JAVA物联网云平台源码/Modbus/视频接入 物联网智能看板源码

    JAVA物联网云平台使用 Java 语言.主流技术组合(MQTT.Spring Boot.Shiro.MyBatis.Druid.Ehcache.Thymeleaf.Bootstrap.Swagger ...

  6. 阿里云MQTT + STM32 + MQTT + ESP8266 01S WIFI 实现远程继电器控制开关和采集温湿度 登录阿里云网站,进入物联网云平台

    单片机型号: STM32F103C8T6 WIFI型号: ESP8266 01S WIFI 运行协议: TCP STM32运行MQTT协议 登录阿里云网站,进入物联网云平台 进入阿里云官网并登录账号后 ...

  7. 支持亿级标签接入,ClickHouse在广域物联网云平台架构的探索与实践

    业务背景:自纵行科技在2020年推出ZETag云标签以来广受市场好评,目前已经在物流.资产管理.库存盘点等领域有了许多落地项目.在业务量急速增加的过程中,ZETag云平台作为解决方案中重要的一环,也面 ...

  8. 基于STM32L431设计的云端绿化管理系统(ESP8266+腾讯物联网云平台)

    一.环境介绍 MCU: 采用意法半导体低功耗芯片 STM32L431RCT6 编译软件:  Keil5 + CubeMX 云平台: 采用腾讯物联网云平台 工程完整源代码与配套资料下载地址:https: ...

  9. 学习日记——物联网云平台(乐鑫云平台)

    物联网云平台了解 1.物联网云平台:接收设备上报的数据.向设备下发数据.对数据进行转发/分析/计算/显示.管理设备等. 2.常见的物联网云平台一般有: ①:私有物联网云平台:假设某瓜农,为瓜棚装上了物 ...

最新文章

  1. 十大排序算法 导图总结
  2. Java并发编程-CountDownLatch
  3. 开发工具,编辑器字体
  4. 判断字符串中是否为数字的三种方法
  5. 微信网站-微信应用-微信二次开发-演示方案
  6. 用计算机制作模拟,计算机模拟设计,computer simulation design,音标,读音,翻译,英文例句,英语词典...
  7. 初体验这个平台很强大
  8. golang中的检验hash
  9. 2017 CIMS计算机集成制造系统 paper 数字孪生及其应用探索
  10. wifi信号强度测试软件 mac,Wifi Signal Strength for Mac(无线WiFi信号强度统计软件)
  11. win10升级补丁_官方win10教育版怎么样
  12. iphone 文件夹连接服务器 百度云,iPhone与电脑共享文件夹
  13. POJ 3295.Tautology
  14. 软考中级 真题 2018年下半年 系统集成项目管理工程师 基础知识 上午试卷
  15. java 富文本 word_Java导出富文本到word
  16. VS2010安装Visual Assist X
  17. FlexRay通信机制
  18. Zabbix监控网络设备模板配置
  19. 实战详解Maven部署(deploy)jar到私有仓库Nexus及如何引入私仓jar包
  20. 树莓派为什么涨价了?

热门文章

  1. 2010年上半年5月份系统分析师上午试题答案(分析与解答)之四(第3次修订 修订时间:2010年6月1日14:41)
  2. OpenMv也是一个单片机
  3. orc识别较慢_ORC识别身份证遇到的问题--已完成
  4. 2021年电工(中级)报名考试及电工(中级)模拟考试
  5. 文章1:本科毕业设计 | 多功能智能跟随行李箱 - 【设计介绍】
  6. 新手如何快速入门IT行业
  7. 人工智能六旋翼无人机制作直播间,开贴!!!!!!!!
  8. Netlist网络表解读及导入
  9. A9G GPS定位系统介绍(物联网、.NET Core web、Winform、Wpf、STM32)
  10. 未来移动医疗需建大数据服务中心