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