• STM32物联网通信WIFI


    一、WiFi通讯简介

       Wi-Fi模块又名串口Wi-Fi模块,属于物联网传输层,功能是将串口或TTL电平转为符合Wi-Fi无线网络通讯标准的嵌入式模块,内置无线网络协议IEEE802.11b.g.n协议栈以及TCP/IP协议栈。传统的硬件设备嵌入Wi-Fi模块可以直接利用Wi-Fi连入互联网,是实现无线智能家居、M2M等物联网应用的重要组成部分。

       1、庆科EMW3060应用模式,EWM3060支撑单AP模式、单STA模式和混合模式:

         AP模式:无线接入点,是一个无线网络的创建者,是网络的中心节点。比如一个无线路由器就是一个AP。

         STA模式:每一个连接到无线网络的终端称为一个STA站点可以连接上当前环境下的WIFI热点。

      2、什么是透传模式?

        透传就是指不需要关心wifi协议是如何实现的。所需要做的就是A通过串口发送数据,B通过串口接收数据,整个过程中A串口和B串口就像是用导线直接连接在一起,这样对开发人员来说就是完全透明的。

    二、Wifi通讯流程分析

    STATION模式下的TCP客户端

      1、进入AT指令模式 +++
      2、设置并开启STATION模式,等待连接成功 AT+WJAP=Xiaomi_BB0C,www.induscn.cn53307985
        模块返回 +WEVENT:STATION_UP
      3、PC机连接到 Xiaomi_BB0C;PC端打开cmd.exe,输入指令:ipconfig
        成功连接 Xiaomi_BB0C,PC机的IP地址:192.168.0.153
      4、设置模块做tcp client的参数 AT+CIPSTART=1,tcp_client,192.168.0.153,8080
        OK
      5、PC起TCP服务器并自动连接(设置端口号为8080)
        与模块的tcp client自动连接成功。 +CIPEVENT:1,SERVER,CONNECTED
      6、AT指令模式下,模块通过串口向TCP服务端发数据 AT+CIPSEND=1,10 12325hjdgd
        TCP客户端接收区收到:12325hjdgd
      7、TCP服务端工具发送区发送:1234567890
        发送成功
      8、透传模式下,模块通过串口向TCP客户端发数据 进入透传模式 AT+CIPSENDRAW
        串口输入:abcdefghijklmn
        PC端TCP服务端接收到 abcdefghijklmn
      9、透传模式下,TCP客户端发送数据至模块串口 TCP服务端发送区输入数据:1234567890
        模块串口接收到:+CIPEVENT:SOCKET,1,10,1234567890

    AP模式下模块作为TCP服务端

      1、设置并开启Soft_AP模式 AT+WSAP=jerry,12345678 等5S时间
        回应 OK
      2、查询模块的IP地址 AT+WSAPIP?
        回应 +WSAPIP:10.10.10.1,255.255.255.0,10.10.10.1

      3、PC连接到模块启动的AP PC端 Wlan 列表找到AP:jenny,并连接
        成功连接
      4、设置模块做TCP Server AT+CIPSTART=0,tcp_server,8080

      5、PC起TCP客户端并连接 目标IP:10.10.10.1,目标端口:8080,不指定本地端口
        连接成功 连接成功.+CIPEVENT=CLIENT,CONNECTED,10.10.10.2,54849连接成功.+CIPEVENT=CLIENT,CONNECTED,10.10.10.2,54849
      6、AT指令模式下,模块通过串口向TCP客户端发数据 AT+CIPSEND=0,54849,5 12345
        回应 TCP客户端接收区收到:12345

      7、AT指令模式下,TCP客户端向模块串口发数据 1. TCP工具发送区发送:1234567890
        回应 发送成功

     

    三、关于无线通讯模块开发流程总结

      常用于物联网方向的无线通讯模块主要包括GPRS、4G、WIFI、zigbee、蓝牙等。使用这些模块都是单片机通过AT指令与模块进行通讯,在开发的过程中,只需要按照模块官网提供的指令以及发送指令的工具进行通讯,官方一般还会提供基础指令使用用例,根据这些资料开发。

     

     

    基础指令用例

     

  • 相关阅读:
    lc377完全背包问题
    lc650
    lc583
    java static序列化
    lc90回溯
    lc78回溯
    Java基础之常量池
    语法与语义
    数据结构之复杂度分析
    数据结构与算法前言
  • 原文地址:https://www.cnblogs.com/gzqblogs/p/10598892.html
Copyright © 2020-2023  润新知