本帖最后由 丿灬幸灬 于 2018-11-17 12:10 编辑 , {% ~ \* c# b PyWatch 基于STM32的蓝牙手表,运行Micropython! * ?5 E N# ]- x) S* y7 ` 描述( T( N& c/ n' X 有大量的圆形OLED显示器使用MIPI DSI协议进行通信,ST推出了具有板载OLED的STM32L4R9。 . n) B$ v" r. r# M 这是一个在该处理器上运行μPython的项目,并通过他们构建一个手表。2 o& C3 y* r* L0 u 3 `- _% b& r* X 板卡启动演示* Z' {$ {# g% U) D9 d6 X) b 因为我对使用GUI工具有点过敏,讨厌Java,并且不理解IDE,所以到目前为止,我一直在努力让STLink工具或OpenOCD能正常的工作。 我正在使用的芯片stm32L4R9X太新了,这两种软件还都没有被官方发布: F3 R" O Q4 {2 L8 w' x+ U: D 我能够将芯片添加到stlink的芯片description中,但是写入flash目前不正常。我知道openocd最近在flash algo上做了一些工作,所以下一步是在那里添加芯片标识符和细节,看看我能否用openocd让它正常flash写入。; {2 W- \% p3 O( H% K" R$ l OpenOCD在我的经验中也会有错误,但是我有一个非常好的方法来添加STLink (一个实现了另一个芯片的方法)。 当前的照片只是运行演示案例里的程序。我可能还需要一段时间才能有任何类型的视频驱动与屏幕进行通信。令人鼓舞的是,他们的一个演示应用程序正是我试图做的,只是用了一种不同的方式。 z1 M T$ d; H( [2 {5 \* p" M 目标是在最后有一块可用的手表, 包括: 从云端获取时间的一些方法0 C, H3 ?- p. e. G/ e2 K q( W 用于步数/健身的加速度计 5 ~% {. {7 r; p# P/ a 用于自动亮度检测的环境光传感器 用于在开发的扩展接口 , v( l, d4 G& O4 I9 a 便于扩展/修改的Python源代码. r% C6 s2 z6 f 触摸边框-手表表面周围的触摸按钮环,用于用户界面(触摸屏太精致了); M) f! D. ?0 {4 }5 @ " y8 l6 o: y! r n) x 防水(组装后)4 Q5 s! W7 I7 Q 1 y$ {, b+ g- z2 r8 x$ U+ O% [ 所以不是很多,对吧? " ?* y1 g/ B7 n" D ( q4 i. h) ]- `" ~' [* @& t. R 显著进展7 e7 [& _: I6 r7 W 过去几周进展显著。我用stlink识别芯片ID并开始flash写入,但由于某种原因,最后一步失败了。我不知道该怎么做,只能阅读应用笔记,希望能找到一两条线索。$ K7 W# w! s, Y; Y ST发布了写入Flash的示例代码,我会在继续尝试让它工作。这也可能是一个编译问题,在构建μpython时,我需要做一些不同的事情。 7 ^: g/ s' F& V& Z8 {3 U5 S: a # o9 Z$ E. e0 W7 m 上传成功! 所以,我最后一件没有做的事情是写入flash之前擦除芯片;它必须在单独的步骤中完成,我不知道这一点。因此,项目待办事项列表现在看起来像: *让μpython通过USB OTG进行对话 *编写某种可从python访问的frambuffer驱动程序 *打造一个手表界面 8 i ^+ s! a" X7 D; r& C2 _4 Z *设计/构建电路PoC (可能采用LGA 144封装,便于焊接)7 v' e9 K1 N1 h, ~1 S: v' K( ` *设计/构建实际可穿戴电路 *构建案例) h! l2 D' b4 R* d% s" J) ] ( J' J/ e% T! \& j& y & V) Z \9 m ~2 D7 k7 F 更多资料请见hackaday 7 A* C+ T0 W# {' d5 S5 n |