MBIENTLAB 构建的 MetaWear for iOS/macOS/tvOS/watchOS
SDK 用于在苹果生态系统中运行创建 MetaWear 应用。
这是一个围绕 MetaWear C++ API 的薄包装,因此您会发现在 C++ 文档 和 API 参考 中提供的信息有用。
此外,请检查入门 App 和详尽的示例 App 以获取示例代码。
概览
MetaWear 是一个完整的可穿戴和连接设备应用的开发和生产平台。
MetaWear 具有多种传感器和外围设备,通过此 SDK 可通过蓝牙 4.0/5.0 低功耗轻松控制,无需固件或硬件经验!
MetaWear 硬件预装了可无线升级的固件,因此它会随着时间的推移变得更加强大。
需求
- MetaWear板
- Apple ID,您现在可以免费开始!一旦您准备好提交App到App Store,您就需要一个付费的Apple开发者账号。
- 运行iOS 14.0或更高版本并具有蓝牙4.0/5.0(iOS 13+,建议XCODE12+,BLE5.0)的设备
需求备注
iOS模拟器不支持蓝牙4.0/5.0,因此必须在实际iOS设备上运行测试应用,这需要一个开发者账号。iPhone 4S+、iPad第三代+或iPod Touch第五代上可用蓝牙4.0。
在模拟器中不支持蓝牙
许可证
查看许可证
支持
如果您遇到任何问题,或者只是想聊天,请联系社区 :)
入门
安装前
Xcode
您需要熟悉Xcode开发才能使用这些API。
Swift
我们的API是用Swift编写并支持的。
CocoaPods
CocoaPods是一个用于Swift和Objective-C Cocoa项目的依赖管理器。它拥有超过7.9万个库,被超过300万个应用程序使用。CocoaPods可以帮助您优雅地扩展项目。
CocoaPods是用Ruby编写的,可以通过macOS上默认的Ruby进行安装。我们建议您使用默认的ruby。
使用默认的Ruby安装可能需要您在安装gem时使用sudo。进一步的安装说明请见指南。
sudo gem install cocoapods
安装
MetaWear可以通过CocoaPods获得。要安装它,请在Podfile中添加以下行
然后在您的Xcode项目目录中名为Podfile的文本文件中列出依赖项
platform :ios, '14.0'
use_frameworks!
target 'MyApp' do
// LOCAL
pod "MetaWear", :subspecs => ['UI', 'AsyncUtils', 'DFU']
// COCOA POD
pod "MetaWear"
// COCOA POD RELEASE SPECIFIC
pod "MetaWear", '~> '4.0.2'
end
提示:CocoaPods提供pod init命令来创建具有智能默认设置的Podfile。您应该使用它。
现在您可以为项目安装依赖项
pod install
可能更新是个好主意
pod update
确保在构建项目时始终打开Xcode工作区,而不是项目文件
open App.xcworkspace
现在您可以导入依赖项,例如
#import MetaWear
用法
需要metawear包
import MetaWear
import MetaWearCpp
调用Swift API
device.flashLED(color: .green, intensity: 1.0)
或直接调用CPP SDK
var pattern = MblMwLedPattern(high_intensity: 31,
low_intensity: 31,
rise_time_ms: 0,
high_time_ms: 2000,
fall_time_ms: 0,
pulse_duration_ms: 2000,
delay_time_ms: 0,
repeat_count: 0xFF)
mbl_mw_led_stop_and_clear(device.board)
mbl_mw_led_write_pattern(device.board, &pattern, color)
mbl_mw_led_play(device.board)
或者像下面的例子中那样混合使用。
示例
以下是一个演示基本连接并切换LED操作的指南。
MetaWearScanner.shared.startScan(allowDuplicates: true) { (device) in
// We found a MetaWear board, see if it is close
if device.rssi.intValue > -50 {
// Hooray! We found a MetaWear board, so stop scanning for more
MetaWearScanner.shared.stopScan()
// Connect to the board we found
device.connectAndSetup().continueWith { t in
if let error = t.error {
// Sorry we couldn't connect
print(error)
} else {
// Hooray! We connected to a MetaWear board, so flash its LED!
var pattern = MblMwLedPattern()
mbl_mw_led_load_preset_pattern(&pattern, MBL_MW_LED_PRESET_PULSE)
mbl_mw_led_stop_and_clear(device.board)
mbl_mw_led_write_pattern(device.board, &pattern, MBL_MW_LED_COLOR_GREEN)
mbl_mw_led_play(device.board)
}
}
}
}
教程
教程可以在这里找到。