3177|10

274

帖子

8

TA的资源

纯净的硅(初级)

楼主
 

【NXP Rapid IoT评测】+ 使用离线IDE构建显示传感器信息的应用 [复制链接]

 
使用离线的IDE开发能够更灵活。本次实现了温湿度、光强、空气质量、电量和充电状态的采集,并通过屏幕显示出来。


在提供的模板例程中使用了操作系统。操作系统使用的是Freertos,但是其在rtos上又构建了一个抽象层。其入口是在
  1. void main_task(uint32_t param)
复制代码
这个函数中。因此我也在这函数中新建了两个任务,获取数据的任务与显示任务。
  1. OSA_TASK_DEFINE(get_data_task, OSA_PRIORITY_NORMAL, 1, 1600, 0)  ;
  2. OSA_TASK_DEFINE(display_task, OSA_PRIORITY_LOW, 1, 1600, 0)  ;
复制代码


获取数据的任务是没100ms获取一次各数据。代码没有进行优化,写的有点乱,大家先参考一下。
获取温湿度的代码:
  1. void get_temp_and_humity(int32_t *temp, int32_t *humity)
  2. {
  3.         ens210_meas_data_t data;
  4.         ENS210_Measure(mode_TH,&data);
  5.         *temp = data.T_Celsius;
  6.         *humity = data.H_Percent;
  7. }
复制代码



获取空气质量,也就是获取CO2浓度的代码:
  1. void get_co2(int32_t *air)
  2. {
  3.         uint8_t ready;
  4.         uint16_t uCO2;

  5.         CCS811_dataAvailable(&ready);
  6.         if (ready == 1) {
  7.             CCS811_readAlgorithmResults();
  8.             uCO2 = CCS811_getCO2();
  9.             *air = uCO2;
  10.         }
  11. }
复制代码

获取光强:
  1. void get_light(int32_t *light)
  2. {
  3.         float temp_light = 0;
  4.         TSL2572_ReadAmbientLight(&temp_light);
  5.         TSL2572_ClearALSInterrupt();
  6.         *light = (int32_t) temp_light;
  7. }
复制代码

获取电量百分比与充电状态:
  1. void get_battery(int32_t *power_state,char *charge_state_string)
  2. {
  3.         uint8_t bat_level,bat_state;
  4.         BatterySensor_GetState(&bat_level, &bat_state);
  5.         if(bat_state == 0){
  6.                 sprintf(charge_state_string,"    ");
  7.         }else{
  8.                 sprintf(charge_state_string,"!   ");
  9.         }
  10.         *power_state = bat_level;
  11. }
复制代码



获取数据任务的代码:
  1. void get_data_task(uint32_t param)
  2. {
  3.         while(1){
  4.                 get_temp_and_humity(&temp,&humity);
  5.                 get_light(&light);
  6.                 get_co2(&air);
  7.                 get_battery(&power,charge_state);
  8.                 OSA_TimeDelay(100);
  9.         }
  10. }
复制代码

显示任务的代码:
  1. int32_t temp,humity,light,air,power;
  2. char charge_state[10];

  3. void display_task(uint32_t param)
  4. {
  5.         char dis_string[20];
  6.         while(1){
  7.                 //GUI_Clear();
  8.                 GUI_GotoXY(0,0);
  9.                 GUI_DispString("temperature is: \n");
  10.                 sprintf(dis_string,"    %d    \n",temp);
  11.                 GUI_DispString(dis_string);

  12.                 GUI_DispString("humity is: \n");
  13.                 sprintf(dis_string,"    %d    \n",humity);
  14.                 GUI_DispString(dis_string);

  15.                 GUI_DispString("light is: \n");
  16.                 sprintf(dis_string,"    %d    \n",light);
  17.                 GUI_DispString(dis_string);

  18.                 GUI_DispString("air is: \n");
  19.                 sprintf(dis_string,"    %d    \n",air);
  20.                 GUI_DispString(dis_string);

  21.                 GUI_DispString("power is: \n");
  22.                 sprintf(dis_string,"    % 3d, %s\n",power,charge_state);
  23.                 GUI_DispString(dis_string);
  24.                 OSA_TimeDelay(100);
  25.         }
  26. }
复制代码






此内容由EEWORLD论坛网友manhuami2007原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自无线连接论坛

最新回复

我从web IDE上下载的项目进行调式时报错了。我发了个求助贴子:https://bbs.eeworld.com.cn/thread-1067258-1-1.html 您是怎么解决这个问题的?  详情 回复 发表于 2019-1-11 14:40
点赞 关注(1)
 

回复
举报

274

帖子

8

TA的资源

纯净的硅(初级)

沙发
 
下一步准备研究下离线IDE的蓝牙怎么用。这个模块是不支持wifi的,我也是晕,没有看清楚。模块支持的是Thread 802.15.4,而wifi是802.11。看来只能连接手机的蓝牙,然后再通过手机的wifi联网了。
此帖出自无线连接论坛
 
 

回复

9803

帖子

24

TA的资源

版主

板凳
 
电池供电能用多长时间
此帖出自无线连接论坛

点评

这个没有试过,时间挺短的  详情 回复 发表于 2019-1-2 22:30
 
 
 

回复

1246

帖子

19

TA的资源

五彩晶圆(初级)

4
 
mark一下!
此帖出自无线连接论坛
 
 
 

回复

274

帖子

8

TA的资源

纯净的硅(初级)

5
 
littleshrimp 发表于 2019-1-2 18:01
电池供电能用多长时间

这个没有试过,时间挺短的
此帖出自无线连接论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
感兴趣、可以商用吗?
此帖出自无线连接论坛

点评

可以商用,就是成本有点高  详情 回复 发表于 2019-1-9 11:43
 
 
 

回复

274

帖子

8

TA的资源

纯净的硅(初级)

7
 
0731tao 发表于 2019-1-5 15:36
感兴趣、可以商用吗?

可以商用,就是成本有点高
此帖出自无线连接论坛
 
 
 

回复

75

帖子

2

TA的资源

一粒金砂(中级)

8
 
请问一下:您用的IDE是MCUXpresso IDE吗?NXP给的SDK可以使用web IDE中的那些组件吗?使用MCUXpresso IDE可以自已封装成web IDE的组件吗?
此帖出自无线连接论坛

点评

纠正一下,我刚才好像理解错你最后一个问题的意思了。我也不知道能不能封装成web ide的组件。我一开始理解的意思是,封装成能够在离线IDE中使用的组件。  详情 回复 发表于 2019-1-10 17:58
1、用的是MCUXpresso IDE 2、web ide是提供下载工程代码的,你可以把web ide写好的程序的源代码下载下来使用,这样你就可以使用其中的组件了 3、当然可以  详情 回复 发表于 2019-1-10 15:04
 
 
 

回复

274

帖子

8

TA的资源

纯净的硅(初级)

9
 
bjemt 发表于 2019-1-10 14:39
请问一下:您用的IDE是MCUXpresso IDE吗?NXP给的SDK可以使用web IDE中的那些组件吗?使用MCUXpresso IDE可 ...

1、用的是MCUXpresso IDE
2、web ide是提供下载工程代码的,你可以把web ide写好的程序的源代码下载下来使用,这样你就可以使用其中的组件了
3、当然可以
此帖出自无线连接论坛

点评

我从web IDE上下载的项目进行调式时报错了。我发了个求助贴子:https://bbs.eeworld.com.cn/thread-1067258-1-1.html 您是怎么解决这个问题的?  详情 回复 发表于 2019-1-11 14:40
 
 
 

回复

274

帖子

8

TA的资源

纯净的硅(初级)

10
 
bjemt 发表于 2019-1-10 14:39
请问一下:您用的IDE是MCUXpresso IDE吗?NXP给的SDK可以使用web IDE中的那些组件吗?使用MCUXpresso IDE可 ...

纠正一下,我刚才好像理解错你最后一个问题的意思了。我也不知道能不能封装成web ide的组件。我一开始理解的意思是,封装成能够在离线IDE中使用的组件。
此帖出自无线连接论坛
 
 
 

回复

75

帖子

2

TA的资源

一粒金砂(中级)

11
 
manhuami2007 发表于 2019-1-10 15:04
1、用的是MCUXpresso IDE
2、web ide是提供下载工程代码的,你可以把web ide写好的程序的源代码下载下来 ...

我从web IDE上下载的项目进行调式时报错了。我发了个求助贴子:https://bbs.eeworld.com.cn/thread-1067258-1-1.html
您是怎么解决这个问题的?
此帖出自无线连接论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表