×

如何将WizFi360 EVB Mini添加到树莓派Pico Python

消耗积分:0 | 格式:zip | 大小:0.14 MB | 2022-12-01

李志静

分享资料个

描述
WizFi360是一款低成本、低功耗的工业级WiFi模块。兼容IEEE802.11 b/g/n标准,支持SoftAP、Station和SoftAP+Station模式。串口波特率最高可达2Mbps。

指示

pYYBAGNsWpSANKoVAAE5C-2xxuA658.png
 

WizFi360-EVB-Mini 功能

 
 
WizFi360 可以用非常简单的电路设计,并且可以使用 UART1 进行数据传输。
WizFi360 通过 UART 控制 AT 指令,连接 Micro USB 时使用 UART0。

MicroPython Thonny IDE 安装

  • MicroPython Thonny IDE 安装

https://thonny.org/

  • 下载 Thonny 并为您的 Raspberry Pi Pico 板进行设置。
pYYBAGNsWpmAAm44AABw-a9VfGM472.png
 
  • 工具 -> 选项 -> 解释器
  • 在选项中设置 Raspberry Pi Pico 和 COMx
pYYBAGNsWp2ACJPkAAD3SYo5NFg329.png
 
poYBAGNsWqCAV_QpAACs218hRaQ030.png
 

Hercules_3.2.8 设置实用程序

  • 安装 Hercules SETUP 实用程序

https://www.hw-group.com/software/hercules-setup-utility

poYBAGNsWwOAVMkcAAEMUAiN1t0910.png
 
  • 从连接到 WizFi360 所连接的同一个 WiFi AP 的 PC 上打开 TCP 服务器。
poYBAGOIIliAHdkXAACtvWsaLE4502.png
 

将 WizFi360-EVB-Mini 连接到树莓派 Pico

树莓派 Pico 引脚图
pYYBAGNsXEOAAkxHAAFNmI15R2U964.png
 
WizFi360-EVB-Mini管脚图
pYYBAGOIIl6AALl6AAEvs8Kljh4008.png
 
原理图

WizFi360-EVB-Mini连接图

poYBAGNsWqiAY-K8AAGDyoMNcbQ274.jpg
 
pYYBAGNsWquAM-XyAABYhmv7Vlw019.jpg
 

概述

  • WizFi360有3种操作模式。
  • -Station mode
  • -SoftAP mode
  • -Station + SoftAP mode
  • 站模式
Station模式是WizFI360连接AP(Router)的一种方式。通过 DHCP 从 AP 分配 IP 接收或通过设置静态 IP 使用。
  • 软AP模式
在 SoftAP 模式下,WizFI360 作为 AP 运行。其他设备作为 Station 连接到 WizFi360。WizFi360 分配一个连接到设备的 IP,它只能在本地网络中通信。
  • Station+SoftAP模式
在 Station + SoftAP 模式下,WizFi360 同时充当 Station 和 AP。
pYYBAGOIImuALz3JAABqGCHJuUo481.png
 

We will use station mode.

WizFi360 UART + AT 指令测试

WizFi360_AT_Client.py

AT+CWJAP_CUR="SSID","PASSWORD

只需输入您要连接的 AP(路由器)的 ID 和 PW。

AT+CIPSTART=0,"TCP","YOUR_IP_ADDRESS",5000

在 YOUR_IP_ADDRESS 中输入服务器的 IP。

import os, sys
import utime
from machine import UART,Pin

print(os.uname())

#LED
led = machine.Pin(25, machine.Pin.OUT)
led.value(0)
utime.sleep(0.5)
led.value(1)

#UART
#uart = machine.UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))
uart = machine.UART(1, baudrate=115200, tx=Pin(8), rx=Pin(9))
print("UART Setting...")
print(uart)

#Functions
def sendCMD_waitResp(cmd, timeout=3000):
    print("CMD: " + cmd)
    uart.write(cmd)
    waitResp(timeout)
    print()
    
def waitResp(timeout=3000):
    prvMills = utime.ticks_ms()
    resp = b""
    while (utime.ticks_ms()-prvMills) < timeout:
        if uart.any():
            resp = b"".join([resp, uart.read(1)])
    print(resp)

#AT command Test
sendCMD_waitResp("AT\r\n") #AT
sendCMD_waitResp("AT+GMR\r\n") #AT ver

utime.sleep(1)
#sendCMD_waitResp("AT+RST\r\n") #reset
sendCMD_waitResp("AT+CWMODE_CUR=1\r\n") # Station Mode
sendCMD_waitResp("AT+CWDHCP_CUR=1,1\r\n") #DHCP on

utime.sleep(1)
sendCMD_waitResp('AT+CWJAP_CUR="SSID","PASSWORD"\r\n') #AP connecting
sendCMD_waitResp("AT+CIPSTA_CUR?\r\n") #network chk


#TCP Client
sendCMD_waitResp("AT+CIPMUX=1\r\n")
sendCMD_waitResp('AT+CIPSTART=0,"TCP","YOUR_IP_ADDRESS",5000\r\n') #connect Server

print("connected...")
print("RPi-PICO with WizFi360")

Data = bytes()

while True:
    if uart.any()> 0:
        Data += uart.read(10)
        print("read...")
        utime.sleep(0.5)
        led.value(0)
        print(Data.decode('utf-8'))
        led.value(1)
  • 这是执行 Pico WizFi360 AT 命令的结果。
  • WizFi360返回OK,可以使用AT指令。
pYYBAGOIIm6AN__xAADFq9W8rIY472.png
 
  • 确认服务器已连接在您的 PC 上。
poYBAGOIInCAKxN8AACqWxFDW84661.png
 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !