STM32F1网络编程W5500动态获取IPDHCP
STM32F1网络编程-W5500-动态获取IP(DHCP)W5500-动态获取IP(DHCP)在前面的文章中,我们成功将W5500的驱动成功移植,并以静态方式配置W5500的IP。本文在前面文章介绍内容的基础上,详细介绍如何配置W5500动态获取IP,即DHCP方式分配IP。
配置W5500的DHCP方式步主要骤如下:
第一步,设置网卡属性为NETINFO_DHCP
第二步,设置网卡信息
第三步,初始化W5500芯片
第四步,DHCP初始化
第五步,注册DHCP回调函数
第六步,通过调用DHCP_run函数查询
DHCP移植基本定义如下:
123456789101112131415161718192021222324/\* \* w5500\_port.h \* \* Created on: 2022年6月29日 \* Author: jenson \*/#ifndef W5500\_PORT\_H\_#define W5500\_PORT\_H\_#define W5500\_USE\_STATIC//#define W5500\_USE\_DHCPvoid wiznet\ ...
STM32F1与STM32CubeIDE综合实例MPU6050数据3D可视化基于Python
STM32F1与STM32CubeIDE综合实例-MPU6050数据3D可视化(基于Python)MPU6050数据3D可视化(基于Python)MPU-6050™ 部件是一款针对智能手机、平板电脑和可穿戴传感器的低功耗、低成本和高性能要求而设计的运动跟踪设备。
MPU-6050 集成了 InvenSense 的 MotionFusion™ 和运行时校准固件,使制造商能够消除在运动支持产品中分立器件的昂贵和复杂的选择、鉴定和系统级集成,确保传感器融合算法和校准程序提供最佳的为消费者提供性能。
MPU-6050 器件在同一硅芯片上结合了 3 轴陀螺仪和 3 轴加速度计,以及处理复杂 6 轴 MotionFusion 算法的板载 Digital Motion Processor™ (DMP™)。该器件可以通过辅助主 I²C 总线访问外部磁力计或其他传感器,从而使器件无需系统处理器干预即可收集全套传感器数据。
本次实例将实现MPU6050采集的3轴加速计数据在Python中显示3D动画效果。
1、硬件准备
STM32F103VE开发板一块
MPU6050传感器一块
面包板一块
杜邦线若干 ...
STM32F1网络编程TCP客户端基于W5500网卡
STM32F1网络编程-TCP客户端(基于W5500网卡)TCP客户端(基于W5500网卡)在前面的文章中,我们实现了W5500的驱动移植并实现了W5500的静态IP设置和动态IP获取。本次实例将简单实现一个简单的TCP客户端,实现与TCP服务器通信。对于TCP协议在这里不做介绍,请参考相关专业资料。
STM32F1网络编程-W5500网卡驱动移植
STM32F1网络编程-W5500-动态获取IP(DHCP)
W5500客户端实现的主要步骤如下:
1)查询socket状态。通过调用W5500驱动API的getSn_SR查询socket状态。(注意:W5500支持的socket编号为0~7)
2)当socket状态为SOCK_INIT时,连接服务器
3)当socket状态为SOCK_ESTABLISHED时,可以向服务器接收或发送数据。
4)当socket状态为SOCK_CLOSE_WAIT时,关闭socket
在STM32CubeIDE工程的Application目录下分别创建tcp_client_demo.h和tcp_client_demo.c文件,其内容如下:
123456 ...
STM32F1网络编程TCP服务器基于W5500网卡
STM32F1网络编程-TCP服务器(基于W5500网卡)TCP服务器(基于W5500网卡)在前面的文章中,我们实现了W5500的驱动移植并实现了W5500的静态IP设置和动态IP获取。本次实例将简单实现一个简单的TCP服务器,实现与TCP客户端通信。对于TCP协议在这里不做介绍,请参考相关专业资料。
STM32F1网络编程-W5500网卡驱动移植
STM32F1网络编程-W5500-动态获取IP(DHCP)
W5500客户端实现的主要步骤如下:
1)查询socket状态。通过调用W5500驱动API的getSn_SR查询socket状态。(注意:W5500支持的socket编号为0~7)
2)当socket状态为SOCK_INIT时,监听客户端
3)当socket状态为SOCK_ESTABLISHED时,可以向客户端接收或发送数据。
4)当socket状态为SOCK_CLOSE_WAIT时,关闭socket
在STM32CubeIDE工程的Application目录下分别创建tcp_server_demo.h和tcp_server_demo.c文件,其内容如下:
123456 ...
STM32F1网络编程UDP通信基于W5500网卡
STM32F1网络编程-UDP通信(基于W5500网卡)UDP通信(基于W5500网卡)本次实例将实现UDP协议通信。在前面的文章中,已经实现对W5500的驱动移植、IP获取方式和简单的TCP客户端和TCP服务器实现,请参考:
STM32F1网络编程-W5500网卡驱动移植
STM32F1网络编程-W5500-动态获取IP(DHCP)
STM32F1网络编程-TCP客户端(基于W5500网卡)
STM32F1网络编程-TCP服务器(基于W5500网卡)
UDP通信的主要步骤如下:
1)查询socket状态。通过调用W5500驱动API的getSn_SR查询socket状态。(注意:W5500支持的socket编号为0~7)
2)当socket状态为SOCK_UDP时,接收、处理远程主机数据,还可以将处理结果发送回远程主机
3)当socket状态为SOCK_CLOSED时,创建本地UDP监听。
在STM32CubeIDE工程的Application目录下分别创建udp_demo.h和udp_demo.c文件,其内容如下:
123456789101112131415/\* \* ...
STM32F1网络编程DNS客户端查询域名IP地址基于W5500网卡
STM32F1网络编程-DNS客户端查询域名IP地址(基于W5500网卡)DNS客户端查询域名IP地址(基于W5500网卡)在进行socket进行编程时,有时只知道目标主机的域名,不清楚其IP地址,这里就需要通过DNS进行查询目标主机的IP地址。W5500的驱动支持DNS客户端,因此可以通过它来实现目标主机IP地址查询。本文将详细介绍如何使用W5500的DNS客户端进行IP地址查询。
前面的文章对W5500的驱动移植做了详细的介绍,请参考:
STM32F1网络编程-W5500网卡驱动移植
DNS客户端目标主机IP地址的主要步骤如下:
初始化DNS客户端,通过调用DNS_init函数实现
执行DNS进行目标主机IP地址查询。通过调用DNS_run函数实现。
在main.c文件中,添加如下代码:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 ...
STM32F1网络编程HTTP客户端请求基于W5500网卡
STM32F1网络编程-HTTP客户端请求(基于W5500网卡)HTTP客户端请求(基于W5500网卡)HTTP是超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。本文将详细介绍如何在W5500驱动基础上实现HTTP请求。
W5500中的HTTP请求主要由如下步骤组成:
1)初始化HTTP客户端
2)创建HTTP客户的TCP连接
3)向远程服务发送HTTP请求头
4)读取远程服务器HTTP响应数据
关于W5500的驱动移植及IP设置、获取,请参考:
STM32F1网络编程-W5500网卡驱动移植
STM32F1网络编程-W5500-动态获取IP(DHCP)
关于TCP客户的通信过程,请参考:
STM32F1网络编程-TCP客户端(基于W5500网卡)
STM32F1网络编程-TCP服务器(基于W5500网卡)
关于远程主机IP查询,请参考:
STM32F1网络编程-DNS客户端查询域名IP地址(基于W5500网卡)
1、HTTP客户端实现在STM32CubeIDE工程的Applic ...
STM32F1网络编程HTTP服务器基于W5500网卡
STM32F1网络编程-HTTP服务器(基于W5500网卡)HTTP服务器(基于W5500网卡)HTTP是超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。HTTP服务器本质是TCP服务器。W5500驱动实现HTTP服务器的简单封装,并提供简单灵活的调用接口。本次实例将演示如何使用W5500的HTTP服务器接口。
W5500驱动的HTTP服务器接口主要调用步骤如下:
1)初始化HTTP服务器
2)注册HTTP服务硬件重置函数
3)注册HTTP服务器页面
4)实现HTTP服务请求响应
5)监听HTTP请求
关于W5500的驱动移植及IP设置、获取,请参考:
STM32F1网络编程-W5500网卡驱动移植
STM32F1网络编程-W5500-动态获取IP(DHCP)
关于TCP通信过程,请参考:
STM32F1网络编程-TCP客户端(基于W5500网卡)
STM32F1网络编程-TCP服务器(基于W5500网卡)
关于远程主机IP查询,请参考:
STM32F1网络编程-DNS客户端查询域 ...
STM32F1网络编程MQTT客户端基于W5500网卡
STM32F1网络编程-MQTT客户端(基于W5500网卡)MQTT客户端(基于W5500网卡)MQTT 是用于物联网 (IoT) 的 OASIS 标准消息传递协议。 它被设计为一种极其轻量级的发布/订阅消息传输,非常适合连接具有小代码足迹和最小网络带宽的远程设备。 如今,MQTT 被广泛用于各种行业,例如汽车、制造、电信、石油和天然气等。
W5500驱动支持MQTT客户端。本次实例将演示如何使用MQTT客户端。
MQTT客户端的主要使用步骤如下:
1)初始化Network对象,并连接Network
2)初始化MQTTClient对象
3)创建MQTT连接
4)订阅主题
5)发布主题
注意:在连接Network时,如MQTT服务器使用的是域名而不是IP地址,则需要使用DNS客户端查询MQTT服务器的IP地址。
关于W5500的驱动移植及IP设置、获取,请参考:
STM32F1网络编程-W5500网卡驱动移植
STM32F1网络编程-W5500-动态获取IP(DHCP)
关于TCP通信过程,请参考:
STM32F1网络编程-TCP客户端(基于W5500网卡)
ST ...
ESP8266Arduino编程实例认识ESP8266
ESP8266-Arduino编程实例-认识ESP8266认识ESP8266ESP8266 是一款适用于物联网和家庭自动化项目的 Wi-Fi 模块。它允许像使用 Arduino一样控制输入和输出,由于它带有 Wi-Fi。因此,它非常适合家庭自动化/物联网应用程序。
ESP8266模块核心处理器 ESP8266Ex 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,板载天线。支持标准的 IEEE802.11 b/g/n 协议,完整的 TCP/IP 协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。
802.11 b/g/n
内置Tensilica L106 超低功耗 32 位微型 MCU,主频支持 80 MHz 和160 MHz,支持 RTOS
内置10 bit高精度ADC ...
