前言:仅记录,避免遗忘。难点在于网络配置
一、建立物理连接
用网线连接CH32V307开发板与电脑
二、网络分配
在设置中找到网络和internet -> 找到以太网
在IP分配处点击编辑,
然后按照如下配置,
实际上分配方法有很多,最终目的是使得CH32与我们的电脑处在同一网段
此时我们的网段是:192.168.1.0/24, 意味着只要我们CH32的ip地址在此网段内,就能与我们的电脑(我们的专用网络中设置的电脑IP地址:192.168.1.11)通信
三、CH32开发板烧录测试代码
https://www.wch.cn/downloads/CH32V307EVT_ZIP.html
下载此网址文件,解压打开,找到
CH32V307EVT\EVT\EXAM\ETH\TCPClient, 在mounriverStudio将其打开并编译烧录
进开发板
确保我们的物理连接良好,使用ping命令ping 192.168.1.10, 没错,也就是代码中的:
也不难发现,我们之前的网络分配正是为了将就代码,当然你也可以修改代码将就你的网络分配,只要CH32与电脑处于同一网段
这么做的目的是什么?
ping命令后结果如下表示硬件连接良好
四、启用电脑网络共享
进入 控制面板 -> 网络和internet -> 网络和共享中心 -> 更改适配器设置 -> 找到你的主网络比如我用的wifi就选这个,右键它,然后点击属性
点击“共享"
如下选择(因为我们分配网络用的以太网)
弹出:
回到设置,网络,以太网,我们发现:
没错,为了共享,它为我们重新分配了IP,这意味着我们也要相应的修改单片机ip使得其可以正常上网,连接mqtt
五、MQTT测试
我们先打开MQTTX软件
新建一个连接,用户名密码根据需要定,我这里就随便定了
添加两个主题,一个拿来收,一个拿来发:
确保MQTTX这边我们已经启动
现在我们烧录MQTTX测试代码:
在之前下载的文件找到:
CH32V307EVT\EVT\EXAM\ETH\MQTT
打开它,找到main.c文件,我们稍作修改:
IPAddr只需满足在重新分配的网段即可
为什么DESIP目标地址是44.232.241.40?
因为broker.emqx.io的ip地址就是44.232.241.40,可以使用简单的ping命令验证:
一切准备就绪,我们编译烧录
随便打开一个串口助手,波特率115200, 可以看到
说明成功
我们这时在MQTTX软件发送消息到YZNU/a主题,当然,那个主题收发自己定,
在串口那边看到:
没问题
而且CH32会发送心跳包:
看到此现象说明成功跑通基础的mqtt收发