[家庭智慧照明控制与室内环境监测系统]--6. 蓝牙BLE上位机开发2
[复制链接]
本帖最后由 传媒学子 于 2021-6-27 21:21 编辑
忙活了大半个月,发现从0搞一个app, 还是挺有难度..
分享一些学习体验吧。
0. BLE基本知识
网上一大堆,但最根本的是:要熟悉Client/Central的概念,以及GATT等协议的基本内容;
GATT(Generic Attribute Profile),描述了一种使用ATT的服务框架 ,该框架定义了服务(Server)和服务属性(characteristic)的过程(Procedure)及格式 ,
Procedure定义了characteristic的发现、读、写、通知(Notifing)、指示(Indicating) 及配置characteristic的广播。
1.Android 开发体验
必备知识1:Java 或者 kotlin
google已经全面支持kotlin进行Java开发了,虽然kotlin和java 可以互相转换,但还是得选一个语言开发。
BLE毕竟也是一个不算新的技术,估计github的库,基本上是Java, 开发的。再者,java我还听过,kotlin对我是完全陌生呀。
因此, 选择java进行开发;
必备知识2:面向对象
java是面向对象的,因此,安卓开发,需要暂时不要想C的一些特性;要弄明白java回调函数(callback),继承关系,都要弄明白,否则根本不知道程序main在哪里,button如何执行;
必备知识3: gradle/ android sdk
gradle真是令人闹心,完全不知道什么情况,从网上download的例程,都要下载一堆的包,而且android sdk 也要更新为对应的;总之,这个很烦人。不知道google和业界如何看待这个问题,估计大神们一般都是自己写程序;
经过近20多天的挣扎,我决定还是暂缓Android开发,先拥抱swift(Apple)的怀抱。
2. APPLE
在@justd0的帮助下,我成功找到了一款Apple IOS的开源蓝牙调试软件: https://github.com/Pluto-Y/Swift-LightBlue
去apple store可以直接下载LightBlue,进行调试;软件挺好用的,
这个软件貌似还能上云,挺有意思的,希望可以帮助大家。。
|