15316|41

5310

帖子

453

TA的资源

五彩晶圆(高级)

楼主
 

CC3200的httpserver例子上添加out_of_box例子demos-energy温度显示功能 [复制链接]

 
CC3200的httpserver例子上添加out_of_box例子demos-energy温度显示功能



原来httpserver例子中只有控制板上LED的功能

现在想移植out_of_box例子demos-energy页的温度显示功能到httpserver例子中




想实现的效果:





这个这里的温度一直都没读上来,一直显示“reloading





程序中添加了一个GET指令了


        case SL_NETAPP_HTTPGETTOKENVALUE_EVENT:

        {

          unsigned char status, *ptr;



          ptr = pSlHttpServerResponse->ResponseData.token_value.data;

          pSlHttpServerResponse->ResponseData.token_value.len = 0;

          if(memcmp(pSlHttpServerEvent->EventData.httpTokenName.data,

                                     GET_token_TEMP, strlen((const char *)GET_token_TEMP)) == 0)//__SL_G_UTP

                  {

                                 float fCurrentTemp=0.0+k;

                                 //TMP006DrvGetTemp(&fCurrentTemp);//读温度

                                 char cTemp = (char)fCurrentTemp;

                                 short sTempLen = itoa(cTemp,(char*)ptr);

                                 ptr[sTempLen++] = ' ';

                                 ptr[sTempLen] = 'F';

                                 pSlHttpServerResponse->ResponseData.token_value.len += sTempLen;



                  }//------------------------------------------------------------


static unsigned char GET_token_TEMP[]  = "__SL_G_UTP"
此帖出自无线连接论坛

最新回复

楼主,我也想像你这样搞,从out-of-box 移植到 httpserver 中是不是需要: ①添加I2C的GPIO及设置, ②将out-of-box 相关的void SimpleLinkHttpServerCallback(SlHttpServerEvent_t *pSlHttpServerEvent,                                 SlHttpServerResponse_t *pSlHttpServerResponse)这个函数中的温度读取搞过来      搞过来后,就能直接建立与网页的联系了吗? ③网页的相关联系建立需要哪些文件,html文件及java脚本都需要修改的吗? out-of-box 及httpserver例程每个功能函数都需要了解吗?rtos需要了解吗? 网页及HTTP相关也是只会依葫芦画瓢。  详情 回复 发表于 2019-2-1 09:38
点赞 关注(1)
 

回复
举报

7628

帖子

2

TA的资源

五彩晶圆(高级)

推荐
 
本帖最后由 freebsder 于 2015-5-28 02:04 编辑

@chenyy 你说的很对,一个谦虚的人在别人指出你可能存在的不足的时候,不是第一时间问为什么这样说,不足在哪里,而是自以为自己为初学者考虑跑来“请问版主:还没学会走,能跑起来吗?”吗?

既然大家都能看,我就说我的理由 @gsjzbj

1、httpserver的核心是引擎,文章里弄一堆“开始->初始化开发版->引脚复用配置->熄灭LED->...." 好吧,核心不说,告诉初学者httpserver开始熄灭LED创建SLS任务了!我还是那句话,只说样章给出的内容,仅仅是就代码论代码,作者自己可能都没搞清楚几个问题:http server最核心的是http解析过程,生命周期和状态切换(引发的回调),这芯片是怎么处理的?__SL_P_等东西什么时候处理的?怎么处理的?各个callback的调用时机是怎么样的,这些状态可以怎么使用,各个struct的生命周期等等。

2、>>>"浏览 CC3200 的默认主页 mysimplelink.net,并用网页与 CC3200 通信", “网页接收到5个接入点名称后,将它们显示在网页中供用户选择”等等吧不一一列举.
基本常识错了知道吗?知道html渲染吗?谁渲染的?网页吗?知道的话会写网页接受数据,用网页通讯?你模糊的地方可以不写,但乱写,就是你乱教。

3、>>>"设备接收到 HTTP 请求发送的数据后,产生 SL_NETAPP_HTTPPOSTTOKENVALUE_
EVENT 事件,并调用 SimpleLinkHttpServerCallback()进行处理"
>>>设备接收到 GET 令牌后产生 SL_NETAPP_HTTPGETTOKENVALUE_ EVENT(HTTP GET 令牌数据事件)
知道服务端变量吗?token在这里不是通讯里令牌的意思,自然就不是设备接受令牌的意思,http的基础是文本解析,token在这里是指文本解析中的字面量literal,用来做dynamic html的,好吧,产生这个事件是因为http引擎根据固定模式(__SL_P这种,因为CC3200毕竟是嵌入式系统,模式固定简化服务的处理,这也是为什么手册里有专门一小结来告诉你这种变量该怎么定义)识别出这是一个服务端变量,而这个服务端变量又不是系统定义的内部变量,它自己无法告诉你你要的数据,需要人工参与,所以整了HTTPGETTOKENVALUE来让你添数据,这也是我前面说的http引擎为什么需要说,哪怕简单的说的原因。你模糊的地方可以不写,但乱写,就是你乱教。

4、>>>当在手机或笔记本电脑上打开网页 profiles_config.html 时,网页依次发出用户 GET 令牌“__SL_G_US1~5”。
这是最基本的常识错误。浏览器首先用http协议请求profiles_config.html这个资源,服务端(也就是cc3200里面的http server)在rom或flash里找到这个资源。然后服务器做文本解析,类似C编译器的第一个步骤,一个token一个token的解析,寻找上面说的固定格式,比如__SL_G_US1~5,对所有找到的服务端变量(固定格式)进行变量替换(当然不是简单的变量替换,这里借用这个词形象化),系统定义的当然系统就处理了,用户定义的如__SL_G_US1~5,当然它找不到它的value值,这时候用HTTPGETTOKENVALUE来让你添数据,这也是为什么系统定义的服务端变量不会触发HTTPGETTOKENVALUE这个回调的原因,填好之后在资源中__SL_G_US1~5占位符这里做文本替换,替换成你给的值,最后打包成一个html静态内容(也可能是字符流形式)再按字符填充到response body返回浏览器。为什么要把数据转成文本添也是这个原因:html的基础是文本。
好了,那么是“网页依次发出用户 GET 令牌 “__SL_G_US1~5”“呢?还是服务器填充__SL_G_US1~5作为html响应返回给浏览器呢?你模糊的地方可以不写,但乱写,就是你乱教。

5、httprequest 10年前这是清晰的牛逼的,10后的今天这就是乱七八糟的,你可以不会也可以不写,但不要引导初学者一个过时的东西,应用技术过时了能干嘛?真是为初学者考虑?

6、以上http解析的框架过程很复杂吗?以上描述也就1,200个字吧,有谁看不懂的?所以别用初学者做借口,也不要把读者定位成看不懂的傻瓜。

7、@chenyy  管理员,我不谦虚,这篇干货回复没有异议的话是否应该加分呢? 多加点啊,加满


此帖出自无线连接论坛

点评

回复很“干”! 下次你在论坛里出些文章供我们菜鸟学习下呀! 不然,TI给个代码,我们根本不知道如何灵活运用,分析这个技术要点在什么地方! 我们该搜寻那些资源,拿过来学习,看什么书! 可以提供个方向也  详情 回复 发表于 2015-5-28 07:56
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

板凳
 
相关HTML文件


html.rar

44.35 KB, 下载次数: 52

此帖出自无线连接论坛
 
 
 

回复

227

帖子

2392

TA的资源

管理员

4
 
您确定他是读的get数据吗?
此帖出自无线连接论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

if(memcmp(pSlHttpServerEvent->EventData.httpTokenName.data, GET_token_TEMP, strlen((const char *)GET_token_TEMP)) == 0) { float fCurrent  详情 回复 发表于 2015-5-25 19:37
个人签名

个人签名111

 
 
 

回复

9795

帖子

24

TA的资源

版主

5
 
请问,HTML文件是如何加入到项目里的?
此帖出自无线连接论坛

点评

uniflash 烧写进去  详情 回复 发表于 2015-5-25 19:38
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

6
 


            if(memcmp(pSlHttpServerEvent->EventData.httpTokenName.data,
                    GET_token_TEMP, strlen((const char *)GET_token_TEMP)) == 0)
            {
                float fCurrentTemp;
                TMP006DrvGetTemp(&fCurrentTemp);
                char cTemp = (char)fCurrentTemp;
                short sTempLen = itoa(cTemp,(char*)ptr);
                ptr[sTempLen++] = ' ';
                ptr[sTempLen] = 'F';
                pSlHttpServerResponse->ResponseData.token_value.len += sTempLen;

            }


这样是get吗?
此帖出自无线连接论坛
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

7
 


uniflash 烧写进去
此帖出自无线连接论坛
 
 
 

回复

7628

帖子

2

TA的资源

五彩晶圆(高级)

8
 
本帖最后由 freebsder 于 2015-5-25 23:55 编辑



你的代码用的oob的,读温度这点没问题。

此帖出自无线连接论坛

点评

啊!CC3200直接用OOB的程序烧,可以读到温度?  详情 回复 发表于 2015-5-26 07:35
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

9
 


啊!CC3200直接用OOB的程序烧,可以读到温度?
此帖出自无线连接论坛

点评

后来我看到你应该是用的RF/无线版里面一个人放出来的样章吧。从样章来看没什么价值,就代码伦代码。http server最核心的是http解析过程,哪怕是流程,各个callback的调用时机,各个struct的生命周期,这个不说清楚  详情 回复 发表于 2015-5-26 12:31
 
 
 

回复

7628

帖子

2

TA的资源

五彩晶圆(高级)

10
 
本帖最后由 freebsder 于 2015-5-26 12:32 编辑


后来我看到你应该是用的RF/无线版里面一个人放出来的样章吧。从样章来看没什么价值,就代码伦代码。http server最核心的是http解析过程,哪怕是流程,各个callback的调用时机,各个struct的生命周期,这个不说清楚很难开发好一个不那么helloworld 的 server端应用。browser端代码也乱七八糟,初学的可能更乱。
此帖出自无线连接论坛
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

124

帖子

1

TA的资源

一粒金砂(中级)

11
 
本帖最后由 gsjzbj 于 2015-5-26 13:05 编辑

请问版主:还没学会走,能跑起来吗?
此帖出自无线连接论坛

点评

不用问版主,没讲清楚就是没讲清楚。  详情 回复 发表于 2015-5-26 13:23
那没办法 !试试 ! 没有一个能指导下的人  详情 回复 发表于 2015-5-26 13:06
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

12
 


那没办法 !试试 !

没有一个能指导下的人
此帖出自无线连接论坛
 
 
 

回复

124

帖子

1

TA的资源

一粒金砂(中级)

13
 
把现有代码彻底搞明白,掌握核心语句,然后根据要求进行修改。
此帖出自无线连接论坛

点评

那你指导下,任何在httpserver例子上添加一个 不断读取板上的温度显示在网页上?  详情 回复 发表于 2015-5-26 13:18
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

14
 


那你指导下,任何在httpserver例子上添加一个 不断读取板上的温度显示在网页上?
此帖出自无线连接论坛
 
 
 

回复

7628

帖子

2

TA的资源

五彩晶圆(高级)

15
 

不用问版主,没讲清楚就是没讲清楚,讲的乱就是讲的乱。
此帖出自无线连接论坛

点评

你牛,你现在会跑了,忘了当初学走路时摔的跤了。  详情 回复 发表于 2015-5-26 16:48
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

124

帖子

1

TA的资源

一粒金砂(中级)

16
 
freebsder 发表于 2015-5-26 13:23
不用问版主,没讲清楚就是没讲清楚,讲的乱就是讲的乱。

你牛,你现在会跑了,忘了当初学走路时摔的跤了。
此帖出自无线连接论坛

点评

真是,说点对卖书不利的话(而且还没乱说)跟摸了猴子屁股似得。  详情 回复 发表于 2015-5-26 17:00
不是牛不牛也不是跑不跑,而是教的人就不该乱七八糟教。  详情 回复 发表于 2015-5-26 16:54
 
 
 

回复

7628

帖子

2

TA的资源

五彩晶圆(高级)

17
 
gsjzbj 发表于 2015-5-26 16:48
你牛,你现在会跑了,忘了当初学走路时摔的跤了。

不是牛不牛也不是跑不跑,而是教的人就不该乱七八糟教。
此帖出自无线连接论坛
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

124

帖子

1

TA的资源

一粒金砂(中级)

18
 
那请版主来个不乱七八糟的教法俺学习学习
此帖出自无线连接论坛

点评

你给我钱了?我凭什么教一个教书育人的老师?  详情 回复 发表于 2015-5-26 17:00
 
 
 

回复

7628

帖子

2

TA的资源

五彩晶圆(高级)

19
 
gsjzbj 发表于 2015-5-26 16:48
你牛,你现在会跑了,忘了当初学走路时摔的跤了。

真是,说点对卖书不利的话(而且还没乱说)跟摸了猴子屁股似得。
此帖出自无线连接论坛
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

7628

帖子

2

TA的资源

五彩晶圆(高级)

20
 
gsjzbj 发表于 2015-5-26 16:59
那请版主来个不乱七八糟的教法俺学习学习

你给我钱了?我凭什么教一个教书育人的老师?
此帖出自无线连接论坛

点评

别生气啊! 你那里显示“75”,CC3200增加了读温度__sl_g吗?  详情 回复 发表于 2015-5-27 08:35
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

21
 
freebsder 发表于 2015-5-26 17:00
你给我钱了?我凭什么教一个教书育人的老师?

别生气啊!

你那里显示“75”,CC3200增加了读温度__sl_g吗?
此帖出自无线连接论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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