micropython移植教程_【教程】智能编程T-Watch手表初试micropython之电子秤教程
原标题:【教程】智能编程T-Watch手表初试micropython之电子秤教程
【项目的故事】
在极客玩具中,我一直喜欢穿戴类和小车类。前后做过两只运动心率表,并且参与过麦步手表的测试。TTGO最新出品了一块叫做T-Watch的手表,实际上,是一个可以做手表的穿戴平台,就将我原来的一个基于esp32的电子秤玩具移植到这块手表上,成为一个手表电子秤。使得大家对这个新玩具能有所了解吧。
【T-watch的主要配置】
芯片:ESP32(配置比较强:FLASH QSPI闪存16 MB / PSRAM 8 MB)
PMU电源管理:Axp202
显示屏:1.54英寸LCD电容式触摸屏
传感器:BMA423三轴加速度计,集成步数算法,活动/跟踪识别,高级识别手势
RTCCF8563
自定义按钮:一只(gpio36)
从硬件来看,亮点有这么几处:一是psram8兆(手表也提供了TF卡槽),二是PMU电源管理,可以对屏幕等外设进行单独电源管理;三是1.54寸彩屏+电容触摸;四是三轴加速度以及RTC授时等。
外观:42.5(宽)*46.5(长)*20(厚度),这是我手工测量,可能略有误差,但是也很精巧了。其中为了穿插表带,厚度至少多出来了4mm空间。
【micropython电子秤移植】
T-Watch出厂时,内置的是一个arduino的demo,是一块很漂亮的带有记步功能以及BLE\WIFI\PMU等设置的手表。带屏幕关闭以及唤醒,如果你希望单纯的手表,实际上就可以直接上手了。
这是一个成熟项目,我已经在esp32(mpy)上实现过,是基于M5STACK的平台。
这次移植,主要是要解决PMU电源管理的驱动以及TFT显示器的驱动问题。
(1)感谢TTGO的高手lewis师兄,他将axp202的电源管理模块的驱动移植到了Mpy上,而且是非常完整的移植,对axp202的功能全部开放,方便玩家调用。我这次电子秤移植实际上只是使用到了很少一部分。
(2)这块手表的显示器驱动IC是ST7789V,这是常用于智能手表的驱动芯片。Lewis师兄将其移植到了mpy上,从玩家讨论来看,也有国外玩家先后尝试了mpy以及纯C两种7789的驱动后,据说后者的速度明显提升,但我们这次用的还是lewis师兄移植的mpy库,可以感受到,在整体刷屏上,速度的确比较慢,这也是后续需要完善的吧。
我在lewis师兄的工作基础上,借鉴了github上一位玩家的9341库,将字符显示以及画点、画线、实线矩形等功能做了一点移植。这样,手表电子秤的基本功能就具备了。
参考github玩家对9341的使用,玩家提供了一个转换工具,叫做font_to_py.py,这是一个非常有用的小工具,可以转换ttf字库至python库,然后由mpy直接调用。非常方便。
分别是电子秤的校准以及测量过程,我用了两个砝码(100、200克)进行校准,没有考虑温度补偿,设立了一个文本文件存储补偿系数,下次开机时,直接读取就可以了,这就是Mpy的方便之处,不像arduino在esp32中,还需要模拟eeprom库开写入类似的系数。
【小结】
TWatch优势:(1)硬件配置较好,包括psram\tf卡槽等,套件中提供了一个开发者底板,里面用排母引出来了大量gpio,还有一个IIC扩展槽。姿态传感器以及RTC非常容易开发出好玩的穿戴应用。(2)tw并非是一块手表,而是一个像手表的极客平台。这次TTGO专门考虑了将成熟的手表固件准备了可烧写的文件格式,玩家即便不懂编程,也可以将分享的固件烧写到手表里,从而享受不同的体验
文章很多内容在这里没办法坐在完善,如果您需要详细资料可以复制以下链接上官网了解详细资料:
http://www.xydzsz.com/news/article136.html返回搜狐,查看更多
责任编辑:
micropython移植教程_【教程】智能编程T-Watch手表初试micropython之电子秤教程相关推荐
- [中级教程] 实例教程_次世代游戏场景刀枪武器架子3D模型制作教程
实例教程_次世代游戏场景刀枪武器架子3D模型制作教程 链接:https://pan.baidu.com/s/1Ra9T8dpcgxVRQajfRD5JLg 密码:kzcv
- micropython esp8266教程_(一)ESP8266/nodemcu如何使用MicroPython进行开发
简介 大家都知道ESP8266(nodemcu)可以使用arduino的语法(C)进行开发,也有些小伙伴可能也知道可以使用lua语言进行开发的.但是现在我们也可以使用python来开发esp8266( ...
- python编程高手教程_写给编程高手的Python教程(01) 数据结构
如何在列表,字典,集合中根据条件筛选数据 案例:如何在下列列表data中筛选出大于0的数 data = [1, -1, 2, 3, 4, 7] 复制代码 使用filter函数,第一个参数为一个函数,也 ...
- python免费课程400节-少儿编程网-Scratch_Python_教程_免费儿童编程学习平台
大家好,我是爱编程的小熊,上一节我们学习了图形的旋转,这节,我们继续学习图形旋转及其变化的轨迹,进而绘制出更加绚丽的图案.编程描述:这一节 我们将在上几节所学的基础内容,并加上色彩和渐变填充的效果,画 ...
- kuka机器人焊接编程入门教程_焊接机器人操作编程与应用教学.pptx
(ABB.MOTOMAN.FANUC.KUKA.OTC机器人);第1章 机器人基础知识;第1章 机器人基础知识;第1章 机器人基础知识;第1章 机器人基础知识;第1章 机器人基础知识;第1章 机器人基 ...
- python在线编程免费课程-少儿编程网-Scratch_Python_教程_免费儿童编程学习平台
大家好,我是爱编程的小熊,上一节我们学习了图形的旋转,这节,我们继续学习图形旋转及其变化的轨迹,进而绘制出更加绚丽的图案.编程描述:这一节 我们将在上几节所学的基础内容,并加上色彩和渐变填充的效果,画 ...
- 叮咚音响登录显示未连接服务器,音响唤醒及蓝牙连接 - 叮咚智能音箱联网教程_叮咚智能音箱联不上网解决办法...
2.音箱的误唤醒 若长时间不使用音箱,建议轻按音箱顶部的Zzz休眠键,让音箱进入休眠状态. 3.无法识别 1)用户语速过快,唤醒词"叮咚叮咚"和需要搜索的内容几乎连在一次说的,导致 ...
- 叮咚音响登录显示未连接服务器,联网问题 - 叮咚智能音箱联网教程_叮咚智能音箱联不上网解决办法...
2.音箱不能成功联网: 可能出现的情况如下: a)音箱紫色灯光在旋转,表明正在接受超声波,但一直没有播放联网成功: b)音箱的紫色灯光已经不亮了,但用户仍在用手机发送超声波试图联网 c)音箱联网的超时 ...
- python编程高手教程_写给编程高手的Python教程(11) 深入类和对象
学习使我快乐 鸭子类型和多态 当看到一只鸟走起来像鸭子.游泳起来像鸭子.叫起来也像鸭子,那么这只鸟就可以被称为鸭子. 例如下面三个类(Cat.Dog.Duck)的定义中都定义了say方法 class ...
最新文章
- HarmonyOS 界面跳转以及界面跳转的同时传递参数
- python 使用set对list去重,并保持list原来顺序
- android onclick fragment,Android Fragment onClick按钮方法
- LINQ是死是活?——很奇怪为什么会有这样的话题?
- 最长不重复子串python_python经典算法题:无重复字符的最长子串
- python和财务管理的区别与联系_会计管理与财务管理区别与联系
- linux添加自己的键盘映射,Linux 键盘映射
- 程序猿都应学习的语言:看 25 张图学 UML
- java基础源码 (2)--StringBuilder类
- Thingsboard 3.1.0 - 源码编译
- Kinetics-400数据集介绍
- 闲置光猫改成无线打印服务器,简单几步,让闲置路由器变身专业无线AP-无线ap设置...
- python1到20的阶乘求和_Python的阶乘求和
- 电脑Tab键有什么用
- Python 数据结构之二叉树的实现
- Android Things在 #io17
- 呼叫中心客服人员的秘密生活:同理心永远不会让你遭殃
- Beego入门简单构建, 连接MySQL实现增查操作
- 时间戳与时间的转换大全
- MyBatis之通用mapper
热门文章
- 加载gif动图_GIF生成神器——ScreenToGif
- Python二级笔记(18,19合集操作篇)
- c语言for循环26个英文字母,菜鸟求助,写一个随机输出26个英文字母的程序
- 交流信号叠加直流偏置_放大器偏置电流Ib需要完整的直流回路
- oracle =1,oracle中的 where 1=1 和where 1 !=1
- python决策树的应用_机器学习-决策树实战应用
- Rxjs的flatMap使用
- postman里测试文件上传(MultipartFile)
- 自定义按钮 图片标题位置随意放置
- 原 BinaryWriter和BinaryReader(二进制文件的读写)