資料介紹
描述
技術(shù)如何幫助我們改善生活?
這是我在考慮要實現(xiàn)的新項目時問自己的問題。
每天我花很多時間在電腦前工作,我希望科技能“照顧”我,試著了解我的心情,找到讓我放松和快樂的方法。
我的電腦如何解讀我的表情并讓我感覺良好?
答案很明確……使用Microsoft 認知服務(wù)和我最喜歡的小工具(Raspberry 和 Arduino)。
說說我的項目吧,走吧!
理念
在色光療法中,每種顏色都與個人特定的心理和精神特征相關(guān),支持者認為同樣會對身體機能產(chǎn)生特殊影響。
沒有臨床或科學證據(jù)證明這些未經(jīng)證實的斷言的優(yōu)點。
然后,每種顏色都與特定屬性相關(guān)聯(lián),通常基于簡單的心理類比。
我創(chuàng)建了一個系統(tǒng),能夠看到我的表情,了解我是否快樂,并決定房間的最佳顏色是什么,以改變我的心情。
我認為它非???/font>?。?!
硬件設(shè)置
我的硬件如下圖
軟件
阿杜諾
第一步是在我的設(shè)備(Raspberry 和 Arduino)之間建立通信。為此,我決定使用SoftwareSerial Library。我受到David Jones Project和Jiong Shi主持的項目的啟發(fā)。
下一步是更改我的藍牙設(shè)備的默認名稱。模塊的默認名稱是HC-05 ,這并不酷!
要更改藍牙模塊的名稱,我們應(yīng)該學習和使用 AT 命令。有關(guān) AT 命令以及如何使用 Arduino 和藍牙模塊使用它們的更多信息,請參閱此鏈接。
正如我所說,Raspberry 和 Anrduino 之間的通信是由藍牙連接組成的。我決定在 UWP 應(yīng)用程序中實現(xiàn)一種方法,將包含 3 個字符(相當于 3 個字節(jié))的字符串發(fā)送到 Arduino,Arduino 接收并解碼輸入數(shù)據(jù)。
僅供參考,一段Arduino解碼代碼如下所示(完整源碼見下方代碼部分):
if (BTSerial.available())
{
// Read string from Raspberry
delay(10);
ch1 = BTSerial.read();
delay(10);
ch2 = BTSerial.read();
delay(10);
ch3 = BTSerial.read();
delay(10);
if (ch1 == '1')
digitalWrite(GREEN, HIGH);
else
digitalWrite(GREEN, LOW);
if (ch2 == '1')
digitalWrite(BLUE, HIGH);
else
digitalWrite(BLUE, LOW);
if (ch3 == '1')
digitalWrite(RED, HIGH);
else
digitalWrite(RED, LOW);
...
...
...
}
現(xiàn)在是時候創(chuàng)建一個新的解決方案并實現(xiàn)我們的代碼了!
通用 Windows 平臺應(yīng)用程序
我決定探索 Microsoft 的Emotion API (有關(guān) SDK 的更多詳細信息,請參閱鏈接)。
如果您從頭開始創(chuàng)建 UWP 項目,則必須安裝“Oxford”包,在 Visual Studio 中打開“NuGet 包管理器控制臺”并鍵入Install-Package Microsoft.ProjectOxford.Emotion
確保您已通過 Azure 生成了情感服務(wù)密鑰。為此,轉(zhuǎn)到此并單擊“在 Azure 上購買”
然后,您將被重定向到您的 Azure 帳戶,現(xiàn)在您必須編譯一些字段,如下所示,我使用了“免費定價層”,每月允許您進行 30000 次圖像交易。(如果您沒有免費的 Azure 帳戶,請訪問此鏈接)
現(xiàn)在探索您在 Azure 中的認知服務(wù)帳戶并轉(zhuǎn)到密鑰部分。
有 2 個鍵,選擇一個并在以下字符串中“復(fù)制并粘貼” MainPage.xaml.cs中的值:
string subscriptionKey = "xxxxxxxxxxxxxxxxxxx";
UWP 必備
要訪問藍牙和其他各種功能,如網(wǎng)絡(luò)攝像頭、圖片等,我們需要在“ Package.appmanifest ”文件中提及它們。
為此,請按照提到的步驟操作:
代碼片段:
<Capabilities>
<Capability Name="internetClient" />
<uap:Capability Name="picturesLibrary" />
<uap:Capability Name="removableStorage" />
<DeviceCapability Name="bluetooth.rfcomm">
<Device Id="any">
<Function Type="name:serialPort"/>
Device>
DeviceCapability>
<DeviceCapability Name="webcam" />
<DeviceCapability Name="microphone" />
Capabilities>
基本理念(圖像捕捉、UWP 應(yīng)用程序)
我們需要將捕獲的圖像轉(zhuǎn)換為 MemoryStream。為此:
var reader= new Datareader(photoStream.GetInputStreamAt(0);
var bytes = new byte[photoStream.Size];
await reader.LoadAsync((uint)photoStream.Size);
reader.ReadBytes(bytes);
var stream = new MemoryStream(bytes);
所以現(xiàn)在,使用一次調(diào)用,您可以從 Azure 檢索情緒結(jié)果:
Emotion[] emotionResult;
emotionResult = await emotionServiceClient.RecognizeAsync(stream);
硬件
UWP應(yīng)用程序
在第一張圖片中,您可以看到應(yīng)用程序啟動屏幕。在左側(cè),它顯示從網(wǎng)絡(luò)攝像頭捕獲的圖片。在中間的情緒狀態(tài)和右側(cè),您可以配置與 Arduino 的藍牙連接。
每次獲取圖像時,系統(tǒng)都會評估打開燈光的最佳顏色,并通過藍牙將其發(fā)送到 Arduino。(正如您從后面的代碼中看到的那樣,我創(chuàng)建了一個每 10 秒捕獲一次圖片的計時器。)
目前UWP應(yīng)用程序在我的PC上運行,因為它很容易截圖,但它是一個UWP應(yīng)用程序,所以在Raspberry上部署應(yīng)用程序不是問題。
目前,系統(tǒng)管理以下 3 種顏色,但創(chuàng)建邏輯非常容易,您會更喜歡:
if (emotionResult[0].Scores.Happiness >= 0.85)
{
Send("111");
}
else if (emotionResult[0].Scores.Happiness >= 0.50 && emotionResult[0].Scores.Happiness < 0.85)
{
Send("001");
}
else if (emotionResult[0].Scores.Happiness > 0.25 && emotionResult[0].Scores.Happiness < 0.50)
{
Send("100");
}
else
{
Send("110");
}
我假設(shè)顏色組合為:
000 = Cyan
001 = Light green // Mild Happy
010 = Violet
011 = Red
100 = Light blue // Neutral
101 = Green
110 = Blue
111 = OFF // Happy
如您所見,如果您快樂,則不需要點亮 :)
讓我們看看實際效果
未來發(fā)展
- Emotion Api 能夠確定圖像幀中每個人的狀態(tài)分數(shù)。所以你將能夠確定幸福的平均值 :) 并決定打開你房間的最佳顏色
- 為硬件創(chuàng)建一個漂亮的包裝器
- 在這個項目中,我只評估“幸福”,但您可以嘗試開發(fā)一種算法,考慮 API 中可用的所有狀態(tài)……這非常簡單!
- 激光療法助力牙齒再生新革命
- 覆盆子網(wǎng)絡(luò)電臺開源項目
- 簡單的8繼電器板可容納覆盆子板
- RS485/RS422/RS232覆盆子帽開源項目
- 樹莓派的Adafruit揚聲器閥蓋
- 覆盆子pi Wedgie開源項目
- Arduino Uno國內(nèi)改版電路原理圖下載 0次下載
- Arduino Uno Rev.3開發(fā)板意大利原版電路圖 0次下載
- 杰力科創(chuàng)多功能觸控紅外光療機DLT8T10S 14次下載
- 直流電及直流電藥物離子導入療法
- 采用USB接口的核心電路板Arduino Mega2560 0次下載
- Arduino編程基礎(chǔ)(一)——Arduino語言資料下載
- Arduino開發(fā)機器人經(jīng)典書籍推薦Arduino開發(fā)實戰(zhàn)指南:機器人卷
- 單色光立方4源程序 0次下載
- Arduino教程_Arduino圖形化編程教程_ArduBlock 0次下載
- 如何使用Python和PinPong庫控制Arduino 718次閱讀
- 基于Arduino的機器學習開發(fā) 1.7w次閱讀
- Arduino I/O函數(shù)詳解 2342次閱讀
- 如何從網(wǎng)頁控制arduino? 3836次閱讀
- 普渡大學的研究人員發(fā)現(xiàn)藍光可以削弱一種特別令人討厭的“超級細菌” 2942次閱讀
- 類器官和iPS技術(shù)結(jié)合打通細胞療法的關(guān)鍵途徑 3805次閱讀
- arduino如何控制舵機及詳細步驟 16.3w次閱讀
- arduino連接顯示屏方法詳解 4.7w次閱讀
- Arduino如何安裝驅(qū)動_Arduino安裝驅(qū)動步驟 5.8w次閱讀
- 淺談Arduino和樹莓派的區(qū)別 2.1w次閱讀
- 低能量光療法的介紹、原理與應(yīng)用詳解 4917次閱讀
- arduino用什么語言編程 6.9w次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
- arduino開發(fā)板有什么用 2w次閱讀
- arduino ide編譯過程 3203次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多