2014年CSDN开源夏令营(7月6日~8月2日)中期报告
2014年8月7日
索引:
- 项目概述
- 项目框架
- 工作安排
- 目前进度
- 预期效果
1.项目概述
1.1io-js介绍
IOT IO Library 是为物联网设备(伽利略/爱迪生开发板等),配套设备(手机/平板)和 XDK 开发的一个基于 JavaScript 的 IO 库。其中有大部分组件:
- 两个库:iot-io, iot-io-companion
- 一个服务器: iot-io-server
- 一个自动化工具:autogen
iot-io:
iot-io 是一个基于 Javascript 的一个IO库,并且提供与 Arduino 相似的 API。iot-io 运行在无联网设备上,如伽利略/爱迪生开发板上。
iot-io-companion:
运行在配套设备上,并且能够像调用 iot-io 中的 API 一样的方法以及用户定义的方法。这些方法的调用将会装换成 JSON-RPC 请求,iot-io-server 则接收这些请求并且执行本地的 iot-io 库。
iot-io-server:
运行在物联网设备上的一个 JSON-RPC 服务器,用于为远程的配套设备提供 iot-io 中的 API 调用,甚至是用户自定义的方法。
autogen:
一个基于Python自动化工具,提供 C/C++ 到 JavaScript 接口的绑定。
1.2 关于本项目的介绍
本项目是基于伽利略开发板和 IOT IO库开发的一个应用。可以用配套设备(智能手机上的加速度传感器)远程操作机械手臂的运动,在伽利略开发板上运行 iot-io 并开启iot-io-server ,在智能手机上运行 iot-compantion 使用智能手机上的加速度传感器进行远程遥控搭载了伽利略开发板的机械手臂。
2.项目框架
本项目由于使用 IOT IO 库,则将会是一个典型的 C/S 架构。设备上的伽利略板运行 iot-io-server , 是服务器端,而智能手机是客户端。下图是用智能手机控制机械手臂的整个框架图。
3.工作安排
3.1 日历
3.2 每周工作安排
第五周(目前时间~8月09日):熟悉一下 IOT IO 库,并且成功运行示例。
第六周(8月10日~8月16日):完成设备端控制代码。
第七周(8月17日~8月23日):将设备端代码移植到智能手机端,重构智能手机端UI。
第八周(8月24日~8月30日):系统测试,修复存在的缺陷。
第九周(8月31日~9月06日):若项目能按计划完成,则这一周用来尝试其他玩法。若未能按计划完成,则用于应对突发状况。
第十周(9月07日~9月13日):完成最终考评。
4.目前进度
4.1 智能手机端已完成进度:
UI设计:[■■■■■■■■■■■■■■■■■■■■] 100% (备注:虽然完成了,但是会在之后重构)
按键控制模块:[■■■■■■■■■■■■■■■■□□□□] 80%
加速度传感器控制器模块:[■■■■□□□□□□□□□□□□□□□□] 30%
4.2 设备端已完成进度:
硬件部分:
机械手臂组装:[■■■■■■■■■■■■■■■■■■■■] 100%
电路连线:[■■■■■■■■■■□□□□□□□□□□] 50%
软件部分:
控制代码:[□□□□□□□□□□□□□□□□□□□□] 0%
5.预期效果
预期效果是可以通过手握智能手机通过上下左右前后移动智能手机来操作机械手臂自如得移动动,机械手臂和智能手机的移动是同步进行的。