• 物联网开发笔记(19)- 使用Micropython开发ESP32开发板之连接WIFI热点


            我们的ESP32开发板是拥有WIFI和蓝牙功能的。这里我们先告诉大家如何将ESP32开发板连接到我们家里的无线路由器上,并和连接到家里无线路由器的一台电脑进行通讯。

    一、环境

            ESP32开发板+Thonny IDE+Win10+网络调试助手工具

            后面设备联网的基本信息:开发板IP: 192.168.104, 电脑IP: 192.168.0.101, 无线路由器为TP-Link(其他任意品牌也可)

    二、整体通讯架构

            

     三、ESP32开发板无线模式

            分位两种模式:

    Access Point(AP) 无线接入点 模式,相当于手机开启了WIFI热点,其他的设备可以连接到这个WIFI上。或者说家里的无线路由器也是AP。

    Station(STA) 无线终端 模式, 相当于我们的手机连接到我们家里的无线路由器。

    四、连接WIFI

    大家可以参考官方文档,进行学习。记住,官方文档一定要看。

     我们参考以上编写我们的代码,连接到家里的WIFI:

    1. import network
    2. # 为开发板创建网络,模式为STA模式
    3. wlan = network.WLAN(network.STA_IF) # create station interface
    4. # 激活STA
    5. wlan.active(True) # activate the interface
    6. # ESP32开发板扫描网络
    7. wlan.scan() # scan for access points
    8. # 判断是否连接。没连接上返回false
    9. wlan.isconnected() # check if the station is connected to an AP
    10. # 连接网络,ssid指WIFI名字,key指密码
    11. wlan.connect('ssid', 'key') # connect to an AP
    12. # 连接后,获取ESP32开发板的MAC地址
    13. wlan.config('mac') # get the interface's MAC address
    14. # 获取开发板的IP地址,子网掩码,网关,DNS
    15. wlan.ifconfig() # get the interface's IP/netmask/gw/DNS addresses

    打开Thonny编辑器,输入以上代码,添加一些打印信息,方便知道是否连接成功,并获得一些信息。接着保存运行。

     

     五、测试

            我们应该怎么去测试开发板通过WIFI给我们的电脑,相互传数据呢?

    下面我们使用一个工具: 网络调试助手,来实现。

    下载链接:NetAssist网络调试助手 V5.0.3-软件工具-野人家园 (cmsoft.cn)icon-default.png?t=M85Bhttp://www.cmsoft.cn/resource/102.html        1, 开发板给电脑发送数据

    打开后如下设置即可:

     点击open后,放在桌面上

    下面准备进行测试,使用Thonny,从开发板给电脑发送数据

    1. from socket import *
    2. # 创建udp套接字
    3. udp_socket = socket(AF_INET, SOCK_DGRAM)
    4. # 准备接收方的地址,即家里电脑的IP地址
    5. dest_addr = ('192.168.31.56', 8080)
    6. # 从键盘获取数据
    7. send_data = "hello world"
    8. # 发送数据到指定的电脑上
    9. udp_socket.sendto(send_data.encode('utf-8'), dest_addr)
    10. # 5. 关闭套接字
    11. udp_socket.close()

     这个时候我们看到返回了一个“12”(你也许是其他数字),即代表我们发送成功,然后在网络调试助手上就可以看到我们发送的数据:

             2,电脑给开发板发送数据

    那么我们可以通过电脑给开发板发送数据不?答案当然是可以的。

    我们现在Thonny上,把开发板设为接收数据状态, 然后打开网络调试助手,输入我们想要发送的信息:

    在网络助手上输入数据,然后发送:

     发送后Thonny交互模式会发生变化

     然后我们打印出接收到的数据:

     到这里我们就可以实现开发板和电脑进行通讯,开发板拥有了网络功能就可以写很复杂的应用。是不是很有趣啊。

    最后实验完成关闭我们的udp套接字:

     

  • 相关阅读:
    50个Linux常用命令行快捷键(大部分适配Mac OS)
    CSS动画-transition/animation
    Python可视化应用实战案例30篇(一)-基础绘图命令详解含大量示例代码(附Python代码)
    INTERSPEECH 2022|CALM: 基于对比学习的表现力语音合成跨模态说话风格建模【语音之家】
    奥克斯空调红外遥控信号编码协议的分析,STC51单片机读红外程序
    C和指针 第15章 输入/输出函数 15.2 终止执行
    0-spring源码开班典礼--学习源码的方法论
    Jmeter接口自动化测试 —— Jmeter下载安装及入门
    【Asp.net】Asp.net core中IIS配置注意事项
    国际版阿里云/腾讯云:弹性高性能计算E-HPC入门概述
  • 原文地址:https://blog.csdn.net/zhusongziye/article/details/126920058