太熱了!程式猿給女朋友做了個智慧小風扇
黃花深巷,
紅葉低窗,
淒涼一片秋聲。
豆雨聲來,
中間夾帶風聲。
疏疏二十五點,
麗譙門、不鎖更聲。
故人遠,
問誰搖玉佩,
簷底鈴聲。
彩角聲吹月墮,
漸連營馬動,
四起笳聲。
閃爍鄰燈,
燈前尚有砧聲。
知他訴愁到曉,
碎噥噥、多少蛩聲。
訴未了,把一半、分與雁聲。
一首短詩《聲聲慢 秋聲》獻與大家。蔣捷的這首短詩共96字,其中有十個“聲”字;其通過風聲、雨聲、更聲、鈴聲、笳聲、砧聲、蛩聲、雁聲來形容秋天的到來,頗有節奏感。
一直頗喜歡古典詩詞,怎奈天賦不佳,至今連完整的四言詩都木寫出來過……哎……不提傷心往事了……五音不全不能阻止我喜愛音樂,不能作詩亦不能阻止我愛詩噠!!記得小時候在鄉間,對四季的變化非常敏銳,樹枝張新芽了,知春來了;知了叫了,知夏來了,樹葉黃了,知秋來了;雪花飄了,知深冬了。如今,生活在鋼筋水泥之間,對季節的感覺淡漠了,似乎是麻木了,唯一觸發人知覺的只有溫度,冷了暖氣,熱了風扇/空調;對於季節的感受全然變了被遺棄的孩子,儘管它在冬天裡猛力的哭號,也沒有多少人能聽見……嚮往古人感受季節的敏銳……
……
我這是說哪去了呢……哎……情不自禁啊……大家諒解……
話說,長沙天氣的熱是出了名的,四大火爐之一啊!只是今年天氣有點異常,只有在7月熱了一小段時間,後面一直是清涼氣爽的天!!!在這樣的天氣下,舒服地過了幾個月後(我們家席子都換成被子了),現在又突然變熱,大家都有點不適應,GF表現得尤為突出。坐一會就焦躁不安地站起來,說熱死了,熱死了,顯得燥熱難耐的樣子(她本身散熱面積就挺大,不知為啥比我還熱……)。好吧,那就開風扇吧,可沒吹多久,又說這風吹著不舒服,風大了點還冷。額……,這可是開得最小檔啊!為了讓GF乖乖的做在我旁邊陪我寫程式碼(當然她可以用手機玩遊戲),我試著用技術來解決這個問題……
學技術,去哪裡,當然是山東藍翔啊,哈哈……開個玩笑,最近關於藍翔的段子還真不少,我們就不跟這個風了。 我們可是程式設計師,用一現有技術拼湊(高大上的說法是整合)就能解決問題好不。下面就說說我要做的智慧風扇的功能吧:
1、風速無級調節
2、手機控制風扇開關及風速
3、語音控制風扇開關及風速(能夠根據語義進行智慧控制)
4、通過檢測皮膚的溫溼度控制風扇開關及風速(手環啊)
要做的功能確定了,那就設計方案和準備材料吧。
硬體
1、風扇
7寸大號絲雨usb電風扇,用著好用就幫人家推薦下(塑料的,輕,便宜),這是我做人的原則
2、主控板
拿著師弟做的帶WiFi功能的Arduino板子,不給錢的,光線暗拍著不好看,其實做的還蠻精緻的。
3、控制介面電路
通過主控板pwm輸出控制電源給風扇供電,用萬用板焊接好後如下
4、手機
如果配送這個手機的話,風扇應該會被扔掉,所以堅決不用這種檔次的手機。
5、手環
聽說又要變天了,為了在天氣變涼前把風扇做出來,這個還是在第二版再做吧。
軟體
1、Arduino IDE程式設計
是的,控制端的程式我就是用arduino寫的,你們就盡情的鄙視我吧。
而且關於pwm調節只要這麼一條語句就實現了哦。
analogWrite( 7 , hp*25 );
2、Alljoyn通訊
用Alljoyn完全是為了裝逼,可以對別人吹牛說,我的風扇裡用了最先進的物聯網技術,其實用tcp通訊就能實現。
主控板端Alljoyn介面程式碼:
static const char* const testInterface[] = {
“org.alljoyn.sample.ledcontroller”,
“?Flash msec<u”,
“?On”,
“?Off”,
NULL
};
3、科大飛訊語音引擎
大家用著都說好,我試了下,果然不錯!科大飛訊,中國人都用它。
語音識別關鍵部分程式碼:
private InitListener mInitListener = new InitListener() {
@Override
public void onInit(int code) {
Log.d(TAG, “SpeechRecognizer init() code = ” + code);
if (code == ErrorCode.SUCCESS) {
findViewById(R.id.isr_recognize).setEnabled(true);
}
}
};
/**
* 構建語法監聽器。
*/
private GrammarListener grammarListener = new GrammarListener() {
@Override
public void onBuildFinish(String grammarId, SpeechError error) {
if(error == null){
String grammarID = new String(grammarId);
Editor editor = mSharedPreferences.edit();
if(!TextUtils.isEmpty(grammarId))
editor.putString(KEY_GRAMMAR_ABNF_ID, grammarID);
editor.commit();
showTip(“語法構建成功:” + grammarId);
}else{
showTip(“語法構建失敗,錯誤碼:” + error.getErrorCode());
}
}
};
/**
* 識別監聽器。
*/
private RecognizerListener mRecognizerListener = new RecognizerListener() {
@Override
public void onVolumeChanged(int volume) {
showTip(“當前正在說話,音量大小:” + volume);
}
@Override
public void onResult(final RecognizerResult result, boolean isLast) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (null != result) {
Log.d(TAG, “recognizer result:” + result.getResultString());
String text = “”;
if(mEngineType.equals(SpeechConstant.TYPE_CLOUD))
{
//解析雲端結果
text = JsonParser.parseGrammarResult(result.getResultString());
}else {
//解析本地結果
text = XmlParser.parseNluResult(result.getResultString());
}
// 顯示
//((EditText)findViewById(R.id.isr_text)).setText(text);
//分析識別結果
Boolean analyzeRelult = analyzeWords(text);
//傳送控制指令
if(analyzeRelult)
{
controlFan(mWindLevel);
}
} else {
Log.d(TAG, “recognizer result : null”);
}
SystemClock.sleep(100);
//下一次語音識別
Button recognizeButton = (Button)findViewById(R.id.isr_recognize);
recognizeButton.performClick();
}
});
}
@Override
public void onEndOfSpeech() {
showTip(“結束說話”);
}
@Override
public void onBeginOfSpeech() {
showTip(“開始說話”);
}
@Override
public void onError(SpeechError error) {
showTip(“onError Code:” + error.getErrorCode());
SystemClock.sleep(100);
//下一次語音識別
Button recognizeButton = (Button)findViewById(R.id.isr_recognize);
recognizeButton.performClick();
}
@Override
public void onEvent(int eventType, int arg1, int agr2, String msg) {
}
};
4、Android
做出來手機軟體介面是這樣的
結果
我最初想做出來的智慧風扇應該是這樣的:
但事實上做出來卻是這樣的:
至於具體功能怎麼樣,至於GF用著什麼反應,這個……看下面的視訊
相關文章
- 做了個知乎專欄小程式版,分享給大家
- 小米智慧家庭又出新品了:疑似電風扇?
- 給家裡的筆記本換了一個風扇。明顯噪音就變小了,而且散熱也變好了筆記
- 花了20分鐘,給女朋友們寫了一個web版群聊程式Web
- 散熱風扇介面針數的區別:2針、3針、4針介面的散熱風扇有區別?
- 【.NET 與樹莓派】小風扇模組樹莓派
- 微軟官方 Win 11 “體檢工具”太爛了?開發者自己做了一個微軟
- RGB風扇和ARGB風扇有哪些不同?電腦RGB風扇和ARGB風扇的區別介紹
- 谷歌新專利:智慧可穿戴除臭風扇?!谷歌
- Macs Fan Control Pro for Mac:讓你的Mac電腦散熱風扇更加智慧Mac
- 一個妹子寫給程式猿男友的情書
- 百度的搜尋流量開放給了自家智慧小程式
- 華碩ROG Phone遊戲手機發布:可外接散熱風扇遊戲
- 做了一個給IceExt用的小程式(附原始碼)給大家,把RAW變成TXT,希望對大家有用。原始碼
- 我做了一個成語接龍的小程式
- 電腦風扇一直響個不停是什麼原因 怎麼降低筆記本風扇噪音筆記
- 能夠識別人臉位置的智慧風扇誕生:自動送風
- 又做了一個“圖書借閱系統”小程式
- 基於51微控制器的智慧溫控風扇
- 小 200 行 Python 程式碼做了一個換臉程式Python
- 程式猿生存指南-4 借錢風波
- 電腦風扇控制軟體有沒有?風扇控制軟體推薦!
- 能自定義風扇轉速嗎?風扇轉速控制軟體推薦~
- 為什麼Mac風扇這麼響?如何修復過熱的MacMac
- 顯示卡風扇不轉正常嗎 顯示卡風扇不轉怎麼修復解決
- 不太想做程式猿了
- 程式猿,你又調皮了~
- 我用釦子API做了個小程式,實現財務自由API
- 前端還能這麼玩?(女朋友生日,用前端寫了一個好玩的送給了她,高興壞了)前端
- 《28歲未成年》--- 寫給程式猿
- 寫給創業公司的程式猿們創業
- 華為EMUI 10語音助手更新了!語音功能出現新玩法,小藝太智慧了UI
- 剛做了一個EDA類庫,大家給看看
- 給女朋友講ActiveMQ是啥?MQ
- 如何控制電腦風扇轉速?Macs Fan Control Pro電腦風扇控制工具Mac
- Mac電腦風扇很響怎麼辦?教你如何修復過熱的Mac?Mac
- 拉仇恨!webhook + 企業微信給同事做了個程式碼提交監聽工具WebHook
- 寫給程式猿們的互動設計