boa+cgi+sqlite3【基于web的数据采集并动态显示】

kszsa 2012-04-21 03:42:41
开发板是TQ2440,linux系统
移植了boa,sqlite3,cgic
现在,应用程序每秒钟,将采集的数据如温度、湿度等,写入到数据库。
问题:用cgi,如何动态显示所产生的温度、湿度。【不要用刷新】
刷新的已经实现
...全文
2979 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsplm 2014-10-01
  • 打赏
  • 举报
回复
楼主能否提供一下代码,我现在正在学习这方面知识。谢谢。1214438355@qq.com
一梦华胥引 2013-06-22
  • 打赏
  • 举报
回复
请问楼主能否在cgi定时刷新的过程中停止定时刷新呢?
ahtcwh1986 2012-05-31
  • 打赏
  • 举报
回复
楼主已经很好了 前后 源码都给出来了,自己努力看看就知道了
ahtcwh1986 2012-05-31
  • 打赏
  • 举报
回复
楼主已经很好了 前后 源码都给出来了,自己努力看看就知道了
huward50 2012-05-29
  • 打赏
  • 举报
回复
LZ也太不道德了吧,怎么解决的?给个路子不行么,别人给你想了这么多你就一句解决了就完事儿了~
kszsa 2012-05-17
  • 打赏
  • 举报
回复
不用数据库,直接读共享内存么?
给你个地址吧,5楼的代码基本是可以运行的
http://bbs.chinaunix.net/thread-2321523-1-1.html
minjiaa 2012-05-13
  • 打赏
  • 举报
回复
请问楼主,你用的cgi+ajax是如何实现的?能否教教我603920865@qq.com,谢谢啦!
我也遇到了类似的问题,只是没有使用数据库,用刷新的方法太耗资源,开发板承受不住。
kszsa 2012-05-02
  • 打赏
  • 举报
回复
虽然2楼没有在回来,但在2楼的提示下,查了很多资料,最后用cgi+ajax实现了。在这里还是谢谢2楼
kszsa 2012-04-23
  • 打赏
  • 举报
回复
我定时刷新的cgi程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>

int main()
{
sqlite3 *pdb=NULL;
sqlite3_stmt *stmt;
char *szErrMsg=0;
int rc,i;
rc=sqlite3_open("/home/dyh/date.db",&pdb);
if(rc)
{
fprintf(stderr,"can't open database: %s",sqlite3_errmsg(pdb));
sqlite3_close(pdb);
return -1;
}
printf("Content-type:text/html\n\n");
printf("<html>\n<head>\n<Meta http-equiv=\"Refresh\" Content=\"1;\"><title>test</title></head>\n<body>\n");
printf("<h1 align=\"center\">dongtai</h1>\n");
printf("<table border=\"1\" align=\"center\">\n");
printf("<tr>\n");
printf("<th>id</th><th>dev</th><th>wendu</th><th>time</th>\n");
printf("</tr>\n");

char sql[512];
//char *sql="select *from wsd where id=(select max(id)from wsd where dnum=1)";
int j=1;
for(;j<=3;j++)
{
sprintf(sql,"select *from wsd where id=(select max(id)from wsd where dnum=%d)",j);
sqlite3_prepare(pdb,sql,-1,&stmt,0);
//sqlite3_bind_int(stmt,kk,i);
//sqlite3_bind_int(stmt,1,i);
/*
rc=sqlite3_column_count(stmt);
for(i=0;i<rc;i++)
{
printf("%s\t",sqlite3_column_name(stmt,i));
}
printf("\n");
*/ printf("<tr>\n");
while(sqlite3_step(stmt)==SQLITE_ROW)
{
printf("<td>%d</td>",sqlite3_column_int(stmt,0));
printf("<td>%d</td>",sqlite3_column_int(stmt,1));
printf("<td>%.1f</td>",sqlite3_column_double(stmt,2));
printf("<td>%s</td>\n",sqlite3_column_text(stmt,3));

/*
for(i=0;i<rc-1;i++)
{
printf("%d\t",sqlite3_column_int(stmt,i));
}
printf("%s\n",sqlite3_column_text(stmt,i));
//sqlite3_reset(stmt);
*/
}
printf("</tr>\n");
}
printf("</table>\n</body>\n</html>");
sqlite3_finalize(stmt);
sqlite3_close(pdb);
return 0;
}

在此基础上,通过ajax如何调用
kszsa 2012-04-23
  • 打赏
  • 举报
回复
boa服务器应该不支持ajax技术吧
001007009 2012-04-21
  • 打赏
  • 举报
回复
定时ajax调用你的cgi程序

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧