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

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

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

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

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

?樹莓派GPIO控制使用電報應用程序

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

什么是Telegram?

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

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

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

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

項目概述

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

構建基于ESP32的電報機器人的要求

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

硬件需求:

ESP32開發(fā)板

軟件要求:

Arduino IDE

特定的Arduino庫

電報應用

制作一個電報機器人

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

?從Play Store安裝Telegram。

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

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

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

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

?給你的機器人一個名字和用戶名。

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

獲取你的Telegram聊天id

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

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

獲取Telegram用戶ID的步驟:

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

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

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

安裝Telegram Bot庫

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

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

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

1. 點擊此鏈接下載通用Arduino Telegram Bot庫。

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

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

有關庫的詳細信息,您可以查看Universal Arduino Telegram Bot library GitHub頁面。

ArduinoJson庫:

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

1. 進入草圖>包括庫>管理庫。

2. 搜索“ArduinoJson”。

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

4. 安裝庫。

我們已經安裝了所有必需的庫。

基于ESP32的電報機器人編程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

初始化Wi-Fi,并將ESP連接到我們之前定義的網絡SSID和密碼。

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

當新消息到達時,調用handleNewMessages()函數(shù)。

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

基于ESP32的電報機器人測試

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

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

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

本文編譯自iotdesignpro

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

2025年9月4日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產品授權代理商貿澤電子 (Mouser Electronics) 宣布與電子元器件制造商、連接器領域創(chuàng)新企業(yè)Molex合作推出全新互動電子書《The El...

關鍵字: 機器人 連接器 傳感器

立體深度估計在機器人技術、AR/VR和工業(yè)檢測中至關重要,它為諸如箱體拾取、自動導航和質量控制等任務提供了精確的3D感知。Teledyne IIS的Bumblebee X立體相機既具備高精度,又能夠提供實時性能,能夠在1...

關鍵字: 深度學習 AR 機器人

重慶2025年9月6日 /美通社/ -- iChongqing新聞報道:2025世界智能產業(yè)博覽會于9月5日在重慶開幕,550余家企業(yè)參展,展示了從自動駕駛和人工智能(AI)座艙到擴展現(xiàn)實(XR)影視和機器人咖啡廳的30...

關鍵字: 人工智能 新能源汽車 AI 機器人

北京2025年9月5日 /美通社/ -- 9月4日,在北京市人民政府新聞辦公室舉行的"一把手發(fā)布?京華巡禮"系列主題新聞發(fā)布會上,北京經開區(qū)對外發(fā)布,北京經濟技術開發(fā)區(qū)(也稱"北京亦莊&qu...

關鍵字: 航天 大賽 機器人 網絡游戲

二十余項改革全國全市推廣,700余事項100%全程網辦 北京2025年9月5日 /美通社/ -- 9月4日,在北京市人民政府新聞辦公室舉行的"一把手發(fā)布?京華巡禮"系列主題新聞發(fā)布會上,北京經開區(qū)對...

關鍵字: DIY 人工智能 加速器 機器人

蕪湖2025年9月4日 /美通社/ -- 近日,工業(yè)和信息化部裝備一司司長王衛(wèi)明、人才交流中心主任李學林一行赴奇瑞墨甲機器人開展專題調研。調研聚焦具身智能機器人的技術發(fā)展、產業(yè)化進展與場景應用落地。奇瑞汽車副總裁、墨甲機...

關鍵字: 奇瑞 機器人 工信部 智能機器人

Arm Neoverse V3AE 憑借卓越的計算性能、可擴展性與安全性,為由 NVIDIA DRIVE AGX Thor 和 Jetson Thor 驅動的下一代車輛和機器人賦能。

關鍵字: 機器人 智能汽車 AI

上海2025年8月28日 /美通社/ -- 當AI機器人能精準捕捉指令意圖,靈活響應多種交互方式,甚至能區(qū)分不同音色,一場跨越"工具"與"伙伴"的革命性進化,正由移遠Robr...

關鍵字: 機器人 AI 移遠通信 多模
關閉