Arduino UNO和wifi shield v3的通讯问题
2014-06-081.1万
AI 快速预览详细
本文讨论了Arduino UNO与WIFI Shield V3之间的TCP消息接收问题。作者发现通过串口可以正常通讯,但通过WiFi发送的消息无法正确返回,且接收到的字符为非ASCII码。文章提供了详细的故障排查方法,包括在loop中持续打印信息以保持WiFi通讯畅通,或先用串口工具连接后再进行WiFi通讯。这些方法有助于解决TCP通讯问题,确保项目的顺利进行。
|
首先提一个问题: 我知道Arduino可以通过Serial.print给TCP Client发送消息,但是不知道arduino能否接收到client发送的消息? 如果可以的话,我在使用的过程中遇到了下面两个问题: 1、用产品官方文档的测试代码https://wiki.dfrobot.com.cn/index.php/(SKU:TEL0078)WIFI_Shield_V3_PCB_Antenna_WIFI%E6%89%A9%E5%B1%95%E6%9D%BF_V3_PCB%E5%A4%A9%E7%BA%BF 可以通过串口进行通讯,就是我用串口对板子说什么,板子可以把我说的内容回复过来,显示在IDE的串口调试工具上,但是我使用TCP工具的时候,可以接受到板子setup函数里print的内容,却不能返回我通过wifi发送给板子的内容。 2、我用一些其他的代码进行测试,比如: 发现板子是可以接收到信息的,我输入1、2,但是给我返回的信息都是什么255、238这类的数字,很明显不是ASC2码。 另外在这个测试中还发现一点,就是我必须在loop中一直打印东西,比如Serial.println(a);,才能保证我用wifi可以发送消息,否则的话必须先用串口工具connect一下,才能接受到loop返回的信息。 希望在这里能得到一些有用的信息,谢谢! |





另外你把wifi shield 设置为了服务器模式 还是客户端模式,能不能把其他设置的那张截图给贴出来一下。wiki中都有两个模式的介绍,可以参考一下
wifi shield工作在服务器模式:https://wiki.dfrobot.com.cn/index.php/(SKU:TEL0079)WIFI_Shield_V3_RPSMA_WIFI%E6%89%A9%E5%B1%95%E6%9D%BF_V3_PRSMA%E6%8E%A5%E5%8F%A3#wifi_shield.E5.B7.A5.E4.BD.9C.E4.BA.8ETCP-Server.E6.A8.A1.E5.BC.8F
wifi shield工作在客户端模式:https://wiki.dfrobot.com.cn/index.php/(SKU:TEL0079)WIFI_Shield_V3_RPSMA_WIFI%E6%89%A9%E5%B1%95%E6%9D%BF_V3_PRSMA%E6%8E%A5%E5%8F%A3#wifi_shield.E5.B7.A5.E4.BD.9C.E4.BA.8ETCP-Client.E6.A8.A1.E5.BC.8F[font=Helvetica, Tahoma, Arial, STXihei, ����ϸ��, Heiti, ����,]
[/font]
[font=Helvetica, Tahoma, Arial, STXihei, ����ϸ��, Heiti, ����,]wifi tcp client发送可以试一下putty这个软件,这边有一个wifi bee 用putty与PC端进行通信的例子,楼主可以参考一下:[/font]
https://wiki.dfrobot.com.cn/index.php/(SKU:TEL0067)Wifi_Bee%E6%97%A0%E7%BA%BF%E6%A8%A1%E5%9D%97#Wifi_Bee.E6.A8.A1.E5.9D.97.E4.B8.8EPC.E5.AE.A2.E6.88.B7.E7.AB.AF.E8.BF.9E.E6.8E.A5
我用tcp发送12345,返回的都是什么236、255,但是用串口就是正常的
串口调试返回的就是49没问题