咨询一下 WEB 端开发大佬,做一个这样的嵌入式开发板仿真平台难度多大? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
villivateur
1.56D
V2EX    问与答

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

  •  
  •   villivateur 2022-09-28 09:10:56 +08:00 2616 次点击
    这是一个创建于 1141 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://wokwi.com/projects/322410731508073042

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

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

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

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

    想要同时维护好几种语言,是很困难的。
    wudicgi
        9
    wudicgi  
       2022-09-28 10:03:27 +08:00
    作为一个嵌入式开发,我怎么觉得这个用户群体应该非常小
    Arduino 能用的板子又不贵,买一个实际跑跑代码不比仿真好
    villivateur
        10
    villivateur  
    OP
       2022-09-28 10:06:04 +08:00
    @wudicgi 主要面向学生群体吧
    Mutoo
        11
    Mutoo  
       2022-09-28 11:10:35 +08:00   1
    arduino 的话,有 js 模拟器库可以用,例如 https://github.com/wokwi/avr8js
    Mutoo
        12
    Mutoo  
       2022-09-28 11:11:33 +08:00
    才注意到就是 wokwi 自己家开源的
    duan602728596
        13
    duan602728596  
       2022-09-28 11:16:03 +08:00
    本来以为右面是 canvas 或者 webgl 实现的,结果是用的 Web Components 和 svg 实现的
    BingoXuan
        14
    BingoXuan  
       2022-09-28 11:18:58 +08:00
    @wudicgi
    仿真功能是给初学者用的,对于工程师来说确实是没必要。但这种可视化操作用在项目配置和管理上就非常方便。因为现实中,硬件依赖其实比软件依赖更麻烦。考虑一下这种情况,一颗 cat9555 如果挂载在 tca9548 某一路上,然后其中某个 io 是某个 spi 芯片的 cs 。我设计时候就拿这个来处理硬件依赖,自动生成固件。还可以复用来做类似 labview 的上位机软件。
    theArrowOfCupid
        15
    theArrowOfCupid  
       2022-09-28 17:42:37 +08:00
    下个 wappalyzer 插件,就知道它用了什么框架了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2441 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 15:50 PVG 23:50 LAX 07:50 JFK 10:50
    Do have faith in what yu're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86