452|1

32

帖子

4

TA的资源

一粒金砂(中级)

楼主
 

【得捷电子Follow me第3期】任务4:连接WiFi网络 [复制链接]

 

任务要求

将Seeed Studio XIAO ESP32C3连接到WiFi网络,并访问互联网信息

 

硬件准备

该任务使用 Seeed Studio XIAO ESP32C3 即可完成,但需要将 IPEX 天线连接上,否则会因为信号衰减过多导致网络连接不稳定。

 

代码实现

这里我将使用 Seeed Studio XIAO ESP32C3 连接至WIFI,并使用 http 协议请示当前时间并显示在 OLED 屏幕上,作为目标来完成该任务。

实现代码如下:

import time
import utime
import network
import urequests
import ujson
import task2


# 网络配置
wifi_ssid = "WIFI_SSID"
wifi_password = "WIFI_PASSWORD"

# 获取当前时间API
url = "https://f.m.suning.com/api/ct.do"

station = network.WLAN(network.STA_IF)
station.active(True)

# 连接至wifi
def connect_wifi():
    # 不断尝试连接到配置的WIFI
    while not station.isconnected():
        print("Connecting...")
        station.connect(wifi_ssid, wifi_password) # 连接至配置的WIFI AP
        time.sleep(10)

    # 连接成功,输出IP地址
    print("Connected!")
    print("My IP Address:", station.ifconfig()[0])
    # 显示IP地址在OLED上
    task2.text_ip = station.ifconfig()[0]
    

# 获取wifi连接状态
def get_wifi_state():
    return station.isconnected()


def get_time():
    # 请示当前时间
    response = urequests.get(url)
    # 检查返回请求返回状态码
    if response.status_code == 200:        
        '''
        获取到的结果JSON:
            {"api":"time","code":"1","currentTime": 1700054614641,"msg":""}
        '''
        # 解析返回的JSON数据
        data = ujson.loads(response.text)
        # 获取到的时间戳单位是毫秒,MicroPython time 转换时间戳的单位是秒,因此需要先进行换算。
        # 另外获取到的时间戳起始时间是1970年1月1日,而 MicroPython esp32 time 模块起始时间为 2000年1月1日 因此还需要减去差值
        local_time = utime.localtime(int(data["currentTime"] / 1000) - 946656000)
        # 格式化显示时间, 由于屏幕宽度有限这里只显示 月-日 时:分:秒
        local_data_time = "{:02d}-{:02d} {:02d}:{:02d}:{:02d}".format(local_time[1], local_time[2], local_time[3], local_time[4], local_time[5])
        print("Local Date Time:", local_data_time)
        # 更新时间显示
        task2.show_date_time(local_data_time)
    else:
        task2.show_date_time("Failed to get the time!")

 

效果展示

连接网络成功并正确获取到时间后,在 OLED 上显示当前时间,实现效果如下图所示:

 

演示视频


 

最新回复

感谢楼主提供的技术分享,先收藏学习再发表个人意见,顶起来   详情 回复 发表于 2023-11-23 19:51
点赞 关注
 
 

回复
举报

755

帖子

4

TA的资源

纯净的硅(高级)

沙发
 

感谢楼主提供的技术分享,先收藏学习再发表个人意见,顶起来

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表