iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
1
IoT

手拉手教自己用樹梅派、GoogleHome、GCP做一個AI智慧提醒機器人!系列 第 6

Day6 如何用tts推播(2,ngrok及postman)

  • 分享至 

  • xImage
  •  

今天我們將藉由ngrok與postman 推播訊息
首先至ngrok download的頁面選擇 more options => arm的版本(基本上它會自動出現)

再解壓縮至桌面,再於terminal輸入

./ngrok http 5000 //5000是你所選擇的

執行後

若需要保持長時間,需先登入網站取得auth token再執行

./ngrok authtoken 1dfpMdavKKuuJ26kHUnEuYYNW70_3WFDM75PtPLvjHoGPNYN2
./ngrok http 5000 //5000是你所選擇的

接著我們會用到postman,可於此下載至chrome擴充應用
https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=zh_tw

登入後

選擇post模式,貼上你ngrok提供的網址,在body選擇raw的模式,並填入notifyMessage

建立好後,於昨天同一資料夾建立ngrokService.js,宇昨天的程式碼相似,只是建立於http server並使用response 200作為確認

const http = require('http')
const googleHome = require('google-home-push');
const config = require('./config')

console.log(config)
const accent = "zh-CN"
const language = "zh-CN"


const notifyToGoogleHome = http.createServer((request, response) => {
    let body = []
    request.on('data', (chunk)=>{
      body.push(chunk)
    }).on('end', ()=>{
  
  body = JSON.parse(body)
  const notifyMessage = body.notifyMessage
  console.log("It is http body: "+body)
  

  const options = {
    language: language,
    accent: accent,
  }
  
  for(let i = 0; i<config.moudule.length; i++){

    const googleHomeIp = config.moudule[i].ip
    const myHome = new googleHome(googleHomeIp, options)
    console.log(myHome)
    myHome.speak(`${notifyMessage}`)
    
  }
  
}).on("error", (err)=>{
  console.log(err.message)
})


response.writeHead(200,{
  'Content-Type': 'application/json',
  'X-Powered-By': 'bacon'
})
response.end()

});

notifyToGoogleHome.listen(5000);

建立好後,藉由postman進行send動作後即可成功在外網進行資料推播。


上一篇
Day5 如何用tts推播
下一篇
Day7 如何用tts推播(3,建立firebase)
系列文
手拉手教自己用樹梅派、GoogleHome、GCP做一個AI智慧提醒機器人!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言