www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > IoT設(shè)計分享
[導(dǎo)讀]Telegram是自由和開源的,它在2015年宣布了新的Telegram bot API,允許第三方為ESP32創(chuàng)建利用消息應(yīng)用程序作為主要通信接口的Telegram bot。這意味著我們可以用它控制我們的智能家居應(yīng)用程序和其他智能設(shè)備。因此,在本文中,我們將討論一種控制智能設(shè)備并了解其狀態(tài)的新方法。你說得對,我們會用社交媒體應(yīng)用“電報”控制他們。

Telegram是自由和開源的,它在2015年宣布了新的Telegram bot API,允許第三方為ESP32創(chuàng)建利用消息應(yīng)用程序作為主要通信接口的Telegram bot。這意味著我們可以用它控制我們的智能家居應(yīng)用程序和其他智能設(shè)備。因此,在本文中,我們將討論一種控制智能設(shè)備并了解其狀態(tài)的新方法。你說得對,我們會用社交媒體應(yīng)用“電報”控制他們。

之前我們做過這樣的項目,

?使用Telegram Bot與樹莓派:共享文本和文件

?樹莓派GPIO控制使用電報應(yīng)用程序

所以,如果你感興趣的話,一定要去看看。

什么是Telegram?

Telegram是一個跨平臺的基于云的即時消息、視頻電話和VoIP服務(wù),端到端加密聊天僅用于秘密聊天,而服務(wù)器-客戶端/客戶端-服務(wù)器加密用于云聊天。

但它與其他此類消息平臺的不同之處在于創(chuàng)建機(jī)器人的能力。

Telegram bots是基于人工智能的應(yīng)用程序,可以配置為提供許多不同的功能,例如,發(fā)送有關(guān)天氣或有用的新聞文章的相關(guān)信息,有些是預(yù)先配置為發(fā)送提醒,還有一些可以播放音樂或創(chuàng)建待辦事項列表,等等。

今天我們還將創(chuàng)建一個這樣的機(jī)器人,它將與我們的ESP32通信。

項目概述

在本教程中,我們將使用Telegram bot控制LED, LED連接到ESP32板。而不是LED,你可以控制任何引腳連接到任何其他設(shè)備或組件。

構(gòu)建基于ESP32的電報機(jī)器人的要求

由于這個項目是一個軟件繁重的項目,它不需要那么多的硬件,但是在軟件方面有相當(dāng)多的步驟需要遵循,我們將在本文中討論這些步驟。

硬件需求:

ESP32開發(fā)板

軟件要求:

Arduino IDE

特定的Arduino庫

電報應(yīng)用

制作一個電報機(jī)器人

正如我們前面所討論的,Telegram允許我們創(chuàng)建幾個具有不同功能的機(jī)器人。對于我們的項目,我們將使用Telegram創(chuàng)建一個簡單的bot。其余的命令聲明和回復(fù)將在ESP板本身編碼,它將使用聊天ID與我們的bot通信。我們將在本文中進(jìn)一步討論這些問題。解決了這個問題后,我們可以將注意力轉(zhuǎn)向在Telegram中構(gòu)建bot。

?從Play Store安裝Telegram。

?安裝之后,如果你還沒有一個帳戶,請創(chuàng)建一個帳戶,然后按照下面的步驟讓你的TG機(jī)器人工作。

?首先,搜索“botfather”并單擊botfather,如下所示?;蛘咴谀愕闹悄苁謾C(jī)上打開這個鏈接t.me/botfather。

?Botfather是一個預(yù)先構(gòu)建的電報機(jī)器人,可以讓您創(chuàng)建,管理和刪除您的機(jī)器人。

?單擊開始按鈕并選擇/newbot

?給你的機(jī)器人一個名字和用戶名。

?如果成功創(chuàng)建了bot,您將收到一條消息,其中包含訪問新創(chuàng)建的bot和bot令牌的鏈接。Bot令牌是一個唯一的id,稍后我們將使用它與Bot進(jìn)行通信。

獲取你的Telegram聊天id

telegram用戶id是每個聊天、組和用戶的唯一號碼,可以幫助telegram識別用戶和聊天。在我們的這個項目中,任何擁有bot鏈接的人都可以與bot進(jìn)行交互。為了防止任何未經(jīng)授權(quán)的訪問,我們可以使用唯一的用戶id對其進(jìn)行加密。

通過這樣做,每次ESP從bot接收消息時,它都會檢查id是否與存儲在其中的id相對應(yīng),然后只執(zhí)行命令。

獲取Telegram用戶ID的步驟:

?在你的Telegram賬戶中,搜索“IDBot”或在你的智能手機(jī)上打開這個鏈接t.me/myidbot。

?與該機(jī)器人開始對話并輸入/getid。您將得到一個帶有您的用戶ID的回復(fù)。

?注意用戶id,因為我們稍后會用到它。

安裝Telegram Bot庫

我們將使用Arduino IDE對ESP32板進(jìn)行編程。因此,請確保您的PC上安裝了IDE和電路板包。我們需要在Arduino IDE中安裝兩個庫,使用這些庫將使編碼過程更加簡單和方便。

為了與Telegram bot建立通信,我們將使用Brian Lough創(chuàng)建的通用Telegram bot庫,該庫為Telegram bot API提供了一個簡單的接口。

按照下面的步驟安裝庫的最新版本。

1. 點(diǎn)擊此鏈接下載通用Arduino Telegram Bot庫。

2. 去素描>包括庫> Add.ZIP庫…

3. 添加剛剛下載的庫。就是這樣。完成庫的安裝。

有關(guān)庫的詳細(xì)信息,您可以查看Universal Arduino Telegram Bot library GitHub頁面。

ArduinoJson庫:

你還必須安裝ArduinoJson庫。按照下面的步驟安裝庫。

1. 進(jìn)入草圖>包括庫>管理庫。

2. 搜索“ArduinoJson”。

3. 選擇可用的最新版本。

4. 安裝庫。

我們已經(jīng)安裝了所有必需的庫。

基于ESP32的電報機(jī)器人編程

我們必須以這樣一種方式閃爍ESP32,即它接收從bot發(fā)送的任何消息,比較用戶id,并根據(jù)收到的消息打開或關(guān)閉LED。

在代碼的第一部分,我們從導(dǎo)入所需的庫開始。

之后,我們初始化變量來存儲您的Wi-Fi的SSID和密碼。

類似地,我們定義了保存bot令牌和聊天id的變量。您需要將您的憑據(jù)放入這些變量中。

之后,我們用wiificlientsecure創(chuàng)建一個新的WiFi客戶端。

使用令牌和客戶端創(chuàng)建bot,我們在前面已經(jīng)保存了這些內(nèi)容。

兩個變量botRequestDelay和lastTimeBotRan用于每隔x秒檢查新的電報消息。在我們的示例中,我們將每隔1000毫秒檢查一次新消息。我們可以通過更改botRequestDelay變量將延遲時間更改為我們的特定需求。

handleNewMessages()函數(shù)保存新消息到達(dá)時發(fā)生的情況的選項卡。

我們需要獲取該消息的聊天ID并將其存儲在chat_id變量中。這個ID允許我們識別是誰發(fā)送了這條消息。

如果chat_id與您的聊天ID (chat_id)不同,則意味著其他人已向您的bot發(fā)送了消息。如果是這種情況,我們需要忽略所有消息并等待新的消息。

否則,這意味著消息是從一個有效的用戶發(fā)送的,因此我們將把它保存在text變量中并檢查其內(nèi)容。

from_name變量保存發(fā)送者的名稱。

如果我們收到/start消息,我們將向ESP32發(fā)送一個有效的命令。如果您忘記了控制電路板的特定命令,則此功能非常有用。

我們可以非常簡單地通過在聊天機(jī)器人對象上使用sendMessage()方法并將接收方的聊天ID、消息和解析模式作為參數(shù)傳遞給聊天機(jī)器人,從而向聊天機(jī)器人發(fā)送消息。

在我們的特定示例中,我們將把消息發(fā)送到存儲在chat_id上的ID,并發(fā)送保存在welcome變量上的消息。

如果它收到/led_on消息,打開LED并發(fā)送消息確認(rèn)我們已經(jīng)收到消息。另外,用新狀態(tài)更新ledState變量。

對/led_off消息執(zhí)行類似的操作。

最后,使用/狀態(tài)檢查接收到的消息,檢查當(dāng)前GPIO狀態(tài),并相應(yīng)地發(fā)送消息。

初始化Wi-Fi,并將ESP連接到我們之前定義的網(wǎng)絡(luò)SSID和密碼。

在loop()中,我們每1000毫秒檢查一次新消息,即1秒。

當(dāng)新消息到達(dá)時,調(diào)用handleNewMessages()函數(shù)。

這就結(jié)束了我們代碼的工作?,F(xiàn)在,您只需要通過從Arduino IDE中選擇適當(dāng)?shù)陌搴投丝趤砩蟼魉?,然后就可以了?

基于ESP32的電報機(jī)器人測試

現(xiàn)在我們已經(jīng)完成了所有的設(shè)置。通過Arduino IDE將上述代碼上傳到ESP32板上。上傳草圖時不要忘記選擇正確的板和端口。

上傳草圖后,按下單板上的EN/Reset按鈕,單板開始執(zhí)行代碼。打開串行監(jiān)視器,等待電路板與Wi-Fi路由器連接?,F(xiàn)在,打開Telegram,進(jìn)入Botfather提供的鏈接,輸入/start,開始與bot對話。

現(xiàn)在您可以通過輸入相應(yīng)的命令來控制LED或了解狀態(tài)。

本文編譯自iotdesignpro

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉