步驟1:硬件
對于此項目,我使用了我從eBay上以5美元購買的BME280突破口。您可以使用其他分組(最終需要更改SW或HW中的I2C地址),但由于價格原因,我選擇了此分組。
這是我從其訂購的清單的確切鏈接,但其他來源也應該起作用:http://www.ebay.com/itm/1PCS-Breakout-Temperature 。..
盡管該圖顯示了帶有藍色阻焊膜的模塊,但我的是紫色的。在正面,它具有傳感器和3個用于更改I2C地址的焊盤。在背面,它具有我想成為穩壓器和邏輯電平轉換器的功能,但是我還沒有在5V系統中嘗試過該模塊。
該中斷僅輸出I2C引腳,但這是還可以,因為ESP8266沒有太多可用的引腳,并且傳感器無法產生如此高的數據流,因此需要更快的接口(如SPI)。
Wi- Fi模塊
因為我只需要一個I2C連接,所以我認為采用ESP-01模塊并進行修改會很有趣。 J下面對此進行了描述,但是如果您不想進行修改,則最好使用另一個拉出所有引腳的模塊,例如ESP-07。如果您決定使用庫存模塊,請不要忘記將CH_PD引腳連接到Vcc。
對于I2C,我需要GPIO2用于SDA,而GPIO14用于SCL。第一個已經可用,但是第二個需要做一些修改。由于我通常不積極使用CH_PD引腳,因此我決定修改PCB,以將GPIO14(引腳9)路由到板卡的CH_PD引腳和硬接線的引腳7(之前已連接到CH_PD)。 SoC至Vcc。在下面的圖片中,我用紅色標記了刮擦PCB跡線的位置,并用綠色標記了我建立的新連接(使用0.1mm導線)。
這樣,我得到了一個小巧而堅固的模塊,有2個GPIO,我不必擔心保持CH_PD高電平,并且不會對芯片編程所需的連接產生干擾。
連接
傳感器|模塊
SDAàGPIO2
SCLàGPIO14
兩個模塊的Vcc和GND并聯并連接至3.3V電源。電源未在此項目中描述,但我使用帶APL1117-3.3固定穩壓器和2個電容器的5V手機充電器。
在編程時,我將TX,RX,RST和GPIO0引腳連接至USB-UART轉換器。我通常將其與CP2102 IC搭配使用,但請注意,其3.3V輸出無法為ESP8266提供足夠的電流。
第2步:軟件
為開發軟件,我使用了Unofficial
樂鑫ESP8266開發套件。您可以在以下鏈接中找到有關下載,安裝和使用的所有必要信息:http://www.esp8266.com/viewtopic.php?t=820
在ESP8266上,我更喜歡這樣做,因為我對軟件有更好的控制,我可以使用Espressif發布和記錄的API,并且所有這些都集成在Eclipse中以及許多使您的生活更加輕松的示例。
該代碼可在GitHub,網址為https://github.com/cosminp12/BME280-Weather-Stati 。..可以下載它,只需將其導入Eclipse,它應該可以成功編譯。
該應用主要包含一個功能每分鐘執行一次,并讀取傳感器,然后使用HTTP客戶端將該數據放在ThingSpeak上。 ThingSpeak密鑰,路由器SSID和密碼可從user_config.h中配置。
為了使該庫在不同平臺上具有更高的可移植性,它僅調用2個函數來執行I2C讀寫一個或多個字節。 (I2C_WriteData和I2C_ReadData),如果一切正常,則返回零值。
步驟3:結果
我的設備發送數據轉到此頻道:https://thingspeak.com/channels/96844
運行了一周后,我已經從ThingSpeak下載了CSV格式的整個Feed,并將其繪制到Excel中以獲得更好的效果圖。
-
氣象站
+關注
關注
1文章
749瀏覽量
15660 -
ESP8266
+關注
關注
50文章
962瀏覽量
44964
發布評論請先 登錄
相關推薦
評論