如何入门嵌入式开发? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ONEO666
V2EX    嵌入式开发

如何入门嵌入式开发?

  •  
  •   ONEO666
    oneo-me 2022-09-04 23:55:13 +08:00 4262 次点击
    这是一个创建于 1133 天前的主题,其中的息可能已经有所发展或是发生改变。

    最近刷 B 站,看到有人做了一个自行车码表,对这个非常感兴趣,就是不知道这种硬件相关的技能点如何开始点,希望大佬们指点一下

    我的一些问题:

    1. 大佬这个自己还画了个小板,不知道用来干啥的
    2. 关于编程语言的选择,只能用 C 吗,比如新语言 Zig 怎么样?

    我可以解决的:

    1. 编程经验丰富
    2. UI 设计经验丰富
    3. 简单建模做外壳也可以

    20 条回复    2023-08-01 16:56:59 +08:00
    crysislinux
        1
    crysislinux  
       2022-09-05 00:05:01 +08:00 via Android   1
    买个开发板搞段时间就有感觉了。zig 可以的,比 c 方便。
    delectate
        2
    delectate  
       2022-09-05 07:48:16 +08:00   2
    要看硬件可用资源。

    如果是是 stm32 那种单片机,只有几 k 几十 k 可用,只能 c ,别无他选;
    如果是 rda 的芯片+rtos ,可以用 python 、c ;
    如果是 android ,那么基本上 java 是首选。

    你提到的这个码表,我没看过视频,盲猜至少要有蓝牙、ble 、gps 、mic 、触屏、lcd 、光照传感器、4g 通信模块、ip68 等等。

    也就是说,rtos 可以实现,但是只能保存一点点离线地图,绘制图形也只能用 lvgl 。优点是功耗低、资源占用低;缺点是开发、调试较难。pc 的 c 经验在这里完全不值一提了。
    这个方案很像国内时兴的智能手环、智能手表。说它是智能吧,不怎么智能,连 app 也装不了;说它不智能吧,倒也能触控,UI 尚且流畅,所以很尴尬。类比手机的话,它比功能机好一点,但是比智能机差远了的感觉。就这种东西,小米竟然还有脸卖 1000 多,真是绝了!

    如果是跑 android ,那么 mtk 的低端片子都能满足。缺点是让厂家给你释放 sdk 难如登天。

    所以,考虑一下 rtos+lvgl 比较好。
    ps:或者换个思路,它如果只是个显示屏,主机在其他位置呢?
    guowq
        3
    guowq  
       2022-09-05 08:09:50 +08:00 via Android   1
    可以学学野火的教程,然后找几个感兴趣的例子模仿一下。这个工程量应该不小。
    liyang5945
        4
    liyang5945  
       2022-09-05 08:38:57 +08:00 via Android   4

    我最近入坑了单片机,目标也是想做一个码表,5 月份开始从 51 单片机学的,现在可以写一点 C 代码了,硬件也得学,图中液晶屏转接板也是我自己画的
    villivateur
        5
    villivateur  
       2022-09-05 08:44:12 +08:00   2
    你如果软件开发经验丰富,建议买个成品的开发板,带显示屏的那种,Android 系统,或者其他 Linux 的,用 Qt 之类的开发很快。

    然后再稍微学一点外设硬件通讯相关的知识点就够了
    cokepro
        6
    cokepro  
       2022-09-05 08:48:21 +08:00   2
    你要从 0 开始做,要学的东西挺多的。大学时候整天鼓捣这些。如何操作硬件、layout,电路知识。建议从简单的起步。单片机然后过渡到 arm 下的嵌入式 Linux 。
    ebony0319
        7
    ebony0319  
       2022-09-05 09:41:07 +08:00
    @villivateur ‘成品的开发板’ 这种都有哪些呢?
    villivateur
        8
    villivateur  
       2022-09-05 09:43:23 +08:00
    @ebony0319 淘宝一搜一大堆的,关键词 Linux 开发板 显示屏 Android
    icatme
        9
    icatme  
       2022-09-05 18:44:26 +08:00 via Android   1
    先了解下 GPIO 数字和模拟端口的基本吧,Linux 那种可以就树莓派等上手,要省电的 esp32 也有很多很好的开发板,但要学的会更多些,Arduino 这种做东西限制有点多了,学习可以,做东西有点落后了
    ONEO666
        10
    ONEO666  
    OP
       2022-09-06 14:02:40 +08:00
    @crysislinux Zig 是真不错
    ONEO666
        11
    ONEO666  
    OP
       2022-09-06 14:03:19 +08:00
    @delectate 谢谢大佬,我想从最简单的板子试试,慢慢学学看
    ONEO666
        12
    ONEO666  
    OP
       2022-09-06 14:04:06 +08:00
    @guowq 这个看起来感觉好详细了,我试试
    ONEO666
        13
    ONEO666  
    OP
       2022-09-06 14:04:26 +08:00
    @liyang5945 这种小板子看起来好精致呀
    ONEO666
        14
    ONEO666  
    OP
       2022-09-06 14:04:53 +08:00
    @villivateur 用 Linux 、Android 的是不是会费电一些
    ONEO666
        15
    ONEO666  
    OP
       2022-09-06 14:05:20 +08:00
    @cokepro 是的,我大概了解过一些,要学的东西确实太多了
    ONEO666
        16
    ONEO666  
    OP
       2022-09-06 14:06:02 +08:00
    @icatme 先试试,要是能力不足再找找其他方案
    liyang5945
        17
    liyang5945  
       2022-09-06 14:19:30 +08:00
    @1217950746 这个是 ESP32S3 开发板,淘宝 酷世 DIY
    levelworm
        18
    levelworm  
       2022-09-17 01:18:51 +08:00 via Android
    @liyang5945 #4
    厉害啊已经会焊板子了
    levelworm
        19
    levelworm  
       2022-09-17 01:28:50 +08:00 via Android
    我也有类似的兴趣,想做一个计算器,也想做一个非模拟器的掌机。虽然会一点嵌入式,但是这俩都超出了自己的能力,正在想有没有更小而有趣的项目。

    不过工业设计和打印壳这块怎么弄呢?
    jinzhongyuan
        20
    jinzhongyuan  
       2023-08-01 16:56:59 +08:00
    唉,大学电子信息工程的知识都忘关了,现在 java 搬砖
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2618 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:20 PVG 14:20 LAX 23:20 JFK 02:20
    Do have faith in what you're doing.
    ubao 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