2015年1月23日 星期五

Arduino動手做 - ESP8266是個物聯網專案開發的平價新夥伴


以往需要用到wifi功能的專案都是使用CC3000晶片
但價格說高不太貴,說低也不便宜
對於物聯網 (IOT)開發這種需要大量使用wifi的專案就是個成本的限制因子
不過ESP8266的出現有望減輕這個負擔
在價格上硬是只有CC3000的1/3甚至是1/10
近日入手了一塊可5v直用的ESP8266,一到貨就立刻接上arduino來玩玩

這塊可直上5v的用在arduino 5v會比原生ESP8266為3V的系統來的簡易使用
代價是貴一點點,不過還可以接受

接線圖


這邊要注意的是debug serial並沒接上(懶)
所以接下來在程式內的DebugSerial.print並不會有作用

程式的部分:

先裝好函式庫
https://github.com/itead/ITEADLIB_Arduino_ESP8266


arduino nano程式碼
#define SSID       "填入SSID"
#define PASSWORD   "填入密碼"


#include "uartWIFI.h"
#include <SoftwareSerial.h>
WIFI wifi;


void setup()
{
  
  wifi.begin();
  bool b = wifi.Initialize(STA, SSID, PASSWORD);
  if(!b)
  {
    DebugSerial.println("Init error");
  }
  delay(8000);  //make sure the module can have enough time to get an IP address 
  String ipstring  = wifi.showIP();
  DebugSerial.println("My IP address:");
  DebugSerial.println(ipstring);  //show the ip address of module
  
  String wifistring  = wifi.showJAP();
  DebugSerial.println(wifistring);   //show the name of current wifi access port
  
}
void loop()
{
  

}



就這樣而已,非常簡單就能連上wifi

唯一要注意的是,esp8266是透過serial和arduino通訊

所以透過USB-serial傳程式碼到arduino時須暫時把esp8266連到arduino的tx,rx拔掉

否則會失敗


之後會來寫寫把資料上傳到Thingspeak的過程

1 則留言:

  1. 不好意思
    請問我出現
    Module have no response
    可能是因為甚麼原因造成的呢?

    回覆刪除