日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式大雜燴
[導讀]關(guān)注、 星標公眾號,不錯過精彩內(nèi)容 編輯:Tony 來源:公眾號TonyCode 小愛同學吃灰很久了,一直想接入小愛來控制些智能硬件,無奈小米的IOT開放平臺只對企業(yè)用戶開放。最近研究了點燈科技的物聯(lián)網(wǎng)平臺,軟件硬件支持非常豐富,關(guān)鍵對于愛好者有免費的版本可


關(guān)注、 星標公眾,不錯過精彩內(nèi)容

編輯:Tony
來源:公眾號TonyCode

小愛同學吃灰很久了,一直想接入小愛來控制些智能硬件,無奈小米的IOT開放平臺只對企業(yè)用戶開放。最近研究了點燈科技的物聯(lián)網(wǎng)平臺,軟件硬件支持非常豐富,關(guān)鍵對于愛好者有免費的版本可以使用,愛了愛了有木有?本篇分享下如何通過Blinker平臺接入小愛同學,進而控制聯(lián)網(wǎng)的ESP8266點燈。

1
硬件部分


我使用了如下圖所示ESP8266開發(fā)板,其實就是板載了8266最小系統(tǒng)和USB轉(zhuǎn)串口部分。淘寶上很多,大的區(qū)別可能就是串口芯片有CH340和CP2102之分吧。

ESP8266開發(fā)板

ESP8266模塊板載了LED燈,連接在GPIO2上,GPIO2輸出高電平燈熄滅,輸出低電平燈點亮,就拿它做控制吧。

2
平臺部分

在小愛同學APP中智能家居設(shè)備需要從米家APP中添加。所以,這兩個APP提前下載注冊好。這里重點說下Blinker APP。

  • 從官網(wǎng)下載Blinker,支持安卓和蘋果版本,選擇你喜歡的對應下載,并進行注冊(https://www.diandeng.tech/doc/app-download)。

  • 點擊添加設(shè)備,選擇Diy設(shè)備中的Arduino,選擇WiFi接入。會得到唯一的密鑰,這個很重要,后面需要在代碼中添加。

添加設(shè)備

  • 返回設(shè)備列表頁,點擊添加的設(shè)備圖標進入設(shè)備控制面板??牲c擊右上角進行編輯,這里的設(shè)備名最好用中文,后面用小愛進行控制的時候,你對它說英文,它可能聽不懂哈。


3
軟件部分


  1. 安裝ESP8266開發(fā)板擴展

  • 啟動Arduino IDE,單擊「文件」—「首選項」,在附加開發(fā)板管理網(wǎng)址中輸入如下網(wǎng)址:

http://arduino.esp8266.com/stable/package_esp8266com_index.json


添加開發(fā)板網(wǎng)址

  • 單擊「工具」—「開發(fā)板」—「開發(fā)板管理器」,在搜索欄輸入"esp8266",找到開發(fā)板進行安裝,如下圖安裝完成。

安裝8266開發(fā)板擴展

這個過程如果你網(wǎng)絡(luò)不夠科學的話,可能無法完成,官方提供了離線安裝方式可參照安裝(https://www.arduino.cn/thread-76029-1-1.html)。

  1. 安裝blinker Arduino庫

下載庫(https://github.com/blinker-iot/blinker-library/archive/master.zip),將下載好的blinker庫解壓到 我的電腦>文檔>Arduino>libraries 文件夾中。

  1. 程序下載

Blinker官方提供了小愛同學的接入流程,以RGB燈的控制為例,介紹了小愛同學的各操作接口,具體可參照官方介紹(https://www.diandeng.tech/doc/xiaoai)。

我在這里做了簡化,只用來控制燈的亮滅,只用了電源類操作接口和設(shè)備查詢接口。其實就是實現(xiàn)兩個回調(diào)函數(shù),當接收到小愛同學的命令,會對應進入回調(diào)函數(shù)去操作硬件。

代碼如下,代碼中的auth、ssid、pswd要填入實際的值。

#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT

#include <Blinker.h>

char auth[] = "Your Device Secret Key";
char ssid[] = "Your WiFi network SSID or name";
char pswd[] = "Your WiFi network WPA password or WEP key";

bool ledState;

void dataRead(const String & data)
{
  BLINKER_LOG("Blinker readString: ", data);

  uint32_t BlinkerTime = millis();

  Blinker.print("millis", BlinkerTime);
}

void miotPowerState(const String & state)
{
  BLINKER_LOG("need set power state: ", state);

  if (state == BLINKER_CMD_ON) {
    digitalWrite(LED_BUILTIN, LOW);
    BlinkerMIOT.powerState("on");
    BlinkerMIOT.print();
    ledState = true;
  }
  else if (state == BLINKER_CMD_OFF) {
    digitalWrite(LED_BUILTIN, HIGH);
    BlinkerMIOT.powerState("off");
    BlinkerMIOT.print();
    ledState = false;
  }
}

void miotQuery(int32_t queryCode)
{
  BLINKER_LOG("MIOT Query codes: ", queryCode);

  switch (queryCode)
  {
    case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
      BLINKER_LOG("MIOT Query Power State");
      BlinkerMIOT.powerState(ledState ? "on" : "off");
      BlinkerMIOT.print();
      break;

    default :
      BlinkerMIOT.powerState(ledState ? "on" : "off");
      BlinkerMIOT.print();
      break;
  }
}
void setup()
{
  Serial.begin(115200);
  BLINKER_DEBUG.stream(Serial);
  BLINKER_DEBUG.debugAll();

  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);

  Blinker.begin(auth, ssid, pswd);

  Blinker.attachData(dataRead);
  BlinkerMIOT.attachPowerState(miotPowerState);
  BlinkerMIOT.attachQuery(miotQuery);
}

void loop()
{
  Blinker.run();
}

選擇開發(fā)板類型和實際端口號,進行程序下載。

選擇8266開發(fā)板

4
綁定小愛

  • 下載好程序后,復位開發(fā)板,然后在Blinker APP中會看到添加的設(shè)備已經(jīng)現(xiàn)在在線了。

在線設(shè)備

  • 進入米家APP,點擊「我的」—「其他平臺設(shè)備」,添加點燈科技,進入后,點擊同步設(shè)備,就會看到在Blinker中創(chuàng)建的設(shè)備。


添加同步設(shè)備

  • 前面綁定成功后,小愛同學中就會出現(xiàn)綁定的設(shè)備了。

綁定成功

試著對小愛說:“打開燈”、“關(guān)閉燈”、“燈的狀態(tài)”,可能網(wǎng)絡(luò)不好會有些延遲,不過想要的控制已經(jīng)實現(xiàn)了,放一下測試時拍的視頻,你也可以嘗試去控制些別的設(shè)備了。




推薦閱讀:

Arduino基礎(chǔ)入門篇匯總


Arduino紅外測溫儀


若覺得文章對你有幫助,在看、轉(zhuǎn)發(fā)、留言,也是對我的支持。

關(guān)注公眾號「TonyCode」,后臺回復小愛,獲取文中代碼資源。


長按識別圖中二維碼關(guān)注

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉