首先感谢eeworld和NXP给予的这次测评机会
本文分为几个部分:
第一部分:开箱
第二部分:手机App
第三部分:云监控
第四部分:云编程
第五部分:烧写程序
第一部分:开箱
恩智浦的快速物联网原型制作套件是经优化的全面安全物联网端节点解决方案,集成了用户友好的开发环境,让任何人能快速对其构想进行概念验证。
套件包含两个控制器:
第一个是Kinetis K64F,使用的是M4内核,用于处理应用层操作。时钟频率120MHz,1024KB ROM,256KB RAM,16位ADC,串行接口、定时器、GPIO若干。
第二个是Kinetis KW41Z,使用的是M0内核,用于处理无线连接。时钟频率48MHz,512KB ROM,128KB RAM,同时提供BLE v4.2和Thread的连接能力。
套件包含多种传感器:
• 加速度计/磁力计组合,可实现10 轴动作感应
• 陀螺仪
• 压力传感器,可进行高度测量
• 通过温度/湿度、环境光和空气质量传感器进行环境检测
• 低功耗彩色屏幕显示功能
• 身份验证、身份识别
• 带LED、蜂鸣器、触摸屏和按钮的用户界面
• 用于数据存储的额外存储器
• 可充电电池
使用套件内自带的USB线连接至电脑,可以看到NXP的开机画面。等待程序加载完成,可以看到正方形画面的四个方向有一个黑色线段。有黑色线短的一侧表示在这个方向点击可以切换菜单。图中画红色圆圈的地方就是触摸感应按钮的位置。
在Applications菜单中,可以看到基于各个传感器的小程序,分别是:温控器、湿度检测、亮度检测、气压检测、空气质量检测、动作检测、跌倒检测、敲击检测、LED色彩调整。
在Settings菜单中,可以设置各个传感器的开关。
在Info菜单,可以看到软件的版本号以及安卓和IOS APP的下载二维码。
第二部分:手机APP
我使用的是iPhone手机,在App Store中搜索nxp rapid iot即可:
首先在NXP官网
www.nxp.com注册账户:
打开手机App,使用刚刚注册的账户登录,登录时间较慢需要耐心等待,我大概登了20分钟左右...
登录成功后出现以下画面:
点击左上角菜单,选择“立方体”,此时还没有添加过设备。点击右上角立方体添加设备:
添加设备时,可以看“LABEL”项,其显示的是模块MAC地址的最后两个字节:
连接成功后将自动跳转到“开箱演示页面”,我遇到了等待很长时间没有跳转成功的问题。
重新点击左上角菜单,选择“立方体”,在列表中会出现“Rapid IoT Kit Out of Box Demo”选项,即“开箱演示页面”:
点击进入“开箱演示页面”后,我们能看到“你没有设置任何工具箱”的提示,这个功能我们需要稍后在云上进行配置。
点击右上角立方体左侧的菜单按钮,等待几秒钟的时间,将显示出所有传感器的数据,还可以控制Kit上的LED灯颜色:
第三部分:云监控
接下来我们测试云监控的功能。访问网址
https://rapid-iot-studio.nxp.com/,网站服务器在国外,连不上的同学只能多多尝试了。
另外,在论坛大神们的帮助下,在另一家网站上找到了相同的功能,同样支持该套件:
https://www.digikey.com.cn/zh/resources/design-tools/dk-iot-studio
使用digikey的云功能我们需要使用digikey的App,可以在App Store中搜索Digi-Key IoT进行下载:
进入网站之后,同样输入我们注册的账号登录。
选择左侧“DASHBOARD”菜单,添加一个“Date Graph”窗口。新建的窗口需要我们进行配置。点击小窗口右上角橙色按钮,输入一个窗口名城,选择我们的“Rapid IoT Kit Out of Box Demo”项目,在选择X轴的数据,一般选择时间作为X轴,即timestamp,再选择Y轴数据,Y轴数据可以进行多选,将多种数据显示在同一个窗口内。“Date Graph”窗口可以建立多个同时显示,在这里我们将三轴加速度、三轴陀螺以及三轴地磁同时展示在了窗口内。
第四部分:云编程
下面我们尝试一下云端在线可视化编程的功能。
点击左侧菜单中的“STUDIO”按钮,可以看到有例程,我们之前使用“Rapid IoT Kit Out Of Box”的项目就在其中,我们可以点开查看这些功能是如何实现的。
编程的方式主要是放置各个预制的功能模块,并通过连线来确定他们的逻辑关系,具体使用方法可以参考官方的参考文档。
下面我们使用云编程工具做一个小程序,功能要求如下:
利用加速度传感器感知模块当前姿态,并点亮不同颜色的指示灯,指示灯颜色规定如下:
姿态 | RGB LED颜色 |
站立 Stand | Red |
倒立 Headstand | Green |
左倾倒 Lie on Left | Blue |
右倾倒 Lie on Right | Yellow |
俯卧 Lie on Face | 紫色 |
仰卧 Lie on Back | 白色 |
整个的编程框图如下:
程序的原理很简单:当模块静止放置于桌面时,将受到1g的重力影响。若重力方向与加速度传感器其中一个轴方向相同,那么将测量到1g;如果方向相反,将测量到-1g。
下面详细讲解一下编程框图:
1. 程序运营顺序是按照箭头指向的方向。最开始我们放置一个“Interval”模块,其功能是设定程序调用的时间间隔。选中模块我们可以设置间隔时间,这里我们设置为1000ms。
2. 接下来放置加速度传感器模块“NXP FXOS8700”,设置为读取X轴数据,命名为”ReadAccX“。”Interval“至”ReadAccX“的连线设置事件为“Get Accelerometer X value”。
3. 第三步设置比较模块“Comparison”,命名为“LieOnLeft_Comparison”,参数设置为如果输入至大于0.9,那么触发下一个事件。
4. 第四步我们放置一个“Function”模块,这个模块允许我们自由编写c语言代码,点击>按钮打开代码编辑窗口。此处我们希望电量蓝色LED,并且输出“Lie On Left”字符串,因此键入以下代码:
ATMO_Status_t BlueLedOn_trigger(ATMO_Value_t *in, ATMO_Value_t *out) {
char str[32];
Rgb_Led_Set_Colors(0x00, 0x00, 0xFF);
sprintf(str, "Lie on Left");
ATMO_CreateValueString(out, str);
return ATMO_Status_Success;
}
|
5. 最后我们添加字符串显示模块“Text Page”,以及蓝牙通讯模块“BLE GATT Characteristic”。我们为每一轴的数据都添加一个蓝牙接口,最后的姿态字符串也添加一个蓝牙接口。
需要注意的是,每一轴的加速度数据是浮点型的,因此蓝牙接口里面要选择相应的数据类型。
6. 其他分支的设置与之前类似,就不详细说啦~接下来我们编辑手机APP端的界面
我们之前添加了4个蓝牙接口,APP编辑界面将自动出现4个对应的接口。我们只需要将他们连接到相应的“Lable”显示即可。界面中类似于“Acc X”这样的字符是固定不变的,因此不需要进行任何连线。
我们看一下最终的效果
第五部分:烧写程序
最后介绍一下应用程序的更新方法
首先我们需要将套件设置为烧写模式。将套件连接至电脑,将套件背面正对自己;长按右上角按键;再使用曲别针点击右上角按键左侧的隐藏按键;观察LED绿色闪烁后,松开隐藏按键,此时成功进入烧写模式。
此时在我的电脑里出现一个新的U盘:
我们将下载好的bin文件复制到U盘中,套件会开始自动校验并加载新程序。观察指示灯闪烁颜色由绿变紫再变蓝再变绿即表示烧写成功。
此内容由EEWORLD论坛网友crazycsn原创,如需转载或用于商业用途需征得作者同意并注明出处