
本帖最后由 丿灬幸灬 于 2018-11-17 12:10 编辑 3 M ?4 A! v7 x; x r2 t) r PyWatch 基于STM32的蓝牙手表,运行Micropython!( y$ p" T/ k# X. G ![]() 8 i9 {9 ^; S4 |! V! A0 J. ~ " _. I# Y% \" |$ E/ W- r 描述* n9 i4 j2 r9 h- x( |* ] 有大量的圆形OLED显示器使用MIPI DSI协议进行通信,ST推出了具有板载OLED的STM32L4R9。 这是一个在该处理器上运行μPython的项目,并通过他们构建一个手表。+ C0 S: K7 v! Y- W+ S8 A/ N7 F0 l % f9 z5 p% d: V9 u' l6 V 0 Q4 x: d$ a) p; {6 f 板卡启动演示 因为我对使用GUI工具有点过敏,讨厌Java,并且不理解IDE,所以到目前为止,我一直在努力让STLink工具或OpenOCD能正常的工作。/ O' ?6 u; I7 w( L- \ 我正在使用的芯片stm32L4R9X太新了,这两种软件还都没有被官方发布 我能够将芯片添加到stlink的芯片description中,但是写入flash目前不正常。我知道openocd最近在flash algo上做了一些工作,所以下一步是在那里添加芯片标识符和细节,看看我能否用openocd让它正常flash写入。1 t* @3 a. C7 \+ Y OpenOCD在我的经验中也会有错误,但是我有一个非常好的方法来添加STLink (一个实现了另一个芯片的方法)。 & d2 u1 R6 ~ V 当前的照片只是运行演示案例里的程序。我可能还需要一段时间才能有任何类型的视频驱动与屏幕进行通信。令人鼓舞的是,他们的一个演示应用程序正是我试图做的,只是用了一种不同的方式。9 G% C* N3 I! l. m+ z0 y 目标是在最后有一块可用的手表,8 y5 t3 { g) v" ^ 包括:! j3 l8 O# q. d2 o% Q " r, a* `% }9 M7 Z: W# v9 B 从云端获取时间的一些方法 ) _$ W/ h5 \1 a 用于步数/健身的加速度计 用于自动亮度检测的环境光传感器- G" W; c3 M, Y! ]2 \! v+ m0 u ! d: a" f4 M6 c 用于在开发的扩展接口2 T H$ d0 k8 u i3 A! l * Q0 X' e3 W9 ?/ j# j4 _# S _( W E- _ 便于扩展/修改的Python源代码 触摸边框-手表表面周围的触摸按钮环,用于用户界面(触摸屏太精致了)% X: Y: T& D) C* L9 k' M8 I3 ] ( G1 `& w( ~; W# ^6 j4 u7 o0 J# ` 防水(组装后) # |% [$ F. \4 r2 A/ e1 Y 所以不是很多,对吧? # c1 i6 f! f i- P7 D4 t 显著进展0 y5 I' }3 N$ ^" t0 |2 r; K 过去几周进展显著。我用stlink识别芯片ID并开始flash写入,但由于某种原因,最后一步失败了。我不知道该怎么做,只能阅读应用笔记,希望能找到一两条线索。 ST发布了写入Flash的示例代码,我会在继续尝试让它工作。这也可能是一个编译问题,在构建μpython时,我需要做一些不同的事情。 $ r7 ]7 X- z' ^" I- g 上传成功! 所以,我最后一件没有做的事情是写入flash之前擦除芯片;它必须在单独的步骤中完成,我不知道这一点。因此,项目待办事项列表现在看起来像:/ ?. S V! P* B5 Q7 `1 s *让μpython通过USB OTG进行对话; }" U1 C# y8 `! h7 u) G3 ]9 E ! n, D4 Y" C+ k5 [ *编写某种可从python访问的frambuffer驱动程序8 [) Q3 x0 O9 `' g6 n 5 F7 y* z- V. p: _ l( ] *打造一个手表界面6 }+ R3 `" R! T6 J9 e & C% }! f# r; B. n; q( c *设计/构建电路PoC (可能采用LGA 144封装,便于焊接)! }5 q+ ^$ f3 a1 F# [3 z. ^ Y& n2 ?8 B# M0 l/ T *设计/构建实际可穿戴电路 ( \! m9 p* J' ]7 w J" z( C4 f *构建案例 $ I( W* T$ r: S9 s# ^ 更多资料请见hackaday # e. v- P- K; e4 e2 s - H6 n6 {6 e, O4 d/ T6 S2 `" e, I |