IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 基于esp266的安卓软件控制小车 -> 正文阅读

[网络协议]基于esp266的安卓软件控制小车

主控芯片

esp8266 12E
这个就不赘述了
实物图

手机端软件

TCP连接
软件如图所示
该软件作为tcp客户端连接esp8266
关于tcp,可在《计算机网络》中查找相关内容。
软件链接:
链接:https://pan.baidu.com/s/1KV4ZzJ0RxDDP3fqRV4JeIg
提取码:09jt

esp8266程序

将下述代码上传至esp8266,重新启动esp8266。

#include <ESP8266WiFi.h>

**//设置WiFi名称和密码  const:常量
const char *ssid = "cxcx";
const char *psw  = "12345678";**
//定义ch(字符)存储手机发送的值
char ch;   
//定义端口,启动tcp服务
const int LocalPort = 666;
WiFiServer server(LocalPort);

void setup()
{
  Serial.begin(115200);
  Serial.println();
  Serial.print("Setting soft_AP...");
  if(WiFi.softAP(ssid, psw))
    Serial.print("you can try to connect with cxcx");
  else
    Serial.print("Failed");
  Serial.println();
  server.begin();
  Serial.printf("APIP is %s", WiFi.softAPIP().toString().c_str());
  Serial.println();
  Serial.printf("端口 is:%d", LocalPort);
  /*引脚初始化*/
  gpio_init();
}
void gpio_init()
{
  pinMode(D1,OUTPUT);
  digitalWrite(D1,LOW);
  pinMode(D3,OUTPUT);
  digitalWrite(D3,LOW);

  pinMode(D2,OUTPUT);
  digitalWrite(D2,LOW);
  pinMode(D4,OUTPUT);
  digitalWrite(D4,LOW);

  pinMode(D5,OUTPUT);
  digitalWrite(D5,LOW);
  pinMode(D6,OUTPUT);
  digitalWrite(D6,LOW);

  pinMode(D7,OUTPUT);
  digitalWrite(D7,LOW);
  pinMode(D8,OUTPUT);
  digitalWrite(D8,LOW);
  }
void loop()
{
  WiFiClient client = server.available();
  if(client)
  {
    client.write("Hello!Thank you for connecting with me.");
    while(client.connected())
    {
      if(client.available())
      {
        ch = client.read();
        //client.write("已收到请稍等\n");
        Serial.println(ch);
        if (ch=='a')             //前进
          {
            digitalWrite(D1,LOW);
            digitalWrite(D3,HIGH);
            digitalWrite(D2,LOW);
            digitalWrite(D4,HIGH);

            digitalWrite(D5,LOW);
            digitalWrite(D6,HIGH);
            digitalWrite(D7,LOW);
            digitalWrite(D8,HIGH);
            client.write("前进");
          }
        else if (ch=='b')        //后退
          {
            digitalWrite(D1,HIGH);
            digitalWrite(D3,LOW);
            digitalWrite(D2,HIGH);
            digitalWrite(D4,LOW);

            digitalWrite(D5,HIGH);
            digitalWrite(D6,LOW);
            digitalWrite(D7,HIGH);
            digitalWrite(D8,LOW);
            client.write("后退");
          }
        else if (ch=='c')        //左转
          {
            digitalWrite(D1,HIGH);
            digitalWrite(D3,LOW);
            digitalWrite(D2,LOW);
            digitalWrite(D4,HIGH);

            digitalWrite(D5,HIGH);
            digitalWrite(D6,LOW);
            digitalWrite(D7,LOW);
            digitalWrite(D8,HIGH);
            client.write("左转");
          }
        else if (ch=='d')        //右转
          {
            digitalWrite(D1,LOW);
            digitalWrite(D3,HIGH);
            digitalWrite(D2,HIGH);
            digitalWrite(D4,LOW);

            digitalWrite(D5,LOW);
            digitalWrite(D6,HIGH);
            digitalWrite(D7,HIGH);
            digitalWrite(D8,LOW);
            client.write("右转");
          }
        else if (ch=='t')        //停止
          {
            digitalWrite(D1,LOW);
            digitalWrite(D3,LOW);
            digitalWrite(D2,LOW);
            digitalWrite(D4,LOW);
            digitalWrite(D5,LOW);
            digitalWrite(D6,LOW);
            digitalWrite(D7,LOW);
            digitalWrite(D8,LOW);
            client.write("停止");
          }
        else
          {
            client.write("没有此指令");
          }
      }
    }  
  }
  client.stop(); 
}

手机端连接esp8266

打开软件
在这里插入图片描述
点击右上角连接
在这里插入图片描述
显示连接成功
在这里插入图片描述
切换至键盘页面
在这里插入图片描述
关于配置按键可自行按照代码配置

总结

esp8266在AP模式下作为服务端,而手机端需要在连接其wifi的前提下通过tcp连接软件进行客户端与服务端的连接,否则,将连接失败。要确保其处在同一局域网下。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 11:40:31  更:2021-07-16 11:40:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:53:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码