資料介紹
描述
![poYBAGOjtqCAfPm1AAHHB9JmxDM909.jpg](https://file.elecfans.com/web2/M00/85/71/poYBAGOjtqCAfPm1AAHHB9JmxDM909.jpg)
上周我收到了一個 ESP8266(adafruit)。新的 ESP8266 具有 arduino 引導加載程序,因此可以將 arduino 代碼直接編程到 ESP8266 中。這個 ESP8266 帶有 UART、I2C 和 GPIO。有了這個新的 wifi 模塊,你不需要任何 arduino 板,你可以直接用它做任何事情。該模塊上沒有任何 USB 端口,因此有兩種方法可以解決此問題。您可以購買 USB 轉串口電纜,也可以自己制作帶有 USB 轉串口轉換器的適配器,然后將 ESP8266 直接插入其中。我的 ESP8266 程序r smiler 可以在這里找到。
第 1 步:硬件
![pYYBAGOjtquAcmMYAAGcd_WMcO8305.jpg](https://file.elecfans.com/web2/M00/85/FA/pYYBAGOjtquAcmMYAAGcd_WMcO8305.jpg)
您將需要以下硬件
1.ESP8266 _
4.連接電纜
第 2 步:接線和原理圖
![poYBAGOjtq2ATqwjAABp4HMK2Cg340.jpg](https://file.elecfans.com/web2/M00/85/71/poYBAGOjtq2ATqwjAABp4HMK2Cg340.jpg)
在這個項目中,我使用的是即插即用硬件,所以您只需將 I2C 電纜插入傳感器和 ESP8266 適配器即可。
對于 I2C,我使用的是引腳 2,14。
第 3 步:硬件設置
![pYYBAGOjtrmAVh1HAAGpWW38B9M532.jpg](https://file.elecfans.com/web2/M00/85/FA/pYYBAGOjtrmAVh1HAAGpWW38B9M532.jpg)
使用 USB 編程器非常容易對 ESP8266 進行編程。要連接傳感器,您只需將傳感器插入 I2C 適配器即可。我更喜歡使用這些適配器,因為它們很容易連接硬件,沒有這些即插即用適配器,連接錯誤的風險很大。接線不良會損壞您的 wifi 和傳感器。
精度 ±4.0% 相對濕度
溫度補償
Honeywell HumidIcon 數字濕度/溫度傳感器是組合在同一封裝中的數字輸出型相對濕度和溫度傳感器。這些傳感器提供 ±4% RH 的精度水平。具有行業領先的長期穩定性、真正的溫度補償數字 I2C、行業領先的可靠性、能效以及超小封裝尺寸和選項。其他可用精度:±1.7% RH(HIH9000 系列)、±2.0% RH(HIH8000 系列)、±3.0% RH(HIH7000 系列)和±4.0% RH(HIH6100 系列)。
第 4 步:軟件設置
![pYYBAGOjtr-AXzvnAAB7iZbu3is624.jpg](https://file.elecfans.com/web2/M00/85/FA/pYYBAGOjtr-AXzvnAAB7iZbu3is624.jpg)
這個 ESP8266 可以使用 arduino ide 編程。
確保安裝 ESP8266 庫。要安裝庫,請按照這些說明進行操作。
安裝庫后,選擇 ESP8266 板并選擇端口并上傳代碼。
第 5 步:代碼
![poYBAGOjtsmAcZ2NAAFlMda8o5Y386.jpg](https://file.elecfans.com/web2/M00/85/71/poYBAGOjtsmAcZ2NAAFlMda8o5Y386.jpg)
為了在網頁上顯示傳感器 o/p,我編寫了一個非常基本的腳本,它將讀取傳感器數據并顯示在瀏覽器中。
#include
#include
#include
#include
#include
// HIH6130 I2C address is 0x27(39)
#define Addr 0x27
const char* ssid = "NETGEAR34";
const char* password = "sillyviolet195";
ESP8266WebServer server ( 80 );
////////////////////////////////////////////////////////////////
void handleRoot() {
char temp[400];
unsigned int data[4];
Wire.beginTransmission(Addr);
// Select data register
Wire.write(0x00);
// Stop I2C Transmission
Wire.endTransmission(); // Request 4 bytes of data
Wire.requestFrom(Addr, 4); // Read 4 bytes of data
// humidity msb, humidity lsb, temp msb, temp lsb
if (Wire.available() == 4)
{
data[0] = Wire.read();
data[1] = Wire.read();
data[2] = Wire.read();
data[3] = Wire.read();
} // Convert the data to 14-bits
int humidity = ((((data[0] & 0x3F) * 256) + data[1]) * 100.0) / 16383.0;
int temp1 = ((data[2] * 256) + (data[3] & 0xFC)) / 4;
int cTemp = (temp1 / 16384.0) * 165.0 - 40.0;
int fTemp = cTemp * 1.8 + 32; // Output data to serial monitor
Serial.print("Relative Humidity :");
Serial.print(humidity);
Serial.println(" %RH");
Serial.print("Temperature in Celsius :");
Serial.print(cTemp);
Serial.println(" C");
Serial.print("Temperature in Fahrenheit :");
Serial.print(fTemp);
Serial.println(" F");
delay(500); snprintf ( temp, 400,"
\
\
\
\
\
\
\
Weather Monitoring using ESP8266\
HIH6130 I2C sensor mini Module\
fTemp_cTemp_Humidity: %02d:%02d:%02d\
\
", fTemp, cTemp, humidity
);
server.send ( 200, "text/html", temp );
}
/////////////////////////////////////////////////////////////////
void handleNotFound() {
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += ( server.method() == HTTP_GET ) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n"; for ( uint8_t i = 0; i < server.args(); i++ ) {
message += " " + server.argName ( i ) + ": " + server.arg ( i ) + "\n";
} server.send ( 404, "text/plain", message );
}void setup ( void ) {
Wire.begin(2,14);
Serial.begin ( 115200 );
WiFi.begin ( ssid, password );
Serial.println ( "" ); // Wait for connection
while ( WiFi.status() != WL_CONNECTED ) {
delay ( 500 );
Serial.print ( "." );
} Serial.println ( "" );
Serial.print ( "Connected to " );
Serial.println ( ssid );
Serial.print ( "IP address: " );
Serial.println ( WiFi.localIP() ); if ( MDNS.begin ( "esp8266" ) ) {
Serial.println ( "MDNS responder started" );
} server.on ( "/", handleRoot );
server.onNotFound ( handleNotFound );
server.begin();
Serial.println ( "HTTP server started" );
}void loop ( void ) {
server.handleClient();
}
第 6 步:ESP8266 網絡應用
![pYYBAGOjts2AP607AAA7toQYm0w046.jpg](https://file.elecfans.com/web2/M00/85/FA/pYYBAGOjts2AP607AAA7toQYm0w046.jpg)
我沒有太多 exp 與 html。所以我只是寫了一個簡單的示例應用程序,說明如何將傳感器數據從 ESP8266 顯示到網頁。
此代碼將使用傳感器 HIH6130 讀取溫度和濕度,并將數據顯示在本地網頁上。
讀取傳感器數據真的很容易。請檢查此代碼以讀取溫度和濕度。
第 7 步:傳感器輸出
![poYBAGOjttKAAwGHAAC9PKDqo7c632.jpg](https://file.elecfans.com/web2/M00/85/71/poYBAGOjttKAAwGHAAC9PKDqo7c632.jpg)
我在 arduino 串行監視器以及本地網頁上顯示了傳感器數據。
如您所見,它們顯示相同的輸出。
如果您有任何問題,請告訴我。
- 如何使用Arduino IDE編程ESP8266-12E
- 使用Arduino IDE創建ESP8266網絡服務器
- 基于ESP8266的物聯網溫濕度監控器 1次下載
- 適用于帶ESP8266的Arduino和NodeMCU的Android應用程序
- Cayenne平臺上的ESP8266 NodeMCU溫度和濕度
- LittleFS使用ESP8266和Arduino IDE
- 解決 用arduino ide 開發nodemcu 加載ESP8266庫的問題
- 配置esp8266開發板的Arduino開發環境
- esp8266 nodeMCU arduino開發環境
- 天貓精靈 python_利用天貓精靈控制ESP8266(NodeMCU開發板)arduino ide開發
- esp筆記(2)使用Arduino IDE 開發 esp8266
- 利用天貓精靈控制ESP8266(NodeMCU開發板)arduino ide開發
- 如何建立一個帶Arduino IDE的ESP8266 Web服務器 2次下載
- 如何使用Arduino ESP8266開發板配置標準的Arduino開發環境 48次下載
- ESP8266調試工具V2.1版本應用程序免費下載 0次下載
- 使用CW32單片機通過ESP8266連接OneNET物聯網平臺 1594次閱讀
- ESP8266紅外信號收發實驗 2013次閱讀
- ESP8266硬件 4865次閱讀
- ESP8266/ESP32自動下載原理 4741次閱讀
- 如何使用ESP8266制作可配置的Web服務器 1.3w次閱讀
- ESP8266燒寫Gagent固件 2737次閱讀
- ESP8266上運行代碼如何實現 3039次閱讀
- STM32系列設計,ESP8266聯網授時時鐘 8097次閱讀
- 基于ESP8266和STM32單片機的程序代碼編寫 2.2w次閱讀
- esp8266中文資料匯總(esp8266引腳圖_與單片機連接_串口wifi實例) 22.5w次閱讀
- esp8266固件如何升級_ESP8266WIFI模塊固件升級 4.2w次閱讀
- ESP8266 Wi-Fi到底傳多遠_esp8266 wifi信號強度測距 5.2w次閱讀
- 遠程控制通訊--基于Arduino + ESP8266控制LED燈 4w次閱讀
- esp8266 at指令集詳解 14.3w次閱讀
- esp8266串口wifi實例 1.9w次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現
- 2.94MB | 4次下載 | 免費
- 7PCB圖繪制實例操作
- 2.92MB | 2次下載 | 免費
- 8零死角玩轉STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論