【不是找骂贴!】LEGO Mindstorms EV3 Android API 0.1 科技系列

cqjjjzr 2015-2-5 3462

[i=s] 本帖最后由 cqjjjzr 于 2015-2-6 12:40 编辑 [/i] 大家好,我又来了!
这次不是来找骂的!
虽然我还是标准的反意大利面者(喷子请迅速按下Ctrl+W),但是这次我带来了一点自己写的代码。
好了不废话,开始切入正题,以下是我在中文乐高发表过得内容,转到乐乐镇(乐乐镇人气旺啊)
大家好。。。
本人新人一枚,会点Java和Android开发,最近看到LEGO没有放出Android的API,所以写了一个,欢迎点评。全名:LEGO MINDSTORMS EV3 Android API
当前版本:0.1
注意此API没有测试,请会点Java的朋友帮忙测试,在下面回复结果。同时我也会很快放出测试APK让大家无需编程就可以测试。
感谢各位。。。
附件里面包括jar(Library),JavaDoc(文档),还有源代码,注意本API依赖于Guava,请大家在编写时顺便加上Guava依赖(AndroidStudio可以在Project structure里面的app module的dependency里面增加一个Library,搜索“Guava”就OK了,Eclipse请直接下载最新Guava放进项目lib文件夹里面)

额,乐乐镇没权限发这么大的文件,下载就请到中文乐高的帖子去。
[url]http://bbs.cmnxt.com/thread-16192-1-1.html
最新回复 (24)
  • cqjjjzr 2015-2-5
    2
    [i=s] 本帖最后由 cqjjjzr 于 2015-2-7 09:06 编辑 [/i] 注意教程已经更新!原来的教程会导致无法构建.dex!请寻找教程中的红色字体来修正自己的程序!
    对了,我还是补充一个教程
    我只有Android Studio,就用这玩意吧
    第一步,创建项目。。这个大家都会,不赘述
    第二部,增加依赖。这个上图。。。1.File-Project structure-左边app-右上角dep-点加号:




    2.点Library。。。


    3.输入“com.google.guava:guava:16.0.1”,回车或者ok


    4.加入对EV3library的引用,先将三个jar文件拷到模块的libs文件夹:


    5.再在Dependencies里面点加号增加一个File Dependency,ok,ok:


    注意,在这里必须选中dep里面有一个{dir="libs" ,include="*.jar"},再单击右上角的减号,删除这一项。
    6.关联源代码有点烦人,需要先打开一个java文件,比如那个mainActivity,再在里面写一句比如Brick brick = new Brick(new BluetoothCommunication());,右键最开始的Brick,GoTo:De。。。。


    这时上面会报错,点Attach Source:


    选择source:



    就ok了。
    顺便说一句,查看javadoc按Ctrl+Q,要那个jar格式的javadoc直接解压打开index.html就来了

    祝大家编程愉快!
  • cqjjjzr 2015-2-5
    3

    还有,顺便加一句怎么使用这个API进行开发。首先,,你最好有一个实现了BrickChangedListener的类,那个Activity都可以。第二,应该在主要Activity的开始就创建一个public static final的Brick对象(目前仅支持BluetoothCommunition),在onCreate里面执行brick.connect()(这些只是“最好”,你要咋写随便你),每一个Brick都有一个DirectCommand和一个SystemCommand,Direct是用来做关于诸如电机、传感器的,system是用来处理文件的。这里面方法有点多,建议大家读读javadoc。1.创建brick和communication;
    2.连接brick.connect;
    3.挂入Listener:brick.addBrickChangedListener(new MyListener());
    Listener里面的brickChanged是在主机状态发生改变的时候或者你在创建Brick的时候用了true的时候调用(true时每过一段时间就会发出事件,这个时间默认100毫秒,在connect的时候可以指定,而false只会在发生改变时调用)
    brick里面有ports这个map,是传感器,可以使用ports.get(InputPort.One)来获取Port对象,要获取值建议使用SI值,别的都很难懂。。。当然port可以更换模式,自己看doc就会发现定义了很多模式的枚举。

    这就是一些规则,不懂得回复我,我会回答,并且可能会更改这楼。

    编程愉快!
  • cqjjjzr 2015-2-5
    4
    [i=s] 本帖最后由 cqjjjzr 于 2015-2-6 14:11 编辑 [/i] 更新日志:

    0.1 未测试,召集测试者。。。基础功能就绪

    本API GitHub地址:[url]https://github.com/cqjjjzr/LEGO-MINDSTORMS-EV3-Android-API-Sample
    占楼,资源(以后会放出示例程序、代码和详细文档)
  • rivk2007 2015-2-5
    5
    发到csdn貌似跟有反馈效果。
  • 上海新玩家 2015-2-5
    6
    楼主精神还是不错的,支持一下!我10年前的CSDN账号,早已变成僵尸账号了
  • haiout 2015-2-5
    7
    这里貌似玩ev3的高手比较少
  • lovemaomao 2015-2-5
    8
    看你的帖之前我都不知道control+w是啥功能
  • bartlett 2015-2-5
    9
    看不懂啊,帮顶吧~
  • ygsq 2015-2-5
    10
    上来半个贴没看懂
  • falconluan 2015-2-5
    11
    C++开发的路过,精神上支持一下
    一直没入ev3,提不起兴趣,平时上班是码,玩个玩具再码的话受不了。。。
    另外感觉目前的机器人能力比较有限,四路输入,四路输出,有点少了,几种传感器也不是很吸引人,尤其是红外信标和颜色,可能我想象力不行吧,想不出能吸引自己的东西去搭建
  • cqjjjzr 2015-2-5
    12

     提示:您可以先修改部分代码再运行
    rivk2007 发表于 2015-2-5 14:05
    发到csdn貌似跟有反馈效果。
    csdn有多少弄EV3的?不过我还是弄一个{:4_191:}
  • 球鞋 2015-2-5
    13
    哟~还挺记仇啊,点名呢~那我喊个“到”呗
  • dreamlab 2015-2-5
    14
    高中自学过VB……仅此而已……精神上支持了。
  • 1111111111 2015-2-5
    15
    刚刚知道ctrl加w是啥功能,长知识了。
  • psinbo 2015-2-6
    16
    如果我没记错的话,EV3可以用LabVIEW开发是么?
  • solomall 2015-2-6
    17
    精神上支持下~
  • dannygod 2015-2-6
    18
    支持一下,有心开源的话建议代码放github吧,想看也能方便些
  • solomall 2015-2-6
    19
    已经下载了你的,琢磨下,怎么才能激起玩VE3的热情列,我当时是买的时候很热情,玩了几天,发现编程很鸡肋,稍微复杂的功能编程就超级繁琐,最后还是跳了科技坑
  • psinbo 2015-2-6
    20

     提示:您可以先修改部分代码再运行
    cqjjjzr 发表于 2015-2-5 16:23
    csdn有多少弄EV3的?不过我还是弄一个
    如果用LabVIEW的话,扩展性也不大??是硬件限制么?
  • cqjjjzr 2015-2-6
    21

     提示:您可以先修改部分代码再运行
    dannygod 发表于 2015-2-6 09:34
    支持一下,有心开源的话建议代码放github吧,想看也能方便些
    本API已经托管在了GitHub!大家可以去[url]https://github.com/cqjjjzr/LEGO-MINDSTORMS-EV3-Android-API获取最新代码!
  • flexitime 2015-6-11
    22
    记下来,有时间就看看,我也是个程序员,喜欢机器人与程序。楼主交个朋友。
    我从NXT一直玩到EV3,不过EV3无时间玩就是了,等儿子大了教他玩。
  • cqjjjzr 2015-7-7
    23
    哎,现在还在DEBUG。。根本不能工作,打击啊。。求大神给解!{:1_265:}
  • 爱国英雄7 2015-7-7
    24
    额 我是过路的,好看热闹呵呵。{:1_257:}
  • cqjjjzr 2015-7-28
    25
    最近闲的蛋疼,改一下吧,毕竟一直搁着不好。。。准备换一种风格,这种风格弄着真心蛋疼{:1_257:}
返回
发新帖