Contract-Development
如何使用乙太坊在連接的機器之間發送消息?
我想知道如何在賬戶和合約之間發送消息。
這個想法是我有三個 Raspberry Pi 設備。每個都連接到一個對象(第一個連接到溫度感測器,第二個連接到 LED,第三個連接到 LCD)。
我想創建一個自治系統,其中這些對象可以通過乙太坊網路進行通信。
如何使用乙太坊在連接的機器之間發送消息?
對於臨時消息,我會使用Events。
它們可用於向設備發送單獨的指令。
對於像目前溫度這樣的持久性數據,您可以使用儲存變數。
例如,如果溫度升高到 60 度以上,這可能會打開 LED。
contract IOT { uint public temperature; address sensor; address led; event Instruction( address device, string instruction) function IOT (address _sensor, address LED ){ sensor = _sensor; led = LED; } function updateTemp(uint temp){ if(msg.sender != sensor) throw; temperature = temp; if (temperature > 60) { Instruction(led, "ON"); { else Instruction (led,"OFF"); } }
客戶端只需使用其地址監視事件。該設備也可以直接讀取溫度,但我想展示一些邏輯。
乙太坊網路上各方之間的通信,如果消息是暫時的,不應該永遠儲存,可以通過Whisper協議完成。
如果您想試一試並使用 geth,請確保使用
--shh
標誌啟動您的節點。這將啟用耳語。