759浏览
查看: 759|回复: 0

[参赛项目] 创客造|【入门】琅嬛福地学习笔记之“UP2 Board上架设群晖...

[复制链接]
本帖最后由 以惊世的速度 于 2021-4-17 00:37 编辑

收到一个新玩具UP2 Board,试着玩点不一样的东西。
看到它n3350的cpu型号,马上就想到的拿来做入门级的群晖服务器。然后很惊讶它有树莓派兼容的GPIO40排针引脚,原来自UP1代起就立志成为最强配置的intel的开发板。另外值得称道的是有PCIE/MSATA通用接口+M.2接口+SATA接口,这样丰富的情况下还能把主板长宽尺寸做到10x10厘米,真的非常优秀!

IMG_20210128_144621.JPG QQ截图20210302212938.png

图1、a)UP2 Board的丰富接口 b)UP2和UP1的硬件配置比较(https://www.digikey.com/en/maker/blogs/up2-uses-the-new-intel-apollo-lake-soc-to-integrate-into-the-industrial-market)
不过相比于它的优秀配置,其1500RMB左右的官方售价也是令我大吃一惊的。因为根据我玩群晖的经验,入门级n31xx或者n33xx系列的主板大致可以350元左右收到,而550RMB左右就可以收到intel i5四代U的Nuc系列主板了,似乎用UP2 Board来仅仅做群晖机会显得有点浪费钱。当然相比于白群晖DS slim系列动辄3k的价格,用1.5k的UP2 Board去DIY一个群晖机,即使不算是点石成金,似乎也已经能够体现成熟的创客精神——物尽其用,给事物赋能,创造新的价值。另外经我测试,UP2 Board最多可以接7块SATA硬盘,即使和白群DS620slim的6盘位比也丝毫不逊色,当然为了硬盘供电稳定,同时上6盘时我未来可能会设计一下供电背板。最后,UP2 Board异于1代的一个地方是其自带的GPU,但问题是这颗GPU不支持CUDA略显鸡肋(https://www.notebookcheck.net/HD-Graphics-500-vs-GeForce-920MX-vs-GeForce-940MX_7543_7026_7023.247598.0.html#),因为n3xxx+GPU的组合本有机会让群晖日常应用的低功耗和某些容器计算应用的GPU图形加速做到平衡,但是估计是存在工程难题吧,目前看到自带itx950独显的集成cpu主板也就只有乐视鱼板了。而要能体现出UP2Board的独特价值,可以考虑的两个方向是1、GPU图形计算;2、GPIO40用起来并且能优于树莓派,这两个方向的应用才能说服我用价格这么高的n3xxx系列板去做应用。UP2的内存容量很低也是值得商榷的,日常办公也许还够,但是一旦涉及到ELK这样的组件,计算所需的内存以16G以上为宜。所以我略有失望地用UP2 Board搭建群晖服务并重点关注其GPU可能用途的挖掘,具体实例就是一个简单的在容器中使用百度的paddlehub服务进行OCR的图片识别。
QQ截图20210228230206.png
图2、白群slim系列6/4盘位(上)和UP2的7盘位测试照片
大方向清楚了,那么下面就是一步一步逢山开道去实现了。
首先,烧录DSM系统。这部分尽量简略,这部分的公开资料也挺多的,就不赘述了。值得注意的是UP2 Board自带的29G大小的EMMC似乎特别适合拿来作为DSM的引导盘,因为这个容量作为存储盘或者DSM系统盘是鸡肋了些,只有作为引导盘才能充分地物尽其用。但是这样做稍有难度,也可能是因为UP2Board的BIOS没有更新的缘故,常规的DSM安装方法会在上传DSM的pat文件57%时失败,具体原因不详。最后安装好的DSM系统通过ch_cpuinfo看一下真实的CPU型号,证明是在UP2 Board上安装成功。
c67b0e464a9c14ae6ecf5cf7a8c7e98d.png
图3、UP2上成功安装DSM后显示的真实CPU信息


接着就是安装使用docker了。我不清楚为什么很多人会说为啥容器一定要群晖?怎么说呢,你win里跑一个docker toolbox desktop也能跑容器,或者你需要多个容器,也可以在Linux下安装一个可视化的容器管理框架,但是群晖更像是容器服务产品里的苹果,避免了许多重复劳动。“一入群晖深似海,三月不知肉滋味”应该是不夸张的。目前dockerhub里paddlehub镜像只有一个1.6版本的,这也充分说明了容器+飞桨目前的小众状态。这里需要更新paddlehub到2.0.0版本。然后是利用百度官方发布的OCR模型简单实现图片识别的应用。这样的设计在实际应用中应该是有价值的。例如用它做快递单的自动识别与分拣,相较于类似树莓派这样没有SATA接口的开发板,可以维持更稳定的工作状态。
92021eb98d1bf2b64ab5f93173a745f6.png
图4、在容器中成功更新飞桨服务
现在已经可以利用飞桨跑训练好的OCR模型了,但是为了过程可视化,我还在容器中加了一层Jupyter服务,当然,更推荐的方式其实是另外起一个Jupyter容器,然后打通端口的数据交互。另外这个唯一的paddlehub镜像似乎没有做优化,导致所占的磁盘空间比较大,如果有时间,可以尝试从alpine镜像开始重新做一个洁净的版本。那么现在就可以走一个OCR识别图片的简单程序了。
f7159474afcf928ccfdb0f875c77f8f4.png
图5(a) OCR识别源
bc40df7df73303ca8e1937305045c870.png
图5(b) OCR识别结果
结果可见飞桨OCR识别结果很好,但美中不足的是gpu版本paddlehub没有正常运行,提示KUDA配置不正确。因投稿截止时间临近,该问题暂待寻找突破,实在不行我会考虑上乐视鱼板。
最后就是给UP2Board做一个外壳了。外壳的图纸在小年前已经画好,但是不巧当时工厂已经停工,还没有来得及做个样品出来。这部分我在2020年从西安返回上海后投稿一个校友征稿项目时已经走过一遍流程了,当时投稿的作品名称也叫入门,等样品完成后我再续上这部分故事。限于投稿截止时间的关系,以上都是简述,每一个环节需要注意的问题以及参考链接均还未给出。等外壳完结后一并补充。
eb224b0adade8c503611d7cf19ddffd2.png
图5 给UP2 Board设计的外壳(FreeCAD导出stl格式)
今天就来把这个后续部分补上吧。只看之前发的图5,可能并不知道我打算做的外壳整体效果。其实早在一年前参加比赛的时候(https://github.com/Torah/nas-house),已经用Nuc主板做了一个类似的外壳。下面是用3D打印和折弯工艺一前一后做了两个成品。折弯的这次做了喷塑表面处理,还没寄过来,等收到看看手感。为了模拟墙砖的纹理,后期还需要测试一下其他工艺,希望能够既经济又逼真地还原出外墙砖的效果甚至手感。
UP2.jpg wall.jpg

图6 UP2 Board外壳设计稿交付3D打印白模和折弯样品
该项目后续会再接着做一个《西安印象》的版本,顺带回忆一下2019年在西安用Nas和ELK+Grafana做地下水大数据修复的一些可以讲的技术内容。


高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail