小編今天介紹的項目是通過使用CY8CKIT-048 PSoC模擬協處理器先鋒套件和樹莓派,進行全天24小時不間斷的環境數據監控。
本文轉自Hackster.io網站(點擊文章末尾的“閱讀原文”訪問該網站相關頁面),由小編編譯,歡迎拍磚。
項目簡介
通過使用CY8CKIT-048 PSoC模擬協處理器先鋒套件和樹莓派(Raspberry Pi),進行24小時不間斷的環境數據監控。
準備材料
硬件:
-
賽普拉斯PSoC模擬協處理器先鋒套件×1
(https://www.hackster.io/cypress/products/psoc-analog-coprocessor-pioneer-kit)
-
樹莓派2代B型或其他運行Linux的設備 ×1
(https://www.hackster.io/raspberry-pi/products/raspberry-pi-2-model-b)
-
USB-A至微型USB線纜
構建系統
賽普拉斯CY8CKIT-048 PSoC?模擬協處理器先鋒套件是個很有趣的開發板,可與PSoC Creator 集成開發環境(IDE)輕松配合使用。
其中包括用于與主板之間通信的工具——Bridge Control Panel。
Bridge Control Panel允許用戶使用I2C協議與相關應用設備之間雙向接收/發送數據。數據可用于繪制數據圖表或存儲到文件。
該工具的“問題”在于,其僅限在Windows系統中使用,而不適用于運行Linux系統的設備,例如Raspberry Pi。
下面,我們創建二十四小時環境數據監控的應用實例。
試想,如果可以用兼容的Linux / Raspberry Pi的東西來替代Bridge Control Panel會有怎樣的效果?
首先,來看看I2C通信協議是如何通過USB連接工作的。
主板上有兩個微控制器:
這塊主板的USB HID接口具有一些專有協議。
幸好,該協議與Cypress 3240 USB to I2C bridge基本相同,Kevin Kirkup已經創建了一個相關的庫。
https://github.com/kevinkirkup/cy3240-i2c-bridge
把項目從已經淘汰的libhid遷移到libhidapi,并利用Wireshark檢測來自Bridge Control Panel的USB命令:
將上述設置進行更新,使其適用于CY8CKIT-048PSoC?模擬協處理器先鋒套件。
主要的改變如下:
-
調整USB產品和供應商ID
-
調整協議,使其適用于CY8CKIT-048PSoC?模擬協處理器先鋒套件
-
把項目從已經淘汰的libhid遷移到libhidapi
-
確保代碼可兼容64位系統
欲查詢代碼,可訪問我的GitHub賬戶
https://github.com/bluetiger9/cypress-usb-i2c-bridge.git dd
使用方法
在Raspberry Pi / Linux設備上安裝電路板的操作步驟:
需要為CY8CKIT-048PSoC?模擬協處理器先鋒套件的開發板上添加一些udev規則。
這樣,即使非根(non-root)用戶也擁有訪問的權限。
為此,我們創建出49-hid-development.rules文件:
內容如下:
重新啟動,使新的設置生效:
構建項目之前,首先要安裝所需的依賴項:
然后,從我的GitHub資源庫克隆項目:
項目配置:
現在這個代碼已經準備好編譯,運行“make” 程序了。
但是,還需要再等一下。在src目錄里有一個main.c文件:
所以,我們需要根據應用程序發布的數據類型先對此進行編輯。
例如,我的項目要發布包含四組傳感器值的數據結構(Struct),包括:土壤阻力(水分)、溫度、濕度及照度:
從你的PSoC Creator項目中如實復制此struct。
我們還需要根據已經獲得的字段,編輯打印數據的代碼:
現在可以使用“make”來編譯代碼了:
接下來,我們要檢查一下這個應用程序能否正常運作:
如果一切正常,我們可以利用ts指令創建一些時間戳、改變輸出方式為“輸出到文件”,然后可以通過“nohup”指令運行該應用程序。這樣,即使用戶從SSH退出后仍可以保持運行狀態:
輸出到文件的狀態顯示如下:
至此,這個應用程序即可全天24小時運行。經過一段時間后,就可以對該文件進行處理,比如繪制數據圖表。
OK,盡情享用吧!
原理圖
將賽普拉斯開發板連接到樹莓派
https://halckemy.s3.amazonaws.com/uploads/attachments/258660/cypr_rpi_C2Drgfd4mm.png
可利用USB纜連接兩者。通過Micro USB線纜給樹莓派供電。
代碼
Cypress USB-I2C bridge
-
bluetiger9
https://github.com/bluetiger9
-
cypress-usb-i2c-bridge
https://github.com/bluetiger9/cypress-usb-i2c-bridge
-
Linux
+關注
關注
87文章
11232瀏覽量
208940 -
樹莓派
+關注
關注
116文章
1699瀏覽量
105532
原文標題:如何在Linux/樹莓派(Raspberry Pi)上使用賽普拉斯I2C-USB Bridge
文章出處:【微信號:CypressChina,微信公眾號:Cypress教程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論