本帖最后由 丿灬幸灬 于 2018-11-17 12:10 编辑 PyWatch 基于STM32的蓝牙手表,运行Micropython!! P# w9 W' U/ l' n 6 s& P2 A" P2 ~# I& q " N7 g# b( s) K! P' J 描述; e$ T+ i" }4 k 有大量的圆形OLED显示器使用MIPI DSI协议进行通信,ST推出了具有板载OLED的STM32L4R9。 0 R. P* d* N2 v2 {4 F 这是一个在该处理器上运行μPython的项目,并通过他们构建一个手表。 板卡启动演示 因为我对使用GUI工具有点过敏,讨厌Java,并且不理解IDE,所以到目前为止,我一直在努力让STLink工具或OpenOCD能正常的工作。; n* ]& ]6 H. o 我正在使用的芯片stm32L4R9X太新了,这两种软件还都没有被官方发布 我能够将芯片添加到stlink的芯片description中,但是写入flash目前不正常。我知道openocd最近在flash algo上做了一些工作,所以下一步是在那里添加芯片标识符和细节,看看我能否用openocd让它正常flash写入。/ s3 W! t$ O: [2 o$ z$ y OpenOCD在我的经验中也会有错误,但是我有一个非常好的方法来添加STLink (一个实现了另一个芯片的方法)。1 v7 ?- f- t; `( l; o2 S" ]( e 当前的照片只是运行演示案例里的程序。我可能还需要一段时间才能有任何类型的视频驱动与屏幕进行通信。令人鼓舞的是,他们的一个演示应用程序正是我试图做的,只是用了一种不同的方式。 目标是在最后有一块可用的手表,# f9 G( w, X' v. C! j- R6 y; u 包括: 4 ~. P, `( G8 B 从云端获取时间的一些方法- P i8 S' t* k+ K5 F 用于步数/健身的加速度计 用于自动亮度检测的环境光传感器- \4 v6 ]0 X) M - |& ?( e1 R3 ]$ ~! K 用于在开发的扩展接口3 E M' o N0 y& e& W- s- T 便于扩展/修改的Python源代码 触摸边框-手表表面周围的触摸按钮环,用于用户界面(触摸屏太精致了) 防水(组装后) # ^. H4 U) B4 ]" V4 Q V4 d- A 所以不是很多,对吧?* Q2 Q3 r# i+ p 显著进展/ O @9 {1 ~. x! p5 Q1 ?6 A 过去几周进展显著。我用stlink识别芯片ID并开始flash写入,但由于某种原因,最后一步失败了。我不知道该怎么做,只能阅读应用笔记,希望能找到一两条线索。 ST发布了写入Flash的示例代码,我会在继续尝试让它工作。这也可能是一个编译问题,在构建μpython时,我需要做一些不同的事情。" r: B5 g# s2 G3 _% ?- r 4 X' B; \8 o! W. {9 n 上传成功! 所以,我最后一件没有做的事情是写入flash之前擦除芯片;它必须在单独的步骤中完成,我不知道这一点。因此,项目待办事项列表现在看起来像: *让μpython通过USB OTG进行对话 *编写某种可从python访问的frambuffer驱动程序 2 T3 G( z1 K; { Z3 P" u8 ]" V *打造一个手表界面1 S7 @; N7 l2 V9 x, J( |1 d *设计/构建电路PoC (可能采用LGA 144封装,便于焊接): T% @, B. V, L0 D3 k( g 8 e7 H) y! B4 Z4 t6 | *设计/构建实际可穿戴电路1 Y7 T% N3 X& R; A5 M* C+ p / b C9 L9 I1 J; {9 B G2 w+ G *构建案例 : u9 b$ K! [" `; w( t : q4 O K$ r8 f, I. |7 U9 y X 更多资料请见hackaday. \8 G' m0 C! ?8 j/ D+ c0 H $ G1 F' b) }& L5 N6 R 9 q' g/ v5 Q# m7 y6 @8 V5 i7 b |