微信玩轉開發板-微信控制智慧家居簡易模型
阿新 • • 發佈:2019-01-12
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
一、專案名稱:微信控制智慧家居簡單模型二、專案實物圖:
三、專案視訊:
http://atmel.eefocus.com/module/forum/thread-1218-1-1.html
四、專案概述:
由於工作原因接觸過一些智慧家居廠家的產品,移動端控制智慧家居終端都需要安裝廠家的APP還得註冊,覺得很是麻煩,就想有沒有一個通用平臺進行智慧家居控制不需要使用者安裝廠家APP,於是想到用微信控制智慧家居這個主意。
由於精力有限,簡單的用手上一塊ATMEL的M4的開發板代替智慧家居終端來模擬智慧家居做動作。通過點亮開發板上的led來表示燈控,顯示屏顯示操作內容,點亮燈顯示“LED ON”滅燈顯示“LED OFF”開啟音樂“BGM ON”關閉音樂“BGM OFF”,伺服器端程式裡也預留了溫度等資訊,只是開發板上沒有溫度感測器就沒做。
五、實現過程
社群活動在於分享,我把這個製作的實現過程簡單說一下,瞭解原理,大家可以自由發揮,微博微信都可以用來控制硬體平臺,人家做個微博養魚,你也可以做個微信澆花,哈哈。
首先, 微信和微博這類應用都提供了 API 介面給使用者,高階使用者可以通過這些介面進行定製開發。以微信為例,首先你得到微信公眾平臺申請一個公眾賬號,認證之後才可以進入開發模式。有了公眾賬號之後,你就可以通過公眾賬號向用戶推送訊息,使用者通過關注你的公眾賬號就可以向你傳送訊息啦,你和使用者的連線就算建立起來了,然後就要建立公眾賬號和你的硬體平臺的連線了,微信公眾賬號的開發模式是這樣的,微信伺服器會將使用者傳送的訊息通過HTTP的POST請求傳送到公眾賬號所關聯的伺服器上,這個伺服器當然是我們自己提供的,程式當然也是我們自己需要編寫的啦,我們處理完訊息之後,再POST回微信伺服器,然後返回給使用者,這樣利用伺服器就能建立起和硬體平臺的連線了,當然你的硬體得能夠訪問伺服器。
這時候就有一個關鍵問題:伺服器。普通電腦可以做伺服器但是我們得放在公網上,那就得有固定的訪問地址,當然你可以通過花生殼之類的軟體搞動態域名,但是我提供一個比較簡單的方法(當然這也是搜微信開發教程的時候搜到的),那就是利用各家網際網路大佬提供的雲伺服器,百度、新浪、阿里、京東都有,我用的是新浪的SAE,因為我試了一遍貌似只有新浪的可以不花錢玩一些簡單的應用,其他的都要錢(雖然不貴,但誰讓咱是屌絲呢),這些雲伺服器都搭好了伺服器環境,你只要上傳程式碼就能執行服務程式了,省的自己搭伺服器了,很是方便,如果有同學想學習web程式設計,我覺得這個做學習環境很方便。關於微信公眾賬號的開發和新浪SAE的使用大家可以搜教程或者看官網的文件,相信對於搞技術的同學們很簡單,我也是自己搜才知道這些滴。
有了伺服器之後,就得寫伺服器程式了,我用的語言是PHP,之前沒學過,為此還特意花一天學習了下基本語法,寫的程式比較難看各位不要計較,哈哈。程式在附件裡提供了。大體思路是收到POST請求之後識別內容,判斷是否是自己定義的命令,然後做相應處理,主要是對資料庫做處理,資料庫標識了硬體平臺的資訊,而我的硬體平臺通過定時訪問伺服器來更改或者讀取資料庫,這樣硬體就知道了該做什麼動作。硬體訪問伺服器我用的是HTTP的GET請求,因為簡單,本來想用socket實現通訊,後來發現SAE上用socket貌似有限制,所以就沒用,如果大家想實現與硬體傳送圖片之類的,估計GET方法就不行了。
伺服器搞定了,就看硬體了,首先硬體必須能夠訪問伺服器,由於我的開發板上沒有網路模組,所以我就買了個WiFi模組,但是除錯的時候發現用跳線太醜,而且老接觸不良,所以一氣之下就不用WiFi模組了。我的替代方法是通過串列埠連線電腦,電腦上寫一個上位機,通過上位機來和伺服器通訊。這樣又得編寫上位機了,於是用VB寫了個上位機,以前沒用過VB,但是聽說VB簡單就用VB了。源程式也在附件裡了,程式寫的簡陋大家莫笑話。
最後就是開發板程式了,其實最簡單的就是這個了,識別下串列埠命令然後做動作就行了,用的開發板現成的例程改的,這裡不得不吐槽下ATMEL Studio,我用過這麼多開發環境,它是最慢的,開啟軟體用了幾分鐘!!!!然後還各種沒反應,編譯個程式用了老半天。估計是基於visual studio的原因。不過我覺得裡面的ASF倒是很方便,現在各家都搞這種現成的模組化的東西,搞的我們要寫的程式碼越來越少,一大坨程式碼都不是自己敲的,搞的有點心虛呢。程式也在附件裡了,還是那句話程式碼寫的簡陋大家莫見笑。
六、文件
伺服器程式: index.rar
上位機(visual 2008 VB)程式: test.rar
開發板(SAM4L-EK)程式: USART_USART_SERIAL_EXAMPLE1.rar
最後謝謝大家看帖!
轉自:http://atmel.eefocus.com/module/forum/thread-1218-1-1.html
http://v.ku6.com/show/t1mFRShEZyoa_9mrdz9yHQ...html