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