开发者中心

QuarkIoE介绍

介绍

u-blox C027是一个入门工具包,允许快速创建物联网的各种应用程序原型。 该设备配备了蜂窝模块以及GPS/GNSS接收器,可以直接开发具有位置感知通信功能的应用。

u-blox C027

为了演示, 可以将mbed应用板 连接到C027. 应用板包含多种传感器和一个显示屏。

mbed应用板

QuarkIoE mbed agent将C027应用板连接到QuarkIoE,并提供以下功能:

  • 使用C027调制解调器网络拨号。
  • 通过SmartREST进行高效通信。
  • 使QuarkIoE的自举和设备注册进行全自动注册。
  • 收集存储温度、GPS、加速度和模拟传感器读数。
  • 从QuarkIoE远程控制设备LED和LCD显示。
  • 使用应用板的LCD显示进行状态监控。

前提条件

要运行QuarkIoE mbed agent,需要准备以下内容:

  • u-blox C027 IoT工具包, 2G或3G版。
  • mbed应用板
  • USB类型A到类型B适配器。
  • 电源线。
  • 能访问互联网的SIM卡。此SIM卡不能有PIN。SIM卡PIN可以通过任意一部手机关闭。
  • 能访问QuarkIoE平台。如果不能访问,请在http://www.quarkioe.com上申请试用。

准备工作

  • 将SIM卡插入u-blox C027背面的SIM卡插槽中。
  • 将蜂窝天线连接到电路板。
  • 如果使用GPS/GNSS功能,将GPS天线连接到电路板。
  • 将mbed应用板连接到C027。
  • 用USB线连接C027和计算机。 C027将在计算机上显示为"MBED"驱动器。
  • 插入电源并将其连接到应用板。

请注意,如果未连接电源,则设备无法刷入固件。

更多信息请参考 http://mbed.org/users/ublox/notebook/u-blox-C027-Getting-Started/http://mbed.org/users/ublox/notebook/u-blox-C027-Downloading/。

安装agent

  • 下载固件到计算机, 参见下表。
  • 复制下载的文件到"MBED"驱动器。
  • 按C027上的复位按钮启动agent。
版本 发布时间 下载
1.9 18.Feb 2015 下载
2.0 6.Mar 2015 下载
2.2 10.Aug 2015 下载

德电版本 (m2m-devicecloud.com):

版本 发布时间 下载
2.0 DT 6.Mar 2015 下载
2.2 DT 10.Aug 2015 下载

这些下载与上述相同,除了针对m2mdevicecloud.com执行设备注册(自举)。

连接C027

  • C027现在将拨号上网。 您将在液晶显示屏上看到状态更新。 如果设备无法连接到Internet,它将显示一条错误消息。 如果出现错误消息"Wrong APN setting"或"Unknown APN setting,请按照以下"故障排除"部分中的说明进行操作。
  • 在第一次成功连接时,设备应在LCD显示屏上打印"Bootstrapping"并在下面显示蜂窝调制解调器的IMEI。 注意: IMEI也可以在C027的调制解调器芯片的白色贴纸上找到。
  • 登录到QuarkIoE Web界面,在设备管理应用程序中选择"注册"。 输入IMEI并按"注册设备"。
  • 设备将显示CONNECTED。点击"接受"按钮。
  • 该设备现已注册到QuarkIoE,并显示在"所有设备"下,名称为"Mbed Test Device"。
  • 设备成功连接到QuarkIoE平台后,它将更新关于其当前状态的LCD显示。 第一行始终显示租户名称(直到从平台接收到消息,请参见"与控制操作交互"一节)。 第二行显示信号质量,单位为dBm。 第三行显示u-blox发送的传感器数据及其相应值的信息。 在与上次发送相比测量值的读取变化很小的情况下,第三行是空的,这意味着跳过本次发送。

与QuarkIoE平台交互

设备现在已连接到QuarkIoE并定期发送传感器数据。 您现在可以以各种方式在云中浏览和处理收集的数据:

在"测量值"选项卡下浏览收集的传感器数据,如以下屏幕截图所示:

测量值截图

仅当传感器值改变时,设备才发送新的传感器数据。 如果值保持不变,则直到15分钟后才会发送新值以向平台通知设备的连接性。

创建仪表盘以自定义设备中传感器数据的显示。 您可以通过选择mbed设备,单击右上角的小齿轮符号并选择"创建仪表盘"来创建新仪表盘。 为mbed设备创建的示例信息显示如下所示:

仪表盘截图

进一步信息请参考QuarkIoE用户指南

与控制操作交互

"控制"页面包含u-blox设备支持的所有可能操作的列表,如以下屏幕截图所示:

控制操作截图

当前u-blox固件支持3种操作:

  • 继电器: 在平台的继电器小部件上点击"On"或"Off"按钮打开或关闭RGB LED。点击后,LED将在几秒钟后呈绿色亮起。
  • 发送消息: 在"消息发送"小部件上, 在文本域输入消息, 然后点击"发送"按钮。几秒钟后,LCD显示屏的第一行应显示您发送的消息。 此消息将保留在第一行,直到您发送另一条消息或重新启动设备。
  • 配置: 在"配置"选项卡, 所有支持的配置参数均以其当前值显示。 目前,唯一的参数是"interval",默认值为20分钟,这决定了QuarkIoE平台检查设备可用性的时间间隔。 它必须与"信息"页面中的"所需间隔"相同。

故障排除

  • 无法登陆到平台 (仅适用于德电4.0套件): 大写'i'和小写'l'很难区分。 您可能需要尝试不同的组合,以确保您输入的密码是正确的。

  • 设备在启动时死机或重置: 这通常是因为不良电源连接引起的问题。 拔下并重新插入电源连接器,并确保连接牢固稳定。 这通常会解决问题。

  • "Modem Init Failure", "No SIM card found", or "SIM has PIN code": 确保您正确插入SIM卡。 验证SIM卡夹是否锁定,以使SIM卡与设备有良好的接触。 如果SIM卡有PIN码,请删除PIN码(例如,使用手机)。

  • GPS初始化失败: 有时,agent无法初始化GPS单元。 只需重新启动设备即可解决问题。 注意,GPS初始化过程在没有实际GPS接收机的情况下也工作。 因此,通常不需要实际附接GPS接收器以解决这个问题。

  • GPS不工作: 此问题源于新的GPS模型返回的不同数据格式。 在2.2版本中增加了对这种新数据格式的支持。 如果您的GPS功能不工作,请从上面的链接下载固件版本2.2,然后按照说明刷入固件。

  • No Network Coverage: 确保您已将调制解调器天线正确安装到"WL_INT"连接器,否则设备将无法连接到网络。

  • Agent Init Failure: 要解决此问题,我们建议将设备连接到计算机,并启用调试模式以通过串行端口收集更多信息。 有关详细信息,请参阅此页面上的"启用调试模式"。

  • Integration/Config Failure: 当您连接到错误的服务器(可能刷了错误的固件)时,会出现此错误。 尝试执行恢复工厂设置并再次注册设备。 如果这不解决问题,很可能是一个服务器端的问题。

  • Integrate Failure: 和以上错误信息相同。

  • 设备加入网络失败并显示"Wrong APN setting"或"Unknown APN setting": 查看源代码文件"C027_Support / MDMAPN.h",并添加一个包含移动国家代码(MCC),移动网络代码(MNC)和APN设置的条目。 您的MMC和MNC代码应在液晶显示屏上的错误信息"Wrong APN setting"或"Unknown APN setting"下显示。

  • 设备在注册过程中不显示Connected : 使用串口控制台查看应用程序输出。 有关详细信息,请参见http://mbed.org/handbook/SerialPC。 此外,请确保您使用正确的固件版本(即对正确的服务器执行自举程序)刷新设备。

  • 在web界面的设备管理中不显示设备: 使用串口控制台查看应用程序输出。 有关详细信息,请参见http://mbed.org/handbook/SerialPC。

  • 启动后, 设备在"Agent Run"后显示"Connect to Cloud", 而不是显示"Bootstrapping"和IMEI: 设备已在另一个用户帐户下注册到QuarkIoE,必须执行恢复工厂设置以取消注册设备。

  • 设备不发送GPS数据: GPS接收器需要直接瞄准天空以接收卫星信号。 恶劣的天气也会影响GPS接收。

  • 我在设备管理中意外删除了设备: 重新启动您的设备并等待一段时间。 您的设备将自动重新注册QuarkIoE并再次显示。

技巧和窍门

强制传感器数据发送

根据灵敏度阈值,您可能无法看到频繁发送传感器数据,因为未发送变化小的传感器读数。 这种效果对于温度传感器特别明显。 然而,可以通过手动地对传感器读数施加改变来触发立即发送传感器数据。

  • 对于温度传感器: 将一根手指放在位于u-blox器件顶部中间的温度传感器上方,文字"Temperature LM7580"上方。 您应该立即看到LCD显示屏上更新其状态,以发送温度读数。
  • 对于加速度传感器: 只需转动或旋转设备,您应立即看到设备正在其LCD显示屏上发送加速度读数。
  • 对于模拟传感器: 向右或向左旋转液晶显示屏下面的两个蓝色旋钮,应立即看到设备在其LCD显示屏上发送模拟读数。
  • 对于GPS接收器: 只需在周围移动GPS接收器,您应该立即看到设备在其LCD显示屏上发送GPS读数。
恢复出厂设置

当u-blox设备已经在某个租户下注册时,必须执行出厂重置以删除存储的凭证,以便设备可以重新注册。 恢复出厂设置如下:

  • 按住操纵杆,(重新)启动已注册的设备。
  • 在2.1之前,LCD显示"Join Network"后,设备正确加入网络,您应该看到LCD显示屏上显示"Reset Success",表示成功恢复出厂设置。 从版本2.1开始,出厂复位更快,只需等待"Factory resetting"出现在屏幕上,你可以释放你的手指,大约2秒后,你应该看到"Reset Success"在显示屏上。
  • 现在重新启动u-blox设备,并按照"连接C027"一节中的说明在您的租户下再次注册设备。

开发者技巧和窍门

启用调试模式

默认情况下,代理以生产模式运行,不会向串行端口写入任何信息。 您可以启用调试模式以查看运行的代理的详细日志。 在版本2.1之前,为了启用调试模式,您可以在启动代理之前或在代理连接到云并运行之后的任何时候上推操纵杆。 从版本2.1开始,只要向上推操纵杆,任何时候都将启用调试模式。

调试信息将打印到设备的串口。 要查看其内容,请参阅http://mbed.org/handbook/SerialPC了解详情。

请注意(仅适用于2.1之前的版本):由于agent每几秒钟内读一次操纵杆的状态,您可能需要向上推操纵杆并保持几秒钟以打开/关闭调试模式。

当agent在调试模式下运行时,由于大量的I/O操作,许多操作将以2到3的系数减慢。 如果要禁用调试模式并切换回快速模式,只需向下按操纵杆并保持几秒钟(从版本2.1开始不需要保持)。

修改agent源码

如果要更改agent的行为,请访问mbed.org获取源代码。 以下是执行此操作所需的步骤:

  • mbed免费注册账户。
  • 登陆到mbed.org并访问C027页面。点击"Add to your mbed Compiler"。
  • 访问Quarkioe Mbed SmartREST main application 并点击"Import"导入agent到在线Mbed IDE。
  • 在IDE中, 点击"Compile"按钮。IDE将下载编译好的应用程序到你的计算机。
  • 复制下载的文件到"MBED"驱动器。
  • 按C027上的复位按钮启动agent。
在源码中修改上报间隔

默认情况下,所有传感器值的上报间隔为15分钟。 您可以通过更改源代码中定义的对应宏(单位为秒)更改上报间隔:

  • measurement/AccelerationMeasurement.cpp: TIME_LIMIT_ACCE
  • measurement/AnalogMeasurement.cpp: TIME_LIMIT_ANA
  • measurement/LocationUpdate.cpp: TIME_LIMIT_LOC
  • measurement/SignalQualityMeasurement.cpp: TIME_LIMIT_SIG
  • measurement/Temperature.cpp: TIME_LIMIT_TEMP
在源码中修改上报灵敏度阈值

由于传感器读数的抖动特性,为每个传感器值设置阈值,以避免频繁上报假阳性传感器读数变化。 传感器的灵敏度不同,传感器的阈值也不同。 这些阈值定义为最后上报的传感器值的一小部分,您还可以在相应的源文件中更改这些阈值(全部是实数分数):

  • measurement/AccelerationMeasurement.cpp: THRESHOLD_PERCENT_ACCE [缺省: 0.1]
  • measurement/AnalogMeasurement.cpp: THRESHOLD_PERCENT_ANA [缺省: 0.02]
  • measurement/LocationUpdate.cpp: THRESHOLD_PERCENT_LOC [缺省: 0.05]
  • measurement/SignalQualityMeasurement.cpp: THRESHOLD_PERCENT_SIG [缺省: 0.06]
  • measurement/Temperature.cpp: THRESHOLD_PERCENT_TEMP [缺省: 0.02]