使用微信小程序控制ESP8266(麦克纳姆轮)智能车

Author:wuli丶汐
专业:电信

使用微信程序控制WIFI小车之ESP8266例程:

一、控制原理原理

     **简述**
     利用发布订阅模式,即:利用ESP8266 订阅了一个主题,再利用app inventor 编写的app往这个
     主题发布消息,由于ESP8266 订阅了这个消息,所以就可以收到app发布得消息,从而执行相应
     得动作,比如前进\后退\左转\右转。

二、智能车组装准备

     1、esp8266开发板+CP2102 扩展板(淘宝网上一大堆,自行购买这里不做推荐啦!)
     2、电机驱动模块:两块2路直流电机驱动模块正反转PWM调速 双H桥步进电机迷你驱动小板。(别问为什么选
     它,便宜就完事了。)
     3、自备充电宝方便供电。
     4、3d打印智能车底盘

三、开发板连接

在这里插入图片描述
有孔的一侧为车头
左前车轮由D1,D2控制
左后车轮由D3,D4控制
右前车轮由D5,D6控制
右后车轮由D7,D8控制
具体连接方式请看图片,怕白纸树脂打印的底盘太软支撑不了才用筷子固定了一下QAQ。

四、代码例程

这里需要用到巴法云: 巴法云.
注册账号,打开控制台。具体请看图片:在这里插入图片描述
下面是代码,-----------表示需要修改的部分


#include <ESP8266WiFi.h>

#define TCP_SERVER_ADDR "bemfa.com" //巴法云服务器地址默认即可
#define TCP_SERVER_PORT "8344" //服务器端口,tcp创客云端口8344

//********************需要修改的部分*******************//

#define DEFAULT_STASSID  "--------"     //WIFI名称,区分大小写,不要写错
#define DEFAULT_STAPSW   "------------"  //WIFI密码
String UID = "------------------------------";  //用户私钥,可在控制台获取,修改为自己的UID
String TOPIC = "------";         //主题名字,可在控制台新建

//**************************************************//
//最大字节数
#define MAX_PACKETSIZE 512
//设置心跳值30s
#define KEEPALIVEATIME 30*1000
//tcp客户端相关初始化,默认即可
WiFiClient TCPclient;
String TcpClient_Buff = "";//初始化字符串,用于接收服务器发来的数据
unsigned int TcpClient_BuffIndex = 0;
unsigned long TcpClient_preTick = 0;
unsigned long preHeartTick = 0;//心跳
unsigned long preTCPStartTick = 0;//连接
bool preTCPConnected = false;
//相关函数初始化
//连接WIFI
void doWiFiTick();
void startSTA();

//TCP初始化连接
void doTCPClientTick();
void startTCPClient();
void sendtoTCPServer(String p);

//led控制函数,具体函数内容见下方
void turnOnLed();
void turnOffLed();



/*
  *发送数据到TCP服务器
 */
void sendtoTCPServer(String p){
   
  if (!TCPclient.connected()) 
  {
   
    Serial.println("Client is not readly");
    return;
  }
  TCPclient.print(p);
}


/*
  *初始化和服务器建立连接
*/
void startTCPClient(){
   
  if(TCPclient.connect(TCP_SERVER_ADDR, atoi(TCP_SERVER_PORT))){
   
    Serial.print("\nConnected to server:");
    Serial.printf("%s:%d\r\n",TCP_SERVER_ADDR,atoi(TCP_SERVER_PORT));
    
    String tcpTemp="";  //初始化字符串
    tcpTemp = "cmd=1&uid="+UID+"&topic="+TOPIC+"\r\n"; //构建订阅指令
    
  • 1
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值