Pebble嵌入式开发环境搭建和开发测试样例

  随着Apple Watch和Andriod Wear的兴起,智能手表迅速走到了人们眼前,作为kickstarter上成功的众筹项目,说明很多人对这款手表还是抱有很大期望的。他作为独立于iOS和安卓的智能手表的一个独立阵营而存在着,提供了相应的开发接口和开发包,目前线上的表盘和软件已经成千上万款了。
  也不知道是人们对iOS和安卓已经审美疲倦了,或者是对安卓和iOS设备电池续航太过失望,抑或想追求电纸屏幕的那种古典美而选择了他。在我看来,Pebble手表可以为我记步,提醒我定时喝水和起座,震动电话和闹钟提醒,以及为我推送手机的各种通知,或许你可以说这些功能智能手环已经可以做到了,但是Pebble是开放的,而且目前还在积极的开发中,全球的开发者都在这上面发挥着他们的智慧和创新写出新奇的应用程序,任何时候都可能给你带来惊喜。
  在贴吧和论坛,Pebble已经有自己的铁杆粉丝,他们常常自嘲道:不识货的人都说Pebble是山寨苹果的,而且名字pebble也是山寨apple的。俨然,这种自嘲中流露出了一种优越感,是对自己选择的欣喜和肯定。

一、开发环境的搭建

  官方的开发环境有两类:CouldPebble和本地SDK类别的,前者算是一个云端的开发套件,但是他们租用的亚马逊的云服务,在国内的速度和稳定性都感觉一般吧,而且我们也不是什么时候都有网络可用,所以下面介绍的是用后者,在本地搭建一个开发环境,搭配硬件调试也方便快捷。
  环境搭建步骤如下:

  • 下载和安装pebble sdk
      首先下载 pebble-tools,下载链接显示的是亚马逊的云服务,不加梯子是无法访问的,包括下面安装sdk的时候也是要加VPN的,WEDFD!解压后设置PATH环境变量:

    1
    export PATH=$PATH:"/home/user/Study/pebble-dev/PebbleSDK/bin"
  • Python环境安装
      注意的是,Pebble目前只支持python2,所以你的pip必须是python2的pip,有的发行版不是这样的,如果不成功注意检查这一点

    1
    2
    3
    4
    5
     user@localhost  ~/Study/pebble-dev/PebbleSDK  sudo pip2 install virtualenv
    user@localhost  ~/Study/pebble-dev/PebbleSDK  virtualenv --no-site-packages .env
    (.env) user@localhost  ~/Study/pebble-dev/PebbleSDK  pip install -r requirements.txt
    (.env) user@localhost  ~/Study/pebble-dev/PebbleSDK  deactivate
    user@localhost  ~/Study/pebble-dev/PebbleSDK 
  • 安装pebble sdk(需要梯子)

    1
    2
    3
    4
    5
     user@localhost  ~/Study/pebble-dev  pebble sdk list
    user@localhost  ~/Study/pebble-dev  pebble sdk install 3.8.2
    user@localhost  ~/Study/pebble-dev  pebble sdk list
    Installed SDKs:
    3.8.2 (active)
  • pebble是支持qemu虚拟机模拟的,所以你如果没有手表,或者想在硬件调试前用软件模拟,那么可以安装qemu虚拟机(又遇到天才大作qemu)

    1
    user@localhost  ~/Study/pebble-dev/PebbleSDK  sudo dnf install qemu libpng12 SDL

二、HelloWorld之WatchFace

  任何语言都是HelloWorld起家的。在Pebble上,如果写一个应用程序比较的麻烦,程序涉及到逻辑,最简单的可以按照官方的例程建立一个简单的watchface表盘。下面将建立表盘的代码罗列下来

  • 用pebble工具创建表盘的项目

    1
    user@localhost  ~/GitHub/PebbleFuns/watchfaces   master ●  pebble new-project watchface1
  • 修改watchfaces/watchface1/appinfo.json文件,最主要的是修改watchface为true,其他的参数根据自己喜好改

    1
    2
    3
    4
    5
    "companyName": "FreeSign",
    "targetPlatforms": ["aplite", "basalt" ],
    "watchapp": {
    "watchface": true
    },
  • 表盘的主要代码在watchfaces/watchface1/src/watchface1.c中修改。都是按照官方抄的,就不罗列了。
    watchface1.c

三、编译和安装

  • 编译,在项目根目录执行pebble build即可

    1
    2
     user@localhost  ~/GitHub/PebbleFuns/watchfaces/watchface1   master ●  pebble build
    'build' finished successfully (0.927s)
  • 模拟器安装,在pebble install添加–emulator参数即可。
      如果是在linux图形下,直接执行就可以了,而如果我这样用的headless虚拟机,需要设置DISPLAY环境变量,同时在Windows机器上安装Xmanager软件,打开Xmanager - Passive

    1
    2
    user@localhost  ~/GitHub/PebbleFuns/watchfaces/watchface1   master ●  export DISPLAY=192.168.91.1:0.0
    user@localhost  ~/GitHub/PebbleFuns/watchfaces/watchface1   master ●  pebble install --emulator basalt

效果如下:
image image

  • 手表安装,如果有手表,打开手表的调试模式,然后
    1
    user@localhost  ~/GitHub/PebbleFuns/watchfaces/watchface1   master ●  pebble install --phone 192.168.1.143

效果如下:
image image

四、总结

  相比一般的手环和智能手表,Pebble最大乐趣在于其开放性,对于一般用户可以在应用商店找到各种各样的应用程序和各种样式的表盘,而对于动手能力强的,可以自己写应用软件,甚至发布到官方的应用商店去,据我所知目前其它的手环和智能手表还没有做到这一点。在官方的例子主页提供了大量的实例,也方便了开发者的学习和模仿。总之,Pebble在我看来还是很有前景,很值得入手的一块智能手表!

  2016年12月,Pebble归入Fitbit旗下,前途未卜!

本文完~