MianQi 发表于 2021-10-19 06:09

[超低功耗STM32U5 IoT探索套件] - 4:wifi-1

<div class='showpostmsg'><p>受到这个帖子(<a href="https://bbs.eeworld.com.cn/thread-1182467-1-1.html" target="_blank">ST U5开发板评测烧录相关问题(官方分享)</a>)中的内容的提示,于是想到对WIFI模块也做同样的事情,看行不行。</p>

<p>&nbsp;</p>

<p>参考这个<a href="https://www.st.com/en/evaluation-tools/b-u585i-iot02a.html#documentation" target="_blank">示例 - B-U585I-IOT02A compiled demo binary</a>中的&ldquo;README&rdquo; - The EMW3080B MXCHIP Wi-Fi module firmware used version is V2.1.11 and the way to update your board with it<br />
&nbsp;&nbsp; are available at (https://www.st.com/en/development-tools/x-wifi-emw3080b.html).</p>

<p>&nbsp;</p>

<p>这里提供了三种下载升级wifi固件的方法 - file:///E:/Projects/B-U585I-IOT02A%20-%20Discovery%20kit%20for%20IoT%20node%20with%20STM32U5%20series/x-wifi-emw3080b/Release_notes.html</p>

<p>&nbsp;</p>

<p>实验一下第三种方法(*在Windows 10上):</p>

<p>&nbsp;</p>

<p>第一步,安装Python - <a class="uri" href="https://www.python.org/">https://www.python.org/</a></p>

<p>&nbsp;</p>

<p>第二步,用 pip3 下载-安装 MXCHIP-Flash:</p>

<pre>
<code class="language-cpp">pip3 install mflash -i https://pypi.tuna.tsinghua.edu.cn/simple</code></pre>

<p>&nbsp;</p>

<p>第三步:安装需要的USB驱动 - https://zadig.akeo.ie/</p>

<p>&nbsp;</p>

<p>按照教程里的说法,安装完成以后,右键点击文件,应该出现&ldquo;&rdquo;,但我这里没有,重启一下机子还是没有,于是到这里来下载 - https://pypi.tuna.tsinghua.edu.cn/simple/mflash/,下载以后还是不行,似乎找不到安装文件,也找不到可执行文件,于是又转到Ubuntu 20.04。</p>

<p>&nbsp;</p>

<pre>
<code class="language-cpp">pip3 install mflash -i https://pypi.tuna.tsinghua.edu.cn/simple
</code></pre>

<p>&nbsp;</p>

<p>安装很顺利:</p>

<p></p>

<p>而且,对于命令的提示很规范,真是做到了让观者一目了然:</p>

<p></p>

<p>顺便说一下,执行上述命令行,会同时打开&ldquo;MXCHIP&rdquo;公司的首页:</p>

<p></p>

<p>这是第一次在如此重要的板子上看到国产的重要模块。</p>
</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>

MianQi 发表于 2021-10-19 06:40

<p>再回到这个ST网站上提供的演示示例上来 - &quot;B-U585I-IoT02A_Demo&quot;。这个示例的思路是:将B-U585I-IoT02A探索办配置为一个基于HTTP协议的web服务器,将用户的浏览器作为web客户端,通过一个现有的wifi热点接入,这样用户就可以在自己的网页浏览器&mdash;&mdash;比如android移动电话上浏览到板子上的传感器采集到的数据。</p>

<p>&nbsp;</p>

<p>这个示例中的&ldquo;README&rdquo;要和STM32CubeIDE中的示例&ldquo;WiFIBasics&rdquo;中的&ldquo;README&rdquo;结合起来看,因为两者的内容并不完全重复,互有补充。比如,关于输入WIFI的用户名和密码这一项,后者并没有提到,但后者提出要在&ldquo;main.h&rdquo;文件中由用户自己提前设定这两项内容。</p>

MianQi 发表于 2021-10-19 06:47

<p>在Windows 10上测试的时候,接下来的两个流程只能运行一个:</p>

<pre>
<code class="language-cpp">    -   Network Interface starting
    -   Network Interface ready
      - Device Name : MXCHIP-WIFI
      - Device ID   : EMW3080B
      - Device Version : Vx.y.z
      - MAC address: x.y.z.a.b.c
    -   Network Interface connecting
    -   Network Interface connected
      - IP address :x.y.z.w</code></pre>

<p>&nbsp;</p>

<p>在这之后,会提示输入命令,但在之前的帖子(<span class="z" id="subjecthide">[超低功耗STM32U5 IoT探索套件] - 2:wifi</span>)中已经提到了,怎么输入都输入不进去,于是,第二阶段的工作就不进行:</p>

<pre>
<code class="language-cpp">    -   *** Create TCP socket
    -   *** TCP socket created
    -   *** Set port and bind socket
    -   *** Port and socket binded
    -   *** Listen for incoming connections
    -   *** Listening started
</code></pre>

<p>&nbsp;</p>

<p>于是,也就做不到在电话上浏览传感器数据了。</p>

MianQi 发表于 2021-10-19 07:05

<p>在Windows中,固件的升级分两步:</p>

<p>(说明在这里:file:///home/mianqi/Downloads/en.x-wifi-emw3080b_v1.0.0/x-wifi-emw3080b/Release_notes.html)</p>

<p>&nbsp;</p>

<p>第一步,在SW1的&ldquo;BOOT&rdquo;处在默认的&ldquo;NC&rdquo;位置的情况下,将demo中提供的&ldquo;EMW3080updateV2.1.11RevC.bin&rdquo;文件拖到板子显示的盘符内。</p>

<p>第二步,将在SW1的&ldquo;BOOT&rdquo;从默认的&ldquo;NC&rdquo;位置推倒对面的&ldquo;0&rdquo;位置,然后,按一下板子上的&ldquo;RST&rdquo;按钮。大约20秒后,板子上的MCU(U585I)会将上一步拖入的文件写入WIFI模块。等看到提示后,将SW1的&ldquo;BOOT&rdquo;推回默认的&ldquo;NC&rdquo;位置。</p>

<p>&nbsp;</p>

<p>上述第一步也可以通过一个超级终端来做,这里尝试一下PuTTY。</p>

MianQi 发表于 2021-10-19 11:16

本帖最后由 MianQi 于 2021-10-19 13:14 编辑

<p>但是,这里(file:///home/mianqi/Documents/Projects/B-U585I-IOT02A/en.x-wifi-emw3080b_v1.0.0/x-wifi-emw3080b/Release_notes.html)的这三句话:</p>

<pre>
<code class="language-cpp">Connect the board to your laptop through USB

Start an hyperterminal on your PC: speed 115200, 8 bit data, no parity, 1 stop bit, no flow control

Download “EMW3080updateV2.1.11RevC.bin” binary file to the board</code></pre>

<p>似乎对用户有误导&mdash;&mdash;以为是在超级终端里向板子下载程序&ldquo;EMW3080updateV2.1.11RevC.bin&rdquo;:</p>

<p></p>

<p>实际上,在Ubuntu 20.04更可以通过拖动的方式,将上述文件复制到板子上去:</p>

<p></p>

<p>而这个拖动上去的文件并不会被显示出来:</p>

<p></p>

<p>接下来要做到的工作是:</p>

<p>1、打开超级终端(115200, 8N1, NONE )。</p>

<p>2、将板子上的SW1的BOOT键扳到&ldquo;0&rdquo;&mdash;&mdash;这实际上是将MXCHIP芯片设置为BOOT模式。</p>

<p>3、按一下板子上的&ldquo;RST&rdquo;键。</p>

<p>4、文档内说要输入&ldquo;flash&rdquo;,但实验中发现可以用按一下蓝键代替输入&ldquo;flash&rdquo;。</p>

<p>5、在超级终端内观察,等待时间因机子的性能而已,文档上说约20秒,实验中用了不到3秒钟。</p>

<p>6、根据超级终端内的提示,将SW1的BOOT键拨回来(&ldquo;NC&rdquo;)。</p>

<p>&nbsp;</p>

<p>以下是整个过程的演示视频(视频中板子上还插了一根TYPE-C线,那是这一步不用,下一步要用地。但这个时候要注意调整JP4处的跳线帽,应该是:5V_USB_STLK):</p>

<p><iframe allowfullscreen="true" frameborder="0" height="450" src="//player.bilibili.com/player.html?bvid=18Q4y1D7ic&amp;page=1" style="background:#eee;margin-bottom:10px;" width="700"></iframe><br />
&nbsp;</p>

w494143467 发表于 2021-10-19 13:29

<p>还不错,介绍得挺详细的!</p>

MianQi 发表于 2021-10-19 14:03

<p>想尝试一下这个办法&mdash;&mdash;直接通过SWD给WIFI模块编程:</p>

<p></p>

<p>不行:</p>

<p></p>

<p>换成这个常规的做法(JP4电源接口处要换回来):</p>

<p></p>

<p>在STM32CubeIDE中将示例&ldquo;WiFiBasics&rdquo;编译-运行后,在PuTTY中查看:</p>

<p></p>

<p>&nbsp;</p>
页: [1]
查看完整版本: [超低功耗STM32U5 IoT探索套件] - 4:wifi-1