micropython移植教程_【教程】智能编程T-Watch手表初试micropython之电子秤教程

原标题:【教程】智能编程T-Watch手表初试micropython之电子秤教程

【项目的故事】

在极客玩具中,我一直喜欢穿戴类和小车类。前后做过两只运动心率表,并且参与过麦步手表的测试。TTGO最新出品了一块叫做T-Watch的手表,实际上,是一个可以做手表的穿戴平台,就将我原来的一个基于esp32的电子秤玩具移植到这块手表上,成为一个手表电子秤。使得大家对这个新玩具能有所了解吧。

bfd4051c84304cf5948a528045b9ba70.jpeg

【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空间。

bad58d79a95d4c4bbdf879e4c0aa08ae.jpeg

【micropython电子秤移植】

T-Watch出厂时,内置的是一个arduino的demo,是一块很漂亮的带有记步功能以及BLE\WIFI\PMU等设置的手表。带屏幕关闭以及唤醒,如果你希望单纯的手表,实际上就可以直接上手了。

这是一个成熟项目,我已经在esp32(mpy)上实现过,是基于M5STACK的平台。

19c7a8b0cfb44654bfa9cfceae32cc31.jpeg

这次移植,主要是要解决PMU电源管理的驱动以及TFT显示器的驱动问题。

(1)感谢TTGO的高手lewis师兄,他将axp202的电源管理模块的驱动移植到了Mpy上,而且是非常完整的移植,对axp202的功能全部开放,方便玩家调用。我这次电子秤移植实际上只是使用到了很少一部分。

(2)这块手表的显示器驱动IC是ST7789V,这是常用于智能手表的驱动芯片。Lewis师兄将其移植到了mpy上,从玩家讨论来看,也有国外玩家先后尝试了mpy以及纯C两种7789的驱动后,据说后者的速度明显提升,但我们这次用的还是lewis师兄移植的mpy库,可以感受到,在整体刷屏上,速度的确比较慢,这也是后续需要完善的吧。

我在lewis师兄的工作基础上,借鉴了github上一位玩家的9341库,将字符显示以及画点、画线、实线矩形等功能做了一点移植。这样,手表电子秤的基本功能就具备了。

43fc8a3a423649ebb4d2eed0b367a393.jpeg

6dd53fe8e24a45998396cea6e1cfe7ae.jpeg

2154e382f23c474599a4e2b1ef9bc258.jpeg

505d7e9ed6ab4609a54da2308fe09118.jpeg

71f10b3a20c04b4ba3e5507ca0c44158.jpeg

参考github玩家对9341的使用,玩家提供了一个转换工具,叫做font_to_py.py,这是一个非常有用的小工具,可以转换ttf字库至python库,然后由mpy直接调用。非常方便。

分别是电子秤的校准以及测量过程,我用了两个砝码(100、200克)进行校准,没有考虑温度补偿,设立了一个文本文件存储补偿系数,下次开机时,直接读取就可以了,这就是Mpy的方便之处,不像arduino在esp32中,还需要模拟eeprom库开写入类似的系数。

f808fd9411934417b44ee793b3b7a245.jpeg

【小结】

TWatch优势:(1)硬件配置较好,包括psram\tf卡槽等,套件中提供了一个开发者底板,里面用排母引出来了大量gpio,还有一个IIC扩展槽。姿态传感器以及RTC非常容易开发出好玩的穿戴应用。(2)tw并非是一块手表,而是一个像手表的极客平台。这次TTGO专门考虑了将成熟的手表固件准备了可烧写的文件格式,玩家即便不懂编程,也可以将分享的固件烧写到手表里,从而享受不同的体验

文章很多内容在这里没办法坐在完善,如果您需要详细资料可以复制以下链接上官网了解详细资料:

http://www.xydzsz.com/news/article136.html返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音乐和计算机跨界融合,音乐类综艺跨界融合有了新思路

图集8月9日《人民日报》刊文,对原创综艺节目《幻乐之城》匠心做原创的新思路、新经验、新趋势进行了表扬,文章指出:“音乐电影”的节目模式在呈现出音乐与电影双重质感的同时,也为国内音乐类综艺节目的跨界融合发展提供了新的思路…

java api项目配置统一的错误返回json提示

2019独角兽企业重金招聘Python工程师标准>>> 项目使用的json解析框架是fastjson自定义的返回对象如下:package com.test;public class ResultObj {private boolean result;private int code200;private String msg;private Object data;private PagerRes…

iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期

一、基本过程 新建一个项目,系统默认的主控制器继承自UIViewController,把主控制器两个文件删掉。 在storyboard中,默认的控制器是View Controller,而我们需要的是导航控制器,那么就把系统的给删掉,拖一个导…

mysql 5.5 1366错误_laravel5.3 在 mysql5.1中运行出错 error: 1366 Incorrect integer

Laravel 在 MySQL5.1 下运行出错 ,错误如下:SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 1 for column status at row 1 (SQL: insert into cases (case_name, status, updated_at, created_at) values (fdsafdsadsa, 1, 1474504956…

计算机组成原理输入实验报告,计算机组成原理实验报告

/串形式构成的 8 位字长的运算器。右方为低 4 位运算芯片,左方为高 4 位运算芯片。低位芯片的进位输出端 Cn4 与高位芯片的进位输入端 Cn 相连,使低 4 位运算产生的进位送进高 4位运算中。低位芯片的进位输入端 Cn 可与外来进位相连,高位芯片…

python中导入模块队列_【每日学习】Python中模块的导入

模块的概念:每一个以扩展名py结束的Python源代码文件都是一个模块模块名同样也是一个标识符,需要符合标识符的命名规则在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具模块就好比工具包,要想使用这个工具包中的工具&#xff0…

setuptools安装_在Ubuntu 18.04系统上安装ERPNext ERP

简介ERPNext是一个功能丰富的企业级ERP系统,使用Frappe框架编写,一个Python和JavaScript的Web应用程序框架,具有:会计管理、库存管理制造管理、客户关系管理系统、销售管理、采购管理、项目管理等特性。ERPNext ERP系统适用于中小…

Spark Mlib TFIDF源码详读 笔记

2019独角兽企业重金招聘Python工程师标准>>> 在提取文本特征时,经常用到TF-IDF算法。Spark Mlib实现了该算法。下面是Spark Mlib中,TF_IDF算法调用的一个实例: def main(args:Array[String]){val sc: SparkContext null …

焦作的计算机三级考试考点,3月河南计算机等级考试考点分布情况

摘要: 3月河南计算机等级考试考点分布情况为你介绍河南计算机等级考试时间为2020年3月28日-30日,为了方便河南考生。下面是小编整理的2020年3月河南计算机等级考试报...河南计算机等级考试时间为2020年3月28日-30日,为了方便河南考生。下面是…

js客户端存储之Web存储

WEB存储 客户端存储有几种方式,WEB存储就是其中一种。最初作为H5的一部分被定义成API形式,后来被剥离出来作为独立的标准。所描述的API包含localStorage对象和sessionStorage对象,这两个对象实际都代表同一个Storage对象,是持久化…

直播软件自动化测试,基于SRS-Bench工具的直播平台性能测试

摘要:性能测试通过自动化的测试工具模拟正常、异常场景来对系统的各项性能指标进行测试。通过性能测试可以分析一个系统能力、瓶颈、关键问题等。本文结合直播平台的部分场景,使用开源SRS-Bench工具对直播并的4个场景进行压力测试,测试直播平…

pythontype函数使用_Python astype(np.float)函数使用方法解析

Python astype(np.float)函数使用方法解析 我的数据库如图结构我取了其中的name age nr,做成array,只要所取数据存在str型,那么取出的数据,全部转化为str型,也就是array阵列的元素全是str,不管数据库定义的…

计算机硬件加速怎么开,显卡硬件加速,小编教你电脑怎么开启显卡硬件加速

小编之前是不知道怎么开启显卡硬件加速的,后来是朋友教我,才知道原来开启显卡硬件加速并不难操作。所以今天小编也将者开启的方法分享给小伙伴们。让你们也知道怎么开启硬件加速。显卡硬件加速有什么作用呢?其实开启了显卡硬件加速&#xff0…

um是代表什么意思_女生约会心里都想什么?女生约会举动代表什么意思

在和女生约会的全过程中,女生的思绪通常都较为细致,1个目光、1个行为、1个中停……都将会蕴含了無限的含意,男生们假如愿意取得成功将女生追到手,很必须剖析一下下女生约会心里都想干什么,女生约会举动代表什么意思&am…

ubuntu mysql开发_ubuntu linux mysql 开发模式与连接编译

【源码 测试】#include #include #include int main(void){MYSQL_RES *result;MYSQL_ROW row;MYSQL *connection, mysql;int state;mysql_init(&mysql);connection mysql_real_connect(&mysql,"localhost","root","951241","mysql…

浅谈浏览器http的缓存机制

针对浏览器的http缓存的分析也算是老生常谈了,每隔一段时间就会冒出一篇不错的文章,其原理也是各大公司面试时几乎必考的问题。 之所以还写一篇这样的文章,是因为近期都在搞新技术,想“回归”下基础,也希望尽量总结的更…

计算机故障检修课过时,第三场公开课|电脑故障维修以及笔记本知识科普

原标题:第三场公开课|电脑故障维修以及笔记本知识科普等待了漫长的一个星期, R&D又带着满满的干货和大家见面啦~你没看错!!这次R&D带来了两份大大的干货给大家分别是大家关心的 电脑故障维修问题以及大家想要了解的 笔记本…

为什么说python是计算机语言的未来_Python这么火,为什么说它不是未来的编程语言?...

本文转载自公众号“读芯术”(ID:AI_Discovery) Python这两年非常火,随处可见的广告让它逐渐变成了一种老少皆知的存在。 虽然问世几十年后,Python才得到编程社区的重视。 但是,其发展的势头似乎无人能及。自2010年年初以来&#x…

win 杀掉占用的端口_Windows netstat 查看端口、进程占用、杀掉进程

转载:http://ywsm.iteye.com/blog/510670http://58582786.blog.51cto.com/1550000/671487目标:在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用.操作:操作分为两步:(1)查看该端口被…

C++课程上 有关“指针” 的小结

上完了C的第二节课以后,觉得应该对这个内容进行一个小结,巩固知识点,并对我的心情进行了一个侧面烘托... 开始上课的老师: 正在上课的我: 上去敲代码的我: 过程是这样的: 下来的我: …