咨询一下 WEB 端开发大佬,做一个这样的嵌入式开发板仿真平台难度多大?

2022-09-28 09:10:56 +08:00
 villivateur

https://wokwi.com/projects/322410731508073042

这个叫 wokwi 的平台可以实现多种 Arduino 开发板的在线仿真,包括代码编写、编译、模拟接线,并提供了很多传感器模块。

因为我主攻嵌入式底层,不太了解,所以想问这种平台的开发难度怎样?大概需要多少人月?似乎国内并没有人做出来,如果复刻一个,感觉用户量应该挺大。

2233 次点击
所在节点    问与答
15 条回复
HugoChao
2022-09-28 09:18:52 +08:00
没有模板套的话感觉难度不小
BingoXuan
2022-09-28 09:22:08 +08:00
难度一般,我就在写类似的东西。不过不是给 arduino 用的,是给 zynq 用的。自动整合 fpga ip 和常见总线的芯片驱动
villivateur
2022-09-28 09:25:23 +08:00
@BingoXuan 请问对于一个仅略懂前端开发的人来说,主要往哪些技术方向学习呢?能不能给点关键词?
BingoXuan
2022-09-28 09:35:54 +08:00
@villivateur
前端的话,如果你会 react 可以用 react flow 实现板卡可视化接线,不然就用 fabric js 做( fabric 可以更多自定义,react flow 也满足需求)。代码可以用 monaco 做编辑器。有个头痛的点就是 arduino 的 simulation 比较麻烦,我能想到的就是直接做一套 mock 数据的仿真驱动,通过接线配置算出到底要 mock 什么数据,剩下的用 python 去做编译打包。
moremoney
2022-09-28 09:39:47 +08:00
同问,想知道前端会用到哪些类库,我只知道代码编辑器用的是 Monaco Editor 它是 VSCode 的浏览器版本,画布用的是什么技术实现的很想知道
moremoney
2022-09-28 09:41:44 +08:00
@BingoXuan 模似器会用到哪些类库啊
BingoXuan
2022-09-28 09:52:30 +08:00
@moremoney
画布要么用 react flow 要么 fabric 自己画。模拟器还是放到服务器跑吧,因为要编译代码。直接把 driver 换成 mock driver 就行。当然这种其实侵入性很强。还有另一种方法,只是 mock 总线。根据当前配置 mock 总线输出,但工作量更多也更复杂。基本就是自己模拟了芯片功能了。 @villivateur
tool2d
2022-09-28 09:54:36 +08:00
前端有前端的开发思想,你可以用支持 web wasm 发布的传统开发 UI 库来搭建。( https://philippegroarke.com/posts/2018/c++_ui_solutions/)

但如果你用前端框架来开发,会和你现在写的代码格格不入。

想要同时维护好几种语言,是很困难的。
wudicgi
2022-09-28 10:03:27 +08:00
作为一个嵌入式开发,我怎么觉得这个用户群体应该非常小
Arduino 能用的板子又不贵,买一个实际跑跑代码不比仿真好
villivateur
2022-09-28 10:06:04 +08:00
@wudicgi 主要面向学生群体吧
Mutoo
2022-09-28 11:10:35 +08:00
arduino 的话,有 js 模拟器库可以用,例如 https://github.com/wokwi/avr8js
Mutoo
2022-09-28 11:11:33 +08:00
才注意到就是 wokwi 自己家开源的
duan602728596
2022-09-28 11:16:03 +08:00
本来以为右面是 canvas 或者 webgl 实现的,结果是用的 Web Components 和 svg 实现的
BingoXuan
2022-09-28 11:18:58 +08:00
@wudicgi
仿真功能是给初学者用的,对于工程师来说确实是没必要。但这种可视化操作用在项目配置和管理上就非常方便。因为现实中,硬件依赖其实比软件依赖更麻烦。考虑一下这种情况,一颗 cat9555 如果挂载在 tca9548 某一路上,然后其中某个 io 是某个 spi 芯片的 cs 。我设计时候就拿这个来处理硬件依赖,自动生成固件。还可以复用来做类似 labview 的上位机软件。
theArrowOfCupid
2022-09-28 17:42:37 +08:00
下个 wappalyzer 插件,就知道它用了什么框架了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883441

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX