社区导航

 

搜索
查看: 513|回复: 0

[原创] 【NXP Rapid IoT评测】+9.NXP Rapid IOT的使用心得

[复制链接]

32

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-1-24 11:39 | 显示全部楼层 |阅读模式
本帖最后由 chrisrh 于 2019-1-24 13:04 编辑

基于Rapid IoT Weather Station进行了一个设计,将套件和APP上的应用改成自己想要的那种,一路走来踩了不少坑,分享一些在Studio画布上连线时的操作步骤:

(1):在设置SX9500时,在TRIGGERS中,Up/Down/Left/Right Pressed依次设置为Navigate Up/Down/Left/Right,此时连接页面控制器才能控制页面的上下左右切换;

(2):同理,若在程序中需使用四个按键的控制,在Buttons的TRIGGERS中,将Top Right Pushed,Bottom Right Pushed等四个依次设置为Process Top Right Button,Process Bottom Right Button等可编程的按键,接下来在需按键时,便可进行控制;


(3):这个是系统状态页,内包含套件名称、蓝牙、电量、时间等,用来做套件的主页挺方便的;


(4):显示页面可在右侧栏PROPERTIES的ICON中选择页面上的图标,可ENABLE使能相应的Button,选择所触发的事件;


(5):若只分析作为控制传感器的开关,在右侧栏PROPERTIES设置TRIGGERS时,应对开被选择和关被选择On Selected/Off Selected,依次设置相应的使能enable或不使能disable等功能;
(6):在其中添加相应的实现函数,以实现相应的功能,比如在套件全部功能的Example例程中,切换LED颜色的控制代码如下,
  1. ATMO_Status_t Function2_trigger(ATMO_Value_t *in, ATMO_Value_t *out)
  2. {
  3.         uint8_t color, brightness;
  4.         RGB_Led_Get_State(&brightness, &color);
  5.         ATMO_CreateValueUnsignedInt(out, color);
  6.         return ATMO_Status_Success;
  7. }
复制代码
  1. ATMO_Status_t Function1_trigger(ATMO_Value_t *in, ATMO_Value_t *out)
  2. {
  3.         unsigned int color = 0;
  4.         ATMO_GetUnsignedInt(in, &color);
  5.         switch(color)
  6.         {
  7.             case RGB_LED_COLOR_RED:
  8.             {
  9.                 ATMO_CreateValueString(out, "Color: Red");
  10.                 break;
  11.             }
  12.             case RGB_LED_COLOR_GREEN:
  13.             {
  14.                 ATMO_CreateValueString(out, "Color: Green");
  15.                 break;
  16.             }
  17.             case RGB_LED_COLOR_BLUE:
  18.             {
  19.                 ATMO_CreateValueString(out, "Color: Blue");
  20.                 break;
  21.             }
  22.             case RGB_LED_COLOR_WHITE:
  23.             {
  24.                 ATMO_CreateValueString(out, "Color: White");
  25.                 break;
  26.             }
  27.             case RGB_LED_COLOR_CYAN:
  28.             {
  29.                 ATMO_CreateValueString(out, "Color: Cyan");        
  30.                 break;
  31.             }
  32.             case RGB_LED_COLOR_YELLOW:
  33.             {
  34.                 ATMO_CreateValueString(out, "Color: Yellow");
  35.                 break;
  36.             }
  37.              case RGB_LED_COLOR_PURPLE:
  38.             {
  39.                 ATMO_CreateValueString(out, "Color: Purple");
  40.                 break;
  41.             }
  42.             case RGB_LED_COLOR_BLACK:
  43.             {
  44.                 ATMO_CreateValueString(out, "Color: Off");
  45.                 break;
  46.             }
  47.             default:
  48.             {
  49.                 ATMO_CreateValueString(out, "Color: Unknown/Custom");
  50.                 break;  
  51.             }
  52.         }
  53.         return ATMO_Status_Success;
  54. }
复制代码

在采集数据的函数中相应的代码,从而在显示屏上输出相应的数据和单位等等;
  1. ATMO_Status_t GetAirQualityStr_trigger(ATMO_Value_t *in, ATMO_Value_t *out)
  2. {
  3.         int temp = 0;
  4.         ATMO_GetInt(in, &temp);
  5.         char str[32];
  6.         sprintf(str, "%d ppb", temp);
  7.         ATMO_CreateValueString(out, str);
  8.         return ATMO_Status_Success;
  9. }
复制代码


(7):蓝牙设置为读,可读取相应的传感器数据传送至手机APP端,设置为写时,可从APP获得相应的控制,如控制点亮LED灯;


(8):页面坐标规划可以在一张纸上粗略的画下,那样在分布页面坐标系的时候,就较为方便了;
绘图3.jpg
绘图2.png

在APPLICATION页面和手机端的页面如下图:
我无聊般的把所有的图片都接到蓝牙去控制RGB了,Value设置0~7对应红绿蓝等七个预置颜色,7是OFF,关闭LED;

Rapid IoT .bin (492.92 KB, 下载次数: 1)


回复

使用道具 举报

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

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-1-18 16:21 , Processed in 0.090443 second(s), 18 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表