[原创] 【NXP Rapid IoT评测】- NXP Rapid IOT Studio体验

robinqjx   2019-1-20 19:44 楼主
此内容由EEWORLD论坛网友robinqjx原创,如需转载或用于商业用途需征得作者同意并注明出处 【NXP Rapid IoT评测】- NXP Rapid IOT Studio体验 体验了手机蓝牙连接以及云端数据采集之后,该NXP Rapid IOT Studio去逛逛了。由于NXP Rapid IOT Studio 不支持IE,只能用Chrome 或者其他的支持的浏览器,笔者电脑没装Chrome却刚好有个QQ浏览器,基本不用,打开来试试可以用。管他三七二十一,先用了再说。 浏览器输入网址https://rapid-iot-studio.nxp.com 进入Rapid IOT Studio 输入账号,密码登录后,其界面和Rapid IOT Android App界面如出一辙,唯一多了的是Studio的按钮,用户可以在Studio界面对IOT、手机、以及云端数据处理进行自定义编程。
  • NXP RAPID IOT—— RAPID IOT设备程序编程
  • Application—— 手机应用编程
  • Cloud—— 云端数据编程
体现了NXP Rapid IOT 优势,客户可以通过软件更多地定义模块的功能和性能,从而达到开发功能实现的多样性和个性。 Rapid IOT Studio-0.jpg Toggle LED 翻转LED Rapid IOT设备进行编程来个最简单的,点亮一个LED或者是让一个LED闪烁,刚开始学单片机的人基本上都从这个LED开始的吧就是所谓的Hello LED, 文本语言编程第一个程序Hello World一样 NXP Rapid IOT Studio 里面就有例子,比较简单,容易上手,依葫芦画瓢就好了。 首先加入几个控件
  • Interval
  • EmbededNxpRbkRgbled
  • EmbededIconLabelDisplay
  • EmbededNxpRpkBacklight
Rapid IOT Studio-1.jpg 然后将IntervalEmbededNxpRbkRgbled 拖拉用连线连接起来,它们之间就有了联系了。 Interval就会产生一个事件触发EmbededNxpRbkRgbled事件,把Ability的属性改成“Toggle Blue LED”可以翻转蓝色的LED了。 Interval 其他属性不用修改,默认1秒(1000毫秒) EmbededIconLabelDisplay一个静态显示的页面,默认主页面显示(0,0可以将其他的属性 Page Title -- Blank Blue LED ICON -- Applications LED” EmbededNxpRpkBacklightInitial Brightness 修改“Low”,这样可以使套件的背光变暗,当然也可以选择关掉或者其他设置 Medium 或者High 点击右上方存盘控件,保存工程文件。 点击右上方锤子控件,编译工程文件。 Rapid IOT Studio-2.jpg 照手册说明连接Rapid IOT到电脑USB口,复位成大容量存储设备然后将生成的二进制文件下载到Rapid IOT的盘中就好了。 下载完毕,等待几秒钟的时间,套件会自动重启,然后就会一秒钟的时间翻转蓝色的LED. Rapid IOT Studio-3.jpg 整个过程,在网上的 Studio进行,存盘,编译和下载都需要点耐心等待完成,每步骤完成了会在浏览器正上方有提示。 Rapid IOT Studio-12.jpg Studio进行图形化的编程的确简单,对于小型的应用来还是省时省力的。但是其中也有不少缺点,不能撤销,不能复制,每个步骤都要一步步地来,每个控件和属性都要一个个地修改,对于稍微大一点的工程来说,的确是体力活 图形化的编程NILabview做得最成功测试领域处于全球的领先的地位。
PageControl (翻页)
其实做这个是为了验证一下翻页的功能,在Rapid IOT Weather Station 的时候自己的失误导致某个属性设置有问题,然后翻页就成了问题一时半会找不到原因,于是试了一下这个工程试验 关于NXP Rapid IOT显示控件的更多信息,可以查看Atmosphere的网站上有详细介绍 NXP Display Element Guide 链接https://developer.atmosphereiot.com/documents/guides/nxpdisplayelementsguide.html NXP的显示控件: Rapid IOT Studio-5.jpg 对于NXP的显示控件来说,看可以有4行6列内容可以显示,并可以通过不同的页面进行切换。主页位于0,0位置。其他具体属性设置可以自行仔细阅读说明进行修改和设置。 Rapid IOT Studio-6.jpg 添加如下控件
  • Interval
  • IconPagex4
  • SX9500Touch,
  • EmbededPageController
按照连线控件连接起来。修改相应的属性 Interval属性不用修改 IconPagex4 分别修改Page Title
  • “Page_0-0”,
  • page_1-0
  • page_2-0
  • page_3-0
SX9500Touch Triggers 事件触发 EmbededPageGontroller Right Press—— Navigate Right Left Press—— Navigate Left 保存工程文件,编译,并下载到Rapid IOT 。待套件复位之后就可以通过左右按键来切换不同的页面了。 Rapid IOT Studio-7.jpg Weather Station (气象站) NXP Rapid IOT (Weather Station) 这个事例来自与Rapid IOT Studio 例程。用户可以直接编译下载到Rapid IOT 套件里面。 笔者通过从无到有的过程模仿了此例程。首先各种空间的添加属性设置以及其触发关系连接具体过程不在一一说明,大家有时间可以自行按部就班地学习。 Rapid IOT Studio-8.jpg 其中需要注意的几点问题: BLEGattCharacteristic 设置: ReadEnable WriteEnable NotifyEnable Triggers 设置 TemperatureCloudData AbilitySend Event ValuereadData 读数据类型的设置: TemperatureCharacteristic Read Data TypeFloating Point(32-bit) Write Data TypeFloating Point(32-bit) Notify Data TypeFloating Point(32-bit) Triggers 设置 TemperatureCloudData AbilitySend Event ValuereadData TemperatureLabel AbilitySet Text ValuereadData.toFixed(1) + " °C" HumidityCharacteristic Read Data TypeFloating Point(32-bit) Write Data TypeFloating Point(32-bit) Notify Data TypeFloating Point(32-bit) Triggers 设置 HumidityCloudData AbilitySend Event ValuereadData HumidityLabel AbilitySet Text ValuereadData.toFixed(1) + " %" PressureCharacteristic Read Data TypeUnsigned Integer Write Data TypeUnsigned Integer Notify Data TypeUnsigned Integer Triggers 设置 PressureCloudData AbilitySend Event ValuereadData PressureLabel AbilitySet Text ValuereadData + " hPa" AmbientLightCharacteristic Read Data TypeUnsigned Integer Write Data TypeUnsigned Integer Notify Data TypeUnsigned Integer Triggers 设置 AmbientLightCloudData AbilitySend Event ValuereadData AmbientLightLabel AbilitySet Text ValuereadData + " lx" AirQualityCharacteristic Read Data TypeUnsigned Integer Write Data TypeUnsigned Integer Notify Data TypeUnsigned Integer Triggers 设置 AirQualityCloudData AbilitySend Event ValuereadData AirQualityLabel AbilitySet Text ValuereadData + " ppb" 此外,几个获得传感器的字符串的函数代码需要添加 ATMO_Status_t GetTempStr_trigger(ATMO_Value_t *in, ATMO_Value_t *out) { float temp = 0; ATMO_GetFloat(in, &temp); char str[32]; sprintf(str, "%.1f C", temp); ATMO_CreateValueString(out, str); return ATMO_Status_Success; } ATMO_Status_t GetHumidityStr_trigger(ATMO_Value_t *in, ATMO_Value_t *out) { float temp = 0; ATMO_GetFloat(in, &temp); char str[32]; sprintf(str, "%.1f %%rh", temp); ATMO_CreateValueString(out, str); return ATMO_Status_Success; } ATMO_Status_t GetPressureStr_trigger(ATMO_Value_t *in, ATMO_Value_t *out) { int temp = 0; ATMO_GetInt(in, &temp); char str[32]; sprintf(str, "%d hPa", temp); ATMO_CreateValueString(out, str); return ATMO_Status_Success; } ATMO_Status_t GetLightStr_trigger(ATMO_Value_t *in, ATMO_Value_t *out) { int temp = 0; ATMO_GetInt(in, &temp); char str[32]; sprintf(str, "%d lx", temp); ATMO_CreateValueString(out, str); return ATMO_Status_Success; } ATMO_Status_t GetAirQualityStr_trigger(ATMO_Value_t *in, ATMO_Value_t *out) { int temp = 0; ATMO_GetInt(in, &temp); char str[32]; sprintf(str, "%d ppb", temp); ATMO_CreateValueString(out, str); return ATMO_Status_Success; } ATMO_Status_t ConvertPressur_trigger(ATMO_Value_t *in, ATMO_Value_t *out) { unsigned int pressurePa = 0; ATMO_GetUnsignedInt(in, &pressurePa); ATMO_CreateValueUnsignedInt(out, pressurePa / 100); return ATMO_Status_Success; } SX9500Touch 触发需要设置。 之后就是存盘,编译下载到Rapid IOT 套件复位之后一切运行正常,和例子的一样。 Rapid IOT Studio Appplication(Weather Station) Rapid IOT套件可以正常使用了,下一步是将蓝牙数据显示到手机上在Application加入控件,图片控件(可以使用给自己喜欢的个性控件,并设置相应的属性。 没有太多需要特别注意地方或者设置,用户可以按照设置一步步地完成即可。 Rapid IOT Studio-9.jpg 不得不说的是,的对齐方式只能通过一个个属性设置来保证控件是对齐的,就没有一个菜单可以左右,上下,居中对齐的,这样可以省太多的事情了。 不同的客户手机平板需要添加并在相应的界面里面呢再次调整好也就是有不同的尺寸的手机,会显示不一样的界面你可以按照自己的喜好来调整。 Rapid IOT Studio-10.jpg 没关系,体力活而已,按照各种控件摆放好并且设置好相应的属性之后存盘,编译,下载到Rapid IOT 套件等待重启 手机端,开启蓝牙,启动Rapid IOT App,添加设备。显示如图: Rapid IOT Studio-11.jpg 至此,完成了手机端接收蓝牙功能的编程体验 Rapid IOT Studio Cloud (Weather Station) 完成了蓝牙传输功能之后,再添加数据到云端服务器吧。 这个功能在Rapid IOT Studio中实现起来很简单,只要Application中在原来的项目里面添加CloudEvent上传数据到云端的控件简单设置即可。 如下图,添加5个CloudEvent控件并重命名为
  • TemperatureCloudData
  • HumidityCloudData
  • PressureCloudData
  • LightCloudData
  • AirQualityCloudData
通过连线设置为由每个传感器的蓝牙传输触发 设置属性为:
  • Ability —— “Send Event
  • Value —— “Read Data”
Rapid IOT Studio-13.jpg 完成Application 的编程之后,就要对Cloud进行编程,数据处理了,也很简单,将每个CouldEvent 事件触发存储数据即可。如下图: Rapid IOT Studio-14.jpg 完成之后,存盘,编译然后下载,等待Rapid IOT 自动复位重启。 然后通过手机连接Rapid IOT套件,之后就可以另外的手机,IPAD或者浏览器上访问云端的数据。 Rapid IOT Studio-15.jpg 【NXP Rapid IoT评测- NXP Rapid IOT Studio体验 本帖最后由 robinqjx 于 2019-2-13 10:55 编辑

回复评论

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