想自己实现一个远程控制电脑关机的套件:

  1. 不能使用串口助手,只能想法自己实现一个类似串口助手一样的功能(能够读出串口数据,能通过串口下命名)
  2. 基于一种硬件实现——ESP8266模块
  3. 手机控制:我先是想通过手机网络助手来实现这个功能,如果实现准备自己写一个Android软件。

所以先来完成串口数据的读取,这个是第一步。

经过网上资料的查阅,找到一篇博文,代码我拷贝下来了,但具体的连接已经忘记了,请博主看到不要见怪。

代码经过分析,不是很难理解,代码如下:

// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//#include "pch.h"#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <conio.h>
#include "tchar.h"int main()
{HANDLE hCom;hCom = CreateFile(_T("COM4"),//COM4口    因为我的ESP8266接上后显示是COM4GENERIC_READ | GENERIC_WRITE,//允许读和写0,//独占方式NULL,OPEN_EXISTING,//打开而不是创建0,//同步方式NULL);if(hCom == (HANDLE)-1){printf("打开COM失败!\n");return FALSE;}else{printf("COM打开成功!\n");}SetupComm(hCom, 20480, 20480);//输入缓冲区和输出缓冲区的大小都是1024COMMTIMEOUTS TimeOuts;//设定读超时  TimeOuts.ReadIntervalTimeout = 100;TimeOuts.ReadTotalTimeoutMultiplier = 500;TimeOuts.ReadTotalTimeoutConstant = 5000;   TimeOuts.WriteTotalTimeoutMultiplier = 500;//设定写超时TimeOuts.WriteTotalTimeoutConstant = 2000;SetCommTimeouts(hCom, &TimeOuts);//设置超时DCB dcb1;GetCommState(hCom, &dcb1);dcb1.BaudRate = 115200;//波特率为115200dcb1.ByteSize = 8;//每个字节有8位dcb1.Parity = NOPARITY;//无奇偶校验位dcb1.StopBits = TWOSTOPBITS;//两个停止位dcb1.fParity = FALSE;dcb1.fNull = FALSE;SetCommState(hCom, &dcb1);DWORD wCount = 256;//读取的字节数DWORD wCount1;PurgeComm(hCom, PURGE_TXCLEAR|PURGE_RXCLEAR);//清空缓冲区while(1){int i = 0;FILE *fp1;unsigned char str[256];if(!ReadFile(hCom, str, wCount, &wCount1, NULL)){printf("读串口失败!");return FALSE;}       fp1 = fopen("串口发送的数.txt", "a+");  printf("读串口成功!\n");printf("读取长度为:%d\n", wCount1);printf("读取数据为:\n");for(i=0; i< wCount1; i++){printf("%c ", str[i]);fprintf(fp1, "%c ", str[i]);}printf("\n");fclose(fp1);}CloseHandle(hCom);std::cout << "Hello World!\n";return 0;
}// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单// 入门提示:
//   1. 使用解决方案资源管理器窗口添加/管理文件
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件

博主的代码,我几乎没有修改,只是修改了读取的串口号。

接下来要配置我们的ESP8266模块,让模块处于数据发送状态。

模块如图:

1.模块

2.采用的USB-TTL

AT命令如下:

AT的下发,这里仍用电脑串口助手实现,我使用的是

AT+CWMODE=3    //设置为AP+STA
AT+RST        //重启
AT+CWSAP="ESP8266","0123456789",1,0     // 设置完成后就可以用手机连接WIFI了

【注意】

连接WIFI   WIFI名称为: ESP8266,如图:

上面这条命令执行后需要在手机端(有人网络助手)上Tcp server栏配置端口号为8080(可以自己配置),然后激活,如图:


AT+CIPMODE=1    //透传
AT+CIPMUX=0    //单路模式
AT+CIPSTART="TCP","192.168.4.2",8080       //链接

【注意】这里的IP是手机上的IP地址,查看链接ESP8266产生的WIFI后被分配的IP地址,如下图:

上面的AT命令执行成功后,手机上的效果。如图:


到这里,就已经实现手机与模块通信了,手机发送数据给模块,模块会通过USB串口传输给电脑。这下就可以运行上面我们粘贴的C++代码了(【注意】在运算C++代码时一定要记得关闭电脑串口助手,不然会因为串口被占用而连接不了),效果如图。

手机端输入:

电脑端:

我刚才输入两个WANTIN 和 wantin。

到这里就已经完成了本次博文,接下来想研究一下怎样通过手机来让电脑关机。

所有资源在:ESP8266 WIFI模块学习之路(9)

https://download.csdn.net/download/xiaocaidayong/11109252

可以下载使用

ESP8266 WIFI模块学习之路(9)——C++实现通过电脑串口读取ESP8266数据相关推荐

  1. ESP8266 WIFI模块学习之路(2)——模块与单片机连接进行远程操作

    上一个博客:ESP8266 WIFI模块学习之路(1)是关于对串口连接的,简单验证ESP8266是怎么样连接及其功能验证,下面将通过单片机连接,和手机进行远程操作. ESP8266和单片机的连接,我这 ...

  2. ESP8266 WIFI模块学习之路(10)——手机远程关闭电脑

    在博文ESP8266 WIFI模块学习之路(9)中已经实现了电脑读出USB串口的数据,如图 在博文C语言实现电脑关机程序中学习了如何实现电脑关机及其它的一些功能. 因此,通过这两个博文完全可以实现手机 ...

  3. ESP8266 WIFI模块学习之路(7)——自写Android手机APP接受单片机数据

    上一篇是写关于自写Android手机APP给单片机下发数据的,这次我将写一下APP如何接受单片机数据. 其实使用调试助手,或者别人开的的APP同样能够实现接受单片机数据,但想学习的,我还是建议能够自己 ...

  4. android 8 esp8266,ESP8266 WIFI模块学习之路(8)——自写Android手机APP控制直流电机正反转...

    本次向通过Android远程控制直流电机正反转,在这之前可以看一下我写的"STC单片机简单控制直流电机正反转"有助刚学的同学理解. 可以看一下我的硬件连接电路,如图: 单片机硬件程 ...

  5. ESP8266 wifi模块学习

    这是在b站一个up主那里看视频记的笔记,有缘人刷到可以去看看,不过他没给链接,很烦. [物联网]ESP8266-WIFI模块应用--基于51单片机_哔哩哔哩_bilibili 1.引脚说明 vcc 3 ...

  6. 【STM32】ESP8266 WiFi模块实时上报温湿度及控制LED灯项目笔记

    ESP8266 WiFi模块实时上报温湿度及控制LED灯项目笔记 一.ESP8266模块 1.模块介绍 2.AT指令介绍 2.硬件连接 二.串口转发及调试 1.串口转发流程 2.串口转发程序实现 ST ...

  7. STM32 驱动 ESP8266 WIFI 模块

    目录 1. 模块引脚 2. 测试模块是否正常 3. AT指令 ​4. ESP8266三种工作模式 5. 配置WIFI模块 6. STM32驱动WIFI模块 拿到一个野火的esp8266模块,驱一下试试 ...

  8. STM32之 ESP8266 WIFI 模块驱动代码-可以通过互联网实现数据远程传输(程序稳定,清晰明了非常容易移植到51单片机上)

    成品展示部分 :(ESP8266只是其中一个小部分而已) 实物图: 基于互联网的农业大棚环境监控系统设计 电路图: 农业大棚环境监控设计电路图(彩色)  调试部分:ESP8266 WIFI 模块串口调 ...

  9. ESP8266 wifi模块连接上了热点之后 与服务器建立了tcp连接并进入了透传模式,如果关掉热点wifi模块的tcp连接没有切断,为什么

    ESP8266 wifi模块连接上了热点之后 与服务器建立了tcp连接并进入了透传模式,如果关掉热点wifi模块的tcp连接没有切断,为什么? 这个是很多开发者在第一次使用ESP8266模块是会出现的 ...

  10. ESP8266 WIFI模块调试及在QT Windows下的通讯

    目录 一.前言 二.相关知识 1.  ESP8266 ESP-01 2. 接线 3. 调试 4. 通信说明 5. QT实现方案说明 一.前言 本例简述ESP8266 ESP-01 WIFI模块的基础调 ...

最新文章

  1. android项目打包成apk
  2. 操作系统【二】死锁问题以及处理方法
  3. 【基础知识】Sticky Bit, SUID,SGID
  4. matlab 文件之间相互调用实例
  5. opencv之namedWindow,imshow出现两个窗口
  6. 解决”java.lang.UnsatisfiedLinkError: Native Library .dll already loaded in another classloader”的问题
  7. Apollo 对表名区分大小写 如何配置MYSQL不区分大小写呢
  8. CSS文件未加载浏览器报警告:Resource interpreted as Stylesheet but transferred with MIME type text/html...
  9. php网站整合ck播放器,wordpress主题整合ckplayer播放器
  10. windows10编译与调试webrtc
  11. 身份证真伪辨别 Python
  12. 用JavaScript写的贪吃蛇游戏(很简单,很详细)
  13. UE4 GamePlay架构
  14. 优达(Udacity)-机器学习基础-数据集与问题(安然数据集)
  15. 【电力电子技术】 THE BUCK-BOOST 升降压斩波电路
  16. C语言程序设计卢萍,卢萍
  17. Page Visibility(页面可见性) API介绍、微拓展
  18. 薛兆丰经济学讲义 | 第2章 成本
  19. Java内部锁(synchronized)中类锁和对象锁
  20. MySQL中文全文检索demoSQL

热门文章

  1. 《计算机组成原理》第二版第七章课后习题答案
  2. 【墨墨英语单词库免费开源无偿分享】小学、初中、高中、大学四六级专四专八、考研、托福、雅思等词书文本大合集
  3. 正则表达式的语法汇总
  4. 添加字段的sql语句
  5. c语言调光程序,dmx512协议c语言编程
  6. java设计模式案例及使用
  7. 机器视觉入门——Halcon软件学习<1>
  8. 风控建模基础笔记(一)
  9. java groovy 乱码_解决Groovy复制文件的乱码
  10. Doc2vec,给定文本,输出相似度最高的医学诊断文本和对应ICD编码