Linux Socket 传输 Leap Motion 数据示例

这是一个简单的在 Linux 环境下使用 TCP/IP 传输数据的小例子,分为 Server 端和 Client 端,Server 端将 Leap Motion 处理后的数据传送给 Client 端。
Linux Socket 部分参考自 红薯 分享在开源中国的例子:Linux Socket 编程实例(一个Hello World程序)
Leap Motion 部分使用的是官方提供的 Sample 程序。

思路

1.TCP/IP 需要先初始化,使用代码进行端口绑定和监听。这部分代码可添加到 Leap Motion 监听类的初始化函数onInit()中。
2.TCP/IP 中循环接收数据的部分可添加到 Leap Motion 的onFrame()中。
3.在 Leap Motion 监听类退出时onExit(),因同时关闭 Socket 的监听进程。
4.将 Leap Motion 处理后的整型数据通过stringstream作为中转,最后转换为char *型,送入缓冲区,发送。
5.Client 端接收到的为char *型,可通过字符串截取的方式取出数据并转换为整型。(该部分代码并未给出。)
Continue Reading…

Wearable LEAP:Leapd in ubilinux

Leapd

Leapd 是 Leap Motion 在 Linux/Mac 下负责核心数据处理的守护进程(daemon),在 Windows 下依赖的则是运行在后台的服务 Leap Service
为使 Leap Motion 能在 Intel Edison 上运行,必须在 Edison 上的系统中(Yocto 或 ubilinux)运行 Leapd。

Leapd in ubilinux

1.获取安装包

wget获取 Leap Motion SDK,tar zxvf解压后可获得 Leap Motion 在 x86/x64 下设置程序的 deb 安装包,SDK 和相关文档。
Continue Reading…

Wearable LEAP:ubilinux and Yocto

Yocto Linux for Intel® Edison

Intel 在 Edison 上提供的是 Yocto Linux,与 Debian,RedHat 等发行版不同,这是由 Yocto 工具针对不同的嵌入式设备进行定制后的一类系统的统称,源自 Yocto Project。Yocto 提供了一些模板、工具和方法来支持面向嵌入式产品的自定义 Linux 系统,旨在使嵌入式 Linux 的开发更简单,更方便的在不同架构间进行移植。

Edison 上运行的 Yocto Linux 是i386架构,采用 opkg 包管理,原生支持 C/C++/Python/JavaScript等,基本上满足日常的开发需求。此外,Intel 还内置了专门为 Edison 开发的管理程序,方便对 Wifi 和 Bluetooth 等功能进行管理,使 Edison 更易上手。
Intel 除了提供编译好的系统镜像文件,还提供Linux源码文件、板卡支持包 (BSP) 以及整合到构建过程中的其他任何程序包或层,方便我们根据自己的需要定制相应的 Yocto Linux 版本。(这些均可以访问 Intel 的 Edison 支持页面下载。)

定制需要使用 Yocto 工具包里的 BitBakeOpenEmbedded-Core,定制过程参考 Yocto Project Quick Start
Yocto Project 还提供了图形化的定制工具Hob以及为系统构建所搭建的虚拟机Build Appliance,有着配置好的全套环境。用户只需要提供相应的BSP和用于构建的程序包和层。

*Intel官方推荐的构建环境是Ubuntu 12.04 LTS,我在 Ubuntu 14.04 LTS 和 Build Appliance Dizzy 1.7 上构建均出现一些奇怪的问题,所以还是推荐在Ubuntu 12.04 LTS上构建。

*Leap Motion 默认提供的是deb包,所以建议在构建时选择软件包格式选择deb,使用dpkg管理。
Continue Reading…