前言: 話說前陣子爸爸家陽台不斷出現米奇老鼠,立刻清理陽台所有東西,然後又跟市政部門反映問題,可是情況還沒有好轉,米老鼠來完一隻又一隻,我爸陽台在老鼠界應該是網紅打卡聖地(誤),要不然就是米奇老鼠版米奇林三星餐廳(?) 雖然我們抓到了三隻,到上兩個禮拜為止還有至少一隻一直抓不到,每天淩晨還會來吃事後煙留下老鼠屎,真_北。 這隻老鼠對傳統攻擊有抗性,有IT9朋友前陣子用Raspberry pi自製了一台electric mouse trap ,用pi的超聲波雷達放在鞋盒裡,鞋盒裡有一堆食物,底部佈了鐵網,偵測到有老鼠進去以後立即關門通9V電,通個1分鐘再放牠離開,大推我自己也造一台 (Youtube片搜尋一大堆,人類真變態啊,朋友好變態啊)。可是我覺得這樣又好像有點太殘忍,不如先偵測牠們什麼時候來,嚇嚇牠們看看有沒有效果再說吧。 目的: 用Raspberry pi及手上有的感測器弄一隻放陽台用來偵測和嚇嚇老鼠的東西,並把紀錄圖像化到雲端給老爸使用。 邏輯及設計: 當老鼠進入偵測範圍,Motion Sensor偵測到生物活動Raspberry pi 處理來自Motion Sensor的訊號,如果夠強的話開始準備作出回應 Raspberry pi在Angry cats sounds中隨機選出叫聲,再經由Speaker輸出貓叫聲 Raspberry pi指示強光元件發出強光束照射目標 把偵測計數上傳到雲端圖表 材料: Sensor 在網路上看了一些Raspberry pi wild animal camera ,很多也是用Motion Sensor先偵測動物再來,我用的是PIR Motion Sensor被動式紅外線感測器,有低耗電成本便宜的好處。[1],而且可手動調整靈敏度及反應時間。 PIR Motion Sensor就是下面這個 圖片來源: learn.adafruit.com 可手動調整敏感度還有反應時間,這個有點不好調,要試好多遍才找到最佳位置。 可以在Raspbian中輸入pinout查詢GPIO避免插錯 圖片來源: learn.adafruit.com . 一台Raspberry pi 這次使用較舊的Raspberry pi model B+ 萬一老鼠生氣被咬爛錢包也不太痛 . 一張
什麼是ASP.NET Web API [1] ASP.NET Web API是一個可以簡化建立HTTP服務的框架 . 前身為WCF WebAPI, 協助WCF服務支援RESTful介面. RESTful: 簡單來說就是 以 URL 定位資源,根據 HTTP 內容指示操作動作與回應訊息。 一個符合上述實作方式的網路服務,就稱之為 RESTful web service 。 [2] 支援利用HTTP協定. HTTP服務類似Web Service, 可以提供應用程式執行時需要的功能 取回XML格式或JSON格式的結果. JSON ( J ava s cript O bject N otation)是一種輕量級的 資料交換語言 ,以文字為基礎,且易於讓人閱讀。 [3] 輕巧的資料交換結構, 佔頻寬比較少. 許多知名的大網站皆支援Web API Model, 如Facebook, Twitter, LinkedIn, Google, etc. 優點: 使同一系統元件能被不同形式的用戶端重覆使用, 如瀏覽器, Windows form, 手機程式/平板(android, IOS, windows phone), 減少重覆開發所浪費的時間. 元件在不同系統之間可共同使用(ex:讀取人事資料) 利用HTTP協定, 使得簡單靈活且無處不在. 基本上現在所有設備已經支援HTTP, 不需要另外安裝套件. 缺點: 資料結構較不嚴謹, 不適合用來實作系統與系統之間的資料交換. 名詞解釋: Model: 官方解釋: A model is an object that represents the data in your application. ASP.NET Web API can automatically serialize your model to JSON, XML, or some other format, and then write the serialized data into the body of the HTTP response message. As lon