导航在这里:白泽四足机器人导航贴
1.给esp8266模块烧录透传程序
这个程序烧录进esp8266模块之后,它就可以接收手机指令了。
//修改自:https://blog.csdn.net/wangke0809/article/details/70146378?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163566195516780261935125%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163566195516780261935125&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-70146378.first_rank_v2_pc_rank_v29&utm_term=esp8266%E4%B8%B2%E5%8F%A3%E9%80%8F%E4%BC%A0%E7%A8%8B%E5%BA%8F&spm=1018.2226.3001.4187
//原作者:wangke0809
#include <ESP8266WiFi.h>
#define MAX_SRV_CLIENTS 3 //最大同时联接数,即你想要接入的设备数量,8266tcpserver只能接入五个,哎
const char *ssid = "Baize";
const char *password = "baizerobot";
WiFiServer server(8266);//你要的端口号,随意修改,范围0-65535
WiFiClient serverClients[MAX_SRV_CLIENTS];
void setup()
{
Serial.begin(9600);
delay(10);
pinMode(16, OUTPUT);
digitalWrite(16, 0);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
server.begin();
server.setNoDelay(true); //加上后才正常些
}
void loop()
{
blink();
uint8_t i;
if (server.hasClient())
{
for (i = 0; i < MAX_SRV_CLIENTS; i++)
{
if (!serverClients[i] || !serverClients[i].connected())
{
if (serverClients[i]) serverClients[i].stop();//未联接,就释放
serverClients[i] = server.available();//分配新的
continue;
}
}
WiFiClient serverClient = server.available();
serverClient.stop();
}
for (i = 0; i < MAX_SRV_CLIENTS; i++)
{
if (serverClients[i] && serverClients[i].connected())
{
digitalWrite(16, 0);//有链接存在,就一直长亮
if (serverClients[i].available())
{
while (serverClients[i].available())
Serial.write(serverClients[i].read());
}
}
}
if (Serial.available())
{
size_t len = Serial.available();
uint8_t sbuf[len];
Serial.readBytes(sbuf, len);
//push UART data to all connected telnet clients
for (i = 0; i < MAX_SRV_CLIENTS; i++)
{
if (serverClients[i] && serverClients[i].connected())
{
serverClients[i].write(sbuf, len); //向所有客户端发送数据
delay(1);
}
}
}
}
void blink()
{
static long previousMillis = 0;
static int currstate = 0;
if (millis() - previousMillis > 200) //200ms
{
previousMillis = millis();
currstate = 1 - currstate;
digitalWrite(16, currstate);
}
}
2.手机安装app
手机下载安装netorch软件,并进入,进行如下设置:
3.设置手机热点
打开手机热点,并设置
SSID = Baize
PASSWORD = baizerobot
设置之后,打开热点即可,就能看到机器人自动连接到我们的热点了。
然后我们去查看机器人的IP地址,在设置那里进行IP地址修改然后点击右上角的按钮就可以了连上机器人了。
4.设置按键并进行遥控
这些按钮可以随便自定义
自定义按钮和指令
下方为每个机器人功能对应的控制指令:
krest 或者 d - 停止舵机
kbalance - 起立
kwkF - 前进
kwkL - 左转
kwkR - 右转
kbk - 后退
ksleep - 睡眠
ksit - 坐下
kvt - 原地踏步
kpee-抬腿
kcr-爬行
配置好以后,关闭按钮的编辑模式,就可以手机遥控了!