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

chrisrh   2019-1-24 11:39 楼主
基于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, 2019-1-24 12:38 上传)
QQ截图20190124122302.jpg QQ图片20190124122523.jpg 本来想通过APP蓝牙控制触摸按键的上下左右,或者按键和开关,结果没有做成功,出现了许多错误,近来事比较多,估计得暂时放下一段时间了,手机app端和云端会继续关注,继续学习,努力ing...很不错的Atmosphere平台,这次学到了很多东西,谢谢EEWORLD和NXP的支持。 QQ图片20190124125719.gif
我爱学习!
QQ图片20190123144745.jpg QQ图片20190123144740.jpg 此内容由EEWORLD论坛网友chrisrh原创,如需转载或用于商业用途需征得作者同意并注明出处 本帖最后由 chrisrh 于 2019-1-24 13:04 编辑

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复