1389|2

8

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

得捷电子Follow me第2期】+任务2:网络功能使用 [复制链接]

  本帖最后由 施小杰 于 2023-11-6 17:37 编辑

任务介绍:

任务2的内容是网络功能的使用,也就是完成网络功能的使用,能够创建热点和连接到WiFi,鉴于Circuit Python非常丰富的案列,再结合ESP32-S3本身也已经有原生软硬件支持WiFi,因此也是非常容易实现WiFI的AP模式和Station模式。

 

1.Wifi AP 热点功能

首先我们实现AP 功能,就是FSP32作为接入点,可以发射wifi。然后我们通过手机去连接。

 

首先在文件settings.toml中设置WiFi使用到的SSID和Password

 

然后利用os.getenv接口获取

import os
import wifi

print("Flow Me Task 2:WiFi AP Mode")

wifi.radio.start_ap(os.getenv("WIFI_SSID"),os.getenv("WIFI_PASSWORD"))


while True:
    pass

1.1 实验现象:

然后打开电脑的WIFI开关,搜寻附近wifi,发现有我们设置的wifi,输入密码连接即可,整体来说很简单。

 

 

 

2.WiFi Station功能连接到WiFi热点

Station 功能可以连接到连接到指定ssid和password的ap,wifi工作在无线终端模式,可通过连接热点连接到网络,基本上现实我们使用的设备都可以工作在此模式,像我们的电脑、手机,工作在这种模式称为从模式。首先同样需要在文件settings.toml中定义WiFi使用到的SSID和Password,只不过这次使用的ssid和password是被链接的ap的信息。然后再定义时间戳获取的接口api地址。接下来设置连接的信息:除了wifi密码 还有一个就是API接口的地址,我选择苏宁的接口地址,每2秒获取一次。

 

 

设置好连接参数后,接下来编写代码:

 

import os
import ssl,wifi,time
import socketpool
import adafruit_requests

from adafruit_display_text import label
from adafruit_bitmap_font  import bitmap_font

# 打印MAC地址
print(f"MAC address: {[hex(i) for i in wifi.radio.mac_address]}")

#进入联网
wifi.radio.connect(os.getenv("WIFI_SSID"), os.getenv("WIFI_PASSWORD"))
#打印IP地址
print(f"My IP address: {wifi.radio.ipv4_address}")

pool = socketpool.SocketPool(wifi.radio)
requests = adafruit_requests.Session(pool, ssl.create_default_context())

while True:
    #每2秒获取一次时间
    time.sleep(2)
    response = requests.get(os.getenv("SUNING_TIME_API"))
    print(f"{response.json()['sysTime2']}")
    


 

实验现象如下:在屏幕上面会显示时间,因为图片是以前拍的,所以时间会和发布时间有差距。

 

 

 

 心得体会:网络连接实现挺简单的,对于小白很友好。感觉可以做个类似小电视那种东西。感谢得捷电子举办的此次活动。

最新回复

网络功能使用还是挺正常   详情 回复 发表于 2023-11-7 07:42
点赞 关注
 
 

回复
举报

7095

帖子

11

TA的资源

版主

沙发
 

心得体会:网络连接实现挺简单的,对于小白很友好。感觉可以做个类似小电视那种东西。感谢得捷电子举办的此次活动。

确实简单,都是python的功劳!

 
 
 

回复

6856

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 

网络功能使用还是挺正常

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表