【 ST NUCLEO-H743ZI测评】(4)初体验 物联网之MQTT
<div class='showpostmsg'> 本帖最后由 bigbat 于 2019-2-25 19:39 编辑之前由于stm32cubeMX的lwIP的失利,很是挫败。看到有@54chenjq 的TCP/IP的帖子提到了CycloneTCP这个软件包。就研究一下,发现能用,就测试一下MQTT功能。
测试用NUCLEO-H743ZI开发板由ST公司提供,详细资料请访问官方网址
1、准备测试工具,首先下载一个测试客户端工具,当然你也可以自己写。我是找到了MQTT.fx,http://www.jensd.de/apps/mqttfx/1.7.1这个工具。代理服务器,本来我是自己搭建了一个,但是考虑到广大坛友的情况,就决定使用一个免费的代理服务器“iot.eclipse.org”。毕竟只是测试。也没有比要太麻烦。
2、修改main.c的源码,用于联网和建立MQTT参数。
#define APP_USE_DHCP ENABLED
#define APP_IPV4_HOST_ADDR "192.168.0.20"
#define APP_IPV4_SUBNET_MASK "255.255.255.0"
#define APP_IPV4_DEFAULT_GATEWAY "192.168.0.1"
#define APP_IPV4_PRIMARY_DNS "8.8.8.8"
#define APP_IPV4_SECONDARY_DNS "8.8.4.4"
#define APP_USE_SLAAC ENABLED
#define APP_IPV6_LINK_LOCAL_ADDR "fe80::743"
#define APP_IPV6_PREFIX "2001:db8::"
#define APP_IPV6_PREFIX_LENGTH 64
#define APP_IPV6_GLOBAL_ADDR "2001:db8::743"
#define APP_IPV6_ROUTER "fe80::1"
#define APP_IPV6_PRIMARY_DNS "2001:4860:4860::8888"
#define APP_IPV6_SECONDARY_DNS "2001:4860:4860::8844"
//MQTT server name
#define APP_SERVER_NAME "iot.eclipse.org"
这个我就不多费话了!根据你的情况自己看着干吧...
3、如何编译;首先必须同意CycloneTCP的试用协议,也就是编译时定义EVAL_LICENSE_TERMS_ACCEPTED 这个宏为"1",这样才能顺利编译。目测的情况是评估缺失很多源码。
也是根据自己的编译工具来设置啦。编译下载
4、设置好串口参数,运行开发板,看到串口中的提示。
说明已经连接上了服务器。
5、配置MQTT.fx软件
这些参数都是之前从源码中查到的。配置好服务器参数后。订阅主题:
“board/status”
可以看到收到了消息“online”,说明已经成功!
下面点个led灯吧。只要向"board/leds/2"主题发布“on”就可以开灯啦。
发布成功,STM32H743开发板上的LED2的灯亮了。同时也可以串口中发现收到了消息。
当然还有一个测试就是在MQTT.fx里订阅“board/buttons/1”主题,然后,按开发板上的蓝色按键,就可以收到消息了。
总结:这个协议对MQTT的支持还是很不错的,只是有点遗憾的是这个CycloneTCP的协议是商业的。
此内容由EEWORLD论坛网友bigbat原创,如需转载或用于商业用途需征得作者同意并注明出处
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> 今天调了一下USB设备,还是用的STM32CUBEMX,又是一个大坑。USB设备根本就没有反应。如果有哪位朋友调试通了请通知一声。 测评文章汇总:
@54chenjq
@supermiao123
@柠檬酸钠
@dsjsjf
你们有没有调试过USB设备呀,有通过的请说一声。今天用\STM32Cube_FW_H7_V1.3.0\Projects\STM32H743I_EVAL库中的程序都试过也不行。PC机这边没有任何反应。根本就没有发现USB设备。
bigbat 发表于 2019-2-26 16:53
测评文章汇总:
@54chenjq
@supermiao123
@柠檬酸钠
@dsjsjf
你们有没有调试过USB设备呀,有通过 ...
usb线是插在CN13上的吧?
同时插CN1给板子供电没? 板子是插在CN13上供电的。如果,插到CN1上是板子是启动不了的,CN1就是插了USB线不亮,启动后LED8是亮的,LED7不亮。
SB187 =1,SB186=0,SB185=1,SB184=0
有个跳线USB_EN好像是插上的。
是不是,还有跳线没有插好? littleshrimp 发表于 2019-3-10 18:19
usb线是插在CN13上的吧?
同时插CN1给板子供电没?
请问,你有ST NUCLEO-H743ZI这样的板子吗? bigbat 发表于 2019-3-11 09:12
板子是插在CN13上供电的。如果,插到CN1上是板子是启动不了的,CN1就是插了USB线不亮,启动后LED8是亮的,L ...
同时插上CN1和CN13试试 bigbat 发表于 2019-3-11 09:13
请问,你有ST NUCLEO-H743ZI这样的板子吗?
我有类似的STM32板子 littleshrimp 发表于 2019-3-11 09:30
同时插上CN1和CN13试试
就是同时插上CN1和CN13的
页:
[1]