Arduino IoT Cloud開始與ChatGPT聯(lián)機運作
近期ChatGPT如雷貫耳,已經(jīng)不用筆者多解釋,但ChatGPT與創(chuàng)客的最愛Arduino扯上關(guān)系,倒是值得關(guān)注一下,是怎樣扯上關(guān)系呢?
這主要是有人發(fā)起一個項目,項目就放在Arduino官方的Project Hub上,該項目可以讓Arduino IoT Cloud云端服務(wù)與ChatGPT溝通互動,中間則透過一片開發(fā)板轉(zhuǎn)介訊息,開發(fā)板可以是任何已經(jīng)與Arduino IoT Cloud云端服務(wù)兼容的板子,例如Arduino Nano RP2040 Connect、Arduino MKR WiFi1010或任何以ESP32/ESP8266為主控芯片的開發(fā)板。
一步一步建立聯(lián)機
要讓Arduino IoT Cloud與ChatGPT溝通互動,還要一些前置準備,首先要到OpenAI公司的網(wǎng)站上申請一個賬號,進而建立一組API密鑰,然后在線刷信用卡付費儲值,儲存一些等待被耗用的token(有時翻譯成令牌),一旦跟ChatGPT文字對話就會開始耗,印象中1,000個token需要0.002美元。
接著,Arduino IoT Cloud網(wǎng)站上要有賬號可以登入,然后建立一個裝置(Device)、建立一個事物(Thing)、設(shè)定變量等,而后把裝置與事物關(guān)聯(lián)起來,以及把裝置設(shè)成可透過Wi-Fi聯(lián)機。
在Arduino IoT Cloud上設(shè)定變量
再來,開發(fā)板上要執(zhí)行程序(sketch),程序其實已經(jīng)有范例可用,在項目網(wǎng)站上可以找到,但有一些地方需要改,例如與API密鑰相關(guān)的部份要改,進一步的細部修改則可以限定ChatGPT回答的最多字數(shù),以免token的耗用速度失控,這需要改范例程序中的maxTokens變量。
關(guān)于token,無論是問(人工打字輸入)或答(ChatGPT回復(fù))都會耗用的,但輸入既然是人,人可以自我克制來節(jié)約使用token,但ChatGPT的回話可能一長串,導(dǎo)致過度耗用token,故需要事先限制。
如果想連輸入的文字也先行計算會使用多少token,其實OpenAI也提供一個在線工具Tokenizer可以試算,例如筆者打:如何買彩券?Tokenizer就回復(fù)我共計用了6個字符,等同于14個token;或筆者打:臺灣今年有沒有臺風(fēng)來?則為11個字符、28個token。token涉及ChatGPT如何拆字解析等機理,在此難以詳述。
OpenAI提供Tokenizer工具供人事先計算輸入的問句會耗去多少個token
或者,也可以改用其他的API端點,這需要改apiEndpoint變量;或者也可以改變使用的語言模型,這需要調(diào)整OpenAImodel變量。另外Arduino IoT Cloud上也要建立一個儀表板(dashboard)好用來觀看問答信息。
附注:上述的相關(guān)工作,例如建立裝置、事物、儀表板等,覺得逐一手動操作完成很累,也可以用Arduino CLI命令行方式來完成。
Arduino IoT Cloud上的儀表板觀看ChatGPT問答記錄
附帶一提,也不一定要死守在桌機筆電前用瀏覽器來對ChatGPT打字,Arduino官方過往即有一個手機App,即Arduino IoT Cloud Remote,將App安裝于Android或iPhone手機上就可以用手機輸入文字,然后獲得ChatGPT回復(fù)。
此外,范例程序其實也刻意設(shè)計成開發(fā)板上的LED燈號每2秒閃爍一次,好告訴使用者板子還活著、還在動作,而不是掛掉無響應(yīng)(有時問跟答都需要一段反應(yīng)時間,過久沒響應(yīng)會真的以為停擺了),如果嫌這個燈號礙眼,也可以事先修改范例程序,將這段功能關(guān)閉。
目前只是打地基
講到這里,各位可能覺得上述作法有點脫褲子放屁,干脆讓Arduino IoT Cloud直通OpenAI的ChatGPT就好,畢竟兩套服務(wù)系統(tǒng)都在云端,中間何必又經(jīng)過一片Arduino開發(fā)板呢?
其實這是個布局,這個項目目前把Arduino IoT Cloud云端服務(wù),當(dāng)成是開發(fā)板暫時借用的輸出輸入界面,輸入是在云端上打字,觀看回復(fù)的輸出也是在云端上觀看,而更下一步是在開發(fā)板上建立更親和的輸入方式,例如接上麥克風(fēng)與配置語音識別軟件,如此就可以用發(fā)話方式,將語音轉(zhuǎn)成文字傳給ChatGPT。
反過來,開發(fā)板后續(xù)可以接上顯示器,ChatGPT的回復(fù)可以透過顯示器輸出,不一定要再透過筆電或手機觀看。或者,也可以透過喇叭與文字轉(zhuǎn)語音功能,直接用發(fā)話方式告知詢問者,如此就形同打造一個Amazon Echo系列智能喇叭,只是連到云端的部份不是使用Alexa,而是ChatGPT。同理,也類似使用Google Nest系列喇叭與Google Assistant,或者Apple的HomePod mini與Siri。
事實上確實已有其他項目具備顯示器來顯示ChatGPT回復(fù)的信息,運用一片128 x 64分辨率的OLED顯示器來顯示,開發(fā)板則是一片GIGA R1 WiFi,控制程序則用MicroPython撰寫成。
用SSD1315的OLED顯示器來顯示ChatGPT回復(fù)的文字
最后,筆者估計未來會有愈來愈多項目用類似的發(fā)展手法,只要不是很嚴格要求立即反應(yīng)的輸入與輸出,都會先用Arduino IoT Cloud或類似的云端服務(wù)來暫時充當(dāng)開發(fā)的輸出入接口,先得到概念驗證(POC),等確實可行后,再給開發(fā)板裝配上真的輸出入硬件、人機互動接口等設(shè)計,類似的云端先行開發(fā)驗證手法也已經(jīng)用于一些芯片設(shè)計、車用信息系統(tǒng)設(shè)計,看來往后云端服務(wù)與技能對創(chuàng)客而言將愈來愈重要。
審核編輯:湯梓紅
-
OLED
+關(guān)注
關(guān)注
119文章
6267瀏覽量
227030 -
Arduino
+關(guān)注
關(guān)注
188文章
6489瀏覽量
190029 -
IOT
+關(guān)注
關(guān)注
187文章
4279瀏覽量
200520 -
Cloud
+關(guān)注
關(guān)注
0文章
73瀏覽量
5554 -
ChatGPT
+關(guān)注
關(guān)注
29文章
1586瀏覽量
8779
原文標題:Arduino IoT Cloud也搭上了ChatGPT熱潮!
文章出處:【微信號:易心Microbit編程,微信公眾號:易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
為什么arduino連接電腦后電腦就重啟了?
STM32參考設(shè)計之 Cloud & NB-IoT應(yīng)用
如何使用Google Cloud評估板來連接到Google Cloud IoT平臺?
Arm Keil Studio Cloud用戶指南
基于Processing與Arduino有線OTG聯(lián)機方法
基于Cloud Connected Zigbee IoT ThermostatSensing的參考設(shè)計

使用Alexa和Arduino IoT Cloud完全控制您的電視

使用 AVR-IoT WG 評估板連接到 Google Cloud IoT
使用 Renesas AE-CLOUD2 將 GPS 數(shù)據(jù)發(fā)送到 Google Cloud IoT
在Arduino IoT Cloud的幫助下創(chuàng)建植物通訊器

IoT ONE Nixie Clock Arduino Cloud背光控制

GuessMe:為Arduino Cloud Games挑戰(zhàn)而打造的游戲開源

使用Arduino Cloud隨時隨地了解您家的溫度

Arduino IoT Cloud ESP32 Alexa Control智能家居

告別繁瑣的云平臺開發(fā)!IoT_CLOUD之 百度云

評論