美文网首页中间件
Minnow Server —— 一个精致的嵌入式 WebSoc

Minnow Server —— 一个精致的嵌入式 WebSoc

作者: tianxiaoMCU | 来源:发表于2020-03-15 09:01 被阅读0次
介绍

Minnow Server , a super small and fast embedded HTTP(S) WebSocket server, lets small microcontrollers with no external memory act as real-time web servers.

总结一下就一个字 —— “小”,专为Cortex-M3这类资源有限的MCU设计的,只有MSLib.cMSLib.h两个文件。此外还提供了下面这些平台的移植,非常省心:

注意:这些移植放在SMQ库中,所以即使不使用该库的功能也需要下载SMQ!!!

官方的介绍真的太低调,一句话就只说了“小”,其它的特点其实才是本文的重点。

WebSockets vs HTTP
lwip就实现有http server,为什么这里选WebSocket,两者之间的差异通过下图可以清晰的看到。
下面,通过例子(也就是下图中蓝色框框中的直接连接)来说说这个服务器的其它特点。
开发者模式

这是很方便的功能,先在PC端测试好web的效果再编译烧录到芯片上就可以得到一样的结果,不用web改一部分就得烧录一次,特别是web部分的开发不懂芯片和交叉编译的情况。用着也简单,就下面几步:

  • 1、下载MinnowServerSMQJSON这三个仓库,解压后放在同一路径下,如下图

    使用visual studio(工程是VS2010创建的,我这是用的VS2019)打开MinnowServer\example\VcMake\minnow.sln工程文件并编译、运行,从终端上可以看到运行了一个websocket服务器;
  • 2、修改hosts文件,该文件在C:\Windows\System32\drivers\etc下,需要用管理员权限进行操作,在文件中添加下面这句即可;

    127.0.0.1    device  # minnow server test
    
  • 3、登录网页
    在浏览器里打开写好的html文件,比如例程里的MinnowServer\www\index.html,输入用户名root,密码password就可以登录了。

发布模式

在前面开发测试完web之后就可以编译并烧录到芯片上,然后从浏览器直接访问。

  • 1、打包开发好的web数据
    打开HTML Resource Amalgamator Service,通过这个服务将前面设计的好的web文件转换成一个c文件。这里以例程作说明,将MinnowServer\www文件夹打包成.zip格式,在打开的网页中选择打包好的文件,看下图红圈 选择好后,在Configure出勾上两个选项,然后点击Upload,就会自动下载一个名为index.c的文件。提示的警告这里我就不管了。

这里比较奇怪的是,虽然用Gzip进行了压缩,但是这个c文件比web原文件的总大小还大不少。还不如挂个文件系统把原文件仍里边省空间…………………………

  • 2、编译并在芯片上运行服务器
    将下载的index.c替换工程中的同名文件,编译后烧到芯片上即可。这里要注意,前面修改的hosts文件需要还原。

  • 3、访问配置页面
    输入板子的IP即可访问,这里通过域名是不能直接访问的,因为Minnow没提供DNS查询。

相关文章

网友评论

    本文标题:Minnow Server —— 一个精致的嵌入式 WebSoc

    本文链接:https://www.haomeiwen.com/subject/dnindctx.html