PPT :

豆瓣拌面.pptx
視訊:
視訊内容
1.項目背景介紹
伴随着寵物數量的增多,流浪動物的數量也在急劇的增長。街道上随處都可以看到流浪動物的身影,甚至有些城市小區遍布滿地,單單中國每年就有近4000萬的流浪貓狗,流浪動物産生的原因大多都是人們的遺棄。家裡生下的小貓小狗不想養了,生病了就丢棄了,也有很多是要搬家、移民、生小孩子等,遺棄的原因各種各樣,而導緻的結果就是貓狗流浪街頭,過着風餐露宿的生活,還可能被驅逐,被毆打,甚至被投毒。
圖檔來源于網絡
近幾年來,随着國民精神文化水準的提高,對流浪貓狗的保護逐漸受到了人們的關注,國内自發湧現出了不少私人的、公益性質的流浪動物救助站。一二線城市、省會城市都出現了救助流浪動物的組織,這些組織建立了不同形式的救助站對我們身邊的流浪貓狗進行救助。由于個人在大學期間陰差陽錯養了一隻貓咪,同時也慢慢了解并接觸到流浪貓救助站及其救助過程。
常見的流浪貓救助站,按空間的封閉程式進行劃分,大緻可以為三個類型:全封閉式求助站、半封閉式救助站、全開放式救助站。全封閉式救助站是指貓咪完全與外界隔離,以單隻或叢集的形式,居住于籠舍或家庭救助站中,是以也可以把全封閉式救助站細分為家庭式救助站和籠舍式救助站,在國内的流浪貓救助站中,全封閉式救助占到6成以上,半封閉式的不到1成,全開放式的以TNR方式救助為主占有3成,這裡我主要和大家讨論全封閉式救助站。
圖檔自攝于廣州某個人全封閉式救助站,由一名愛心阿姨建立,志願者參與營運
家庭式救助站一般受助貓咪在10隻以下,共同與人生活在同一個家庭空間中,享有較大的自由,而籠舍式救助站一般受助貓咪在10隻以上,主要居住在位于整體封閉空間中的籠舍之中或聚居在整體封閉的生活區中,貓咪和人的居住空間相隔離。全封閉式救助站組織者通過線上網絡、線下展會宣傳等形式把貓咪的資訊發出去,等待愛心領養人士把貓咪領養帶走。但是由于國内大多數的流浪貓救助站都由個人志願者組成,資金基本來源于捐贈及義賣等方式,資金一直處于緊缺狀态,同時由于國内對流浪貓的重視不足,救助站本身的曝光宣傳也較少,大多數流浪貓救助站都少為人知,這使得貓咪被領養的可能性較大的降低,收養回救助站的貓咪數量遠遠比領養的貓咪數量要多,救助站時常處于兩難的境地。同時流浪貓日益增多,有限空間有限人手的救助站更為混亂,貓咪的日常登記管理,環境衛生的清理,貓咪的飲食等都成為救助站的一道道難題。
是以,我萌生了建構一個基于物聯網管理和直播互動的流浪貓救助平台的想法。首先是需要解決貓咪的動物福利問題,動物福利由五個基本要素組成:生理福利,即無饑渴之憂慮;環境福利,也就是要讓動物有适當的居所;衛生福利,主要是減少動物的傷病;行為福利,保證動物表達天性的自由;心理福利,即減少動物恐懼和焦慮的心情。這裡,通過設計聯網飲食器、自動貓砂盤等裝置可以較好地解決生理、環境及衛生方面的福利問題,同時,通過聯網裝置對貓咪的健康資料(如飲食量、排洩量)進行采集分析,可以對貓咪進行差異化照顧處理;通過設計聯網逗貓棒、逗貓盤等貓咪玩具,可以讓貓咪有更多的娛樂玩耍項目,促進貓咪的社交減少其心理壓力保證了貓咪的行為和心理方面的福利。另外,目前直播平台已經成為成熟主流的應用,流浪貓直播可以增大救助站的曝光度,直播打賞捐款等也拓寬了資金的來源管道,同時,增強貓咪與人們的互動,可以使領養人更快的了解貓咪的真實情況,較大的提高了領養成功率,讓流浪貓能更好地找到屬于它的家。
2.項目技術架構
基于項目背景分析,在設計項目技術架構時,如下圖我把項目劃分成了三個部分:
整體架構
- 線下貓屋:由攝像頭和貓咪用品兩部分組成,攝像頭通過RTMP協定把貓屋(全封閉式流浪貓救助站)的實時情況推流到騰訊雲直播平台;貓咪用品包括了貓屋中各式各樣的聯網裝置,考慮到不同的救助站有不同的裝置需救,為了減少裝置之間的耦合性,所有的貓咪用品都是作為一個單獨的物聯網裝置直接接入到騰訊雲物聯網平台,再由救助站使用時,自由組合形成不同的貓屋。貓咪用品根據功能,我把它們分成三個類别:健康監控裝置,完成貓咪日常的生活需求,如自動喂食、清理排洩物等,同時采集貓屋資料定期上傳到雲平台;逗貓玩具,主要是完成與貓咪的遠端互動,人們可以使用不同的逗貓玩具線上陪玩貓咪;其它裝置,完成貓屋的一些輔助性需求,如貓屋裡的燈光控制、溫濕度監控等。
- 騰訊雲平台:騰訊雲平台作為項目中的橋梁,連接配接起線下裝置和線上應用,它由雲直播平台和物聯網開發平台兩部分組成。雲直播平台管理着不同的直播流推流位址和播放地位址,物聯網開發平台管理了不同類型的貓咪用品,不同的貓咪用品使用相同的MQTT協定接入到物聯網開發平台,使用不同的資料模闆與平台進行資料傳輸。最後通過API調用接口的形式打通微信小程式與裝置之間的互動。
- 小程式:作為人們與裝置互動的主要界面,需要滿足流浪貓救助站管理者的管理需求,也要完成線上觀衆通過直播與貓咪互動的需要。管理功能主要分為三個類别:貓屋管理,當有新的貓咪或者裝置加入到貓屋時,可以通過貓屋管理來進行添加,同樣,當有貓咪被領養或其它原因離開貓屋,可以通過貓屋進行删除修改,另外,貓屋管理還用于生成直播流的推流位址和播放位址,産生供給線上觀衆觀看的貓屋直播流;貓咪管理,當有新的貓咪來到救助站時,可以使此來添加貓咪資訊,以便于加入到貓屋當中;裝置管理,用于管理救助站中所有的裝置,當拿到新的貓咪用品時,可以通過裝置管理來給裝置配網,同時完成配網後,可以直接進入控制管理界面控制裝置運作,是以裝置管理可以單獨出來作為物聯網裝置應用的入口,管理公開或不公開的裝置,也可以把聯網的裝置加入到貓屋進行統一公開管理。直播互動功能主要完成與觀衆互動功能,觀衆可以通過打開不同的貓屋進入其直播間觀看貓咪的情況,在直播間可以擷取貓屋已有裝置的使用權,進行遠端逗貓等操作,也可以通過貓咪詳情頁看到貓咪的介紹情況,最後,如果觀衆相中了貓屋當中的貓咪,想要把它帶回家,可以直接與救助站聯系,進行下一步的領養流程。
項目架構
由于今年疫情的影響,流浪貓的問題更加突出,而我個人也有了更多的時間靜下心來構思和完成項目,很感謝騰訊舉辦方為我們提供騰訊雲物聯網平台和很好用的TOS物聯網作業系統以及IoT EVB_MX+開發闆,使得我可以快速地完成項目功能的調試,目前已經完成以下三種貓咪裝置的基本開發,開發過程都是先通過IoT EVB_MX+開發闆進行聯網及功能調試再進行下一步硬體設計,同時也完成了微信小程式的全部基本功能開發。
IoT EVB_MX+開發闆調試
已完成裝置
已完成小程式
3. 項目硬體部分
考慮到時間、篇幅等因素,這裡我以其中完成度較高的一個貓咪玩具逗貓盤做為樣品,給大家深入的解剖裡面用到的硬體設計。下圖為逗盤所用的全部零件,包括外部架構部分、内部活動部分及電路部分。
逗貓盤整體圖
3.1 外部架構部分
外部架構部分使用實木材料做為半圓的外邊框,使用磨砂亞克力材料做頂面、底面、側面三個面闆及一些固定件,使用autoCAD設計再用雷射切割機切割出來相應的部分,設計圖如下:
亞克力上下側三面及固定件
3.2 内部活動部分
内部活動部分使用到兩個舵機、活動棒、L型托盤及一些固定件,使用solidworks設計再用3D列印機列印出來,設計圖如下:
活動棒及L型托盤::
3.3 電路部分
電路部分主要分為mcu最小系統、锂電池電源管理、外圍硬體驅動三大部分,外圍硬體又包括wifi模組、燈帶及聲音驅動、觸摸輸入、舵機接口及flash存儲五個部分組成。本着便宜夠用的原則,mcu用的是stm32f103c8t6、锂電源管理用的是TP5410充電升壓電路。使用Altium Designer設計,嘉立創5塊錢打闆,個人手工焊接完成。整體原理圖及PCB設計圖如下:
整體原理圖
PCB設計圖
電路實物圖
3.4 硬體程式架構
在設計項目的軟體架構時,我是從整個貓咪之家項目自下而上去設計的,底層的基本硬體驅動是通用,不同的貓咪用品或貓屋裝置在通用底層的基礎之上去做不同的适配處理。 整體軟體架構可以分為三個部分:底層驅動、中間件及應用程式。底層驅動包括了使用ST的CubeMX生成的HAL庫及配置檔案、wifi模組驅動及其他外設驅動; 中間層包括了騰訊Tencent TinyOS物聯網作業系統、AT元件、騰訊雲物聯網資料模闆(MQTT協定、JSON封包解包、事件回調等); 應用程式中根據不同貓咪用品或貓屋裝置的功能需求在騰訊物聯網平台上生成裝置資料模闆,并在程式中根據下發的資料執行不同的功能,或上報某些應用資料。程式流程圖如下:
程式流程圖
4. 小程式設計
手機的小程式主要分成兩大闆塊:直播互動功能和管理功能
小程式首頁
4.1 直播互動功能
在首頁上以瀑布流方式顯示目前直播中的貓屋資料流,貓屋資料流由貓屋救助站或有貓咪的個人進行上傳釋出,觀衆拉取雲端資料線上觀看。進入到貓屋直播間後,觀衆可以觀看貓屋目前的直播視訊外,還可以察看到貓咪的詳細介紹、目前貓咪的飲食狀态以及與貓咪進行互動陪伴,甚至,如果觀衆已經準備好了帶此貓咪回家,還可以與此貓咪的救助站或個人聯系,進行下一步的領養工作。
直播間頁
4.2 管理功能
管理功能又分成三個部分:貓咪管理、裝置管理和貓屋管理。
- 貓咪管理:當流浪貓救助站把貓咪帶回來,進行了必備的處理後,即可以通過貓咪管理給貓咪進行登記,如上傳貓咪圖檔、給它起個名字及介紹貓咪的一些情況,讓想要領養貓咪的觀衆可以快速了解到貓咪的情況;
- 裝置管理:可以通過裝置管理對救助站中擁有的可玩裝置進行管理,如新增加裝置、給裝置進行配網、起昵稱等,當新增裝置完成,可以直接點選裝置進入控制頁面進行控制;
- 貓屋管理:當貓咪已經準備好和觀衆們見面時,就可以在貓屋管理裡面新增一個貓屋給貓咪,也可以把貓咪添加到已經有貓咪的貓屋。每次修改完貓屋的資訊,就會更新貓屋資料流的資料,觀衆可以同步看到新增的貓屋和貓咪,相應的,可以選擇把擁有的裝置進入到貓屋裡面,這樣觀衆就可以在貓屋直播間裡獲得裝置的控制權,并與貓咪進行互動,如果加入的裝置為健康監控類的裝置,則會把監控到的資料資訊顯示在直播間上,觀衆可以直覺地看到貓屋或貓咪的實時資料情況(如飲食量、排洩量資料)。
貓咪管理
裝置管理
添加裝置
貓屋管理及添加貓屋
添加貓屋
3.結束語
在最後,我呼籲大家對流浪動物們能多些關愛少些傷害,同時,如果有對這個項目有興趣的或喜歡貓咪的朋友,可以加我微信和我交流,目前隻有我一個人在做這個事,能做的事情真的很有限,希望有更多的朋友能夠參與進來,一起完善項目功能,并把它真正的應用到全國流浪動物救助站中,幫助到更多的流浪動物更快更好地找到屬于它的家。