FAQ

在本页您可以找到许多关于联发科LinkIt™ ONE 开发者常问的问题,在这里发现 答案,它们分为以下类别:

关于 LinkIt ONE 开发平台

什么是 LinkIt ONE?

LinkIt ONE 是一个可穿戴与物联网原型设计开发平台,有着丰富连接功能、尺寸小与最佳功耗等特色。

移动物联网的定义是什么?

设备可以透过 2G 调制解调器 (modem)长期连接到网络,但无法透过 Wi-Fi 网络永久连接,如汽车追踪器、远程监控与类似的设备。

我可以用LinkIt ONE 开发平台做些什么?

您能用LinkIt ONE 开发平台来建立:

  • 控制可穿戴与物联网设备的应用软件
  • 可穿戴与物联网原型设备

我为什么要用LinkIt ONE 开发板?

可穿戴与物联网设备的市场预计会在接下来几年快速的成长,替软件与硬件开发商、创客、制造商提供新的机会。今天开始用LinkIt ONE 开发的您,有机会在这令人兴奋的时机成为企业家先驱。

有没有厂商或者其他开发者运用  LinkIt 的实在 示例 ?

您可以在我们的应用实例页面查看厂商和开发者社区使用 LinkIt 开发板所建立的产品和项目。

硬件功能

什么是Aster?

Aster 是联发科技 MT2502 系统芯片组(SOC),也是可穿戴与物联网市面上最小的产品(2014年9月)。

LinkIt ONE 开发平台能搭载什么芯片组?

LinkIt ONE 的核心芯片组为 MT2502 (Aster),非常适合可穿戴的开发。 该开发平台也能搭配 Wi-Fi (MT5931) 与GNSS (MT3332) 芯片组以支持 Wi-Fi 与GNSS。

LinkIt ONE 开发平台支持蓝牙吗?

支持。 MT2502 (Aster) 支持内建双模式的蓝牙2.1/4.0。

LinkIt ONE 开发平台支持 Wi-Fi 吗?

支持。搭配上联发科技 Wi-Fi (MT5931) 芯片组至硬件设计,LinkIt ONE 具备 Wi-Fi 连接能力 (802.11 b/g/n)。

LinkIt ONE 开发平台支持全球导航卫星系统(GNSS)吗?

支持。搭配上联发科技 GPS 芯片组 (MT3332) 至硬件设计, LinkIt ONE 具备全球导航卫星系统GNSS (GPS/GLONASS/北斗) 能力。

LinkIt ONE 开发平台支持什么样的手机(Cellular)网络技术?

LinkIt ONE 开发平台内的 MT2502 (Aster) 芯片组提供了GSM 和 GPRS cellular 网络技术的支持。这些技术使 LinkIt ONE 设备能发送和接收 SMS 信息,以及通过 2G 网络发送和接收数据。

看来联发科技提供不同版本 MT2502 (Aster) 芯片组,MT2502D 与 MT2502A 有何差别?

Aster 芯片组提供两种版本:

  • MT2502A 支持2G调制解调器,包含内置的32Mb RAM,并使用外部闪存。
  • MT2502D 内置32Mb RAM与32Mb ROM(但无 2G 调制解调器)。

软件开发

LinkIt ONE 开发平台的软件开发环境是什么?

我们提供对应 Arduino 的 LinkIt ONE SDK (下载) 让您开发 LinkIt ONE 的软件。

我可以用 LinkIt ONE SDK(对应Arduino)做什么?

对应 Arduino 的 LinkIt ONE SDK 提供 Arduino IDE 插件。此插件提供各种API,使用您既有的 sketch 运行LinkIt ONE 开发板而几乎不用更改设置;也能够创建新的草图(sketch),借由新的 API 运用 LinkIt ONE 的独特功能。 SDK 让您演示并快速的建立可穿戴与物联网原型机(在产品概念期)。

我可以运用 LinkIt ONE 开发平台建立用户应用程序吗?

对应 Arduino 的 LinkIt ONE SDK 所提供的 LinkIt ONE API 不包含 UI 库,LinkIt ONE 也不具备屏幕。但是您仍然可以用 LinkIt ONE 原型机来促进用户交互:

  • 搭配一个 SPI 或 I2C 接口的周边屏幕,并编程一个基本 UI。
  • 建立一个配套应用程序并/或利用云端服务并使用丰富的通信功能:USB、蓝牙、Wi-Fi、GPRS、SMS。

哪些电脑操作系统能运行 LinkIt ONE 开发工具?

LinkIt ONE 开发平台目前支持微软 Windows XP、Vista、7、8 和 10,苹果 Mac OSX 10.9、10.10 和 10.11。

我能不能自己编程 LinkIt ONE 的启动引导程序?

不能。 LinkIt ONE 不支持客制化 ROM/Firmware。

要如何使用 LinkIt ONE 和通过联发科技云服务 (MCS) 发送和接收数据?

请依照以下步骤来连接 LinkIt ONE 和 MCS:

1. 建立您的 MCS 账号:

 使用您的联发科技创业实验室账号, 或者建立一个新的 MCS 账号后登录网站:https://mcs.mediatek.com/oauth/en/signup

2. 对于平台的一般了解:

 查看这个方便的课程以了解CMS的工作原理:https://mcs.mediatek.com/resources/latest/introduction  


3. 连接 LinkIt ONE 或者 LinkIt Connect 7681 开发板:
连接 LinkIt ONE 课程: https://mcs.mediatek.com/resources/latest/tutorial/linkit_one_home
连接 LinkIt Connect 7681 课程: https://mcs.mediatek.com/resources/latest/tutorial/implementing_using_mt7681_development_board

4. 下载 MCS 手机应用:  

查看您的 MCS 仪表板,并使用我们的 Android 应用程序控制您的开发板。
获取应用的 APK: https://s3-ap-southeast-1.amazonaws.com/mtk.linkit/mcs-latest-production-release.apk  

要安装应用程序,您必须拥有 Android v4.0 或更高版本,并在您的手机浏览器中打开上述下载链接。

要如何使用 LinkIt ONE 来读 .txt 文档?

您能使用 LinkIt ONE 提供的示例来读 .txt 文档, 请安装 LinkIt ONE SDK 后,在 Arduino IDE 里点击 File > Examples > LStorage。

如果您无法看见 LStorage 示例, 请确认您已经在 Arduino IDE 菜单里点选了 Tools > Boards : “LinkIt ONE” 开发板。


要如何使用 LinkIt ONE 打电话?

虽然 LinkIt ONE 是用于可穿戴与物联网的设备开发,但是它具备语音通话的 API, 能让您通过板子来打电话。LinkIt ONE 开发板有提供进行语音通话的示例,请安装 Arduino 和 LinkIt ONE SDK 后, 在 Arduino IDE 菜单里电击 File>Examples>LGSM>LVoiceCall, 或者 LVoiceCallStatus。您还需要准备喇叭,麦克风和键盘来进行真实电话呼叫。请查看 Voice Call API Reference 以了解更多。 

当使用 IDE 中的 Arduino 串行显示器来输入电话号码时,您需要选择位于监视窗口底部波特率旁边的 “Newline”。

如何使用LinkIt ONE 来禄制音频?

您能使用以下Sketch 来录制音频通过具备有麦克风的耳机连接到音频连接器来录制音频。

record.ino
#include "vmmm.h"
#include "LTask.h"
#include <LAudio.h>

VMINT res = 0;

void cb(VMINT result) {
  res = result;
}
static boolean record_start(void *userData) {
  VMINT16 filename[32];
  vm_record_start("C", "\\", "1", VM_FORMAT_AMR, filename, cb);
  return true;
}
 
static boolean record_stop(void* userData) {
  vm_record_stop();
  return true;
}
void setup() {
  pinMode(13, OUTPUT);
  Serial.begin(115200);
  LAudio.begin();
  LAudio.setVolume(6);
}
boolean record_flag = false;
unsigned long start_time, record_time;
void loop() {
  int button = analogRead(A0);
  Serial.println(button);
  if (record_flag == false)
  {
    if (button >= 500)
    {
      LTask.remoteCall(&record_start, NULL);
      record_flag = true;
      digitalWrite(13, HIGH);
      start_time = millis();
    }
  }
  else
  {
    if (button < 500)
    {
      LTask.remoteCall(&record_stop, NULL);
      record_time = millis();
 
      if (record_time >= start_time)
        record_time -= start_time;
      else
        record_time = 4294967295 - start_time + record_time;
      delay(1000);
      LAudio.playFile(storageFlash, "1.amr");
      delay(1000 + record_time);
      record_flag = false;
      digitalWrite(13, LOW);
    }
  }
} 

LinkIt ONE 的 LTask Class 的用途是什么?

LTask() 允许 Arduino Sketch 让 LinkIt ONE 主线程去执行一个 remoteCall(),效果就像是创建了一个额外的线程。 需要注意的是主线程的优先级高于 Arduino 线程。


硬件开发

LinkIt ONE 的硬件开发环境是什么?

目前我们针对开发者提供 LinkIt ONE 开发板(由 Seeed Studio 设计与制造),基于我们硬件参考设计, 让您创造原型器。

LinkIt ONE HDK 使用什么联发科技芯片组?

LinkIt ONE 的主要处理器为 MT2502A,搭配 Wi-Fi (MT5931) 与 GNSS (MT3332) 芯片组以支持全面的通信与定位功能。

我可以用 LinkIt ONE 开发板自行设计硬件吗?

可以,原理图、布局图与物料清单(BOM) 都包含在可取得的硬件参考设计包。您也可以在 LinkIt ONE 文件页面找到芯片组规格书。

LinkIt ONE 开发板似乎没有包含我的设备需要的传感器/控制器,我该怎么办?

LinkIt ONE 开发板能够与各种仿真与数字传感器与控制器连接。您能够加上所需的硬件至设备。

购买 LinkIt ONE 开发板和模块

在哪里可以购买 LinkIt ONE 开发板?

您可以在Seeed Bazaar 和授权的 Seeed 批发商或 TMALL 购买 LinkIt ONE 开发板。

将 LinkIt ONE 物联网设备推向市场

要如何购买 MT2502A, MT5931和 MT3332 芯片组来组装自己的产品?

联发科技只向授权的顾客与合作伙伴贩售芯片组。许多合作伙伴(如Seeed Studio)或其他 OEM/ODM 将乐于协助您的原型机与创建您的硬件设计。

我可以购买拥有 MT2502A, MT5931 and MT3332 芯片组的模块吗? (类似 LinkIt Connect 7681 开发板的模块)?

该开发平台并不提供拥有 MT2502A, MT5931 or MT3332 芯片组的模块。

我需要从头创建我的 LinkIt ONE设备的每个环节吗?

不需要,联发科技提供LinkIt ONE 硬件参考设计,也与合作伙伴 Seeed Studio 提供 LinkIt ONE 开发板。此开发板提供所有硬件设计的核心要素,让您专注于设计独特的原型设备。

要如何将我的 LinkIt ONE 设备推向市场?

LinkIt ONE 的开发平台 的 Aster 系统级芯片组、开发板与 SDK,让任何人都能将创意化为现实的可能性。然而我们了解开发者社区将原型机变成商品不是这么容易。
所以联发科技的服务也包含了帮助开发者联系原型机厂商 prototype houses(如 Seeed Studio)、ODM与设备制造商,所以您能逐步将您的可穿戴与物联网原型商品化。

LinkIt ONE 开发平台故障排除

我无法在 Windows-8 安装 LinkIt ONE 驱动程序,为什么?

如果您已经安装好 Arduino IDE 和  LinkIt ONE SDK 后, 还是无法安装 USB 驱动程序,请由 这里 下载并安装 COM 端口驱动程序, 安装完毕后,再将  LinkIt ONE 开发板连接上计算机。这时 COM 端口就应该正确的认别 MTK 设备,您可以在 Windows 的 Control Panel -> Device Manager 查看。 

打开 device manager 后点击 Ports (COM & LPT) ,您应该看见两个 MTK 设备,如下: 

MTK USB Debug Port (COMx) 
MTK USB Modem Port (COMx) 



如果您看见的是一些不认识的设备, 请于鼠标右键点击该设备然后点选 “Update Driver Software” 并且打开以上已下载的驱动程序,这样就可以了。


驱动程序数字签名限制问题:

您有可能在安装驱动程序时遇见禁用数字签名的限制问题,要解除该限制, 请依照以下步骤完成解除程序:

  1. 打开系统重启并同时按住 shift 按键 
  2. 选择 Troubleshoot 〉Advanced Options 〉Startup Settings 〉Restart 
  3. 计算机重新启动后, 点击选择 7 
  4. 打开 device manager 并安装驱动程序如上段所叙述。

来源: http://answers.microsoft.com/en-us/windows/forum/w...9b-3483-4c96-8c44-87c7451af222

Serial monitor 无法显示任何信息,为什么?

  • 请在 Arduino IDE 里正确的配置端口。

    1.  打开计算机的 Device Manager 并检查端口 (COM & LPT) 。您应该看见两个端口,一个是 MTK USB Debug Port (COMx), 另一个是 MTK USB Modem Port (COMy)。 
    2.  在 Sketch 里,  Serial.begin (115200) 必须包含在 setup() 里面。请注意选择的 baud rate. 该 baud rate 必须和 Serial Monitor 的 baud rate 是一样的,才能看见 output。 


    3. 在  Arduino IDE 上传 Sketch 之前, 确认点选了 Tools > COMy, 因为 COMy 是上传 Sketch 的 Modem Port。

     
    4. 确认在 Arduino IDE 有出现 "Done Uploading" 信息, 这代表软件已经成功的上传并且在板子上运行了。  
    5. 最后, 在 Arduino IDE 点击放大镜来启动 Serial Monitor 并确认该 baud rate 和 Serial.begin() 里设定的 baud rate 是一样的。 

    现在您应该可以看见调试 output 了。如果您还是未能看见打印信息,请继续检查和确认以下步骤:

  • 确认您安装的 LinkIt ONE SDK 和您的开发板固件是同一个版本。若需要请到 LinkIt ONE 开发者指南以了解固件更新步骤。
  • 在 Arduino UNO, 每当您打开 Serial Monitor, UNO 将从 setup() 重新启动。因此 Serial Monitor 的 output 会一直是完整的。但是 LinkIt ONE 是比较像 Arduino Leonardo, 它的 COM port 是由 USBCDC 仿真的,. 如果被重新启动, COM port 的连接就会消失。因此有很多  setup() 里的 Serial.print()  在Serial Monitor 打开时是空白的案例。 

    您能使用以下代码来等待 Serial Monitor: 

    while(!Serial)

      delay(100);


    请查看以下了解更多 :

  • https://www.arduino.cc/en/Serial/IfSerial

  • http://labs.mediatek.com/site/global/developer_tools/mediatek_linkit/api_references/UARTClass__bool.gsp

蓝牙 SPP 无法启动,为什么?

LinkIt ONE 支持蓝牙 SPP (Serial Port Profile) 协议和一对一的连接功能。蓝牙 API 通过此功能以实现两个蓝牙设备之间的连接和数据交换。

当 LinkIt 在扮演伺服器时, 它将在发送和接收数据之前等待蓝牙SPP 客户端。

当 LinkIt 在扮演客户端时, 它将会:

  • 扫描蓝牙设备并且与指定的伺服器连接
  • 从已连接的伺服器发送和接收数据

请使用以下sketch 在LinkIt ONE 板子上。

bt_spp.ino
#include <LBT.h>
#include <LBTServer.h>

void setup() {
  Serial.begin(9600);
  while(!Serial);
 
  if(!LBTServer.begin((uint8_t*)"My_BTServer"))
  {
    Serial.println("Fail to start BT.");
    return;
  }
  Serial.println("BT server is started.");
}
 
void loop() {
  uint8_t buf[64];
  int bytesRead;
  if(LBTServer.connected())
  {
    Serial.println("Connected");
 
    // echo back all received data
    while(true)
    {
      bytesRead = LBTServer.readBytes(buf, 64);
      if(!bytesRead)
      break;
      Serial.write(buf, bytesRead);
      LBTServer.write(buf, bytesRead);
    }
    delay(100);
  }
  else
  {
    Serial.println("Not connected");
    LBTServer.accept(5);
  }
}

Windows 无法探测到我的 LinkIt ONE 开发板的 USB COM 接口, 是那里出错了?

首先请确认您已经安装好 Windows USB COM 接口驱动程序, 该步骤是开启 Control Panel, 点击 Programs and Features(Uninstall a program 窗口)然后检查 MediaTek inbox_COM_Driver x.xx.xx.x 确定存在。再将开发板 MS(Mass Storage)/正常启动模式(UART)开关转成 UART位置,也就是正常启动模式 ,然后与 LinkIt ONE 开发板接线。

如果与LinkIt ONE 开发板接线和断线时在 Device Manager 看见 Alcatel RNDIS 设备出现后又消失, 请回到 Programs and Features (Uninstall a program 窗口 )并卸载 COM 接口驱动程序,卸载驱动程序后开启 Control Panel, 移动鼠标到 System 并点击Advanced system settings,在 System Properties 窗口里点击 Hardware 然后  Device Installation Settings 。 在该窗口确认点击框 Never install driver software from Windows update 如下图。操作系统 Windows 8 和 10 请确认 Automatically get the device application and information provided by your device manufacturer 选框是空的或未点击的, 如下图。

Windows 7 设备安装设置


Windows 8 and 10 设备安装设置

最后由这里再次安装COM 接口驱动程序,安装完毕之后,再与 LinkIt ONE 开发板接线。现在您的开发板 COM 端口应该可以被探测到了。

当我重新设置开发板或接线时, COM 接口就会出现又消失,这是为什么呢?

LinkIt ONE 开发板的 USB COM  接口是经由系统芯片 MT2502 SOC 仿真的,因此当芯片被重新设置时,例如上传 Sketch 时,COM 接口就会消失。

LinkIt ONE 固件更新软件无法安装和探测到开发板,我该怎么处理?

请先确认您已经安装 LinkIt ONE 开发板的 Windows USB COM 接口驱动程序。固件更新之前,请将开发板 Mass Storage (MS)/正常启动 (UART)开关转向Mass Storage (MS)模式位置。如果开关是转在正常启动模式也就使 UART 的话,固件更新过程中将会发出超时的错误信息,更多细节请看入门部分更新主板固件for Windows 或 Mac

我的苹果 Mac 无法探测到 LinkIt ONE 开发板的 USB COM 接口, 是什么问题呢?

请先确认您使用的 LinkIt SDK for Arduino 是1.1.09 版本, 并且您已经安装 OS X COM 接口驱动程序,然后再确认您已经安装最新固件应用版本。更多细节请看入门部分的更新主板固件 for Mac,如果您的操作系统是 OS X  10.10, 请看 LinkIt  ONE  开发者指南的第3.4.1 章节”在Mac OS X 10.10
启动 USB COM 端口访问”确认完毕和将开发板接线之后,苹果操作系统应该探测得到开发板的 COM 端口了。 

我的 SIM 卡无法使用,这是出了什么问题呢?

LinkIt ONE 开发板仅支持 GSM 和 GPRS (2.5G), 不支持只用 3G 的 SIM 卡。要与 GPRS 连接,请确认该卡用户名称和 APN 设置值在您的 Sketch 内的 attachGPRS () 功能是正确地。更多细节请看 LinkIt  ONE  API  参考内的 LGPRSClass::attachGPRS Method (char *, char *, char *)

开发板一直不停地自动重新设置,为什么呢?

如果您的开发板没接电池,请确认 USB 电源 (USB)/锂电池电源 (BAT) 开关是转向 USB 电源 模式 (USB)。如果您转到锂电池电源模式 (BAT) 但未接上电池,开发板就会不停地重新设置。

当我试着上传我的 Sketch 到 LinkIt ONE 开发板,一直得到 ”Please upgrade your firmware” 的错误信息 - 我该怎么做?

有一个实用的工具在 LinkIt ONE SDK (针对Arduino) 能帮助您更新开发板固件,运行后应该能解决这个问题。详情请参考LinkIt ONE开发者指南

我的 Sketch 似乎无法上传到开发板上了,可能是什么问题?

打开 Arduino IDE >Tools > Port, 确认您看见两个含有 LinkIt ONE 标签的端口, 如下图所显示。 如果您未看见这些端口,那么您将需要正确的安装驱动程序。

安装好驱动程序后, 打开 Device Manager,并写下含有 Modem 类别的端口号码,如下图所显示。下一步在 Arduino IDE > tools > Port 选择同样的端口号码,然后再试着上传 Sketch。

检查 LinkIt ONE HDK 最左边的开关已经转到 UART 模式。

请查看 LinkIt ONE 开发者指南里的疑难杂症章节 3.2, “Sketches 已经无法上传至 LinkIt ONE”, 应该能帮助您解决问题。如果仍然无法解决,您可以在Arduino Troubleshooting Guide 内找到有用的信息或搜寻我们的论坛 (如果该标题还未讨论过,请新增一个讨论题目)。

如果您的Arduino IDE 一直显示 "Uploading" ,这代表Sketch 上传失败。请确认在 Arduino IDE > Tools > 您选择了与LinkIt ONE Modem 端口同样的端口号码。

我的开发板似乎停止运作了,我该怎么做?

如果您的开发板依照以下方法仍无法运作:LinkIt ONE开发者指南Arduino网站的故障排除、遵照论坛的建议、进行更新以重设固件。那可能是您的开发板硬件故障了,这种情况请联系Seeed Studio 的技术支持

我该如何让 LinkIt ONE 开发板与我的周边设备连接?

LinkIt ONE开发板提供各种仿真与数字引脚以连接周边设备。如果我们提供给您的信息无法满足您的需求,请联系周边设备供应商或在论坛查找。

我无法使用 Servo 马达, 是什么问题呢?

Arduino UNO 提供 6 个 PWM outputs (D3, D5, D6, D9, D10, D11) , 相较之下 LinkIt ONE 提供 2 个 PWM outputs (D3, D9),但是 LinkIt ONE 的 D3 and D9 output 的精准度有高达 13 bit 而 bit 的精准度会影响 output 频率。 例如 13 bit 能提供 1.6 kHz, 8 bit 提供 50.8 kHz 和 4 bit 提供 800 kHz。因此请确认您的 Servo 马达是连接到 D3 或者 D9 output。   如果您是使用 LinkIt ONE Grove sensor kit 的话, 请确认 Servo 马达是连接到 D3, 因为 LinkIt ONE Grove sensor kit 没有 D9 output。还有一个可能性是电源, Servo 马达的正常操作需要大量电流, 因此使用外部电源比较稳定。

我的周边似乎无法用于 LinkIt ONE 开发板,可能有什么问题?

有些周边设备对应 LinkIt ONE 有已知的限制。详情请见 LinkIt ONE开发者手册。如果您的周边设备不在此清单,请搜索论坛 (如果还没讨论过,请添加一个讨论)。

我正在为 AWS IoT 云作开发, 我的 sketch 上传不了, 怎么解决?

如果您的 sketch 上传至 LinkIt ONE 时出现错误信息类似 ‘macro "connect" requires 3 arguments, but only 1 given‘ 请 disable the connect function in vmsock.h library 如下:

  1. Arduino\hardware\arduino\mtk\system\libmtk\include 文档夹。
  2. 打开 vmsock.h 然后 comment 掉第 1332 行, 如下:

    //#define connect(s, addr, len)
    vm_connect(s, addr, len)
  3. Save 文档

重新上传 sketch 应该就可以了。

为什么 LinkIt ONE 的 GSM (SMS/GSM/GPRS) 功能无法使用?

请检查确认以下: 
1. 更新开发板固件,请由此网站下载最新版的 SDK (含有最新的固件)。
2. 确认您的 SIM 卡能让您由任何解码设备发送短信 (SMS) 并且无已关闭锁 PIN 功能 。
3. 确认 GSM 天线有接到开发板的 GSM 接口。