मैंने वर्किंग वर्कर्स बनाया है, जो Arduino से संदेश प्राप्त करता है: elixir_serial हैंडलर, लेकिन अब मैं इसे प्राप्त डेटा प्रसारित करने के लिए चैनल में उपयोग करना चाहता हूं, क्या मैं सॉकेट इंजेक्ट कर सकता हूं: elixir_serial handle_info()?फीनिक्स चैनल में कार्यकर्ता से handle_info() का उपयोग कैसे करें?
defmodule MyApp.Serialport do
require Logger
use GenServer
def start_link() do
GenServer.start_link(__MODULE__, [])
end
def init([]) do
work()
{:ok, []}
end
defp work do
{:ok, serial} = Serial.start_link
Serial.open(serial, "/dev/tty.arduino")
Serial.set_speed(serial, 9600)
Serial.connect(serial)
Logger.debug "pid #{inspect serial}"
end
def handle_info({:elixir_serial, serial, data}, state) do
Logger.debug "received :data #{inspect data}"
{:noreply, state}
end
end
क्या आपके पास कार्यकर्ता कोड को सुधारने के तरीके के बारे में कोई सुझाव है, उदाहरण के लिए। Gen_Server आवश्यक है?
धन्यवाद एक टन! यह काम कर रहा है! – luzny