概要
NervesにPhoenixを入れてウェブチカできたので備忘録です。
- NervesにPhoenixを入れるとNerves起動時にPhoenixも起動します
- ウェブチカとは、とあるURLにアクセスするとNervesにつけているLEDをチカらせることを言ってます
- 前提としてNervesとPhoenixはインストール済みとします
fish
❯ mix nerves.new -v
Nerves Bootstrap v1.8.0
❯ mix phx.new -v
Phoenix v1.5.3
長編になりそうだったので3部作としました(^^ゞ
前回はPonchoプロジェクト準備編だったので、今回はNerves設定編です。
Nerves起動時にPhoenixが起動するための設定をおこないます。
関連ファイル
mix.exs
config/config.exs
mix.exs
mix.exsファイルのdeps
に以下の行を追記します。
mix.exs
defp deps do
[
{:neosapi, path: "../neosapi"},
]
end
追記した後、mix deps.get
コマンドを実行します。
fish
❯ mix deps.get
config/config.exs
config/config.exsファイルに以下の行を追記します。
config/config.exs
import_config("../../neosapi/config/config.exs")
import_config("../../neosapi/config/prod.exs")
# config :neosapi, MyAppUiWeb.Endpoint,
config :neosapi, NeosapiWeb.Endpoint,
code_reloader: false, # Nerves root filesystem is read-only, so disable the code reloader
http: [port: 80],
load_from_system_env: false, # Use compile-time Mix config instead of runtime environment variables
server: true, # Start the server since we're running in a release instead of through `mix`
url: [host: "192.168.5.55", port: 80]
おまけ
mix firmware.gen.script
を実行してupload.sh
ファイルを作っておくとNervesのファームウェアの更新が楽になるので実行します。
fish
upload.shを作るコマンド(初回のみ)
❯ mix firmware.gen.script
実行例
❯ ./upload.sh 192.168.5.55