Appnnventor+Microbit技术文档
本帖最后由 szjuliet 于 2019-3-12 15:09 编辑App Inventor_micro:bit技术文档原文地址:http://iot.appinventor.mit.edu/#/microbit/microbitintro
请忽略排版,文中的空行不知为何无法删除,编辑的时候可以删除,编辑完后空行又出现:funk:。
Microbit_Accelerometer加速度传感器Microbit_Accelerometer组件允许用户配置BBC micro:bit的板载加速度传感器,并通过适当的方法接收一个或多个加速度传感器样本。加速度传感器的报告速率(report rate)或周期(period)决定了将数据发送到App Inventor的频率。Properties属性
[*]BluetoothDevice - 连接到micro:bit设备的BluetoothLE组件。
Methods方法
[*]ReadAccelerometerData - micro:bit读取单个加速度传感器数据样本。成功读取后,运行事件 AccelerometerDataReceived 。
[*]ReadAccelerometerPeriod - 读取micro:bit加速度传感器的当前报告速率(report rate)。读取到period后,通过事件 AccelerometerPeriodReceived接收period。
[*]RequestAccelerometerDataUpdates - 请求micro:bit加速度传感器的更新通知。最近调用过程WriteAccelerometerPeriod所设置的period的值决定了报告加速度传感器变化的速率。加速度计数据将通过AccelerometerDataReceived事件进行报告 。
[*]StopAccelerometerDataUpdates - 停止从micro:bit的加速度传感器接收更新。请注意,即使调用了这个stop过程,可能仍然会有来自设备的挂起的消息(pending message)通过AccelerometerDataReceived事件进行报告 。
[*]WriteAccelerometerPeriod - 使用WriteAccelerometerPeriod方法更改micro:bit向App Inventor发送加速度传感器数据的频率。period的值以毫秒为单位进行测量。根据micro:bit规格,有效值分别为1, 2, 5, 10, 20, 80, 160和640毫秒。
参数:
[*]period(Number数值) - 新的加速度传感器报告周期period,以毫秒为单位。
Events事件
[*]AccelerometerDataReceived - 只要从micro:bit接收到加速度传感器采样,就会运行AccelerometerDataReceived事件。这通常是执行 读取或 请求操作的结果。X,Y和Z值是重力加速度(G = -9.8 m / s 2)的千分之一,因此应该按1/1000缩放。
参数:
[*]Accelerometer_X(Number数值) - 加速度传感器的X值,以毫G为单位。
[*]Accelerometer_Y(Number数值) - 加速度传感器的Y值,以毫G为单位。
[*]Accelerometer_Z(Number数值) - 加速度传感器的Z值,以毫G为单位。
[*]AccelerometerPeriodReceived - 读取到micro:bit加速度传感器的period值后,运行AccelerometerPeriodReceived事件。
参数:
[*]Accelerometer_Period(Number数值) - micro:bit加速度传感器的当前报告周期(period),以毫秒为单位。
[*]WroteAccelerometerPeriod - 在请求调用ReadAccelerometerPeriod方法之后,运行WroteAccelerometerPeriod事件来报告peroid的值 。
参数:
[*]Accelerometer_Period(数字) - micro:bit的加速度传感器的报告周期(period),以毫秒为单位。
Microbit_Button按钮Microbit_Button插件为App Inventor提供BBC micro:bit按钮状态的信息。当用户按下按钮或读取按钮的当前状态时,开发人员可以使用此插件来请求更新。按钮有三种状态:
[*]0 – 抬起
[*]1 – 按下
[*]2 – 长按
Properties属性
[*]BluetoothDevice - 连接到micro:bit设备的BluetoothLE组件。
Methods方法
[*]ReadButtonAState - 读取micro:bit的A按钮的当前状态。成功读取后,运行 ButtonAStateReceived事件。
[*]ReadButtonBState - 读取micro:bit的B按钮的当前状态。成功读取后,运行 ButtonBStateReceived事件。
[*]RequestButtonAStateUpdates - 请求更新micro:bit的A按钮的状态。更新请求发出后,无论micro:bit是否向app报告了按钮状态的变化,都会运行ButtonAStateReceived事件。如果长按按钮,事件ButtonAStateReceived的返回值是2。
[*]RequestButtonBStateUpdates - 请求更新micro:bit的B按钮的状态。更新请求发出后,无论micro:bit是否向app报告了按钮状态的变化,都会运行ButtonBStateReceived事件。如果长按按钮,事件ButtonBStateReceived的返回值是2。
[*]StopButtonAStateUpdates - 停止接收micro:bit的A按钮的状态更新。请注意,调用该方法后,可能仍然有未处理的挂起更新结果出现在 ButtonAStateReceived事件中。
[*]StopButtonBStateUpdates - 停止接收关于micro:bit的B按钮的状态更新。请注意,调用该方法后,可能仍然有未处理的挂起更新结果出现在 ButtonBStateReceived事件中。
Events事件
[*]ButtonAStateReceived - 在执行了读取(read)或 请求更新(request for updates)后, ButtonAStateReceived事件会与按钮状态信息一起运行。
参数:
[*]Button_State_Value(Number数值) - micro:bit的A按钮状态: 0为释放,1为按下,2为长按。
[*]ButtonBStateReceived - 在执行了读取(read)或 请求更新(request for updates)后, ButtonBStateReceived事件会与按钮状态信息一起运行。
参数:
[*]Button_State_Value(Number数值) - micro:bit的B按钮状态: 0为释放,1为按下,2为长按。
Microbit_Io_Pin 输入输出引脚Microbit_Io_Pin组件允许用户配置BBC micro:bit的模拟引脚以进行输入和输出,以及读、写及请求引脚的输入输出状态。Properties属性
[*]BluetoothDevice - 连接到micro:bit设备的BluetoothLE组件。
Methods方法
[*]ReadPinADConfiguration - 读取micro:bit引脚配置的状态,具体说明每个引脚是配置为数字(0或1)还是配置为模拟(0至255)。成功读取后,运行PinADConfigurationReceived事件。
[*]ReadPinData - 从micro:bit读取单个引脚状态的样本。成功读取后,运行 PinDataReceived事件。在读取引脚之前,应该使用WritePinIOConfiguration方法将引脚配置为输入。
[*]ReadPinIOConfiguration - 读取micro:bit引脚的当前输入/输出配置。成功读取后,运行PinIOConfigurationReceived事件。
[*]RequestPinDataUpdates - 请求对任何配置为输入的micro:bit引脚进行更新。请求更新后,只要micro:bit报告某个引脚更改为输入,就会运行PinDataReceived事件。
[*]StopPinDataUpdates - 停止接收micro:bit的I / O(输入/输出)引脚状态的更新。请注意,可能有尚未处理的挂起更新会导致运行 PinDataReceived事件。
[*]WritePWMControl - 将PWM控制字段写入micro:bit。PWM控制字段是一个有1~2个实例的可变长度数组的数据结构,它包含一个1字节的引脚(pin)字段(范围0~19),一个2字节的值(value)字段(范围0~1024)和一个4字节的周期(period)字段(以毫秒为单位)。
参数:
[*]PWM_Control_Field(列表list) - 在WritePWMControl方法描述中定义PWM控制字段数据。
[*]WritePinADConfiguration - WritePinADConfiguration用于配置micro:bit上的引脚是模拟的还是数字的。Pin_AD_Config_Value由三个字节组成,代表19位,每一位代表micro:bit的一个引脚。0位表示数字引脚,1位表示模拟引脚。在成功写入了新的引脚配置后,运行WrotePinADConfiguration事件。
参数:
[*]Pin_AD_Config_Value(list 列表) - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
[*]WritePinData - 如果使用了WritePinIOConfiguration方法将引脚配置为输出,则WritePinData用于设置micro:bit引脚的输出值 。值写入引脚后,运行WrotePinData事件。
参数:
[*]IO_Pin_Data(list 列表) - 输出到micro:bit引脚的值的列表,该列表最多包含19个值,值的范围为0-255。
[*]WritePinIOConfiguration – 本方法用于配置micro:bit引脚是输入还是输出。参数Pin_IO_Config_Value应该是有3个元素的列表,每个元素是从0到255的数字,组成19位的位掩码。0表示输出,1表示输入。
参数:
[*]Pin_IO_Config_Value(list 列表) - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
Events事件
[*]PinADConfigurationReceived - micro:bit调用ReadPinADConfiguration方法并成功返回后,运行PinADConfigurationReceived事件。
参数:
[*]Pin_AD_Config_Value(list 列表) - 在micro:bit上配置的模拟/数字引脚状态的列表。
[*]PinDataReceived - 在micro:bit发送其输入引脚状态后运行PinDataReceived事件。这一般是在调用ReadPinData或 RequestPinData之后。
参数:
[*]IO_Pin_Data(list 列表) - micro:bit的输入引脚的状态。未配置为输入的引脚值为0。
[*]PinIOConfigurationReceived - 在读取了micro:bit引脚的输入/输出配置后运行PinIOConfigurationReceived事件。参数Pin_IO_Config_Value将是一个三个字节的列表,其值为0-255,组成19位掩码,表示由micro:bit提供的19个引脚中每一个的输入输出状态。0表示输出,1表示输入。
参数:
[*]Pin_IO_Config_Value(list 列表) - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
[*]WrotePWMControl - 在成功写入micro:bit的脉宽调制控制服务后运行WrotePWMControl事件。写入的控制字段的值作为参数PWM_Control_Field传递。
参数:
[*]PWM_Control_Field(list 列表) - 写入micro:bit的控制信息。
[*]WrotePinADConfiguration - 在将模拟和数字引脚成功写入micro:bit配置服务器后运行WrotePinADConfiguration事件。Pin_AD_Config_Value是字节列表,将作为最后一次调用服务的一部分写入。
参数:
[*]Pin_AD_Config_Value(list 列表) - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
[*]WrotePinData - 调用WritePinData 方法成功写入micro:bit的输出引脚后,运行WrotePinData事件。
参数:
[*]IO_Pin_Data(list 列表) - 在最后一次调用WritePinData时写入到micro:bit引脚的最多包含19个值的列表,值的范围为0~255。
[*]WrotePinIOConfiguration - 在成功更新micro:bit的输入/输出引脚配置后运行WrotePinIOConfiguration事件。在事件中Pin_IO_Config_Value将作为参数发送到设备。
参数:
[*]Pin_IO_Config_Value(list 列表) - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
Microbit_Led LED显示屏Microbit_LED插件让App Inventor用户可以通过编程来更改BBC micro:bit的5x5 LED矩阵,编程的形式既可以是自定义编码模式也可以编写文本字符串来编程。还可以定制显示的滚动速度。更多链接:
[*]下载micro:bit LED矩阵的示例项目。
[*]查看如何使用 micro:bit LED矩阵。
Properties属性
[*]BluetoothDevice - 连接到micro:bit设备的BluetoothLE组件。
Methods方法
[*]ReadLEDMatrixState - 从micro:bit读取LED矩阵的当前状态。LED矩阵状态将通过LEDMatrixStateReceived 事件进行报告。
[*]ReadScrollingDelay - 读取micro:bit的LED矩阵的当前滚动延迟。成功读取后,运行事件 ScrollingDelayReceived。
[*]WriteLEDMatrixState- 写入micro:bit的LED矩阵状态。LED_Matrix_State是范围在0-31的5组数值的列表,以指示在LED矩阵的5行中的每一行中应打开哪些LED。从左到右,LED的值为16, 8, 4, 2, 1。例如,如果要使某行中的LED电源状态为10011,则发送的值为(16 + 2 + 1)或19。写操作完成后,运行事件 WroteLEDMatrixState。
参数:
[*]LED_Matrix_State(list 列表) - 包含5组数值的列表,每组数值代表LED矩阵的一行,列表中的第n个值对应的是LED矩阵第n行位阵列的整数值。
[*]WriteLEDText - 将文本写入micro:bit的LED矩阵。每个字符出现在micro:bit上的显示速率取决于通过方法WriteScrollDelay写入的最后一个滚动值(scroll value)。受限于低功耗蓝牙包的允许长度,发送的字符串长度不超过20个UTF-8字节。尝试写入超过20个字节的字符串将导致消息被截断。
参数:
[*]LED_Text_Value(string字符串) - 要写入的文本。字符串长度限制为20个UTF-8字节。
[*]WriteScrollingDelay - 设置显示在micro:bit的LED矩阵上的字符之间的延迟,以毫秒为单位。在值写入之后,WriteScrollingDelay会调用该值 。
参数:
[*]Scrolling_Delay_Value(Number数值) - LED矩阵上字符之间的延迟,以毫秒为单位。
Events事件
[*]LEDMatrixStateReceived - 从设备读取micro:bit的LED矩阵的状态时,运行LEDMatrixStateReceived事件。LED_Matrix_State是一个包含5组值的列表,矩阵的每一行都有一个值。每个值都是一个范围从0到31的数字。从左到右,LED的值为16, 8, 4, 2, 1。
参数:
[*]LED_Matrix_State(list 列表) - 5个值的列表,每行一个,每个值在0-31之间以指示该行中哪些LED亮起。
[*]ScrollingDelayReceived - 在通过 ReadScrollingDelay方法请求micro:bit的LED矩阵滚动延迟后,运行Scrolling_Delay_Value事件。
参数:
[*]Scrolling_Delay_Value(Number数值) - LED矩阵上字符之间的延迟,以毫秒为单位。
[*]WroteLEDMatrixState – 调用WriteLEDMatrixState后,矩阵状态写入了micro:bit的LED矩阵中,此时运行WroteLEDMatrixState(原文为WriteLEDMatrixState)事件。参数LED_Matrix_State与调用方法WriteLEDMatrixState中的参数一样,以区分对多个写入LED矩阵的调用的响应。
参数:
[*]LED_Matrix_State(list 列表) - 之前特定调用时写入LED矩阵的值
[*]WroteLEDText - 调用WriteLEDText后,文本写入了micro:bit的LED矩阵,此时运行WroteLEDText事件。写入的文本由参数LED_Text_Value给出。
参数:
[*]LED_Text_Value(Text文本) - 要写入LED矩阵的文本。
[*]WroteScrollingDelay - 在调用WriteScrollingDelay方法并成功读取micro:bit的滚动延迟(scrolling delay)之后,运行事件WroteScrollingDelay。
参数:
[*]Scrolling_Delay_Value(Number数值) - LED矩阵上字符之间的延迟,以毫秒为单位。
Microbit_Magnetometer磁力计Microbit_Magnetometer可以对micro:bit的板载磁力计进行配置,通过适当的方法接收一个或多个磁力计的样本。Properties属性
[*]BluetoothDevice - 与micro:bit的BluetoothLE组件连接。
Methods方法
[*]ReadMagnetometerBearing - 从micro:bit读取单个方位样本(single bearing sample)。成功读取后,运行 MagnetometerBearingReceived事件。
[*]ReadMagnetometerData - 从micro:bit读取单个磁力计数据样本(single sample of magnetometer data)。成功读取后,运行 MagnetometerDataReceived事件。
[*]ReadMagnetometerPeriod – 读取micro:bit磁力计的当前报告速率(current report rate)。读取到period的值后,由事件 MagnetometerPeriodReceived接收period的值。
[*]RequestMagnetometerBearingUpdates - 请求更新micro:bit的方位(Bearing)变化。Period的值是在上一次调用WriteMagnetometerPeriod过程时设置的,它决定了报告方位变化的频率(rate)。方位数据通过MagnetometerBearingReceived事件进行报告 。
[*]RequestMagnetometerDataUpdates – 请求更新micro:bit磁力计数据。Period的值是在上一次调用WriteMagnetometerPeriod过程时设置的,它决定了报告磁力计数据的频率。磁力计数据通过MagnetometerDataReceived事件进行报告 。
[*]StopMagnetometerBearingUpdates - 停止接收来自micro:bit的磁力仪的更新。请注意,可能会有来自设备的待处理消息(pending messages)仍会通过MagnetometerBearingReceived事件进行报告 。
[*]StopMagnetometerDataUpdates - 停止接收来自micro:bit的磁力仪的更新。请注意,可能会有来自设备的待处理消息(pending messages)仍会通过MagnetometerDataReceived事件进行报告 。
[*]WriteMagnetometerPeriod- 使用WriteMagnetometerPeriod方法更改micro:bit将磁力计数据发送到App Inventor的频率。该周期(period)以毫秒为单位进行测量。根据micro:bit规格,有效值分别为1, 2, 5, 10, 20, 80, 160和640毫秒。
参数:
[*]Magnetometer_Period(Number数值) - 新的磁力计报告周期(Period),以毫秒为单位。
Events事件
[*]MagnetometerBearingReceived - 无论何时从micro:bit接收到方位样本,都会运行MagnetometerBearingReceived事件。这通常是执行 读取或 请求操作的结果。方位值以相对于北(North)的度数报告。
参数:
[*]bearing_value(Number数值) - 方位(北),单位度。
[*]MagnetometerDataReceived - 只要从micro:bit接收到磁力计样本,就会运行MagnetometerDataReceived事件。这通常是执行 读取或 请求操作的结果。X,Y和Z值以毫特斯拉(milli-teslas)为单位,因此应按1/1000缩放。
参数:
[*]Magnetometer_X(Number数值) - 磁力计的X值,单位为毫特
[*]Magnetometer_Y(Number数值) - 磁力计的Y值,单位为毫特
[*]Magnetometer_Z(Number数值) - 磁力计的Z值,单位为毫特
[*]MagnetometerPeriodReceived - 从设备读取micro:bit磁力计周期(Period)后运行MagnetometerPeriodReceived事件。
参数:
[*]Magnetometer_Period(Number数值) - micro:bit磁力计的当前报告间隔(current reporting interval),以毫秒为单位。
[*]WroteMagnetometerPeriod – 在之前调用ReadAccelerometerPeriod方法得到micro:bit的周期(Period)之后,运行WroteMagnetometerPeriod事件。
参数:
[*]Magnetometer_Period(Number数值) - 报告micro:bit磁力计的周期(Period),以毫秒为单位。
Microbit_Temperature 温度传感器Microbit_Temperature可以让App Inventor用户对BBC micro:bit板载温度传感器进行配置,并通过适当的方法接收一个或多个温度样本。温度传感器的报告速率(report rate)或周期(period)决定了将数据发送到App Inventor的频率。更多链接:
[*]下载micro:bit温度传感器的示例项目。
[*]查看如何使用 micro:bit温度传感器。
Properties属性
[*]BluetoothDevice - 连接到micro:bit设备的低功耗蓝牙(BluetoothLE)组件。
Methods方法
[*]ReadTemperature - 从micro:bit读取单个温度数据样本。成功读取后,执行 TemperatureDataReceived事件。
[*]ReadTemperaturePeriod - 读取micro:bit温度传感器的当前报告速率(report rate)。读取到period后,会通过 TemperaturePeriodReceived事件接收period的值。
[*]RequestTemperatureUpdates - 请求micro:bit温度传感器更新通知。系统会以上次调用 WriteTemperaturePeriod过程时设定的间隔(period)来报告温度变化。温度数据将通过TemperatureDataReceived事件进行报告 。
[*]StopTemperatureUpdates - 停止接收micro:bit温度传感器的更新。注意:可能会有来自设备的待处理消息(pending messages)仍会通过TemperatureDataReceived事件进行报告 。
[*]WriteTemperaturePeriod - 使用WriteTemperaturePeriod方法更改micro:bit向App Inventor发送温度数据的频率。period以毫秒为单位进行测量。
参数:
[*]temperature_period_value(number数值) - micro:bit温度传感器的新的报告周期(reporting period)。
Events事件
[*]TemperaturePeriodReceived - 当设备读取到micro:bit温度传感器的报告周期后运行TemperaturePeriodReceived事件。
参数:
[*]temperature_period_value(number数值) - micro:bit的温度传感器的当前报告间隔(current reporting interval)。
[*]TemperatureReceived - 只要从micro:bit接收到温度采样,就运行TemperatureReceived事件。这通常是执行 读取或请求更新 操作的结果。温度值以摄氏度测量。
参数:
[*]temperature_value(number数值) - 由micro:bit测量的温度,以摄氏度为单位
[*]WroteTemperaturePeriod - 在micro:bit温度传感器的报告周期写入设备后运行WroteTemperaturePeriod事件。
参数:
[*]temperature_period_value(number数值) - micro:bit温度传感器的新报告间隔(reporting interval)。
Microbit_Uart 通用异步收发器Microbit_Uart传感器可以在BBC micro:bit的串行UART端口读取和写入字符串。
Properties属性
[*]BluetoothDevice – 与micro:bit的BluetoothLE组件连接。
Methods方法
[*]RequestTXCharacteristic - 请求从micro:bit的串行UART接收消息。新消息将通过TXCharacteristicReceived 事件收到 。
[*]StopTXCharacteristicUpdates - 停止接收来自micro:bit串行UART的更新。注意:可能仍然会有来自设备的待处理(pending messages)消息通过TXCharacteristicReceived事件进行报告 。
[*]WriteRXCharacteristic - 将给定的UART_TX值写入micro:bit。消息的大小取决于UART_TX的值。数字将被转换为整数并以32位整数值的形式发送。字符串将使用UTF-8进行编码。对象列表(Lists of objects)将使用前面提到的数字和字符串规则以字节序列(sequence of bytes)的形式发送。
参数:
[*]UART_TX(any任何类型) - 要发送到micro:bit的RX引脚的值。字符串以UTF-8编码,数字将作为32位整数发送。根据列表中每个值的类型,列表中的值将被转换为字节序列。
Events事件
[*]TXCharacteristicReceived - 只要通过micro:bit的串行UART协议收到消息,就会运行TXCharacteristicReceived事件。
参数:
[*]UART_TX_FIELD(list列表) - 从设备读取的无符号字节的值的列表。
[*]WroteRXCharacteristic - 通过串行UART将消息写入micro:bit后,运行WroteRXCharacteristic事件。
参数:
[*]UART_TX_FIELD(list列表) - 写入设备的无符号字节的值的列表。
这个收藏了 gada888 发表于 2019-3-21 14:04
这个收藏了
:handshake:P
页:
[1]