色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于ESP8266開發板的遙控空調設計案例

454398 ? 來源:一板網 ? 作者:風箏 ? 2020-12-13 10:37 ? 次閱讀

我們最近開始研究ESP8266開發板,而今天的項目將基于此WiFi模塊制作一個有趣的項目。我們將搭建一個基于ESP8266的WiFi空調遙控器。雖然此項目可以適應任何使用遙控器的設備,但我們將使用它來控制空調。

通常,每個人離開家時都會關掉家里的所有電器,包括空調。當您回到家中時,溫度將不會被調節,并且空調需要一些時間才能達到所需的溫度。但是,如果您離家只有幾個街區,可以通過手機自動控制空調,會不會很酷?如果您無論身在何處都可以將其關閉,或者離開屋子時仍將其打開?如果可以與手機的位置同步并在家時總將其打開?如果可以與手機的天氣信息同步?這些問題啟發了今天的項目。

空調遙控器是怎么運作的?

空調(AC)通常由遙控器控制,當按下按鈕時,該遙控器會向其發送紅外信號。 空調解釋信號并將其轉換為指令,以提高其溫度或降低其強度,關閉或開啟等。因此,為了能夠使用我們自己的設備進行控制,該設備必須能夠模仿并發送遙控器發送到AC的信號相同,因此,通過按應用程序上的“ ON”按鈕,我們的WiFi遙控器會發送遙控器發出的相同IR信號。

ESP8266將通過MQTT連接到家庭橋接器,通過它,Siri可用于提供控制AC的指令。一旦通過MQTT接收到指令(例如“打開”指令),NodeMCU便將其與相應的IR信號進行匹配,然后信號通過IR指示燈發送至AC。 OLED顯示器用于向用戶提供有關當前狀態的視覺反饋。對于非iPhone用戶,該設備還可以連接到Amazon Alexa。除了可以通過Siri或Apple的家用套件控制空調外,還配備了控制開關。

為了將本項目做的比較完整,該項目添加了以下功能:

√ 待機時顯示NTP時鐘

√ 簡單的按鈕控制。電源、溫度升高/降低。

√ 可以使用HomeKit控制溫度、擺幅、風扇速度和模式。

√ 根據環境光自動亮度

√ OTA固件升級。

√ 使用HeaterCooler Service(iOS 11+)通過HomeKit進行控制,

√ 使用風扇服務與Amazon Alexa配合使用

在本文的最后,您將了解構建物聯網解決方案和家庭自動化的基礎知識。您還將學習如何攔截基于IR的遙控器發送的信號,創建一個IR發射器,該發射器可用于控制家庭或家庭中所有基于IR遙控器的設備,并構建可以通過Apple的Home工具包控制的設備。

所需的組件

● ESP8266 NodeMCU

● 帶有WiFi加密狗的Raspberry Pi 4,Raspberry Pi 3或Raspberry Pi 2

● Raspberry Pi的鍵盤,顯示器和HDMI電纜或LAN電纜

● Raspberry Pi的2A電源

● SSD1332 OLED顯示屏(256×64)

● 按鈕

● 紅外燈

● 發光二極管

● 跳線

● 面包板

原理圖

如上面所述,項目本身的硬件部分由NodeMCU、IR LED、一些按鈕和OLED顯示器組成,如下圖所示連接組件。

當您不攜帶手機時,這些按鈕提供了另一種控制設備的方式,OLED顯示屏提供了各種信息,包括當前溫度。

準備項目

在為項目編寫代碼之前,我們需要進行一些準備工作。

1.準備針對每個命令將發送到AC的IR信號

2.設置與Homekit的通信

1.解碼IR信號

如上所述,該項目通過模仿IR遙控器,發送基于Homekit的命令生成的IR信號來工作。由于IR信號必須與遙控器發送的信號相同,因此我們需要先獲取每個按鈕的IR代碼。要獲取代碼,我們必須構建一種設備,該設備從遙控器接收紅外信號,對其進行解碼并顯示編碼后的數據,以便我們可以將其復制以供以后使用。

要獲取IR代碼,我們將使用便宜的設備,連接到Nodemcu的高效且流行的TSOP1738紅外接收器,當按下遙控器上的按鈕時,紅外接收器將對其進行拾取,并通過在NodeMCU上運行的解碼草圖,將信號內容打印在串行監視器。此內容將在以后用于控制AC。

原理圖

如下圖所示,將IR接收器連接到NodeMCU:

為了確定何時接收到IR信號并幫助我們進行調試,在原理圖中添加了一個LED,使其僅在接收到IR信號時亮起。

代碼

本篇文章主要基于IRremote ESP8266庫,可以從隨附的鏈接下載該庫。該庫基于標準的Arduino IRremote庫,并帶有解碼的數據(用于一些通用鍵),用于許多流行的遙控器,這意味著您很幸運,并且遙控器的代碼將已經可用。對于那些不太幸運的人,我們將使用IRremote ESP8266庫隨附的示例草圖IRrecvDumpV2以及上面的示意圖來獲取編碼。

安裝庫后,啟動Arduino IDE,轉到示例并選擇IRrecvDumpV2示例。將代碼上傳到NodeMcu,然后按遙控器上的按鈕。每次按下遙控器上的按鈕時,您應該會在串行監視器中看到一組數字。復制并保留每個鍵的陣列,因為它們代表遙控器發送的已解碼IR信號,我們將使用它們為空調復制IR信號。

2.與Homekit進行連接

在編寫代碼之前,我們需要做的第二件事是建立與Homekit的連接。與Homekit的連接使我們能夠使用Siri和Homekit應用程序控制設備。為此,我們將使用安裝在RaspberryPi上的Homebridge-MQTT作為服務器。 Homebridg-MQTT本質上是Homebridge的插件,可讓您通過MQTT協議添加和控制設備。啟動RaspberryPi并打開終端。我們將從更新Pi開始,以確保以后不會遇到任何兼容性問題。

運行以下指令:

Sudo apt-get update

完成此操作后,在pi上為MQTT安裝MOSQUITTO。運行以下指令:

sudo apt-get install mosquitto

完成后,使用以下指令安裝Homebridge-MQTT插件;

sudo npm install -g homebridge-mqtt

接下來,我們需要編輯配置文件。配置文件位于homebridge文件夾(home / .homebridge /config.js)中。切換到目錄并運行;

sudo nano config.js

將platform部分添加到配置文件中,使其現在看起來像這樣;

{

"bridge": {

"name": "Homebridge",

"username": "CC: 22: 3D: E3: CE: 30",

"port": 51826,

"pin": "031-45-154"

},

"description": "This file is a fake accessory and one fake platform.",

"accessories": [{

"accessory": "relay",

"name": "My relay light 1",

"pin": 7

}],

"platforms": [{

"platform": "mqtt",

"name": "mqtt",

"url": "mqtt: //127.0.0.1",

"port": "1883",

"topic_type": "multiple",

"topic_prefix": "homebridge",

"qos": 1

}]

}

保存配置文件并退出。

運行HomeBridge,使用MQTT LENS并將Connection添加到我們的Raspberry Pi,創建一個使用加熱器冷卻器服務的附件,該附件受IOS11的任何版本的IoS支持。將發布設置為;

homebridge / to / add

并將有效載荷設置為;

{

"name": "Smart AC",

"service_name": "smart_ac",

"service": "HeaterCooler",

"manufacturer": "ESP8266",

"firmwarerevision": "1.0.0",

"SwingMode": 1,

"RotationSpeed": {"maxValue": 3, "minValue": 0, "minStep": 3},

"CoolingThresholdTemperature": {"maxValue": 28, "minValue": 18, "minStep": 1}

}

完成所有這些操作后,我們現在可以繼續為該項目編寫代碼。

代碼

今天的項目代碼將使用VScode和platform.io IDE插件進行開發。該代碼非常龐大,對于不習慣使用這些工具對微控制器進行編程的任何人來說可能很難理解,因此我們編寫了有關使用這些工具的簡單教程

本文主要基于IRremoteESP8266庫,但它也使用了Wifi管理器庫、Arduinojson庫、Arduino OTA庫和NTP庫。這些庫中的每一個都使實現項目的不同部分變得容易。 IRremoteESP8266庫用于將設備的IR信號發送到空調,Wifimanager庫用于輕松更改WiFi憑據,Arduinojson用于解析homekit中的數據,而Arduino OTA庫用于在設備上啟用無線固件更新。使用的其他庫還包括U8g2庫,該庫可輕松處理單色顯示器。它用于顯示構成項目UI的圖形。該項目使用的所有庫都可以通過Arduino庫管理器下載和安裝。

該項目的代碼非常龐大,可能在這里無法解釋,但我們確保對其進行了注釋并附加在zip文件下的zip文件中。zip文件包含一堆文件,包括用于GUI的圖形圖像、庫以及有關項目的所有內容。該代碼位于“ src”文件夾中。 “ src”文件夾還包含不同的代碼,其中大多數是名為main.cpp的主代碼的頭文件。所有其他文件都很重要,并且必須與main.cpp放在同一項目文件夾中,因為它們包含了主文件所需的所有信息。例如,main.h文件包含MQTT聲明,而UI.h文件包含用于UI的所有內容的char值。

外殼

為了使項目看起來令人愉悅,對外殼進行了3D打印。設計是使用Fusion 360完成的。

打印后,將外殼擦洗并上漆以使打印效果更好。最終外殼如下圖所示。

演示效果

確保如上面所示連接并打開設備。它應該如下圖所示。

以上就是本文的全部內容。如開始所說,該項目的應用是無限的。它可以作為一個簡單的盒子來控制房屋中的每個紅外遙控設備。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 遙控器
    +關注

    關注

    18

    文章

    838

    瀏覽量

    66216
  • 開發板
    +關注

    關注

    25

    文章

    5067

    瀏覽量

    97588
  • 空調遙控器
    +關注

    關注

    0

    文章

    19

    瀏覽量

    7320
  • ESP8266
    +關注

    關注

    50

    文章

    962

    瀏覽量

    45081
收藏 人收藏

    評論

    相關推薦

    ESP8266 太空人動畫的 OLED 顯示

    ESP8266 太空人動畫的 OLED 顯示
    的頭像 發表于 10-08 15:06 ?290次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動畫的 OLED 顯示

    arduino(1)--ESP8266配置

    硬件準備 首先需要準備一個開發板,這里我準備的是淘寶購買的兼容arduino的ESP8266模塊。 arduino配置 我使用的是arduino來編程實現,故需要下載對應的庫文件,打開
    發表于 09-06 11:00

    esp32和esp8266代碼共用嗎

    作為兩款具有Wi-Fi功能的微控制器,因其低成本、易用性和靈活性而受到廣泛關注。然而,盡管它們在某些方面具有相似性,但在硬件性能、開發環境和編程語言等方面仍存在一定差異。 二、ESP32與ESP8266簡介
    的頭像 發表于 08-19 18:23 ?1180次閱讀

    esp8266esp32區別是什么

    以下是關于ESP8266ESP32的主要區別: 處理器和架構 : ESP8266 :使用一個Tensilica L106 80MHz的處理器,屬于Xtensa架構。 ESP32 :使
    的頭像 發表于 08-19 18:16 ?5478次閱讀

    ESP8266需要燒錄固件庫嘛

    需要。ESP8266是一款非常流行的Wi-Fi模塊,廣泛應用于物聯網項目中。它具有低成本、低功耗、易于編程等特點,因此受到了許多開發者的喜愛。在開發ESP8266項目時,燒錄固件庫是一
    的頭像 發表于 08-19 17:30 ?920次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應用于物聯網項目中。然而,如果不進行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介 ESP8266是一款由Espres
    的頭像 發表于 08-19 17:28 ?846次閱讀

    esp8266wifi模塊怎么連接手機

    ESP8266 WiFi模塊連接手機主要可以通過兩種方式實現: 通過路由器連接(STA模式)和直接作為熱點連接(AP模式) 。以下是兩種連接方式的步驟: 一、通過路由器連接(STA模式) 配置
    的頭像 發表于 08-19 17:27 ?3045次閱讀

    機智云ESP8266開發板RGB彩燈控件

    隨著智能家居技術的迅猛發展,RGB彩燈控件正逐漸成為現代家庭不可或缺的一部分。在這一潮流中,機智云(Gizwits)的ESP8266開發板RGB彩燈控件以其先進的物聯網技術和多樣化的燈光控制功能,為
    的頭像 發表于 08-09 08:10 ?423次閱讀
    機智云<b class='flag-5'>ESP8266</b><b class='flag-5'>開發板</b>RGB彩燈控件

    STM32F103 + ESP8266與機智云開發常見問題集錦:入門者必讀!

    關于ESP8266模塊的選擇針對初學者,強烈建議選擇帶有串口的ESP8266開發板!這可以避免像我曾經遇到的燒錄固件失敗等問題。推薦直接購買已預裝機智云固件的模塊,或者帶有串口下載功能的模塊,例如
    的頭像 發表于 07-18 08:11 ?518次閱讀
    STM32F103 + <b class='flag-5'>ESP8266</b>與機智云<b class='flag-5'>開發</b>常見問題集錦:入門者必讀!

    ESP8266作Client建立TCP連接出現報錯?

    問題(192.168.0.107)。 用其它設備(主機、STM32開發板(LwIP)...)都是可以接入Server的,唯獨ESP8266模塊不行。
    發表于 07-17 07:16

    ESP8266EX開發板PWM非常不準確是怎么回事?

    我在你們的淘寶官網店購買了 ESP8266EX 開發板ESP-LAUNCHER) 這個8266開發板。并且下載了
    發表于 07-12 08:16

    ESP8266EX開發板如何知道Flash的大小?

    我是新手,從 espressif.taobao.com 上買了一個 ESP8266EX 開發板ESP-LAUNCHER)。 請問這個上面的 Flash 有多大? 自帶的系統啟動的時候,提示
    發表于 07-08 07:36

    求助,請問如何在RTOS SDK 1.5的PlatformIO IDE ESP8266實現MQTT?

    在這里,我使用的開發板是 NodeMcu ESP8266 V3 Lua CH340 Wifi 開發板 Development Environment -> Platform IO
    發表于 07-08 06:22

    ESP8266網絡天氣時鐘OLED顯示

    基于ESP8266實現網絡獲取天氣和時鐘并OLED顯示
    的頭像 發表于 06-28 04:46 ?1210次閱讀
    <b class='flag-5'>ESP8266</b>網絡天氣時鐘OLED顯示

    國產低成本Wi-Fi SoC解決方案芯片ESP8266ESP8285對比差異

    ESP8266ESP8285對比差異 ESP8285相當于在ESP8266基礎上多加了1/2MB Flash, ESP8285與
    的頭像 發表于 05-17 11:44 ?1366次閱讀
    國產低成本Wi-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對比差異
    主站蜘蛛池模板: 国产精品高清在线观看地址| yellow在线中文| 99国产在线视频| 亚洲日本在线不卡二区| beeg日本高清xxxx| 免费国产成人| 2020国产成人精品免费视频| 含羞草免费完整视频在线观看| 国产亚洲精品V在线观看一| 少妇被躁爽到高潮无码久久| 亚洲区 bt下载| 啊灬啊灬啊灬快高潮视频| 久久黄色小视频| 诱人的女邻居9中文观看| 久久久精品国产免费A片胖妇女| 欧美 另类 美腿 亚洲 无码| 无套日出白浆在线播放| 国产成人久久精品激情| 毛片大片免费看| 3DNagoonimation动漫| 国产精品久久久久激情影院| 色 花 堂 永久 网站| 国产精品99久久久久久AV色戒| 免费黄色网址在线观看| 97视频在线播放| 啪啪激情婷婷久久婷婷色五月| 一个人的视频全免费在线观看www 一个人的免费完整在线观看HD | 国产成人在线播放视频| 色一伦一情一区二区三区| 国产高清国内精品福利色噜噜| 美女伸开两腿让我爽| 99在线精品国自产拍| 日韩丰满少妇无码内射| 国产免费毛片在线观看| 亚洲字幕久久| 欧美 亚洲 另类 综合网| 亚洲人成在线播放无码| 蜜桃无码AV视频在线观看| 穿着丝袜被男生强行啪啪| 亚洲 日韩 在线 国产 视频| 久久精品电影网|