2019-3-12 15:09:34 [显示全部楼层]
4220浏览
查看: 4220|回复: 2

[教程] 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组件。
截图201903121243431580.png
截图201903121243568910.png

Methods方法
  • ReadAccelerometerData - micro:bit读取单个加速度传感器数据样本。成功读取后,运行事件 AccelerometerDataReceived
截图201903121244141456.png

  • ReadAccelerometerPeriod - 读取micro:bit加速度传感器的当前报告速率(report rate)。读取到period后,通过事件 AccelerometerPeriodReceived接收period
截图201903121244268110.png

  • RequestAccelerometerDataUpdates - 请求micro:bit加速度传感器的更新通知。最近调用过程WriteAccelerometerPeriod所设置的period的值决定了报告加速度传感器变化的速率。加速度计数据将通过AccelerometerDataReceived事件进行报告
截图201903121244545728.png

  • StopAccelerometerDataUpdates - 停止从micro:bit的加速度传感器接收更新。请注意,即使调用了这个stop过程,可能仍然会有来自设备的挂起的消息(pending message)通过AccelerometerDataReceived事件进行报告
截图201903121245029380.png

  • WriteAccelerometerPeriod - 使用WriteAccelerometerPeriod方法更改micro:bitApp Inventor发送加速度传感器数据的频率。period的值以毫秒为单位进行测量。根据micro:bit规格,有效值分别为1,     2, 5, 10, 20, 80, 160640毫秒。

参数:




    • periodNumber数值 - 新的加速度传感器报告周期period,以毫秒为单位。
截图201903121245158082.png
Events事件
  • AccelerometerDataReceived - 只要从micro:bit接收到加速度传感器采样,就会运行AccelerometerDataReceived事件。这通常是执行 读取 请求操作的结果。XYZ值是重力加速度(G     = -9.8 m / s 2)的千分之一,因此应该按1/1000缩放。
参数:




    • Accelerometer_XNumber数值 - 加速度传感器的X值,以毫G为单位。
    • Accelerometer_YNumber数值 - 加速度传感器的Y值,以毫G为单位。
    • Accelerometer_ZNumber数值 - 加速度传感器的Z值,以毫G为单位。
截图201903121245559562.png




  • AccelerometerPeriodReceived - 读取到micro:bit加速度传感器的period值后,运行AccelerometerPeriodReceived事件。
参数:




    • Accelerometer_PeriodNumber数值 - micro:bit加速度传感器的当前报告周期(period),以毫秒为单位。
截图201903121246061904.png




  • WroteAccelerometerPeriod - 在请求调用ReadAccelerometerPeriod方法之后,运行WroteAccelerometerPeriod事件来报告peroid的值
参数:




    • Accelerometer_Period数字 - micro:bit的加速度传感器的报告周期(period),以毫秒为单位。
截图201903121246247031.png



Microbit_Button按钮
Microbit_Button插件为App Inventor提供BBC micro:bit按钮状态的信息。当用户按下按钮或读取按钮的当前状态时,开发人员可以使用此插件来请求更新。按钮有三种状态:
  • 0     – 抬起
  • 1     – 按下
  • 2     – 长按

Properties属性
  • BluetoothDevice -     连接到micro:bit设备的BluetoothLE组件。
截图201903121247044614.png
截图201903121247138920.png


Methods方法
  • ReadButtonAState - 读取micro:bitA按钮的当前状态。成功读取后,运行 ButtonAStateReceived事件。
截图201903121247437992.png

  • ReadButtonBState - 读取micro:bitB按钮的当前状态。成功读取后,运行 ButtonBStateReceived事件。
截图201903121248107104.png

  • RequestButtonAStateUpdates - 请求更新micro:bitA按钮的状态。更新请求发出后,无论micro:bit是否向app报告了按钮状态的变化,都会运行ButtonAStateReceived事件。如果长按按钮,事件ButtonAStateReceived的返回值是2
截图201903121248264954.png

  • RequestButtonBStateUpdates - 请求更新micro:bitB按钮的状态。更新请求发出后,无论micro:bit是否向app报告了按钮状态的变化,都会运行ButtonBStateReceived事件。如果长按按钮,事件ButtonBStateReceived的返回值是2
截图201903121248402134.png

  • StopButtonAStateUpdates - 停止接收micro:bitA按钮的状态更新。请注意,调用该方法后,可能仍然有未处理的挂起更新结果出现在 ButtonAStateReceived事件中。
截图201903121248545811.png

  • StopButtonBStateUpdates - 停止接收关于micro:bitB按钮的状态更新。请注意,调用该方法后,可能仍然有未处理的挂起更新结果出现在 ButtonBStateReceived事件中。
截图201903121249056566.png


Events事件
参数:




    • Button_State_ValueNumber数值 - micro:bitA按钮状态: 0为释放,1为按下,2为长按。
截图201903121249247953.png



参数:




    • Button_State_ValueNumber数值 - micro:bitB按钮状态: 0为释放,1为按下,2为长按。
截图201903121249402238.png




Microbit_Io_Pin 输入输出引脚
Microbit_Io_Pin组件允许用户配置BBC micro:bit的模拟引脚以进行输入和输出,以及读、写及请求引脚的输入输出状态。
Properties属性
  • BluetoothDevice -     连接到micro:bit设备的BluetoothLE组件。
截图201903121249553851.png
截图201903121250047798.png

Methods方法
  • ReadPinADConfiguration - 读取micro:bit引脚配置的状态,具体说明每个引脚是配置为数字(01)还是配置为模拟(0255)。成功读取后,运行PinADConfigurationReceived事件。
截图201903121250233049.png

  • ReadPinData -     micro:bit读取单个引脚状态的样本。成功读取后,运行 PinDataReceived事件。在读取引脚之前,应该使用WritePinIOConfiguration方法将引脚配置为输入。
截图201903121250337868.png

  • ReadPinIOConfiguration - 读取micro:bit引脚的当前输入/输出配置。成功读取后,运行PinIOConfigurationReceived事件。
截图201903121250437310.png

  • RequestPinDataUpdates - 请求对任何配置为输入的micro:bit引脚进行更新。请求更新后,只要micro:bit报告某个引脚更改为输入,就会运行PinDataReceived事件。
截图201903121251009867.png

  • StopPinDataUpdates - 停止接收micro:bitI / O(输入/输出)引脚状态的更新。请注意,可能有尚未处理的挂起更新会导致运行 PinDataReceived事件。
截图201903121251111002.png

  • WritePWMControl - PWM控制字段写入micro:bitPWM控制字段是一个有1~2个实例的可变长度数组的数据结构,它包含一个1字节的引脚(pin)字段(范围0~19),一个2字节的值(value)字段(范围0~1024)和一个4字节的周期(period)字段(以毫秒为单位)。
参数:




    • PWM_Control_Field列表list - WritePWMControl方法描述中定义PWM控制字段数据。
截图201903121251243058.png



  • WritePinADConfiguration - WritePinADConfiguration用于配置micro:bit上的引脚是模拟的还是数字的。Pin_AD_Config_Value由三个字节组成,代表19位,每一位代表micro:bit的一个引脚。0位表示数字引脚,1位表示模拟引脚。在成功写入了新的引脚配置后,运行WrotePinADConfiguration事件。
参数:




    • Pin_AD_Config_Valuelist 列表 - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
截图201903121251349130.png



  • WritePinData - 如果使用了WritePinIOConfiguration方法将引脚配置为输出,则WritePinData用于设置micro:bit引脚的输出值 。值写入引脚后,运行WrotePinData事件。
参数:




    • IO_Pin_Datalist 列表 - 输出到micro:bit引脚的值的列表,该列表最多包含19个值,值的范围为0-255
截图201903121251444390.png



  • WritePinIOConfiguration 本方法用于配置micro:bit引脚是输入还是输出。参数Pin_IO_Config_Value应该是有3个元素的列表,每个元素是从0255的数字,组成19位的位掩码。0表示输出,1表示输入。
参数:




    • Pin_IO_Config_Valuelist 列表 - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
截图201903121252024098.png


Events事件
  • PinADConfigurationReceived - micro:bit调用ReadPinADConfiguration方法并成功返回后,运行PinADConfigurationReceived事件。
参数:




    • Pin_AD_Config_Valuelist 列表 - micro:bit上配置的模拟/数字引脚状态的列表。
截图201903121252168767.png



  • PinDataReceived - micro:bit发送其输入引脚状态后运行PinDataReceived事件。这一般是在调用ReadPinData RequestPinData之后。
参数:




    • IO_Pin_Datalist 列表 - micro:bit的输入引脚的状态。未配置为输入的引脚值为0
截图201903121252347198.png



  • PinIOConfigurationReceived - 在读取了micro:bit引脚的输入/输出配置后运行PinIOConfigurationReceived事件。参数Pin_IO_Config_Value将是一个三个字节的列表,其值为0-255,组成19位掩码,表示由micro:bit提供的19个引脚中每一个的输入输出状态。0表示输出,1表示输入。
参数:




    • Pin_IO_Config_Valuelist 列表 - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
截图201903121252469335.png



  • WrotePWMControl - 在成功写入micro:bit的脉宽调制控制服务后运行WrotePWMControl事件。写入的控制字段的值作为参数PWM_Control_Field传递
参数:




    • PWM_Control_Fieldlist 列表 - 写入micro:bit的控制信息。
截图201903121253024988.png



  • WrotePinADConfiguration - 在将模拟和数字引脚成功写入micro:bit配置服务器后运行WrotePinADConfiguration事件。Pin_AD_Config_Value是字节列表,将作为最后一次调用服务的一部分写入。
参数:




    • Pin_AD_Config_Valuelist 列表 - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
截图201903121253168073.png



  • WrotePinData - 调用WritePinData 方法成功写入micro:bit的输出引脚后,运行WrotePinData事件。
参数:




    • IO_Pin_Datalist 列表 - 在最后一次调用WritePinData时写入到micro:bit引脚的最多包含19个值的列表,值的范围为0~255
截图201903121253319514.png



  • WrotePinIOConfiguration - 在成功更新micro:bit的输入/输出引脚配置后运行WrotePinIOConfiguration事件。在事件中Pin_IO_Config_Value将作为参数发送到设备。
参数:




    • Pin_IO_Config_Valuelist 列表 - 由一个19位掩码组成的8位值列表,每一位代表micro:bit上的一个引脚。
截图201903121253403744.png


Microbit_Led LED显示屏
Microbit_LED插件让App Inventor用户可以通过编程来更改BBC micro:bit5x5 LED矩阵,编程的形式既可以是自定义编码模式也可以编写文本字符串来编程。还可以定制显示的滚动速度。
更多链接:

Properties属性
  • BluetoothDevice - 连接到micro:bit设备的BluetoothLE组件。
截图201903121254043630.png
截图201903121254146701.png

Methods方法

  • ReadLEDMatrixState      - micro:bit读取LED矩阵的当前状态。LED矩阵状态将通过LEDMatrixStateReceived 事件进行报告。
截图201903121254545894.png

  • ReadScrollingDelay - 读取micro:bitLED矩阵的当前滚动延迟。成功读取后,运行事件 ScrollingDelayReceived
截图201903121255101437.png

  • WriteLEDMatrixState  - 写入micro:bitLED矩阵状态。LED_Matrix_State是范围在0-315组数值的列表,以指示在LED矩阵的5行中的每一行中应打开哪些LED。从左到右,LED的值为16, 8, 4, 2, 1。例如,如果要使某行中的LED电源状态为10011,则发送的值为(16 + 2 + 1)或19。写操作完成后,运行事件 WroteLEDMatrixState
参数:




    • LED_Matrix_Statelist 列表 - 包含5组数值的列表,每组数值代表LED矩阵的一行,列表中的第n个值对应的是LED矩阵第n行位阵列的整数值。
截图201903121255232013.png



  • WriteLEDText - 将文本写入micro:bitLED矩阵。每个字符出现在micro:bit上的显示速率取决于通过方法WriteScrollDelay写入的最后一个滚动值(scroll value。受限于低功耗蓝牙包的允许长度,发送的字符串长度不超过20UTF-8字节。尝试写入超过20个字节的字符串将导致消息被截断。
参数:




    • LED_Text_Valuestring字符串 - 要写入的文本。字符串长度限制为20UTF-8字节。
截图201903121255358390.png



  • WriteScrollingDelay - 设置显示在micro:bitLED矩阵上的字符之间的延迟,以毫秒为单位。在值写入之后,WriteScrollingDelay会调用该值
参数:




    • Scrolling_Delay_ValueNumber数值 - LED矩阵上字符之间的延迟,以毫秒为单位。
截图201903121255451409.png


Events事件
  • LEDMatrixStateReceived - 从设备读取micro:bitLED矩阵的状态时,运行LEDMatrixStateReceived事件。LED_Matrix_State是一个包含5组值的列表,矩阵的每一行都有一个值。每个值都是一个范围从031的数字。从左到右,LED的值为16, 8, 4, 2, 1      
参数:




    • LED_Matrix_Statelist 列表 - 5个值的列表,每行一个,每个值在0-31之间以指示该行中哪些LED亮起。
截图201903121256086504.png



  • ScrollingDelayReceived - 在通过 ReadScrollingDelay方法请求micro:bitLED矩阵滚动延迟后,运行Scrolling_Delay_Value事件。
参数:




    • Scrolling_Delay_ValueNumber数值 - LED矩阵上字符之间的延迟,以毫秒为单位。
截图201903121256248422.png



  • WroteLEDMatrixState 调用WriteLEDMatrixState后,矩阵状态写入了micro:bitLED矩阵中,此时运行WroteLEDMatrixState(原文为WriteLEDMatrixState事件。参数LED_Matrix_State与调用方法WriteLEDMatrixState中的参数一样,以区分对多个写入LED矩阵的调用的响应。
参数:




    • LED_Matrix_Statelist 列表 - 之前特定调用时写入LED矩阵的值
截图201903121256341334.png



  • WroteLEDText - 调用WriteLEDText后,文本写入了micro:bitLED矩阵,此时运行WroteLEDText事件。写入的文本由参数LED_Text_Value给出。
参数:




    • LED_Text_ValueText文本 - 要写入LED矩阵的文本。
截图201903121256437313.png



  • WroteScrollingDelay - 在调用WriteScrollingDelay方法并成功读取micro:bit的滚动延迟(scrolling delay)之后,运行事件WroteScrollingDelay
参数:




    • Scrolling_Delay_ValueNumber数值 - LED矩阵上字符之间的延迟,以毫秒为单位。
截图201903121256588235.png



Microbit_Magnetometer磁力计
Microbit_Magnetometer可以对micro:bit的板载磁力计进行配置,通过适当的方法接收一个或多个磁力计的样本。
Properties属性
  • BluetoothDevice -     micro:bitBluetoothLE组件连接。
截图201903121257097823.png
截图201903121257236303.png
Methods方法
  • ReadMagnetometerBearing - micro:bit读取单个方位样本(single bearing sample)。成功读取后,运行 MagnetometerBearingReceived
截图201903121257468376.png

  • ReadMagnetometerData - micro:bit读取单个磁力计数据样本(single sample of magnetometer data)。成功读取后,运行 MagnetometerDataReceived事件。
截图201903121257573613.png

  • ReadMagnetometerPeriod读取micro:bit磁力计的当前报告速率(current     report rate)。读取到period的值后,由事件 MagnetometerPeriodReceived接收period的值。
截图201903121258083129.png

  • RequestMagnetometerBearingUpdates - 请求更新micro:bit的方位(Bearing)变化。Period的值是在上一次调用WriteMagnetometerPeriod过程时设置的,它决定了报告方位变化的频率(rate)。方位数据通过MagnetometerBearingReceived事件进行报告
截图201903121258167313.png

  • RequestMagnetometerDataUpdates请求更新micro:bit磁力计数据。Period的值是在上一次调用WriteMagnetometerPeriod过程时设置的,它决定了报告磁力计数据的频率。磁力计数据通过MagnetometerDataReceived事件进行报告
截图201903121258591138.png

  • StopMagnetometerBearingUpdates - 停止接收来自micro:bit的磁力仪的更新。请注意,可能会有来自设备的待处理消息(pending messages)仍会通过MagnetometerBearingReceived事件进行报告
截图201903121259239250.png

  • StopMagnetometerDataUpdates - 停止接收来自micro:bit的磁力仪的更新。请注意,可能会有来自设备的待处理消息(pending messages)仍会通过MagnetometerDataReceived事件进行报告
截图201903121259379591.png

  • WriteMagnetometerPeriod- 使用WriteMagnetometerPeriod方法更改micro:bit将磁力计数据发送到App     Inventor的频率。该周期(period)以毫秒为单位进行测量。根据micro:bit规格,有效值分别为1,     2, 5, 10, 20, 80, 160640毫秒。
参数:




    • Magnetometer_PeriodNumber - 新的磁力计报告周期(Period),以毫秒为单位。
截图201903121259531364.png


Events事件
  • MagnetometerBearingReceived - 无论何时从micro:bit接收到方位样本,都会运行MagnetometerBearingReceived事件。这通常是执行 读取 请求操作的结果。方位值以相对于北(North)的度数报告。
参数:




    • bearing_valueNumber - 方位(北),单位度。
截图201903121300091152.png



  • MagnetometerDataReceived - 只要从micro:bit接收到磁力计样本,就会运行MagnetometerDataReceived事件。这通常是执行 读取 请求操作的结果。XYZ值以毫特斯拉(milli-teslas)为单位,因此应按1/1000缩放。
参数:




    • Magnetometer_XNumber - 磁力计的X值,单位为毫特
    • Magnetometer_YNumber - 磁力计的Y值,单位为毫特
    • Magnetometer_ZNumber - 磁力计的Z值,单位为毫特
截图201903121300235883.png



  • MagnetometerPeriodReceived - 从设备读取micro:bit磁力计周期(Period)后运行MagnetometerPeriodReceived事件。
参数:




    • Magnetometer_PeriodNumber - micro:bit磁力计的当前报告间隔(current      reporting interval),以毫秒为单位。
截图201903121300386208.png



  • WroteMagnetometerPeriod 在之前调用ReadAccelerometerPeriod方法得到micro:bit的周期(Period)之后,运行WroteMagnetometerPeriod事件。
参数:




    • Magnetometer_PeriodNumber - 报告micro:bit磁力计的周期(Period),以毫秒为单位。
截图201903121300535380.png


Microbit_Temperature 温度传感器
Microbit_Temperature可以让App Inventor用户对BBC micro:bit板载温度传感器进行配置,并通过适当的方法接收一个或多个温度样本。温度传感器的报告速率(report rate或周期(period)决定了将数据发送到App Inventor的频率。
更多链接:

Properties属性
  • BluetoothDevice -     连接到micro:bit设备的低功耗蓝牙(BluetoothLE)组件。
截图201903121301121034.png
截图201903121301236464.png

Methods方法
  • ReadTemperature -     micro:bit读取单个温度数据样本。成功读取后,执行 TemperatureDataReceived事件。
截图201903121301404524.png

  • ReadTemperaturePeriod - 读取micro:bit温度传感器的当前报告速率(report rate)。读取到period后,会通过 TemperaturePeriodReceived事件接收period的值。
截图201903121303255071.png [size=13.3333px]
  • RequestTemperatureUpdates - 请求micro:bit温度传感器更新通知。系统会以上次调用 WriteTemperaturePeriod过程时设定的间隔(period)来报告温度变化。温度数据将通过TemperatureDataReceived事件进行报告
截图201903121301538373.png

  • StopTemperatureUpdates - 停止接收micro:bit温度传感器的更新。注意:可能会有来自设备的待处理消息(pending messages)仍会通过TemperatureDataReceived事件进行报告
截图201903121304531318.png

  • WriteTemperaturePeriod - 使用WriteTemperaturePeriod方法更改micro:bitApp Inventor发送温度数据的频率。period以毫秒为单位进行测量。
参数:




    • temperature_period_valuenumber数值 - micro:bit温度传感器的新的报告周期(reporting      period)。
截图201903121305536660.png


Events事件
  • TemperaturePeriodReceived - 当设备读取到micro:bit温度传感器的报告周期后运行TemperaturePeriodReceived事件。
参数:




    • temperature_period_valuenumber数值 - micro:bit的温度传感器的当前报告间隔(current      reporting interval)。
截图201903121306231080.png



  • TemperatureReceived - 只要从micro:bit接收到温度采样,就运行TemperatureReceived事件。这通常是执行 读取请求更新 操作的结果。温度值以摄氏度测量。
参数:




    • temperature_valuenumber数值 - micro:bit测量的温度,以摄氏度为单位
截图201903121306339867.png



  • WroteTemperaturePeriod - micro:bit温度传感器的报告周期写入设备后运行WroteTemperaturePeriod事件。
参数:




    • temperature_period_valuenumber数值 - micro:bit温度传感器的新报告间隔(reporting      interval)。
截图201903121306451891.png


Microbit_Uart 通用异步收发器
Microbit_Uart传感器可以在BBC micro:bit的串行UART端口读取和写入字符串。

Properties属性
  • BluetoothDevice –     micro:bitBluetoothLE组件连接。
截图201903121307064917.png
截图201903121307127269.png

Methods方法

  • RequestTXCharacteristic - 请求从micro:bit的串行UART接收消息。新消息将通过TXCharacteristicReceived 事件收到
截图201903121307374236.png

  • StopTXCharacteristicUpdates - 停止接收来自micro:bit串行UART的更新。注意:可能仍然会有来自设备的待处理(pending messages)消息通过TXCharacteristicReceived事件进行报告
截图201903121307456103.png

  • WriteRXCharacteristic - 将给定的UART_TX值写入micro:bit。消息的大小取决于UART_TX的值。数字将被转换为整数并以32位整数值的形式发送。字符串将使用UTF-8进行编码。对象列表(Lists of objects)将使用前面提到的数字和字符串规则以字节序列(sequence of bytes)的形式发送。
参数:




    • UART_TXany任何类型 - 要发送到micro:bitRX引脚的值。字符串以UTF-8编码,数字将作为32位整数发送。根据列表中每个值的类型,列表中的值将被转换为字节序列。
截图201903121308023980.png


Events事件
  • TXCharacteristicReceived - 只要通过micro:bit的串行UART协议收到消息,就会运行TXCharacteristicReceived事件。
参数:




    • UART_TX_FIELDlist列表 - 从设备读取的无符号字节的值的列表。
截图201903121308156600.png



  • WroteRXCharacteristic - 通过串行UART将消息写入micro:bit后,运行WroteRXCharacteristic事件。
参数:




    • UART_TX_FIELDlist列表 - 写入设备的无符号字节的值的列表。
截图201903121308338777.png






截图201903121247548699.png
截图201903121303373752.png

gada888  版主

发表于 2019-3-21 14:04:29

这个收藏了
回复

使用道具 举报

szjuliet  版主
 楼主|

发表于 2019-3-22 08:19:16


:handshake:P
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail