查看: 80066|回復: 686
打印 上一主題 下一主題

Arduino 通過ESP8266與手機通訊調試筆記

  [復制鏈接]
  • TA的每日心情
    開心
    2016-5-12 09:23
  • 簽到天數: 17 天

    [LV.4]偶爾看看III

    跳轉到指定樓層
    樓主
    發表于 2016-4-16 11:16 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    本帖最后由 聖剛 于 2016-5-30 16:49 編輯

    ESP8266-14
    當初從網店買配件,因為wifi比藍牙傳輸距離更遠,所以選擇了ESP8266作為開發環境,但當時聽說ESP8266-14更簡單,所以買了這款,實際上應該購買ESP8266-12F,這個可以直接用Arduino IDE開發。不過既然買了,還是盡可能的利用起來。

    ESP8266-14簡介
    ESP8266-14是一款低成本WIFI-MCU通訊/控制模塊,內置ESP8266 WIFI通訊ICSTM8003
    片機,擁有業內極富競爭力的封裝尺寸和超低能耗技術,可廣泛應用于智能家居和物聯網網領域,  用于將用戶的物理設備連接到Wi-Fi  無線網絡上,進行互聯網或局域網通信,實現聯網控制功能。
      該模塊內置了一個功能強大的STM8003的芯片,所有管腳全部接出來,其串口與ESP8266的串口相連,用戶可以編寫STM8程序,通過AT指令控制ESP8266的實現絕大部分智能燈家居和WIFI物聯網功能。

    ESP8266-14內置ESP8266 WIFI通訊ICSTM8003單片機,可以繞過單片機,直接通過串口使用ESP8266-14內置的8266模塊,只是不能利用它的GPIO來作其他事情了,只能作為一個單純的串口WiFi使用,不過對于目前的應用場景,也差不多了。

    第一步調試,需要知道這模塊從網上買來之后是否好用,那么一般需要用USB_TTL來接PC查看串口消息,不過Arduino可以使用軟串口,不過更直接的,可以使用Arduino當作USB TTL來直連PC,是不是很方便呢?呵。大家可以參考這個貼子配置USB_TTL環境
    在進行USB_TTL上傳的時候,不要把TX,RX插到板子上。以免失敗。

    Esp8266引腳圖


    按此接線方式,接入Arduino Mega(UNO).
    8266TX(PD6)<-> Arduino Tx0
    8266RX(PD5)<-> Arduino Rx0
    8266ESP_VDD<->Arduino 3.3V
    8266GND<->ArduinoGND
    Arduino VIN <->電池7.4V  (為確保供電充足,不然USB口接電腦供電不足)
    Arduino GND<->電池GND
    上面的插座是自己焊上去的,這個引腳不是標準的距離,比較費事,需要把引腳掰彎之后焊接。買回來的時候是沒有的。
    之后,如果通過串口能獲取到信息,則證明芯片是好的。可以進行下一步.

    這里可以手動下一些AT命令對ESP8266進行控制測試


    第二步 接線方式 與第一步的區別是,TX,RX要反著接,以便Arduino8266發串口命令。


    8266RX(PD5)<-> Arduino Tx1
    8266TX(PD6)<-> Arduino Rx1
    8266ESP_VDD<->Arduino 3.3V
    8266GND<->ArduinoGND
    Arduino VIN <->電池7.4V  (為確保供電充足,不然USB口接電腦供電不足)
    Arduino GND<->電池GND

    手機設置為便攜熱點(如果用8266作為熱點,可能因為客戶端沒去連接它,而休眠,所以使用手機作為熱點)



    手機上安裝“網線調試助手”,安裝成功之后,在 tcp server選項下,點擊“配置”,彈出服務配置界面,默認5000端口,點擊右邊的“激活”,激活成功會顯示手機的IP與端 口,則在手機上創建了一個服務,我手機的IP192.168.43.15000.

    通過Arduino8266發串口命令,使其連接手機:
    WIFISerial.begin(115200);
      delay(1000);
      WIFISerial.println("AT+RST");
      delay(6000);
    //  WIFISerial.println("AT+CIPMUX=1");
    //  delay(3000);
    //  WIFISerial.println("AT+CIPSESVER=1,1001");
      WIFISerial.println("AT+CIPSTART=\"TCP\",\"192.168.43.1\",5000");
      delay(2000);
      WIFISerial.println("AT+CIPMODE=0");//
      delay(2000);
      WIFISerial.println("AT+CIPSEND");//

    手機上會顯示已有設備連接上了。


    連接好之后,輸入LEFTOK 會收到Arduino 通過 8266傳輸回來的left.

    完整代碼如下 :
    游客,如果您要查看本帖隱藏內容請回復
  • TA的每日心情
    開心
    2016-4-24 15:32
  • 簽到天數: 1 天

    [LV.1]初來乍到

    板凳
    發表于 2016-4-16 20:08 | 只看該作者
    贊 樓主好棒啊
  • TA的每日心情
    開心
    2016-6-4 08:36
  • 簽到天數: 2 天

    [LV.1]初來乍到

    8#
    發表于 2016-4-19 09:02 | 只看該作者
    新手學習,請多多指教。。。

    該用戶從未簽到

    9#
    發表于 2016-4-19 11:52 | 只看該作者
    輸入LEFTOK 會收到Arduino 通過 8266傳輸回來的left,這個有什么用?
  • TA的每日心情
    開心
    2016-5-12 09:23
  • 簽到天數: 17 天

    [LV.4]偶爾看看III

    10#
     樓主| 發表于 2016-4-19 11:53 | 只看該作者
    bruceli 發表于 2016-4-19 11:52
    輸入LEFTOK 會收到Arduino 通過 8266傳輸回來的left,這個有什么用?

    這個證明Arduino收到左轉信號,可以用來控制小車左轉。或者做其他事情也可以。
    您需要登錄后才可以回帖 登錄 | 立即注冊  

    本版積分規則

    熱門推薦

    esp32作為智能主機使魚缸內溫度保持在28度種植水草
    esp32作為智能主機使魚缸
    esp32作為智能主機使魚缸內溫度保持在28度種植水草, 設計原則, 一,使用我手上現有
    請大佬幫助如何分別控制兩塊pca9685上的舵機
    請大佬幫助如何分別控制兩
    目前一塊驅動板上的舵機可以分別控制分別是0到15號舵機,不清楚在級聯的情況下如何分
    【干貨分享】mega2560原理圖PCB圖紙altium designer18
    【干貨分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本內容被作者隱藏 **** ergo
    [Arduino物聯網開發實戰4]天貓精靈控制1
    [Arduino物聯網開發實戰4]
    [md] 上一篇:(http://www.lfjdqf.icu/thread-83175-1-1.html) blinker支持多種智
    【項目】基于Arduino Nano的多功能桌面感應垃圾桶
    【項目】基于Arduino Nano
    基于Arduino Nano的多功能桌面感應垃圾桶隨著大學生活不斷往前邁進,宿舍桌面上的雜物
    Copyright   ©2015-2016  Arduino中文社區  Powered by©Discuz!   ( 蜀ICP備14017632號-3 )
    快速回復 返回頂部 返回列表
    美娱娱乐登录网址