發表文章

目前顯示的是有「Webduino Blockly 「積木方城市」」標籤的文章

Webduino Blockly 「積木方城市」:使用雲端部署後,如何與開發板裝置進行互動?

圖片
 Webduino 雲端平台目前有提供六小時的免費雲端部署服務,可以讓 Webduino Blockly 專案檔直接在 Webduino 伺服器上自動運行,相當的方便!詳細的使用方式,可以參閱: Webduino 雲端平台: https://cloud.webduino.io/ Webduino Blockly 「積木方城市」:雲端部署功能正式上線,全自動運行 Webduino 更方便!   但是,當專案檔在雲端部署運行時,如果想要與開發板進行互動,或是取得開發板即時取得的數據資料時,該如何處理呢? ※ 答案要從 Webduino 的開發板程式積木的尋找: 協同控制   因為專案進行雲端部署時,等同有一個裝置連線至開發板上,因此,必須核選「協同控制」,才能讓第二、第三個連線裝置同時進行控制,以達到多 人同時控制開發板的需求! 以下,我們以如下的程式積木進行測試,可以在遙控器的螢幕上顯示目前偵測到的光敏數值,但是又可以透過遙控器上的按鈕,進行三色 LED 燈的控制。    ※ 執行結果           ※ 教學資料總整理: 跟著 Webduino 一起 Smart 學習 https://sites.google.com/view/cfp-webduino-smart/ Sweet Home 3D 教學總整理:https://sites.google.com/view/sweethome3d-tw/ OBS Studio 虛擬攝影棚教學總整理:https://sites.google.com/view/obs-tw 翻轉教學「現形記」教學總整理:https://sites.google.com/view/teachers-tools/ ※ 延伸閱讀: 1091106 成功國中:Webduino 智慧小木屋研習  1091007 成功國中:Webduino 環保紙風車研習   1090908、0910 南投創客基地:Webduino 基礎與進階課程 Webduino 積木方程式:用 MQTT 做到多裝置協同互動 LED 燈控制 Webduino 動手做系列:Smart + mini 麵包板,教學專用3D列印底板 V2 (打火機縮小版)  ...

Webduino 積木方程式:用 MQTT 做到多裝置協同互動 LED 燈控制

圖片
  最近有某藝術學校同學詢問,想要與國外藝術表演者,透過網路連動兩盞燈,想了解 Webduino 該如何達到這樣的效果!   ↑ 同學設計的檯燈造型 ↑ 這位同學很認真的實做出他的初步成果囉! ※ 20201115 更新 目前同學已經完成最後作品,將燈運到法國,也有連上了!~他們的展覽最近也開始了! 2020大臺北當代藝術雙年展_真實世界 AuthenticWorld https://www.facebook.com/events/1021544675029465/?event_time_id=1021544741696125 ↑在法國的燈   ↑在臺灣的燈   在這邊將分享給同學的 Webduino 程式做一個記錄,也提供給有需要的朋友們參考,如何使用 MQTT 的方式,進行多個裝置間的互動! 如果對於在 Webduino 中使用 MQTT 還不是很了解,可以參考以下這兩篇文章: Webduino Blockly 「積木方城市」:用 MQTT 做到真正 Webduino 網頁協同同步顯示裝置狀態 Webduino Blockly 「積木方城市」:用 MQTT 打通所有 Webduino 開發板的「任督二脈」 一、Webduino 雙開發板程式說明 因為使用 MQTT 方式進行互動控制,所以在「開發板」積木上,不需要核選「串聯」喔! ※關於為什麼使用 MQTT 而沒有使用 Webduino 內建「串聯」的想法 其實如果以 Webduino 內建「串聯」的方式來控制多個裝置是相對比較簡單!但是考量到對方是從事表演藝術,所以盡可能讓他只要用電源開關能連上網就好,其餘的都由同一個程式來處理;加上有可能表演場所若連線不穩,有斷線重連可能性時,用「串聯」就可能會出問題!若是 MQTT 的方式,只要開發板隨時上線,一接到訊息就可以有作用! 不用擔心斷線重連的問題!       二、Webduino 雙開發板控制 Demo       三、Webduino 雙開發板控制共享檔案 使用以下檔案時: 必須先到 Webduino 雲端平台 https://cloud.webduino.io/?lang=zh-tw 註冊帳號 開啟後,只要任意移動一個程式積木,就會自動在您的程式碼檔案清...

Webduino Blockly 「積木方城市」:用 MQTT 做到真正 Webduino 網頁協同同步顯示裝置狀態

圖片
在前一篇「 Webduino Blockly 「積木方城市」:用 MQTT 打通所有 Webduino 開發板的「任督二脈」 」文章中,介紹在 Webduino 中如何使用 MQTT 進行多個開發板間的訊息溝通,在這次的文章將再來探討,如何用 MQTT 做到真正 Webduino 網頁協同同步顯示裝置狀態! 在以下的 Webduino 官方 Demo 影片中,可以看到電腦與行動裝置畫面可以隨著 Webduino 的 RFID 裝置的切換,同步更新顯示! https://youtu.be/OrTTr74UKgU 雖然透過核選開發板積木上的「協同控制」可以達到多個連線裝置同時控制 Webduino 開發板,但是,不同裝置上的畫面是各自獨立的,並不會隨著其中一個裝置的操控而同步將其他裝置上的畫面一併進行更新!如果想要達到 Webduino 官方 Demo 影片中的效果,只要用 MQTT 就可以完成喔! 一、先來看看使用 MQTT 協同同步顯示網頁的執行結果: 二、Blockly 程式說明:初始化設定與 MQTT 接收訊息的設定 ※ 20200817 補充: 在 2019 年 Webduino 已經修正 MQTT 預設積木如下圖,如果沒有要使用特定 MQTT 伺服器時,就不需要加入「連線至 MQTT 伺服器」積木,只要使用「MQTT」的第三個「 當從 my/topic 收到訊息時…執行 」積木,就會直接使用 Webduino 預設的 MQTT 伺服器來發送訊息! 三、Blockly 程式說明:點擊燈泡時的變數設定與 MQTT 傳送訊息的設定 四、Blockly 完整程式:加入 Smart 開發板與 LED 燈 MQTT 點擊燈泡 Blockly 程式專案檔(需先登入 Webduino 雲端平台 後,才能正確開啟!) MQTT1 點擊燈泡: https://blocklypro.webduino.io/#7nL15rvxpD MQTT2 點擊燈泡: https://blocklypro.webduino.io/#kErVBPAM2V MQTT1 點擊燈泡與MQTT2 點擊燈泡的程式內容完全相同,主要是讓大家可以方便同時開啟兩個專案進行測試,實際體驗透過 MQTT 的方...

Webduino Blockly 「積木方城市」:用 MQTT 打通所有 Webduino 開發板的「任督二脈」

圖片
目前 Webduino 共有四個開發板:Fly、馬克 1 號、Smart 與 Webduino Bit,前三個開發板,可以透過「開發板」積木的「串聯」功能,彼此連線控制,並進行資料傳輸!但是 Webduino Bit Blockly Beta 版則還沒有加入這個功能,只能暫時「孤軍奮戰」!(相信官方未來也會加入此功能!) ※ Blockly 體驗版與模擬器沒有支援 MQTT,必須先在 Webduino Cloud 雲端平台 註冊登入,才有支援此功能喔! 不過,您不用擔心,其實在 Webduino 雲端平台的 Blockly 與最新推出的 Webduino Bit 教育版(有線上版與軟體版),都有支援 MQTT 的功能,只要透過「廣播」就能在不同的開發板間互相傳遞訊息! Web Bit 教育版(線上版): https://webbit.webduino.io Web Bit 軟體版(安裝版): https://ota.webduino.io/WebBitInstaller/WebBitSetup.exe 當然,其他的裝置或是網站,只要知道如何使用 MQTT,一樣可以跟 Webduino 開發板做溝通!如此看來,只要會使用 MQTT,不只打通 Webduino 各開發板間的「任督二脈」,更可以成為 Webduino 與其他服務合作的管道! 一、什麼是 MQTT Message Queueing Telemetry Transport(訊息佇列遙測傳輸),為 IBM 和 Eurotech 共同製定的通訊協議,目前主要是做為 IoT 物聯網裝置間,在有限網路頻寬與處理能力情形下的通訊協議。 https://www.wikiwand.com/zh-tw/MQTT 二、MQTT 的使用 MQTT 主要是採用「發佈與訂閱」的機制,由發佈者先在伺服器上建立一個「Topic 主題」,例如「智慧家庭」,接著,只要訂閱者「訂閱此主題」,就可以在發佈者有訊息發佈時,收到此主題的訊息! ※ 建議您可以參考「 網昱多媒體:MQTT教學(一):認識MQTT 」文章,就可以對 MQTT 有更進一步的了解! 三、Web:Bit 網路廣播 (MQTT) 官方教學 目前官方網站上已經有針對「...

Webduino Blockly 「積木方城市」:雲端部署功能正式上線,全自動運行 Webduino 更方便!

圖片
以往在 Webduino 教學上,都會比較強調在「互動性」的應用,因為要像 Arudino 那樣自動運行 Webduino Blockly,必須在自己的電腦上撰寫 Node.js,或是尋找有支援 Node.js 的主機來完成,對於這個部份比較不熟悉的人就不容易達成這樣的目的! 現在 Webduino 官方在雲端平台上正式推出「雲端部署」功能,只要免費註冊帳號,就可以擁有一個雲端部署的專案,目前雖然只能部署六小時,但是這個對於短時間的監測其實是很有幫助的!當然,希望未來能有更長的執行時間,這樣要達到「全自動運行」的目標就更近了! ※ Webduion 雲端平台: https://cloud.webduino.io Webduino 官方「雲端部署」宣傳影片: https://www.youtube.com/watch?v=YCpSkXqHTyk 當 Blockly 專案內容撰寫完成,就可以依下面的步驟進行「雲端部署」囉! 若 Blockly 程式執行有問題時,則會出現這樣的訊息! 最近因為 3D 印表機剛送修回來,正好可以使用雲端部署功能來做列印時的溫度與溼度監測!配合 Google 試算表寫入的功能,就能取得即時監測資料,並自動產生圖表,真的很方便! 萬一網路斷線,或是電源斷電後重新接上,那雲端部署的程式是否會繼續執行呢? 答案:是的,雲端部署會等待開發板重新上線後繼續執行,完全不用擔心喔! 另外,值得一提的是,最近 Webduino 的 Smart 韌體更新 3.2.5:支援 3 組 WiFi 設定 ,這個對於設備的連線穩定與教學上也是非常方便的,因為以前只能支援 1 組 WiFi,萬一設備更換或是網路不通時,就需要再進入開發板中重新設定,會浪費不少時間。有了這樣的功能後,開發板就可以依據這 3 組 WiFi 設定自動切換。 進入 Smart 開發板 192.168.4.1 設定頁面,就會看到新的韌體版本,共有以下有三個分頁資訊: 開發板資訊 三組 WIFI 設定 Webduino 目前連線資訊 Smart 開發板認證與韌體更新的方式...