標題: STM32+ESP8266遙控Wifi小車程序設計與安卓APP使用資料下載 [打印本頁]
作者: 就那一點 時間: 2018-1-23 11:08
標題: STM32+ESP8266遙控Wifi小車程序設計與安卓APP使用資料下載
Wifi遙控小車使用說明
本例程采用ESP8266 wifi模塊與STM32串口連接,并提供AT指令封裝庫與STM32通訊,實現如下的通訊方式:
0.png (10.85 KB, 下載次數: 120)
下載附件
2018-1-23 18:10 上傳
1、硬件部分
Wifi模塊絲印圖即引腳如下:
硬件連接如下:
2、手機APP部分
APP部分我們采用常用的APP wifi調試軟件 ITEAD WIFI,安裝完成后打開

如下界面,點擊Set up進入設置:
進入后會自動獲取到手機的IP,注意手機是連接到一個路由器下的,支持局域網內調試,先設置端口,一般是 8080
然后設置指令,我們使用到了如下紅框內的指令,指令協議可以參考工程文件interface.h有如下描述:
//指令定義
#define COMM_STOP 'I'//停止
#define COMM_UP 'A'//前進
#define COMM_DOWN 'B'//后退
#define COMM_LEFT 'C'//左轉
#define COMM_RIGHT 'D'//右轉
指令設置好之后就可以啟動服務了,如下點擊開始就好了
設置完成后如下,這里記下服務端IP和端口號,我這里是 192.168.31.195,端口 8080 ,然后返回:
3、stm32軟件部分
設置完APP軟件后,再來修改我們的工程文件,打開工程“wifi遙控小車”,打開main.c文件,修改紅框內信息:
HOST_NAME和HOST_PORT為手機上面的IP和端口號,SSID為您的路由器名,PSD為路由器密碼,修改好后重新編譯后下載。
下載完成復位一下,就可以運行了,程序會自動連接手機開啟的服務,實現TCP/IP通信,連接成功后,看手機端的設置會有如下提示:
本程序還是用了串口1來輸出調試信息,將串口1連接電腦后也會在串口調試助手看到如下信息:
連接成功后即可在如下界面按鍵,操作小車運行:

如有其他問題請先詳細參考wifi模塊資料以及本實驗程序。
stm32單片機源程序:
- /********************************* 深圳市航太電子 *******************************
- * 實 驗 名 :小車藍牙遙控實驗
- * 實驗說明 :使用手機連接藍牙模塊后,通過手機發送指令來控制小車
- * 實驗平臺 :航太ARM單片機開發板
- * 連接方式 :請參考interface.h文件
- * 注 意 :指令必須連續發送才會使小車動作,若停止發送指令,則小車會停止
- ****************************************************************************************/
- #include "stm32f10x.h"
- #include "interface.h"
- #include "LCD1602.h"
- #include "IRCtrol.h"
- #include "motor.h"
- #include "uart.h"
- #include "ESP8266.h"
- #include "serialportAPI.h"
- #include <stdlib.h>
- #include <stdio.h>
- //全局變量定義
- unsigned int speed_count=0;//占空比計數器 50次一周期
- char front_left_speed_duty=SPEED_DUTY;
- char front_right_speed_duty=SPEED_DUTY;
- char behind_left_speed_duty=SPEED_DUTY;
- char behind_right_speed_duty=SPEED_DUTY;
- unsigned char tick_5ms = 0;//5ms計數器,作為主函數的基本周期
- unsigned char tick_1ms = 0;//1ms計數器,作為電機的基本計數器
- unsigned char tick_200ms = 0;//刷新顯示
- unsigned int tick_3s = 0;//隔3s斷線檢測
- char ctrl_comm = COMM_STOP;//控制指令
- unsigned char continue_time=0;
- unsigned char wifi_rec_flag=0;//藍牙控制標志位
- #define HOST_NAME "192.168.31.195" //主機IP
- #define HOST_PORT 8080 //主機端口
- #define SSID "Hantech" //路由器名
- #define PSD "hantechinternet" //密碼
- #define RECVBUF_SIZE 16
- unsigned char buffer[RECVBUF_SIZE] = {0};
- int main(void)
- {
- USART1Conf(9600);
- DBG("system begin");
- delay_init();
- GPIOCLKInit();
- UserLEDInit();
- LCD1602Init();
- TIM2_Init();
- MotorInit();
- ServoInit();
- // USART3Conf(9600);
- while(1)
- {
- DBG("chang baud");
-
- UartBegin(115200,&USART3Conf,&PutChar);//每次設置完波特率后需要做一點延時
- delay(500);
- SetBaud(19200);
- UartBegin(19200,&USART3Conf,&PutChar);//更改波特率到19200
- delay(500);
- if(0 != SetBaud(19200))//在新波特率下檢查是否成功
- {
- break;//成功就退出
- }
- }
- while(0 == WifiInit(SSID,PSD,HOST_NAME,HOST_PORT));
-
- while(1)
- {
- if(SerialAvailable() > 5)//接收到至少5個字符
- {
- int len;
- len = recv(buffer, RECVBUF_SIZE, 100);
- if (len > 0)
- {
- char inChar;
- inChar = buffer[0];
- // send(buffer, len);
- if (ctrl_comm != inChar || continue_time == 1)
- {
- wifi_rec_flag = 1;
- ctrl_comm = inChar;
- }
- continue_time = 60;//更新持續時間
- tick_3s = 0;//心跳包周期
- }
- }
-
- if(tick_5ms >= 5)
- {
- tick_5ms = 0;
- tick_200ms++;
- if(tick_200ms >= 40)
- {
- tick_200ms = 0;
- tick_3s++;
- LEDToggle(LED_PIN);
- if(tick_3s >= 15)//15*200=3000
- {
- tick_3s = 0;
- //定時檢查連接是否正常,如果不正常,wifi復位重新連接
- if (getSystemStatus() != STATUS_GETLINK)
- {
- DBG("TCP unlink");
- while(!WifiInit(SSID,PSD,HOST_NAME,HOST_PORT));
- }else
- {
- DBG("TCP link tick");
- }
- }
- }
- //continue_time--;//200ms 無接收指令就停車
- if(continue_time == 0)
- {
- continue_time = 1;
- CarStop();
- }
- //do something
- if(wifi_rec_flag == 1)//接收到紅外信號
- {
- wifi_rec_flag = 0;
- switch(ctrl_comm)
- {
- case COMM_UP: CarGo();break;
- case COMM_DOWN: CarBack();break;
- case COMM_LEFT: CarLeft();break;
- case COMM_RIGHT: CarRight();break;
- case COMM_STOP: CarStop();break;
- default : break;
- }
- LCD1602WriteCommand(ctrl_comm);
- DBG("recv COMM");
- }
- }
-
- }
- }
復制代碼
0.png (59.61 KB, 下載次數: 120)
下載附件
2018-1-23 18:14 上傳
0.png (55.87 KB, 下載次數: 122)
下載附件
2018-1-23 18:11 上傳
全部資料下載(stm32源碼+app+資料):
11.wifi遙控小車實驗.7z
(1.65 MB, 下載次數: 801)
2019-1-23 14:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: ldclovehy 時間: 2018-2-1 10:47
挺不錯的源程序,很有用
作者: 打工魚 時間: 2018-3-7 23:01
需要app下一個
作者: billtest36 時間: 2018-3-16 09:55
太好了 感謝版主您的分享
作者: 76711031 時間: 2018-3-22 22:49
看看資料
作者: aking991 時間: 2018-3-31 16:48
可惜我還沒會STM32的單片機
作者: qxs_ 時間: 2018-4-15 16:13
很想下載這個材料怎么辦,但是沒有足夠的黑幣,看來我要加油了
作者: lxz1400810216 時間: 2018-4-16 19:00
學習學習
作者: leuku 時間: 2018-5-30 14:30
感謝分享
作者: liuyuxi1123 時間: 2018-6-7 13:21
我正要學習遙操作
作者: 菊一文字 時間: 2018-8-22 17:22
大家共同學習,我分享的esp8266:http://www.raoushi.com/bbs/dpj-132715-1.html
作者: 風和日麗233 時間: 2018-9-17 09:07
新手下載觀摩
作者: mhj258258 時間: 2018-11-14 10:21
看上去不錯謝謝
作者: wuqiang0102 時間: 2018-12-8 16:19
怎么下載
作者: qwertabcd 時間: 2018-12-8 17:30
這東西好,就是沒黑筆
作者: whkang 時間: 2018-12-10 14:28
支持一下,最近一直在做8266相關的東西。哈哈
作者: hozhiwen 時間: 2018-12-10 22:45
請問你是用什么軟件編寫手機APP的呢?可經公布編手機APP軟件嗎?
作者: hhhhhhtt 時間: 2019-1-16 17:09
觀察學習
作者: HXXXX 時間: 2019-1-20 16:12
請問電機和STM32是怎么連接的 那個引腳接電機
作者: 剛哥哥 時間: 2019-3-13 09:14
我看馬達引腳定義8個,四個輪子都單獨控制的嗎?
作者: zhanglijin 時間: 2019-3-17 22:01
用手機網絡可以使用嗎?
作者: IoTram 時間: 2019-3-18 14:43
今年年初,ESP-EYE的參考設計正式上線,這絕對是近來AIoT應用的最接地氣方案之一。令許多用戶驚喜的是,利用ESP-EYE這設計,就可以輕易試水人臉識別的開發。
這里和還沒注意到的各位朋友分享一下!
以下是入門指南 :
https://github.com/espressif/esp ... ng_Started_Guide.md
基于搭載 ESP32 芯片、200 W 像素攝像頭、數字麥克風、8 MB PSRAM 和 4 MB Flash,開發者就可動手人臉識別的 AI 應用開發。重點來了: 因為有圖傳功能,用上PSRAM,就可作為內存緩沖功能,存儲計算空間多了,視覺上的識別性能表現當然更優。而我的公司就是生產PSRAM的廠商。需要PSRAM可以找我啊 !
利用ESP-EYE能開發的應用方面,我來舉例一下:
最主打的,應該是 : 門禁、考勤、自動售賣設備、智能儲物鎖、VIP識別系統,這些基於人臉識別的系統,都可利用ESP EYE的基礎去進行深度開發。
另外,識物應用也有很廣泛的應用可能性。如工廠生產線的圖像檢查、警報裝置、環境監察、農作物品質分類。
此外,該開發板還支持 Wi-Fi 圖像傳輸、Micro USB 調試和供電,可以實現語音喚醒,可協助用戶開發高度集成的 AI 解決方案。
希望以上一些分享能對大家有幫助,歡迎交流~~
作者: wang8128 時間: 2019-3-21 13:16
絕對支持,謝謝分享
作者: 西點鐘靈毓秀 時間: 2019-3-21 15:34
STM32+ESP8266遙控Wifi小車程序設計與安卓APP使用資料下載
作者: yxhall 時間: 2019-3-27 02:15
好棒的樣子,贊,好想試試
作者: liumeizhoufind7 時間: 2019-4-14 01:35
很好很強大
作者: 199610123 時間: 2019-4-29 08:52
四輪和兩輪
作者: 199610123 時間: 2019-4-29 08:53
四輪和兩輪小車操作起來有差別的嘛?這個程序
作者: 強強96 時間: 2019-5-4 17:04
敢問樓主大神,怎么改動讓小車變為點動???
作者: 強強96 時間: 2019-5-4 17:05
這個程序輸出的是8口,兩個機的,只接前面4個io就行
作者: 強強96 時間: 2019-5-4 17:21
點動問題解決了,請問下怎么改成AP模式,手機連8266
作者: lysoon 時間: 2019-6-11 14:00
一直需要這個例子,謝謝分享
作者: lysoon 時間: 2019-6-11 14:01
挺不錯的源程序,很有用
作者: aaaaaa。 時間: 2019-6-12 16:12
謝謝大佬分享
作者: shuixinshi 時間: 2019-6-29 11:26
怎么下了都是空白的
作者: 沒有名字 時間: 2019-8-2 20:32
電機驅動用的什么?
作者: chang51hei 時間: 2019-8-9 16:36
不知道怎么改為在AP模式下
作者: chang51hei 時間: 2019-8-9 16:39
怎么改為在ESP8266的AP模式下,STM32和手機通信進行小車控制
作者: QSM980405 時間: 2019-8-22 14:37
好東西,謝謝
作者: 馬51hei33 時間: 2019-9-7 21:40
麻煩問一下編程用的是什么軟件,是keil嗎?還是別的?
作者: qcwy16 時間: 2019-12-6 09:37
挺不錯的,學習一下
作者: kklkjhs 時間: 2020-5-9 13:13
學習學習
作者: magicfu 時間: 2020-5-10 00:15
感謝牛人分享,很不錯
作者: 小小張。。 時間: 2020-11-13 23:59
非常有用感謝分享
作者: 40560335 時間: 2020-11-14 00:33
感謝分享,這個APP挺有意思,收藏了
作者: sdfkdsnfksfsdg 時間: 2020-12-17 15:35
支持一下,最近一直在做8266相關的東西。哈哈
作者: 天下無敵 時間: 2020-12-20 19:22
絕對支持,謝謝分享
作者: 6663 時間: 2021-5-10 19:50
思路清晰
作者: 濤之雨 時間: 2022-3-23 09:20
學習一下,要是再有仿真圖就更好了
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |