0-效果展示
首先,来一个效果展示图。
垃圾佬力士
1-入手
儿童电话腕表,是为小孩子设计的。可以定位、可以语音、乃至可以拍照。一样平常不须要功能花里胡哨的,不要有什么视频啊游戏的。基本上一样平常三五百块钱比较合理,性价比就还可以。但最近在大妈家见到了几款19元的儿童腕表(一样平常标价219,领取叠加优惠券:满212减200元)。去了10元邮费,还剩9元的本钱,令人惊掉下巴。。。墙裂的好奇心,匆匆使我买了一单,尝个鲜儿。

整体做工还可以,玩具级别,中规中矩,对付19元来说是绝对值得买的。
19元儿童腕表实物图
3-套餐问题开机之后,跳出的是个二维码,须要扫码激活交费,开通套餐。套餐倒是也不是很贵,但是看评论好多家长都反应,充值了激活不了,反复充值激活,还存在有时乱扣费的问题。希望商家能积极改进做事。
然鹅,值得一提的是,所谓的内置卡并不能用普通的手机卡代替,必须激活自带的儿童腕表专用卡并购买套餐 。果真,变的故意思了。。。
套餐用度
须要激活内置手机卡
4-拆机关于套餐问题,话不多说了,就当啥都不知道了,直接一拆到底,看看19元的硬件到底是何方妖怪 。
儿童腕表主板
HS8225LHS8225L是一款完全的CMOS高功率,高效率發射模組,適用於低本钱四頻TX(GSM850 / EGSM900 / DCS1800 / PCS1900)/雙頻RX GSM / GPRS手機。
RDA8955紫光展锐旗下锐迪科微电子(以下简称“RDA”)推出一款物联网2G芯片RDA8955。该芯片具有环球最小尺寸及超低功耗的特点,是2G物联网市场最具性价比的办理方案。不查不知道,这个芯片性能还是非常强劲的,配置足够强大。大略说下参数:32位XCPU RISC core , 312MHz 。32Mb PSRAM 32Mb SPI NOR Flash。外围继续了相机、Audio、SD卡、USB1.1、LCD、37个GPIO口。尤其内部集成了电源管理模块,可以管理锂电池充电。也可以配置LDO输出用于支持LCD、键盘背光等。这比平日玩的单片机、aduino等不论是性能还是配置的丰富程度都不是一个级别的。
我没有看到GPS干系芯片,解释仅仅是通过2G基站进行定位的,也就意味着定位精度不会很高。
5-刷机必须激活套餐才能用,何解?。。。
通过对主板的一番不雅观察,创造主板上存在串口的测试点,并且印刷上了标注Tx,Rx,于是果断飞线,连接上串口转USB输出的模块,连接电脑,打开串口。开机,此时串口的输出就像脱了钢的野马,一顿狂奔。。。
个中,最主要的就这句log了,直接奉告了LCD屏幕的详细型号:
[23:13:57.700] SXR 01 : ST7735S(0x89f0): lcd read id is 0x89f0
此刻我想刷个机。。。然鹅,搜遍全网,貌似没有对应固件。
6-写固件看来只能重新努力别辟门户了,搜啊搜,搜啊搜……
就看到了安信可的一个2G物联网GPS定位模块A9/A9G,用的也是RAD8955这一款芯片,是有支持二次开拓的SDK。
链接在此
安信可供应的SDK,功能还是非常强大的,同时模块的卖点定位也是非常明确的,便是做一个定位模块可能对其他的支持比较弱,比如:LOD输出是没有的。而这一点对付屏幕的点亮却很主要。导致我换了开拓SDK。
通过安信可的二次开拓sdk,也能实现自己的一些想法。比如,在微信里跟踪腕表的位置,还有安信可自己开拓的app也可以显示位置。
19元的儿童腕表,有屏幕,有电池,有外壳。比单买这个模块都要更喷鼻香一些,定制完自己的固件,也可以按照自己的想法实现一些分外功能,比如隔一段韶光唤醒自己上报一次位置,这样待机韶光就会大大延长啦,你看他是个屏幕不亮的儿童腕表,实在它是个定位器,还能指挥录音和拍照,切实其实是个神特工。。。
A9 功能
微信显示定位
APP 功能先容
前面说过,安信可这套SDK是没有LOD输出的,以是屏幕没法点亮,运行的测试程序可以输出,但是屏幕背光是不亮的,还得拿手电筒照它,才能瞥见字,这怎么能行呢。。。我可不能做达文西第二。。。
背光不亮
好在,有时在github上创造一套RDA的开拓代码(感谢大佬)。
RDA8955_W17.44_IDH
研究一番,也可以用安信可的编译环境进行编译,该当是同一套RDA公司供应的源码,安信可也仅仅是再此根本上进行了二次封装并阉割掉了一些电源管理的功能。按照目录构造看,st7735s驱动也是有的,详细的辅导书,也是都有的。在此略去不表了,自己看就行了。特殊详细了。
唯一没有的,便是GUI库。。。又一个大坑。。。
嗯??灵光闪现。。彷佛?安信可的sdk中集成了一套LVGL的GUI库,把它搬过来不就行了嘛。
果断移植过去,创造是可以用的,但是这套LVGL库是v5版本的,显示个汉字都难,图片显示也不配套。坑。。。
于是去github上,下载了最新的LVGL,然后移植过去,然后此事可成了。。。
LVGL库显示汉字
7-制作表盘有了LVGL库的加持,制作表盘,这块事理就非常大略了,便是几个图片的叠加显示。。。
比如指针式的表盘,须要:表盘图一张,时针图一张,分针图一张,秒针图一张。
然后按照顺序叠加显示,每隔xx毫秒,就去刷新指针角度就可以了。
创建时:
lvHour = lv_img_create(central);//造一个时针工具
lv_img_set_src( lvHour, &hour);//时针工具设置图片源
lv_img_set_pivot(lvHour, 6, 62);//时针工具设置支点位置,
lv_obj_align(lvHour,LV_ALIGN_CENTER, 0, -18);//对齐到中间并调度位置
周期性更新韶光时: lv_img_set_angle(lvHour, angle);//设置图片角度
太空人表盘,比拟于指针式表盘也是更加的大略,只须要准备数字的图片,还有宇航员的动画序列图片就可以了。
宇航员飞行,便是不断改换图片的过程,1秒内从fly0均匀刷到fly9。
资源图
以是,各种表盘,,看着很高等的样子,,实在背地里都是在悄悄刷图片。
对付表盘这种运用来说,根本不用深入学习LVGL,只需理解个image工具就可以了。还是非常大略的。
至此,我的目标暂时也就全部达成了,可以佩戴19元的塑料腕表上街了。