wifi智慧小車模組+花生殼+STM32+APP
實現功能為視訊傳輸與遠端控制
該模組可以連線你所在地方的wifi,先使其成為存取該模組的內網。步驟1’通過網線或該模組的熱點與電腦連線,在路由器管理頁面(192.168.1.1)設定連線所在地方的網路,介面和視訊/控制埠設定。再通過winscp 這個相當與Windows下面的檔案管理器軟體,利用它我們可以很方便地把檔案從windows裡面拖到WIFI板上。2’登陸所連線地方WiFi的路由器管理頁面。在轉發規則裡面設定好內網埠,動態DNS登陸花生殼賬號。
首先簡單說一下花生殼,這是一個提供動態域名解析服務的商業化產品。所謂域名解析,常被稱作DNS,也就是將對人類友好的域名與對計算機友好的點分式IP地址做關聯的一個系統服務。打個比方,這個服務類似於手機裡面的通訊錄軟體,它的作用就是將人能記住的姓名與一串毫無意義,很難記憶的電話號碼關聯起來。那麼撥電話時,只需要在通訊錄中查詢姓名就可以了。
在大多數情況下,通訊錄軟體都能很好的工作,可正如這個世界本身的不完美,完美的軟體也不存在,通訊錄一個最明顯的bug就是,一旦有人換了號碼,通訊錄就無法跟蹤這種變化。回到我們討論的DNS,情況就成了這樣:有人申請了一個域名,在自己的筆記型電腦上做了一個網站,並將網站的域名關聯到自家上網的IP地址後,全世界任何一個角落的人都可以通過這個域名存取他的網站。可如果這個人白天是在工作單位使用筆記型電腦呢,此時只能通過工作單位的IP才能存取網站,但是DNS那裡登記的卻是一個家庭IP,於是網站成了一個悲劇。
花生殼很好的修正了這個bug,如果域名所對應的IP地址經常會更換,那麼可以註冊後使用花生殼的軟體,之後無論在哪裡上網,域名都會和當前的上網IP建立對應關係。
總之你下載花生殼app,在上面所連線的WiFi下登陸,即相當於有了一個伺服器。利用它可實現外網存取。
花生殼,雖然賬號免費註冊但內穿透要付費,個人用的話6塊錢體驗版就可以,一個月1G流量。設定方法:1’登陸花生殼賬號,點內網穿透。2’在上圖‘新增對映’中填寫內網IP,對應的埠,名字隨便起。3’複製分配的外網存取地址與花生殼埠號。
另外,也可以使用花生棒。花生棒的作用在於代替了花生殼在wifi下登陸的操作,其他啥用沒有。花生棒一頭用網線連路由器,一頭usb口連電源。內網穿透啥的都還是靠花生殼,流量啥的該掏錢還得掏錢。
wifi智慧模組與微控制器串列埠相連,通過下位機讀取模組網路發來的資訊(字元等),完成對應的指令操作。餵食器功能是驅動舵機(選擇投喂的種類)和電機(主要是投放功能)。僅以智慧雙料餵食器為例部分程式碼片如下`在這裡
while(1)
{
if(USART_RX_STA)
{
switch (USART_RX_BUF[0])
{
case 'a': //開啟a孔放a料
TIM_SetCompare2( TIM3,750); //600 //舵機左轉
GPIO_SetBits(GPIOB,GPIO_Pin_8); //啟動電機旋轉。
delay_ms(500);
TIM_SetCompare2( TIM3,1500); //復位舵機
USART_RX_STA=0;
break;
case 'd' : //開啟b孔放b料
GPIO_SetBits(GPIOB,GPIO_Pin_8); //啟動電機旋轉。
TIM_SetCompare2( TIM3,2460); //舵機右轉90’
delay_ms(500);TIM_SetCompare2( TIM3,1500);
USART_RX_STA=0;
break;
case 's' : //停止
printf("stop");
TIM_SetCompare2( TIM3,1500); delay_ms(500);
GPIO_ResetBits(GPIOB,GPIO_Pin_8);
USART_RX_STA=0;
break;
default :
printf("unknown");
TIM_SetCompare2( TIM3,1500); GPIO_ResetBits(GPIOB,GPIO_Pin_8);
USART_RX_STA=0;
break;
}
}
}
使用我上傳過的wifi小車app或其他的都可以手機端app
App是通過SOKET程式設計獲取公網IP。在APP設定頁面中,視訊地址填寫第2條中的外網存取地址,控制地址IP(需要在電腦上ping一下花生殼域名,出現的ip就是。有些公共場合ping不通,不影響使用)埠號為花生殼的埠號。
做完這些你就可以秀操作了。。。
注意:wifi模組在剛上電時會網路設定,亂髮一堆資料。為防止主控卡死,可以設定一些延時(可能接近一分鐘)或者先給模組上電再給主控上電。