99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>帶有可編程WirelessSIM和Grove按鈕的硬件設(shè)備

帶有可編程WirelessSIM和Grove按鈕的硬件設(shè)備

2023-07-12 | zip | 1.61 MB | 次下載 | 免費(fèi)

資料介紹

描述

到了我奶奶 90 歲生日的時候,我正在為送什么禮物給她而苦惱。她對我的生活產(chǎn)生了很大的影響,我想做一些事情來證明這一點(diǎn)。我知道我想以某種方式整合 Twilio,因?yàn)樗贻p時是Bell Telephone的接線員然后它像一大堆電話一樣擊中了我。我將創(chuàng)建一個帶有編程 WirelessSIM和 Grove 按鈕的硬件設(shè)備。當(dāng)奶奶按下 Grove 按鈕時,語音呼叫將被路由到她的電話,接線員將告訴她我有多愛她并祝她生日快樂。?

我需要什么來送一些生日愛

對于此項(xiàng)目,您將需要以下組件:

這是如何運(yùn)作的?

我想使用Wio LTE從我的Twilio SIM生成呼叫Grove Button連接到 Wio LTE 并用于物理交互。單擊 Grove 按鈕時,它將在 Twilio 中觸發(fā)回調(diào)。要進(jìn)行調(diào)用,我需要創(chuàng)建一些將響應(yīng)回調(diào)的TwiML 。然后,當(dāng)呼叫接通時,我需要另一塊 TwiML,它將使用Amazon Polly播放文本轉(zhuǎn)語音消息。由于我們將電路板上的 SIM 卡連接到真實(shí)設(shè)備,因此我們將使用一些變通方法來播放消息。通過在 ` 上包含 `url` 屬性` Twilio 會在接通電話之前向接聽電話的人播放 TwiML。這被稱為耳語

購買 Twilio 號碼并注冊 Twilio SIM

首先,購買Twilio 電話號碼。此電話號碼將用于使用語音數(shù)據(jù)將呼叫從可編程無線SIM 路由到我祖母的電話。

從包裝中取出 Twilio SIM,注冊并激活您的 SIM 。

使用 Amazon Polly 創(chuàng)建文本轉(zhuǎn)語音 TwiML

我想使用TwiML創(chuàng)建文本轉(zhuǎn)語音消息TwiML,或 Twilio 標(biāo)記語言,是一種基于 XML 的語言,它指示 Twilio 如何處理各種事件,例如來電和去電、SMS 消息和 MMS 消息。在構(gòu)建 Twilio 應(yīng)用程序時,您將在將所需操作傳達(dá)給 Twilio 時使用 TwiML。TwiML Bin是一種無需自己創(chuàng)建和托管 Web 服務(wù)器即可與 TwiML 交互原型的方法。

為此,我使用了 TwiML 動詞來創(chuàng)建一條消息,當(dāng)我的祖母接聽電話時,該消息將被口頭表達(dá)。為了讓它更逼真,我使用語音屬性選擇了Amazon Polly語音,聽起來更逼真。

?

<Response>
        <Say voice="Polly.Joey" language="en-US">Happy Birthday Gram! I love you.Say>
Response>

完成以下上述步驟后,您的 TwiML 應(yīng)如下所示。保存 TwiML Bin 并確保復(fù)制 TwiML Bin 的 URL,它會立即使用。

為您的 SIM 創(chuàng)建可編程語音 URL TwiML

文本轉(zhuǎn)語音部分已準(zhǔn)備就緒,接下來我需要使用 TwiML 從 SIM路由入站可編程語音呼叫。這些是設(shè)置它的步驟:

在 Programmable Voice & SMS 下,將Voice Url更改TwiML

  • 在 Twilio 控制臺中導(dǎo)航到可編程無線
  • Overview中,選擇新注冊的 SIM
  • 單擊可編程語音和短信選項(xiàng)卡
  • 將下面的 TwiML 粘貼到框中
  • 將您的 Twilio 電話號碼添加到Dial Verb的callerId屬性

將 TwiML Bin URL 粘貼到數(shù)字名詞的URL屬性中


<Response>
    <Dial callerId="YOUR_TWILIO_NUMBER">
        <Number url="TWIML_BIN_URL">{{To}}Number>
    Dial>
Response>

偉大的!SIM 現(xiàn)在配置為使用 Twilio 電話號碼路由傳出語音呼叫,并使用文本到語音轉(zhuǎn)換為我的祖母朗讀自定義消息。毫無疑問,那是一口蛋糕。接下來讓我們把它做成一個物理設(shè)備。

硬件設(shè)置

打開Wio LTE開發(fā)板的包裝箱,然后使用提供的 Micro-USB 數(shù)據(jù)線將開發(fā)板連接到計(jì)算機(jī)。根據(jù)操作系統(tǒng)的不同,可能需要USB 驅(qū)動程序才能連接到 Wio LTE。

將您注冊的Twilio SIM 卡插入開發(fā)板背面的 Wio LTE SIM 插槽中。

Wio LTE 盒子內(nèi)有一根 LTE 天線。從包裝中取出 LTE 天線,將 LTE 天線連接到 Wio LTE 背面,上面寫著LTE main 。

現(xiàn)在從包裝中取出Grove Button ,然后將 Grove Button 連接到 Wio LTE 的 D38 插座。

軟件環(huán)境設(shè)置

接下來下載Arduino IDE 。這將用于編程和上傳代碼到 Wio LTE。安裝 Arduino IDE 后,從 GitHub 下載Wio LTE Arduino 庫并按照本指南安裝庫。該庫是STM32F4 芯片的包裝器,它利用Arduino 核心并添加了 Quectel EC21-A調(diào)制解調(diào)器功能。

?
?

接下來將 Wio LTE 置于引導(dǎo)加載程序模式。需要啟用此模式才能將代碼上傳到電路板。要啟用引導(dǎo)加載程序模式:

按住電路板下方的BOOT0按鈕

按下電路板頂部的RST

釋放 BOOT0 按鈕以啟用引導(dǎo)加載程序模式

創(chuàng)建代碼

創(chuàng)建一個新的 Arduino 草圖(文件 -> 新建)。

首先添加 Wio LTE 庫文件wio_tracker.h并在setup()函數(shù)上方為Grove Button定義一個全局變量。接下來使用變量wio創(chuàng)建WioTracker的實(shí)例并創(chuàng)建一個計(jì)數(shù)器變量。計(jì)數(shù)器將用于對Grove Button 進(jìn)行去抖動,因此我們可以更好地控制 Grove Button 的交互。

#include "wio_tracker.h"
#define BUTTON_PIN  (D38)
WioTracker wio = WioTracker();
int counter = 0;

setup()函數(shù)用于在啟動時初始化程序的各個方面pinMode()用于設(shè)置 Grove Button 連接到的物理引腳以及板期望的功能類型。然后該板會運(yùn)行其初始化過程并將 Twilio SIM 連接到蜂窩網(wǎng)絡(luò)。

void setup()
{
  // Grove Button Setup
  pinMode(BUTTON_PIN, INPUT);
  // Wio LTE Power Up
  SerialUSB.println("Wait for power on...");
  wio.Power_On();
  SerialUSB.println("Power On O.K!");
  // Wio LTE Initialization
  while (!wio.init()) {
    delay(1000);
    SerialUSB.println("Accessing network...");
  }
  SerialUSB.println("Initialize done...");
  // Connect to the network
  bool ret = wio.waitForNetworkRegister();
  if (true == ret) {
    SerialUSB.println("Network accessed!");
  } else {
    SerialUSB.println("Network failed!");
    return;
  }
  SerialUSB.println("Ready!");
}

該程序的 Grove Button 邏輯是在loop()函數(shù)中創(chuàng)建的。該函數(shù)持續(xù)監(jiān)聽板的狀態(tài)變化。在這種情況下,它正在等待Grove Button 狀態(tài)改變。變量buttonState使用digitalRead()從板上的物理引腳讀取傳入的 Grove 按鈕狀態(tài)更改。

void loop()
{
  // Define Grove Button state
  int buttonState = digitalRead(BUTTON_PIN);
  // Define the counter functionality
  if (buttonState == 0) {
    // Zero counter
    counter = 0;
  } else {
    // Continue counter
    counter++;
    // Catch only 1 press, no duplicate calls
    if (counter == 1) {
      SerialUSB.println("Happy Birthday sent!");
      wio.callUp("GRANDMA_PHONE_NUMBER");
    }
  }
  // Restart
  delay(100);
}

主要的if 語句管理傳入的狀態(tài)更改。計(jì)數(shù)器用作消除Grove Button抖動的一種方式,因此只進(jìn)行一次調(diào)用。如果沒有去抖動邏輯,程序?qū)⒃诎醋?Grove 按鈕時繼續(xù)每 100 毫秒調(diào)用一次。

當(dāng) Grove 按鈕未被按下時,狀態(tài)“0”,計(jì)數(shù)器將重置為 0。

 if (buttonState == 0) {
    // Zero counter
    counter = 0;
  }

當(dāng)按下 Grove 按鈕時,狀態(tài)“1”,計(jì)數(shù)器開始迭代。嵌套的 if 語句用于捕獲計(jì)數(shù)器創(chuàng)建的特定數(shù)字。當(dāng)抓到數(shù)字 1 時,使用wio.callUp( "GRANDMA_PHONE_NUMBER") 向我的祖母撥打電話。 ?

 else {
    // Continue counter
    counter++;
    // Catch only 1 press, no duplicate calls
    if (counter == 1) {
      SerialUSB.println("Happy Birthday sent!");
      wio.callUp("GRANDMA_PHONE_NUMBER");
    }
  }

這就是我們需要的所有代碼,將其傳輸?shù)?Wio LTE 板按上傳。

上傳完成后,斷開 Wio LTE 與 Micro-USB 數(shù)據(jù)線的連接。將鋰電池連接到板上。

代碼回顧

#include "wio_tracker.h"
#define BUTTON_PIN  (D38)
WioTracker wio = WioTracker();
int counter = 0;
void setup()
{
  // Grove Button Setup
  pinMode(BUTTON_PIN, INPUT);
  // Wio LTE Setup
  SerialUSB.println("Wait for power on...");
  wio.Power_On();
  SerialUSB.println("Power On O.K!");
  // Wio LTE Initialization
  while (!wio.init()) {
    delay(1000);
    SerialUSB.println("Accessing network...");
  }
  SerialUSB.println("Initialize done...");
  // Connect to the network
  bool ret = wio.waitForNetworkRegister();
  if (true == ret) {
    SerialUSB.println("Network accessed!");
  } else {
    SerialUSB.println("Network failed!");
    return;
  }
  SerialUSB.println("Ready!");
}
void loop()
{
  // Define Grove Button state
  int buttonState = digitalRead(BUTTON_PIN);
  // Define the counter functionality
  if (buttonState == 0) {
    // Zero counter
    counter = 0;
  } else {
    // Continue counter
    counter++;
    // Catch only 1 press, no duplicate calls
    if (counter == 1) {
      SerialUSB.println("Happy Birthday sent!");
      wio.callUp("GRANDMA_PHONE_NUMBER");
    }
  }
  delay(100);
}

把它裝箱

在派對上,我把電路板、電池和 LTE 天線放在一個小盒子里,讓它更像樣。

思緒

創(chuàng)建這個項(xiàng)目后,我意識到這對可能相距很遠(yuǎn)的個人很有用。并且可以使用音頻文件代替文本轉(zhuǎn)語音來發(fā)送個人消息,例如反向發(fā)送語音郵件。發(fā)送一封情書并提醒您關(guān)心的其他人很重要。您正在使用可編程無線構(gòu)建什么類型的#TwilioIoT 項(xiàng)目?隨時在Twitter上發(fā)表您的評論、問題和項(xiàng)目。不要忘記查看我的GitHub 上的完整項(xiàng)目。網(wǎng)上見,乘風(fēng)破浪。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)