WiFi蓝牙模块开发配置过程中需要注意的细节

  在很多产品的应用场景中,WIFI网络会给我们提供很多便捷,MCU开发中大多使用串口WIFI蓝牙模块来实现产品接入WIFI网络中。
  具体的使用模型如下图所示:整个系统涉及到WIFI网络、手机、服务器平台以及我们设计的产品,一个完整的生态是这样的。服务器端要有数据库和管理平台,手机端有一个APP来远程查看或者操控,大多数智能家居产品使用这个模式。


  常规的使用流程:
  1.产品的WIFI蓝牙模块首先应该处在AP模式下,手机连接WIFI蓝牙模块释放的WIFI网络,实现手机与设备之间的网络通信,这一步是用来给WIFI配置网络使用的,这个网络是能够连接到互联网中的。


  2.当设备收到手机端传来的WIFI名称(SSID)和密码(password)时,WIFI蓝牙模块进入到STA模式下,去连接手机配置的这个WIFI网络,如果网络连接成功之后,就可以去跟服务器进行通信了。
  需要注意的是,部分WIFI蓝牙模块厂家的模块连接的WIFI名称和密码都必须是英文字符和数字,例如中文名的WIFI就无法连接。
  3.WIFI连接成功之后,就是连接服务器了,可以通过一条AT指令与服务器建立一个TCP或者UDP连接或者其他什么网络连接。使用AT指令去建立连服务器的IP和端口。
  例如:
  221.23.452.22是服务的IP地址,1883是端口。
  4.手机去连接到服务器,这样整个系统就连接到一起了,实现了手机到设备的远程查看和设置,服务器更像是一个中间媒介,将手机和设备通过网络连接起来。
  基于MCU开发串口WIFI蓝牙模块需要了解哪些?
  AT指令

  串口WIFI蓝牙模块的控制都是通过AT指令来实现的,其他一些串口模块都是这样的。这里说一些处理AT指令处理的方法。
  AT指令都是字符串格式的,C语言有专门处理字符串的函数,#include string.h这个头文件;
  指令和响应一般都是以rn作为结束符,处理数据时可以以此来作为判断;
  服务器通信协议
  有很多WIFI蓝牙模块已经集成了一些网络通信协议,例如MQTT、HTTP等网络协议,但是有一些模块是没有这些通信协议的,价格会便宜一些。如果没有通信协议,WiFi蓝牙模块只能建立TCP连接,需要开发工程师自己编写程序来实现相应的网络协议。这些协议都是标准协议,可以参考相应的文档,包括连接过程,数据格式等。
  WIFI蓝牙模块不支持MQTT协议,可以通过MCU实现。
  如何实现网络协议?需要开发工程师找到相对应的协议标准,根据协议标准去开发,因此开发工程师要对这些协议标准比较熟悉。
  建立通信协议
  上面介绍的是标准的网络通信协议,通过协议格式能够与服务器正常的连接上,能够正常的通信。但是具体发送什么内容,还需要再制定一个通信协议。
  MesoonRF美迅物联网是工业物联网无线通信模块生产厂商,提供WiFi蓝牙模块,低功耗蓝牙模块,Mesh组网模块,UWB模块,NFC模块等产品,并通过了BQB,FCC,CE,ROHS,REACH等认证。产品包括蓝牙串口透传模块,蓝牙双模,低功耗蓝牙4.2/5.0/5.1/5.2/5.3,hc05/06,BM77/78,蓝牙mesh组网等工业级、车规级物联网方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/640887.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp+php服务端实现苹果iap内购的消耗性项目和非续期订阅项目,前后端代码加逻辑分析

前言:公司的项目app在上架苹果商店时发现人家要求里面的部分购买项目必须使用iap购买的方式,使用原本的微信支付方式审核不给通过,无奈只能重新研究这个东西。做起来还是有点麻烦,主要是网上的文章很少,不能直接硬抄。…

彩信JSON接口对接发送

随着通讯技术的飞速发展,传统的短信已经无法满足人们日益增长的沟通需求。在这样的背景下,群发彩信作为一种更为先进、更为丰富的信息传递方式,逐渐受到了企业和个人的青睐。那么,群发彩信应该怎么对接,又具体有哪些优…

经常碰到的20个等待事件

经常碰到的20个等待事件 oracle等待事件简介 DBA团队维护的部分应用运行在oracle数据库平台,为及时了解数据库的运行情况,需要建立涵盖各个维度的监控体系,包括实例状态、空间使用率、ORA错误等数十项监控指标。这其中有一个有效判断数据库…

Parasoft C++Test软件静态分析操作指南_软件质量度量

系列文章目录 Parasoft CTest软件安装指南 Parasoft CTest软件静态分析操作指南_编码规范/标准检查 Parasoft CTest软件静态分析操作指南_软件质量度量 Parasoft CTest软件静态分析_自动提取静态分析数据生成文档 Parasoft CTest软件单元测试_操作指南 Parasoft CTest软件单元…

Mqtt_Java_IDEA中编写“发布者”和“订阅者”

1Java创建项目 2导入依赖 将下面Mqtt的库名复制到 <dependencies> 下面 <dependency><groupId>org.eclipse.paho</groupId><artifactId>org.eclipse.paho.client.mqttv3</artifactId><version>1.2.5</version></d…

20212416 2023-2024-2 《移动平台开发与实践》第5次作业

百度地图应用 1.实验内容2.实验过程2.1 Android Studio配置2.1. 创建一个Android项目2.2 在项目中本地集成BaiduMap SDK 2.2 编写代码2.2.1 配置AndroidManifest.xml文件2.2.2 编写UI界面布局文件2.2.3 编写主函数代码2.2.4 运行结果 3.学习中遇到的问题及解决4.学习感悟与思考…

netdiscover一键收集子网内的所有信息(KALI工具系列六)

目录 1、KALI LINUX简介 2、netdiscover工具简介 3、在KALI中使用netdiscover 3.1 目标主机IP&#xff08;win&#xff09; 3.2 KALI的IP 4、命令示例 4.1 扫描子网整个网段 4.2 指定网卡进行扫描 4.3 扫描网卡的公共网络 4.4 快速扫描网卡的公共lan地址 4.5 设置…

网络拓扑—DHCP服务配置

文章目录 DHCP服务搭建相关配置细节前提安装DHCP服务 DHCP服务搭建 相关配置细节前提 系统&#xff1a;Windows Server 2003 IP网段&#xff1a;10.0.0.0/24 三台机子&#xff1a; 普通PC机 DHCP服务器 路由器&#xff08;两块网卡&#xff0c;连接内外网&#xff09; //注…

Java进阶学习笔记6——继承的介绍

继承的学习目标&#xff1a; 认识继承&#xff1b; 继承的好处、应用场景 什么是继承&#xff1f; Java中提供了一个关键字extends&#xff0c;用这个关键字&#xff0c;可以让一个类和另外一个类建立父子关系。 继承的特点: 子类能继承父类的非私有成员&#xff08;成员变…

利用sql注入对某非法网站的渗透

本文仅用于技术讨论&#xff0c;切勿用于违法途径&#xff0c;且行且珍惜&#xff0c; 所有非经授权的渗透&#xff0c;都是违法行为 前言 这段时间一直在捣鼓sql注入&#xff0c;最近又通过一个sql注入点&#xff0c;成功进入某个非法网站的后台&#xff0c;拿到整个网站的…

mac版本Phpstudy本地环境安装Discuz教程【2024】

此方法适用于m1版本的mac版本Phpstudy本地环境安装Discuz&#xff0c;当然同样使用更高版本的mac端。网上各种安装教程参差不齐&#xff0c;根本解决不了小白的入门需求&#xff0c;以下是最新且直接明了的安装教程。 Phpstudy本地环境安装Discuz教程&#xff1a; 1、安装Phps…

渗透测试 一个很奇怪的支付漏洞

新手实战刷课网站、好玩又有趣&#xff01; 第一步 打开网站、任意账户名密码登陆发现验证码可重复利用 这时候我们可以试试admin账号、发现如果账号正确会提示账户已存在、反之回显账户密码错误 第二步 既然验证码可以重复利用&#xff1b;而且账号名有回显 这时候我们试…

安装harbor出现问题: Running 1/1 ✘ Network harbor_harbor Error

安装harbor出现问题&#xff1a; [] Running 1/1 ✘ Network harbor_harbor Error 0.2s failed to create network harbor_harbor: Error response from daemon: Fa…

数据结构和算法基础(一)

数据结构——基本概念 数据&#xff1a;数据是信息的载体&#xff0c;是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素、数据项&#xff1a;数据元素是数据的基本单位&#xff0c;通常作为…

Ansible实战YAML语言完成apache的部署,配置,启动全过程

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f3dd;️Ansible专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年5月24日15点59分 目录 &#x1f4af;趣站推荐&#x1f4af; &#x1f38a;前言 ✨️YAML语言回顾 &#x1f386;1.编写YAML文…

嵌入式作业5

在函数main.c中初始化三种颜色的灯&#xff1a; gpio_init(LIGHT_BLUE, GPIO_OUTPUT, LIGHT_OFF); //蓝灯 gpio_init(LIGHT_GREEN, GPIO_OUTPUT, LIGHT_OFF); //绿灯 gpio_init(LIGHT_RED, GPIO_OUTPUT, LIGHT_OFF); //红灯 同时为了响应以上修改&#xff0c;进入isr。c…

低代码开发:拖拽式可视化构建工业物联网系统

什么是低代码&#xff1f; 低代码(Low Code)是一种可视化的软件开发方法&#xff0c;通过最少的手动编码可以更快地交付应用程序。低代码平台的图形用户界面和拖放功能可自动执行开发过程的各个方面&#xff0c;从而消除对传统计算机编程方法的依赖。 什么是低代码平台&#…

远程桌面连接不上远程服务器,如何有效的解决远程桌面连接不上远程服务器的问题

在解决远程桌面连接不上远程服务器的问题时&#xff0c;我们需要采取一种专业且系统的方法来排查和修复可能存在的故障。以下是一些建议和步骤&#xff0c;帮助用户更有效地解决此类问题。 首先&#xff0c;用户需要确认远程服务器的状态和网络连接是否正常。 这包括检查服务器…

一键批量提取TXT文档前N行,高效处理海量文本数据,省时省力新方案!

大量的文本信息充斥着我们的工作与生活。无论是研究资料、项目文档还是市场报告&#xff0c;TXT文本文档都是我们获取和整理信息的重要来源。然而&#xff0c;面对成百上千个TXT文档&#xff0c;如何快速提取所需的关键信息&#xff0c;提高工作效率&#xff0c;成为了许多人头…

014_C标准库函数之<stdio.h>

【背景】 今天这个主要说的是<stdio.h>头文件&#xff0c;大家众所周知&#xff0c;这个是我们学习C语言时第一个接触到的头文件了&#xff0c;那么为什么我不一开始就介绍这个头文件呢&#xff1f;我觉得有两个原因&#xff0c;如下&#xff1a; 1.一开始大家的编程思…