Nerves에서 target (Raspberry Pi 등)으로 움직일 때는 이쪽, host (macOS 등)로 움직일 때는 그쪽
어제는 요스케의 "Nerves와 GraphQLsever의 조합을 생각하는 "Poem""입니다! 이쪽도 꼭 꼭!
소개
날씨 웹 서비스 (Livedoor Weather Web Service / LWWS)을 사용해 주셔서 일기 예보의 정보를 취득해 Twitter에 중얼거리는 것을 Nerves로 해 보았습니다
조금 곤란한 것의 구체적인 예
Nerves에서 움직이는 것을 호소하기 위해
"I use Nerves. I like it!"
를 삽입하려고합니다 lib/weather/forecast.ex
defmodule Weather.Forecast do
def run({city, name}) do
description =
"http://weather.livedoor.com/forecast/webservice/json/v1?city=#{city}"
|> HTTPoison.get!()
|> Map.get(:body)
|> Poison.decode!()
|> Map.get("description")
|> Map.get("text")
|> String.split()
|> Enum.reduce_while("#{name}\n", fn s, acc ->
if String.length(acc <> "#{s}\n") < 140 - String.length(i_use_nerves()),
do: {:cont, acc <> "#{s}\n"},
else: {:halt, acc}
end)
|> Kernel.<>(i_use_nerves())
end
def run do
cities() |> Enum.random() |> run
end
defp i_use_nerves do
"I use Nerves. I like it!"
end
"I use Nerves. I like it!"
없음 "I use Nerves. I like it!"
가 들어 버리므로, 조금 거짓말쟁이가 됩니다 Mix.target() => (사용할 수 없음)
mix nerves.new hello_nerves
때 config/config.exs
할 수있는 Mix.target()
설명이있었습니다 config/config.exs
if Mix.target() != :host do
import_config "target.exs"
end
lib/weather/forecast.ex
defp i_use_nerves do
if Mix.target() != :host do
"I use Nerves. I like it!"
else
""
end
end
해결책
lib/weather/forecast.ex defp i_use_nerves do
if Application.get_env(:hello_nerves, :target) != :host do
"I use Nerves. I like it!"
else
""
end
end
defp i_use_nerves do
if Application.get_env(:hello_nerves, :target) != :host do
"I use Nerves. I like it!"
else
""
end
end
Mix.env
를 사용할 수없는 과도한 오류가 발생했으며 오류를 조사 할 때 어딘가 들었던 이야기라고 핀 if (condition, clauses)의 condition을 != 대신 ==로 작성하고 싶습니다.
if Application.get_env(:hello_nerves, :target) != :host
부분 iex> Application.get_env(:hello_nerves, :target)
:rpi2
MIX_TARGET
로 설정 Targets TAG가 반환되는 것 같습니다 if Application.get_env(:hello_nerves, :target) == :rpi2
라고 쓸 수 없는 것은 아니지만, 다른 Target에서도 움직이는 것을 생각한다(갖고 있지 않지만 )와,요약
다음 번
다음 번은 포지로의 "만들어 배우는 Nerves, BBB로 CO2 계측"입니다! 이쪽도 꼭 부디~
Reference
이 문제에 관하여(Nerves에서 target (Raspberry Pi 등)으로 움직일 때는 이쪽, host (macOS 등)로 움직일 때는 그쪽), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/torifukukaiou/items/d26c9ffb051dd3df82ba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Nerves에서 target (Raspberry Pi 등)으로 움직일 때는 이쪽, host (macOS 등)로 움직일 때는 그쪽), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/torifukukaiou/items/d26c9ffb051dd3df82ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)