在折腾博联的RM pro,由于他只提供了手机端的APP,感觉不是很方便,打算用树莓派控制。目前粗略的分析官方提供的安卓手机端的APK软件,大略的知道他们将与设备通信的那块逻辑,编译到了一个libNetworkAPI.so文件中,我对这块不是很了解,对于我来说我觉得有这么几条路:
1. 手机是arm处理器,树莓派也是arm处理器,那么,是否可以在树莓派上直接引用这个libNetworkAPI.so运行。我对安卓理解不深,不确定这条路是否可行。
2. 如果1不可行,那我就搞一块支持android的开源硬件,比如pcDuino。
3. 或者有其他通信协议公开的开源硬件,支持红外,315MHz、433MHz的那种。
4. 或者自己搭硬件,红外模块、315模块、433模块都是可以在某宝买到的,不过软件那部分就得自己写了。
大家对此有什么建议不?
1
ufo22940268 2015-07-27 12:57:29 +08:00
自己写一个jni应用,然后引用libNetworkAPI.so这个library,然后写好之后在编译的时候通过在Android.mk里面把target指定为arm(还支持armv7, 不行的话就试试这个),然后编译之后就可以去运行试试了。
我没有树莓派,上面是我的一些想法 |
2
linhua 2015-07-27 13:31:17 +08:00
1.手机APP只是和它的那个“座机”通信的,“座机”再和那些遥控设备进行通信,并不能直接摇控设备。
2.所以要明确,树莓派是要实现“座机”的功能,还是手机APP的功能 3.libNetworkAPI.so是linux/android下的动态链接库文件,如果想要在c/c++程序里引用,需要其对应的头文件(.h文件),知道其里面函数的功能 4.android是开源的,树莓派也可以装android 5.红外模块、315模块、433模块是“座机”需要具备的,而手机端只需要具有wifi模块即可。 |
3
msmmbl OP @ufo22940268 多谢。下班了回去试试。
|
4
msmmbl OP @linhua
谢谢您的建议。 “2.所以要明确,树莓派是要实现“座机”的功能,还是手机APP的功能” 树莓派是想实现手机的APP功能。 “3.libNetworkAPI.so是linux/android下的动态链接库文件,如果想要在c/c++程序里引用,需要其对应的头文件(.h文件),知道其里面函数的功能 ” 因为我反编译了APK,从编译出来的java里知道libNetworkAPI.so里面的所有函数,因此理论上我可以还原出头文件。 所以,我不确认的是,libNetworkAPI.so是否可以在RASPBIAN中能够被引用运行。因此,如果证实libNetworkAPI.so不能再RASPBIAN中运行,我会试试将树莓派上安装安卓系统,或者自己用红外模块、315模块、433模块搭建自己的“座机”。 |