## <span style="color: lime">LINE</span> Simple Beacon # <span style="color: gold">Workshop</span> <span style="font-size: 20px">https://hackmd.io/@taichunmin/chatbot-tw-202002</span> Note: 在 LINE 聊天機器人中,有一個 webhook 的事件類型是 beacon,可以讓我們來取得使用者的定位,並且根據使用者的位置來提供內容,本次議程是工作坊類型,講者將會準備 20 組 ESP32-DevKitC 來借大家製作自己的 LINE Simple Beacon。備註:本次議程需自備電腦,一條 Micro USB 的線,並提前安裝好 Arduino 軟體,講者準備借給大家的 ESP32-DevKitC 數量有限,議程結束後需歸還,晚到者可能需要與他人同一組。 --- ## Who am I? <table class="about-me"> <tr> <td><img src="https://www.gravatar.com/avatar/8d9b432d861e4ac0e40954a800ae90a1?s=2048" class="avatar"></td> <td> <ul> <li>戴均民</li> <li>現職 <span style="color: #e2231a">微程式資訊</span></li> <li>後端工程師</li> <li><a href="https://github.com/taichunmin/" target="_blank"><i class="fa fa-fw fa-github"></i>taichunmin</a></li> </ul> </td> </tr> </table> <style> img.avatar { border-radius: 50%; width: 300px; } </style> --- # Beacon 是什麼? --- ## 一個一直在進行藍芽廣播的裝置 --- # Beacon 能做啥? --- # 定位 透過藍芽訊號大小來計算使用者的距離 --- * 在小空間內佈置很多 Beacon * 根據每個 Beacon 的訊號大小來估算距離 * 利用 Beacon 距離來定位 --- ## 但我們今天的主角 # 不是 Beacon --- # LINE ## Simple Beacon --- * 閹割版 Beacon (功能受限) * 用戶有裝 LINE 和開權限就能用 * 免費版要加官方帳號好友才能用 * 透過 Message API Webhook 收資料 * 不會告訴你藍芽訊號大小 --- # 實際案例 <span style="font-size: 20px">以下部分內容取自 LINE 官方投影片</span> --- ![](https://i.imgur.com/6bsIV6V.jpg =x600) --- <table> <tr> <td><img src="https://i.imgur.com/3EgSmGI.jpg" height="600"></td> <td><img src="https://i.imgur.com/8refDMv.jpg" height="600"></td> </tr> </table> --- <table> <tr> <td><img src="https://i.imgur.com/8zS4q4R.jpg" height="600"></td> <td><img src="https://i.imgur.com/HBNcGwy.jpg" height="600"></td> </tr> </table> --- ![](https://i.imgur.com/iIwwjkb.jpg =x600) --- <table> <tr> <td><img src="https://i.imgur.com/Ep88AqM.jpg" height="600"></td> <td><img src="https://i.imgur.com/ovxY2Su.jpg" height="600"></td> </tr> </table> --- ![](https://i.imgur.com/5XxJR4O.jpg =x600) --- {%youtube QoFjCVCFMWQ %} --- ![](https://i.imgur.com/eSTzzC3.jpg =x600) --- # 桃園打卡活動 ### 2020/06/22 ~ 2020/07/12 --- * 在桃園<span style="color: lime">前 24 大</span>的站架設 Beacon * 每 3 次打卡獲得 LINE POINTS 10 點 * <span style="color: lime">約 800 人</span>打過卡 * 累計打卡<span style="color: lime">約 2200 次</span> * <span style="color: lime">超過 34%</span> 的人去超過 1 站打卡 * <span style="color: lime">4%</span> 使用者成功去 24 站打卡 --- # 來讀個文件 --- ## webhook 事件類型 * 用戶靠近 <span style="color: gold">(enter)</span> * 用戶遠離 <span style="color: gold">(leave)</span> (即將移除) * 待在附近 <span style="color: gold">(stay)</span> (需申請) * 從廣告進來 <span style="color: gold">(banner)</span> (需申請) --- ## Simple Beacon 專屬 ## Device Message (dm) * 最多 13 個 bytes * 突破 10 個 HWID 的限制 --- # 前置準備 * 一個能廣播 BLE 的裝置 * 一個 Message API 頻道 --- ## 這次議程使用 [ESP32](https://item.taobao.com/item.htm?id=542143157571) * 新手建議型號:`ESP32-DevKitC-32D-F` * 售價:<span style="color: gold">RMB $55 / 個</span> * 從大陸運回台灣的<span style="color: gold">運費另計</span> Note: ## 因為公司需要報帳 跟 [上富科技](http://www.sunrich-teck.com/inquiry_search_result.php?keywords=esp32&imageField.x=0&imageField.y=0) 買平均<span style="color: gold">約 TWD $300 / 個</span> ![](https://i.imgur.com/znCieHa.png) --- ![](https://i.imgur.com/FfFbXjI.png) --- # 測試經驗分享 --- # 高溫濕度測試 ## 2019/07/04 --- # 情境 * 供電:行動電源由機器外供電 * 溫度:<span style="color: lime">攝氏 80 度</span> * 濕度:相對<span style="color: lime">濕度 85 %</span> * 測試流程: * 加熱 30 分 * 恆溫恆濕 <span style="color: lime">6 小時</span> * 自然降回常溫 --- ![](https://i.imgur.com/g9Cjxm2.jpg =x600) --- <table> <tr> <td><img src="https://i.imgur.com/6YDQxCP.jpg" height="600"></td> <td><img src="https://i.imgur.com/At95Jef.jpg" height="600"></td> </tr> </table> --- # 總結 ESP32 在測試過後,仍正常運作 --- ### 但是鋰電池和水銀電池 ### 在這種極端環境下 ### 都沒辦法正常運作 --- ## LINE Beacon 實測 ## 2019/10/04 --- # 廣播資料格式不同 ![](https://i.imgur.com/JO66YlB.png) --- ![](https://i.imgur.com/Ao5mavX.png =x600) --- # 結論 * iBeacon 和 LINE Beacon 的 訊號切換間隔大約是 <span style="color: lime">150 毫秒</span> * 時間戳記大約 <span style="color: lime">15 秒</span>增加一次 * 斷電期間時間戳記<span style="color: lime">不能歸零</span> * 斷電期間時間戳記<span style="color: lime">不會增加</span> --- # 參考資料 * [GitHub: line/line-simple-beacon](https://github.com/line/line-simple-beacon) * [GitHub: taichunmin/line-simplebeacon-esp32](https://github.com/taichunmin/line-simplebeacon-esp32) * [LINE Beacon,數位導覽的小幫手!(@陳佳新)](https://www.slideshare.net/jarsing/line-beacon-220894171) * [LINE Simple Beacon,讓你的 bot 不 Simple (@Hazel)](https://www.slideshare.net/linecorp/line-simple-beaconbotsimple) * [Mac 也能當 LINE Beacon!](https://stringpiggy.hpd.io/mac-line-simple-beacon/) * [Line Beacon 實作 (Python/Golang)](https://ithelp.ithome.com.tw/articles/10209703) * [玩玩看 LINE Beacon (NodeJS/Golang)](https://www.evanlin.com/til-nodejs/) --- # 工作坊實做時間 遇到問題可以舉手發問喔! <small>https://taichunmin.idv.tw/blog/2020-07-13-line-simple-beacon-workshop.html</small> --- # [用 ESP32 自製八合一 LINE Beacon](https://hackmd.io/@taichunmin/chatbot-tw-202103) --- # 感謝參與 # Q & A
{"metaMigratedAt":"2023-06-15T03:13:31.847Z","metaMigratedFrom":"YAML","title":"LINE Simple Beacon Workshop","breaks":true,"description":"<span style=\"font-size: 20px\">https://hackmd.io/@taichunmin/chatbot-tw-202002</span>","contributors":"[{\"id\":\"0d9a5e06-1f92-4142-b9df-fed4c8873573\",\"add\":10793,\"del\":5592}]"}
    5170 views