这一个小项目的目的是利用网页来读取以及写入串口,将单片机发送来的数据在网页上显示以及利用网页控制单片机上的LED,显示 单片机发送来的数据是利用了一个C语言的程序,将接受到的来自单片机的数据存入到一个txt文件中,然后网页利用php将数据读入到 一个textarea中显示,本人不才,没能做到直接从网页端读取数据显示,等到学了数据库的知识在进行相关的补充。 至于控制LED,本人采用了一个略微机智的方法(偷笑脸),php可以调用exe文件,exe文件是将指令写入串口的,如果是0开灯, 是9则关灯,但是单独的一个PHP调用exe可以,在HTML中调用一个PHP函数由于知识不够还做不到,于是我就再button上加上了 两个本地的链接调用另一个php链接来控制exe实现开关LED的目的。 附上程序: 加了一个刷新,可以在程序没反应过来的时候刷新一下页面 <html> <meta charset="utf-8"> <head> <title>获取数据</title> <style type="text/css"> .ta { color: red; } </style> </head> <body > <?php function turnon(){ system("C:\\Users\\CHui\\Desktop\\test\\turnon.exe", $info); } function turnoff(){ system("C:\\Users\\CHui\\Desktop\\test\\turnoff.exe", $info); } ?> <div align="center"> <?php $file_path = "C:\Users\CHui\Desktop\\test\\readdata.txt"; if(file_exists($file_path)){ $fp = fopen($file_path,"r"); $str = fread($fp,filesize($file_path));//指定读取大小,这里把整个文件内容读取出来 } ?> <textarea name="data" rows="10" cols="100" class="ta"><?php echo $str = str_replace("\r\n","<br />",$str);?> </textarea><br><br> <button οnclick="window.location.href='http://localhost/webpage/turnon.php'" style="color: green">开灯</button> <button οnclick="window.location.href='http://localhost/webpage/turnoff.php'" style="color: red">关灯</button> <button οnclick="window.location.href=window.location.href" style="color: black">刷新</button>
</div> </body> </html> c语言 #include <stdio.h> #include <windows.h> int main(void) { FILE *fp; int count = 0; if((fp=fopen("com3", "w")) == NULL) puts("can't open the com\n"); //if((fileFP=fopen("orderdata.txt", "r")) == NULL) puts("can't open the file\n"); while(1){ fprintf(fp, "%c", '0'); //如果是关灯的话就直接将'9'写入即可 count ++; if(count > 1) break; } printf("success\n"); fclose(fp); //关闭串口 return 0; } /******************************************************************************************************************/ php调用exe <html> <body> <?php system("C:\\Users\\CHui\\Desktop\\test\\turnon.exe", $info); //关灯的话链接改为另一个turnoff.php的链接即可 sleep(10); echo $info; ?> </body> </html>
php操作串口控制LED及读取文件
最新推荐文章于 2023-05-17 12:34:40 发布