發表文章

目前顯示的是 10月, 2024的文章

MIT App Inventor 2 MQTT

圖片
MIT App Inventor 2 用積木來寫手機上的 APP 程式,非常方便。但是沒有 MQTT 的功能,須要安裝擴充程式。這邊使用的是 Ullis Roboter Seite 的  AI2 MQTT Extension : 把畫面往下捲到 Download 點選下載連結,檔名為 UrsAI2Paho.ZIP。解開壓縮檔會得到一個資料夾,內容如下: 我們會需要用到 de.ullisroboterseite.ursai2pahomqtt.aix 這個檔案,其他資料夾都是參考的資料。 接著登入到 MIT App Inventor 2 網站,開啟新的專案。在左邊元件面板點開「擴充套件」,再點選「匯入擴充套件」,然後選取剛才解壓縮得到的 de.ullisroboterseite.ursai2pahomqtt.aix 上傳上去。 完成後就會看到有一個 UrsPahoMqttClient 元件,然後把這個元件拉到中間的「工作面板」畫面裡,但因為這個元件是「不可見的元件」,所以只會出現在最底下。 然後在右邊的元件內容裡,「Broker」填入你要使用的 MQTT Broker 伺服器網址,「Port」若伺服器沒有特別指定則沿用內定的 1883。 接下來的畫面佈置請參考下列畫面:  畫面中有二個標籤是文字內容預先清除的:「連線狀態」、「接收到的訊息」。 切換到程式設計畫面,將連線按鈕.被點選放入UrsPahoMqttClient1「連線」積木、斷線按鈕.被點選放入 UrsPahoMqttClient1「斷開連線」積木。 接下來要顯示是否已經連線到 Broker,若有連線則訂閱我們指定的主題,使用 UrsPahoMqttClient1.ConnectionStateChanged 積木(連線狀態改變)、UrsPahoMqttClient1.Subscribe(訂閱): 「送出訊息」的按鈕填入 UrsPahoMqttClient1.Publish 發佈按鈕: 最後在收到訊息時,要顯示在「接收到的訊息」標籤上,使用 UrsPahoMqttClient1.收到簡訊積木: 以上都完成後,就可以開始測試我們的 APP 啦!因為 MQTT 至少是要有二邊互相測試,一邊用我們做的 APP,另一邊就使用法蘭斯老師用 Ja...

SpBlocklyJS 積木介紹

圖片
SpBlocklyJS 是由法蘭斯老師所寫的積木,可以用來生成 JavaScript 程式碼在網頁瀏覽器中執行。積木的用法跟 BlocklyDuino 很像,除了提供物聯網的功能外,也提供了很多 AI 應用的功能。 SpBlocklyJS 本身放在雲端,由下列網址進入即可執行,沒有安裝程序: https://fustyles.github.io/webduino/SpBlocklyJS/index.html 或者在 BlocklyDuino 積木上面的按鈕也可以自動打開瀏覽器連接到 SpBlocklyJS。

ESP32 大型程式碼的空間設定與 PSRAM 設定

圖片
 在 ESP32 內建的快閃記憶體中,除了用來分配給儲存上傳程式碼的空間之外,還保留有一些其他用途的空間。所以我們的程式碼需要比較大的儲存空間時,快閃記憶體的空間就需要重新分配才能容納。所以如果在燒錄時出現如下的錯誤訊息,就表示程式碼的儲存空間不夠放了: "text section exceeds available space in board" "Sketch too big; see https://support.arduino.cc/hc/en-us/articles/360013825179 for tips on reducing it." 在 BlocklyDuino 積木改變快閃記憶體的空間分配,要啟動內建的 Arduino IDE 介面。首先要將目前的程式存檔,才能開啟 Arduino IDE 介面。請先儲存積木程式畫布,然後按下右上角的「啟動 Arduino IDE」: 進入 Arduino IDE 介面後,點選上面選單的「工具」、「開發板:」,如果不是顯示 ESP32 Dev Module 的話,請切換成 ESP32 Dev Module。 再點選一次選單的「工具」,底下看到 「Partition Scheme」,若沒有修改過應該是內定的「Default 4MB with spiffs」: 請把它改成「Huge APP」。 有些程式會需要使用到 PSRAM,例如 ESP32 連接到鏡頭時,就要把 PSRAM 的選項設為「Enable」。 設定完成後,直接在右上角叉叉關閉 Arduino IDE 介面回到 BlocklyDuino 即可。

V7RC Wi-Fi 版

圖片
 V7RC 是由嵐奕科技有限公司所開發的一款 APP 程式,可以安裝在 Android 或 iOS 的手機或平板上使用。它讓手機(或平板)模擬成一個遊戲控制器(遊戲手把),並且有藍牙連接與 Wi-Fi UDP 二種方式連接你的裝置,本篇介紹 Wi-Fi 的連接方式。它另外提供錄影的功能,可以利用手機的鏡頭錄影或者透過 Wi-Fi 連接外接鏡頭錄影(請參考 V7RC ESP32-CAM 版),並且疊合遊戲手把操作的影像,錄製遊戲的過程。APP 的官方下載連結如下: Google Play   Apple Store  

V7RC BLE 藍牙版

圖片
 V7RC 是由嵐奕科技有限公司所開發的一款 APP 程式,可以安裝在 Android 或 iOS 的手機或平板上使用。它讓手機(或平板)模擬成一個遊戲控制器(遊戲手把),並且有藍牙連接與 WiFi UDP 二種方式連接你的裝置,本篇先介紹藍牙的連接方式。它另外提供錄影的功能,可以利用手機的鏡頭錄影或者透過 WiFi 連接外接鏡頭錄影,並且疊合遊戲手把操作的影像,錄製遊戲的過程。APP 的官方下載連結如下: Google Play   Apple Store  

KSB065 的彩色 TFT 螢幕

圖片
 KSB065 內建 TFT 彩色液晶螢幕(型號 ST7735),解析度為 160X128。使用時,DIP SW1-5 到 SW1-8 這四個一定要 ON,訊號才能送到螢幕,其他 SW 可視需要決定。(使用 ESP32 時DIP SW3 及 SW4 要全部都 ON) 在 TFT 螢幕的右側有一個比較小的電源開關,要打開螢幕才會亮。大的開關則是針對鋰電池或它旁邊 USB 電源插座通到整塊板子的電源開關,若由 ESP32 的 USB 供電則此開關不影響整個板子的電源。 吉哥積木的 KSB065 TFT 積木放在「吉哥積木/ESP32/模組/TFT彩色螢幕」,請注意不是在「吉哥積木/ESP32/KSB065」裡面喔!

KSB065 原廠文件連結

圖片
KSB065 Home Automation Board 家庭自動化擴展板簡介 micro:bit 使用說明 PocketCard ESP32 使用說明 NodeMCU-32S ESP32 使用說明 Raspberry Pi Pico /Pico W 使用說明 排針腳位 對應表格 Camera腳位 對應表格 指撥開關腳位 對應表格

KSB065 DIP SW 與擴充針腳

圖片
  KSB065 有四個,分成二組:SW 1 & SW 2、SW 3 & SW 4,用來控制 ESP32 插座、microbit 插座、擴充針腳與板上元件之間的連結。當你要使用擴充針腳或是板上的共用元件時,必須要調整 DIP SW 以避免衝突。 DIP SW 原理圖 想像上排的 DIP SW 1 、 DIP SW 2 跟下排的 DIP SW 3、DIP SW 4 的中間有一條橫向匯流排(圖中橘色線路),同時接到 microbit 插座及擴充針腳。 DIP SW 1 、 DIP SW 2 往上接到板上內建的 I/O 元件,所以要使用內建的 I/O 元件時,上排的 DIP SW 1 及 DIP SW 2 對應的開關一定要打開。 DIP SW 3、DIP SW 4 往下接到 ESP 32 的 GPIO,所以要打開才能接通到匯流排,這樣子擴充排針才能使用。

BlocklyDuino 積木安裝

圖片
  BlocklyDuino 積木安裝 + 吉哥積木 + 法蘭斯積木 BlocklyDuino 積木是聯發科所開發出來的積木,特別是針對自家的LinkIt™ 7697及MediaTek Cloud Sandbox雲端服務。使用積木來寫單晶片程式可以簡單許多,不只適合初學者,也可以開發較複雜的程式。因為積木最後還是翻譯成 Arduino 的程式碼,利用裡面的 Arduino IDE 做燒錄的動作,所以進階的使用者可以把翻譯出來的 Arduino 程式碼複製下來,自行修改後再用 Arduino IDE 做燒錄,是一個很有彈性的工具。 由於 BlocklyDuino 積木可以讓別人自己擴充功能,所以劉正吉老師開發了吉哥積木、法蘭斯老師開發了法蘭斯積木,還有其他老師及公司的積木也都加進去裡面。但是因為積木的擴充功能是放在雲端上的, 所以使用積木時,一定要連上網路,這點非常重要! 安裝BlocklyDuino 積木請參考 吉哥老師的說明並從吉哥老師的雲端硬碟 下載安裝檔,目前的版本只要先下載一個主程式檔,然後再下載一個最新的更新檔即可,不用再像早期要自己手動安裝好幾個檔案。而且積木有更新時,只要下載最新版更新檔,直接解壓縮並覆蓋舊檔案即可。建議程式解壓縮出來的資料夾要直接建立在磁碟的根目錄(例如 C:\ 或 D:\),因為子目錄的路徑長度很深,如果沒有從根目錄開始,有可能會因為路徑長度而產生錯誤。 因為積木是「綠色軟體」,整個安裝過程只是解壓縮檔案寫入資料夾而已,沒有做任何系統設定的動作,所以將來要移除積木也不用特別的反安裝軟體,直接刪除資料夾即可。不過要使用積木時,只能自己打開資料夾再點開執行檔,較為麻煩。可以把積木執行檔在桌面建立捷徑(右鍵、桌面建立捷徑),使用起來會比較方便。 如果這台電腦之前沒有使用過其他單晶片燒錄程式(例如Arduino IDE),那還必須安裝 USB 介面程式,積木的燒錄程式才能連上單晶片。常用的USB介面程式有: CP2102N (LinkIt™ 7697會用到):DOWNLOADS、Windows Driver 下載並執行安裝程式。 CH340 (ESP32 常用這個):捲到下方的「驅動程序」下載對應的安裝程式並執行之。

BlocklyDuino 積木操作重點

圖片
  BlocklyDuino 積木的基礎操作請參考下面的 教學網頁 (均一教育平台)。積木經擴充為 F2 版之後,底下再補充一些差別跟重點: 燒錄前準備 COM埠設定 右上角的 COM 埠, 要在單晶片的 USB 線接上後才能設定 ,通常選擇號碼最大的那個就可以了。但是因為電腦的USB插槽如果有更換,COM 埠也會換,所以燒錄前最好再檢查一次。 開發板設定 積木有二個地方要設定開發板種類,一個在右上角COM 埠的旁邊,裡面有較多仔細的開發板種類選項。另一個在「開發板初始化」的積木就只要針對單晶片種類來選擇即可。 記得二者都要設定正確 ,而且重新開啟積木後,也要再設定一次。 燒錄時注意事項 開始燒錄 先按下上方的燒錄圖示,會出現「下載韌體」的視窗,還要再按「下載」鈕才會開始燒錄。 修改程式重新燒錄 燒錄結束後,可以先檢視燒錄過程的訊息看有沒有什麼錯誤訊息。 如果有修改積木,要先關閉「下載韌體」的視窗 ,再按燒錄圖示重新打開「下載韌體」的視窗,這樣才會把新的程式碼燒錄進去。 BlocklyDuino 積木的存檔及開啟舊檔的方式 選擇存檔資料夾 依個人習慣,可以先開一個資料夾集中存放積木程式。 新的積木第一次存檔時,會以另存新檔的方式存檔。 按下上方的儲存圖示後,先出現選擇資料夾的視窗。按下確定後,接下來輸入檔案名稱。請注意, 檔案名稱不能使用中文 ! BlocklyDuino 積木在存檔時,會以檔名在指定的資料夾中先建立一個資料夾,然後在這個資料夾裡面再存入二個相同檔名的檔案,一個是 Arduino 格式的 ino 檔,另一個是積木畫布用的 xml 檔。如果要複製這個積木程式,必須 把資料夾連同裡面的二個檔案一起複製 。 開啟存檔的積木 開啟舊檔,把之前存檔的積木開啟時,要選擇存檔檔名的那個資料夾(例如:test1),才能把積木打開。 下載積木畫布圖檔 在積木的畫布任何的空白區域按滑鼠右鍵,點選「下載積木圖片」就可以把積木畫布全部存成圖檔,比自己用螢幕截圖來的方便且完整。 清除積木畫布 清除積木畫布的圖示是一支鉛筆,按下去會把積木畫布程式全部清掉,請小心。按下去後會出現一個提示視窗「重設」,若按「是」就會直接全部清掉了。要自己記得先存檔喔!