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