eZ430是TI出的智能手表,跟智能手环和现在的智能手表不同,这款产品更像是对手表的提升。事实上,这是TI推出的表形430开发板,集成大量传感器不说,还把430低功耗的特点发挥的淋漓尽致。这里重点介绍一下Chronos这块TI出的手表在fedora23 64位上的开发环境搭建和简单使用,由于这块表实在太老了,所以资料和教程并不是很好找,很多很多东西都已经不能用了,所以这里重新对他们进行介绍。

Chronos

简单说,什么是eZ430-Chronos?就是一款使用MSP430的带LCD显示屏,气压传感器,三轴加速度传感器,温度传感器,电池电压传感器以及无线模块的手表型开发板。。这么一说突然感觉low了不少,但仔细想想现在的所谓的智能手环很多带的传感器甚至不如这个手表的传感器多,而这个手表出来都5,6年了。这个手表最大的特点是他是按照手表来设计的,使用的就是纽扣电池,一块电池我带了接近一年,MSP430的低功耗真不是吹的。

从上面这些传感器来看,如果认真写代码,他能够测量当前高度,气压,温度,同时使用三轴加速度传感器,你可以任意发挥,写出自己的运动检测,睡眠检测等功能。结合LCD显示屏,能够脱离手机,直接在手表上查看当前的情况。他也有无线模块,能够传到他对应的无线接收板上(无线模块并不是蓝牙wifi。。关于他的无线模块有三种频率可选,其实随便选,个人用根本什么都不会影响,而且我们又不会搞他的无线模块,用起来根本没有感觉),一代神表官网报价$58。但可惜大陆并没有货。更多的介绍可以看他的官网http://www.ti.com.cn/tool/cn/ez430-chronos

如果你也有这款手表,那么肯定很想自己设计他里面的代码,接下来就是我将这款手表的环境搭建到Fedora23上的过程了。

PC的环境搭建

我记得我当时搭建的时候,Linux的客户端死活找不到下载地址,官网提供的地址当时打不开,最后好不容易找到了赶紧存了一份。自己下载吧https://github.com/throneclay/ez430_workspace/blob/master/slac388c.zip
下载完就要解压缩,然后发现解出来一个文件。加上可执行属性后运行,发现并没有什么反应。诶,估计又是什么版本过高,TI的软件维护真心不怎么样啊,没办法,我还有个低版本的ubuntu,就在那里面运行解压出来了我们的工作目录,这个工作目录稍后我也会传上来。
Texas Instruments这个文件夹下就是关于Chronos所有的软件资料了,Chronos有个官方提供的PC客户端,不过运行前需要安装他的依赖.

1
2
3
4
5
6
sudo dnf install tk
sudo dnf install tcl
sudo dnf install xdotool

cd ~/Texas Instruments/eZ430-Chronos/Control Center/Chronos Control Center
tclsh eZ430-Chronos\ CC\ 1_2.tcl

到这里很可能会出现问题,问题主要原因是你没有把无线小板查到电脑上,或者你的无线小板在设备中的权限有问题,如果你确认你查好了,那就先执行下面这句(前提是你看好你插上的小板在/dev下面确实时ttyACM0,有的时候可能时ttyACM1之类的,自行改一下就好了)

1
sudo chmod 777 /dev/ttyACM0

每次运行这些很麻烦我就写了个launch.sh的脚本,把上面的几句话加到了里面。每次只要运行脚本就可以了。我的Texas Instruments文件链接
这样应该已经打开了你的客户端,此时里面的功能基本都可以用,但对于某些型号的手表,由于自带固件太老不支持无线固件升级,为了能使用无线固件升级功能,下面来介绍下有线固件升级。

无线刷固件修复

使用有线固件升级需要他的debug小板,就是有好多小针的小板,使用这个板需要把手表拆开。拿下来后,你可以看到手表上也有一些针,我们需要板上的中间四根来对应手表的中间四根,我没有这么细的线,就找了这种小排针接了两段。对应上中间的四根线,接上的效果如下图。

好了,连接上USB,手表就被点亮了,这时候需要安装几个工具

1
sudo dnf install mspdebug msp430-gcc

完成后先看看系统是不是正确识别

1
2
3
lsusb
Bus 002 Device 010: ID 0451:f432 Texas Instruments, Inc. eZ430 Development Tool
...

发现这句话,继续下面的操作,选择跟自己一样的无线频率刷,这里只是示例

1
2
3
4
5
6
7
8
9
10
11
12
13
cd ~/Texas Instruments/eZ430-Chronos/Recovery/RF Access Point/MSP430 v1.1 - white PCB
sudo mspdebug rf2500
...
(mspdebug) prog Recovery_eZ430-Chronos_AP_433MHz_2_2-white_PCB.txt
Erasing...
Programming...
Writing 4096 bytes at a000...
Writing 4096 bytes at b000...
Writing 4096 bytes at c000...
Writing 4096 bytes at d000...
Writing 3717 bytes at e000...
Writing 340 bytes at ee86...
Writing 46 bytes at ffd2...

完成后就可以使用无线方式升级自己新写的固件了。

编写自己的固件

编写固件这里我们采用改写别人已经写好的固件的方式,自己编写一个完整的固件太耗时间了。这里采用的是openChronos-ng当然Chronos的固件有很多,这里只是举一个例子,其他的固件编译也都差不多,可以看一下他们的手册。

下载后先make config选一下自己要得功能(experiment或者test的尽量不要选,可能未完成,有问题),加速度传感器Chronos这块手表有两种,所以有一部分人可能在加速度传感器这里遇到问题。 接着make depend再就可以make了,但是我这里一直提示库不匹配。。上网找了半天我也没找到合适的库,MSP430-gcc感觉也好久没人维护了,诶,TI的软件维护确实是个问题。没办法,找出我之前在ubuntu上用的库,复制一套出来就可以使用了这里再分享一份放到你的home文件夹下。我的系统是64位的,所以我的库安装在了/usr/lib64下

1
2
3
4
5
cd ~
tar -zxvf 4.6.4.tgz
cd /usr/lib64/gcc/msp430
sudo mv 4.6.4 4.6.4.bk
sudo mv ~/4.6.4 .

这样你再回去make是不是已经可以了啊。。这个方法可能不是很好,但也没找到别的方法,所以先这样用着吧。

接下来就是编写自己的功能了,后面有时间再开一个文章专门写一下。

参考了好多这里http://www.itopen.it/the-hackable-watch-a-wearable-msp430-mcu/