0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用樹莓派Pico W搭建Slack機(jī)器人

jf_L7xG2ijs ? 來(lái)源:IoT前哨站 ? 2023-12-25 17:33 ? 次閱讀

Slack是一款在線協(xié)作軟件,可以讓你與團(tuán)隊(duì)成員進(jìn)行聊天、文件傳送、語(yǔ)音/視頻通話等功能。Slack還可以整合多種工具和服務(wù),如電子郵件、Google Drives、Twitter、Trello等,以提高工作效率和自動(dòng)化任務(wù)。有App方便大家在手機(jī)或平板電腦上使用。

這次要實(shí)現(xiàn)的樹莓派Pico W遠(yuǎn)程控制機(jī)器人,簡(jiǎn)單來(lái)說(shuō),就是我們?cè)谑謾C(jī)上用Slack發(fā)消息,指揮Pico W幫我們干活。

c156bf92-a0be-11ee-8b88-92fbcf53809c.png

Slack 的 chat.postMessage API 可將消息從開發(fā)板發(fā)送到 Slack 頻道。Slack 為應(yīng)用和機(jī)器人提供了一個(gè)事件 API,用于響應(yīng) Slack 上的活動(dòng)。由于開發(fā)板不能從公共互聯(lián)網(wǎng)直接訪問(wèn),因此無(wú)法使用公共 HTTP webhook。

我們必須使用Slack 的Socket Mode。 Socket Mode使應(yīng)用和機(jī)器人能夠使用動(dòng)態(tài)的WebSocket 接收事件。動(dòng)態(tài)套接字的URL可以通過(guò)Slack的apps.connections.open API獲取。

c175e03e-a0be-11ee-8b88-92fbcf53809c.gif

Pico W與Slack API 接收事件和發(fā)送消息的通信機(jī)制:

c197dc02-a0be-11ee-8b88-92fbcf53809c.png

要完成上述操作,你必須先有Slack令牌。

配置 Slack

在 Web 瀏覽器中訪問(wèn):

并使用您的 Slack 憑據(jù)登錄,單擊“創(chuàng)建新應(yīng)用”按鈕。

c1b0f660-a0be-11ee-8b88-92fbcf53809c.png

單擊“From scratch”選項(xiàng)。

c1cce7d0-a0be-11ee-8b88-92fbcf53809c.png

輸入應(yīng)用程序的名稱(例如“Pico W”),為應(yīng)用程序選擇一個(gè)工作區(qū),然后單擊“創(chuàng)建應(yīng)用程序”按鈕。

c1e7c168-a0be-11ee-8b88-92fbcf53809c.png

單擊左側(cè)的“Socket Mode”部分,然后單擊切換到“啟用Socket Mode”。

c20276d4-a0be-11ee-8b88-92fbcf53809c.png


輸入應(yīng)用級(jí)令牌的“Token Name”,例如“Pico W app”,然后單擊“生成”按鈕。

c21f6348-a0be-11ee-8b88-92fbcf53809c.png

生成并顯示應(yīng)用級(jí)令牌,復(fù)制該值并保存以備將來(lái)使用,然后單擊“完成”按鈕。

c23b1bce-a0be-11ee-8b88-92fbcf53809c.png

單擊左側(cè)的“OAuth 和權(quán)限”部分,向下滾動(dòng)到“Scopes”部分,然后單擊“添加 OAuth 范圍”按鈕。

c259e25c-a0be-11ee-8b88-92fbcf53809c.png

添加“app mention:read”權(quán)限。

c27203aa-a0be-11ee-8b88-92fbcf53809c.png

添加“chat:write”權(quán)限。

c2906ff2-a0be-11ee-8b88-92fbcf53809c.png

單擊左側(cè)的“事件訂閱”部分,然后單擊“啟用事件”開關(guān)。

c2bcd042-a0be-11ee-8b88-92fbcf53809c.png

展開“訂閱bot事件”部分并單擊“添加bot用戶事件”按鈕。

c2e18766-a0be-11ee-8b88-92fbcf53809c.png

選擇“app_mention”。

c2f9bfe8-a0be-11ee-8b88-92fbcf53809c.png

點(diǎn)擊右下角的“保存更改”按鈕。

c314bb36-a0be-11ee-8b88-92fbcf53809c.png

點(diǎn)擊左側(cè)的“基本信息”部分,然后點(diǎn)擊“請(qǐng)求安裝”按鈕。

c331d09a-a0be-11ee-8b88-92fbcf53809c.png

填寫“簡(jiǎn)短描述”,選擇“背景顏色”,點(diǎn)擊“保存更改”按鈕

c3485c02-a0be-11ee-8b88-92fbcf53809c.png

工作區(qū)管理員可以批準(zhǔn)申請(qǐng)。然后轉(zhuǎn)到“基本信息”部分,單擊“安裝到工作區(qū)”按鈕。

c360bbda-a0be-11ee-8b88-92fbcf53809c.png

安裝完成后,單擊左側(cè)的“OAuth & Permissions”部分,滾動(dòng)到“工作區(qū)的OAuth Token”部分,然后復(fù)制“Bot User OAuth Token”值并保存以供將來(lái)參考。

c37f4eba-a0be-11ee-8b88-92fbcf53809c.png

現(xiàn)在你有了一個(gè)應(yīng)用程序級(jí)別的令牌值和一個(gè)Slack應(yīng)用程序的Bot用戶OAuth令牌值,可以在Raspberry Pi Pico W板上使用。

基于 MicroPython 的 Slack 機(jī)器人

MicroPython 為許多基于Arm Cortex-M 的微控制器提供Python 3實(shí)現(xiàn),包括 Raspberry Pi Pico W上的RP2040。

Thonny IDE 將用于安裝 MicroPython 并將代碼上傳到 Raspberry Pico W。

從 Thonny 主頁(yè)下載適用于您的計(jì)算機(jī)的操作系統(tǒng) (OS) 專用版本的 Thonny。在撰寫本指南時(shí),Thonny 4.1.2 是最新版本。

c398e906-a0be-11ee-8b88-92fbcf53809c.png

用Thonny刷好MicroPython以后,將 GitHub 中的代碼下載到計(jì)算機(jī)上的文件夾。

相關(guān)代碼:

https://github.com/IoToutpost/example-of-a-slackbot-for-pico-w

c3b08070-a0be-11ee-8b88-92fbcf53809c.png

打開 Raspberry Pi Pico W 板上的 config.py 文件,填寫 Wi-Fi 網(wǎng)絡(luò)的 SSID 和密碼,以及之前配置的 Slack 應(yīng)用和機(jī)器人令牌。

c3caed34-a0be-11ee-8b88-92fbcf53809c.png

打開樹莓派Pi Pico W板上的 main.py 文件,然后按綠色的播放按鈕運(yùn)行應(yīng)用程序。如果一切配置正確,開發(fā)板現(xiàn)在將連接到您的 Wi-Fi 網(wǎng)絡(luò),然后連接到 Slack。

c3e03cde-a0be-11ee-8b88-92fbcf53809c.png

基于 C 語(yǔ)言的 Slack 機(jī)器人

對(duì)于 C 版本,以下庫(kù)將與pico-sdk一起使用:

FreeRTOS 內(nèi)核– 為網(wǎng)絡(luò)堆棧提供實(shí)時(shí)操作系統(tǒng)(RTOS

lwIP– 用于 TCP/IP 通信

MbedTLS – 用于 TLS 通信

coreHTTP– 用于 HTTP 客戶端

cJSON– 用于解析和序列化 JSON 數(shù)據(jù)

使用 Raspberry Pi 的 Pico SDK 和所需的工具鏈設(shè)置您的計(jì)算機(jī)。

有關(guān)更多信息,請(qǐng)參閱 Raspberry Pi Pico 入門指南。

在終端窗口中,設(shè)置 PICO_SDK 環(huán)境變量:

exportPICO_SDK_PATH=/path/to/pico-sdk

將目錄更改為下載示例代碼的位置,然后將目錄更改為文件夾:pico-sdk

cd path/to/example-of-a-slackbot-for-pico-w

cd pico-sdk

創(chuàng)建一個(gè)構(gòu)建目錄,并將目錄更改為該目錄:

mkdir build

cd build

使用你的 Wi-Fi SSID 和密碼以及 Slack 應(yīng)用和機(jī)器人令牌運(yùn)行,然后運(yùn)行以編譯應(yīng)用程序。


cmake .. -DPICO_BOARD=pico_w -DWIFI_SSID=""

-DWIFI_PASSWORD=""

-DSLACK_APP_TOKEN=""

-DSLACK_BOT_TOKEN=""

make

按住Pico W上的BOOTSEL按鈕,同時(shí)將USB電纜插入計(jì)算機(jī)。

將文件復(fù)制到掛載的Raspberry Pi Pico,

啟動(dòng)ROM磁盤:picow_slack_bot.uf2

cp -a picow_slack_bot.uf2

/Volumes/RPI-RP2/.

使用串行監(jiān)視器應(yīng)用程序(如屏幕)查看主板的 USB 串行輸出,

將 /dev/cu.usbmodem00000000000001 替換為主板的路徑:

screen /dev/cu.usbmodem0000000000001

如果一切配置正確,開發(fā)板現(xiàn)在將連接到您的 Wi-Fi 網(wǎng)絡(luò),然后連接到 Slack。

c401ef28-a0be-11ee-8b88-92fbcf53809c.png

在計(jì)算機(jī)上打開 Slack,并創(chuàng)建一個(gè)新的測(cè)試頻道。在信息輸入窗口中輸入,然后點(diǎn)按綠色按鈕或按回車鍵發(fā)送。@ LED on

c41a20de-a0be-11ee-8b88-92fbcf53809c.png

由于 Pico W 不在頻道中,系統(tǒng)將提示您添加它們。點(diǎn)擊“邀請(qǐng)他們”按鈕。

c43585d6-a0be-11ee-8b88-92fbcf53809c.png

被邀請(qǐng)后,開發(fā)板將點(diǎn)亮 LED, 然后回復(fù)消息告知狀態(tài)。您也可以嘗試發(fā)送消息以關(guān)閉 LED。@ LED off

c44f952a-a0be-11ee-8b88-92fbcf53809c.png

結(jié)論

本指南介紹了通過(guò)Raspberry Pi Pico W上運(yùn)行MicroPython和C應(yīng)用程序,來(lái)與Slack API發(fā)送和接收消息。

示例應(yīng)用程序代碼可以接收并處理消息文本,以控制板載 LED,然后將 LED 的當(dāng)前狀態(tài)告知用戶。

你可以在自己的Raspberry Pi Pico W上嘗試一下,然后在示例代碼的基礎(chǔ)上構(gòu)建更多功能,從而將 Slack 擴(kuò)展到物理世界。

作者:Sandeep Mistry 編譯:IoT前哨站

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    28109

    瀏覽量

    205861
  • 遠(yuǎn)程控制
    +關(guān)注

    關(guān)注

    4

    文章

    619

    瀏覽量

    34884
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4900

    瀏覽量

    97065
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1696

    瀏覽量

    105456
  • slack
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    11063

原文標(biāo)題:用樹莓派Pico W創(chuàng)建自己的Slack機(jī)器人

文章出處:【微信號(hào):IoT前哨站,微信公眾號(hào):IoT前哨站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    變形樂(lè)高玩具變形和樹莓一起玩出樂(lè)高機(jī)器人!

    玩法。1.樂(lè)高做樹莓底盤嗯,基本沒啥技術(shù)含量,5歲小孩子所擁有的動(dòng)手能力就夠了。2.樹莓做樂(lè)高核心這個(gè)就很可怕了!樂(lè)高加上樹莓
    發(fā)表于 09-02 14:26

    樹莓打造視頻監(jiān)控機(jī)器人Verybot

    `在網(wǎng)上有看到一個(gè)基于樹莓 ( raspberry pi ) 的視頻監(jiān)控機(jī)器人平臺(tái) Verybot ,順帶把這個(gè)機(jī)器人的一些圖片、視頻、設(shè)計(jì)思路進(jìn)行公開,讓大家都參與到
    發(fā)表于 09-18 15:33

    有關(guān)樹莓制作機(jī)器人平臺(tái)的探索

    2.樹莓派性能高,可以功能更強(qiáng)大的機(jī)器人畢竟單片機(jī)的處理器能力有限本人的打算 是 樹莓主機(jī)加7寸顯示屏 做機(jī)器人主板 然后接電機(jī)控制模塊
    發(fā)表于 11-10 10:19

    請(qǐng)教利用樹莓制作六足機(jī)器人的問(wèn)題

    本人新手,最近在準(zhǔn)備制作一個(gè)六足機(jī)器人,如果利用舵機(jī)控制器+遙控手柄套件的話,可以很容易就實(shí)現(xiàn)簡(jiǎn)單的功能。為了能讓六足機(jī)器人實(shí)現(xiàn)更加復(fù)雜的功能,我想利用arduino+樹莓+舵機(jī)控制
    發(fā)表于 11-10 15:33

    樹莓語(yǔ)音識(shí)別機(jī)器人(上)

    ` 本帖最后由 348081236 于 2016-1-20 11:00 編輯 分享一下外網(wǎng)看到的牛人用樹莓做的語(yǔ)音識(shí)別機(jī)器人第一步:零部件部件是用2mm的鋁做的。工序:附件為本教程雙足機(jī)
    發(fā)表于 01-19 18:01

    樹莓語(yǔ)音識(shí)別機(jī)器人(下)

    `樹莓語(yǔ)音識(shí)別機(jī)器人(上)第四步:聲卡盡管有音頻輸出口可以連接音箱或耳機(jī),但為了獲得更好的音質(zhì),我們將外置聲卡材料:1. 樹莓2. US
    發(fā)表于 01-20 10:59

    【Raspberry Pi 3申請(qǐng)】基于樹莓3的多項(xiàng)服務(wù)搭建與使用

    申請(qǐng)理由:本人是大四學(xué)生,現(xiàn)在已成功保研,導(dǎo)師是嵌入式/工業(yè)機(jī)器人方向,目前學(xué)習(xí)時(shí)間較多,在東南大學(xué)校企合作公司做畢業(yè)設(shè)計(jì)。我對(duì)嵌入式linux比較有興趣,也覺得這是很好的發(fā)展方向。樹莓一直以來(lái)
    發(fā)表于 04-14 14:35

    10分鐘,DIY一臺(tái)樹莓版TH Robot WiFi視頻小車機(jī)器人

    樹莓核心的TH Robot WiFi視頻小車機(jī)器人!首先是器件說(shuō)明,由于樹莓已經(jīng)集成了WiFi功能,所以無(wú)需外接WiFi模塊,所有的部件
    發(fā)表于 04-08 22:11

    樹莓pico如何入門?

    樹莓pico如何入門?
    發(fā)表于 10-13 08:11

    如何使用樹莓開發(fā)智能機(jī)器人控制系統(tǒng)

    樹莓和其他機(jī)器人的控制器有何不同?如何使用樹莓開發(fā)智能機(jī)器人控制系統(tǒng)?
    發(fā)表于 12-23 06:55

    如何利用樹莓搭建一個(gè)完整的機(jī)器人系統(tǒng)?

    如何利用樹莓搭建一個(gè)完整的機(jī)器人系統(tǒng)?
    發(fā)表于 01-18 06:37

    樹莓pico入門學(xué)習(xí)筆記(一)

    樹莓pico入門學(xué)習(xí)筆記選擇自己熟悉的編程語(yǔ)言樹莓pico提供C/C++和micropyth
    發(fā)表于 12-17 18:42 ?21次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>pico</b>入門學(xué)習(xí)筆記(一)

    如何使用樹莓制作一個(gè)巡線機(jī)器人

    眾所周知,樹莓是一個(gè)基于ARM微處理器的開發(fā)平臺(tái)。憑借其強(qiáng)大的計(jì)算能力,它在廣大電子愛好者中經(jīng)常會(huì)創(chuàng)造出奇跡。為了更好地了解樹莓及其工作原理,讓我們嘗試使用
    的頭像 發(fā)表于 04-08 16:38 ?5811次閱讀
    如何使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>制作一個(gè)巡線<b class='flag-5'>機(jī)器人</b>

    基于樹莓的移動(dòng)機(jī)器人實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于樹莓的移動(dòng)機(jī)器人實(shí)現(xiàn).zip》資料免費(fèi)下載
    發(fā)表于 10-27 11:48 ?16次下載
    基于<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的移動(dòng)<b class='flag-5'>機(jī)器人</b>實(shí)現(xiàn)

    樹莓機(jī)器人船構(gòu)建

    電子發(fā)燒友網(wǎng)站提供《樹莓機(jī)器人船構(gòu)建.zip》資料免費(fèi)下載
    發(fā)表于 07-10 11:33 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>機(jī)器人</b>船構(gòu)建