プロローグ 中木の「今」が見えるようになった
ヒリゾ浜へ来る前に、
「今の中木って、どんな感じなんだろう?」
と思う人は多いと思います。
晴れているのか。海は穏やかなのか。港や駐車場はどんな様子なのか。
これまでも毎朝、運航情報や海況は文章でお知らせしてきましたが、
文章だけでは伝わりにくい部分もあります。
そこで今回、
中木の現在の様子を約5分ごとに確認できる画像を「今日の海況」ページに追加しました。

ライブ動画ではなく、約5分ごとに更新される静止画です。
でも一枚を見るだけで、空模様、港、海面、駐車場など、
「今の中木」がかなり分かります。
そして、この仕組みの裏側は意外なほど単純です。
カメラ → Wi-Fi → FTP → Webサーバー → Webサイト
この仕組みを作るきっかけは、
すでに公民館に設置してあった一台のTapoでした。
第1章 設置済みのTapoを使えないか

最初から新しいカメラを買うつもりだったわけではありません。
中木の公民館には、すでにTapoのカメラを設置してありました。
映像はきれいで、アプリから見るのも簡単です。
なので最初に考えたのは、
「これ、そのまま使えないかな?」
ということでした。
やりたかったのは防犯カメラを増やすことではありません。
現地にPCを置かず、一定時間ごとに静止画をWebサイトへ出したい。
録画を保存したいわけでも、クラウドを使いたいわけでもありません。
必要なのは、5分ごとにJPEGを1枚送ること。
ところが調べていくと、設置済みのTapoでは
今回欲しい
「定期的に静止画をFTPへ送り、同じファイル名で上書きする」
という使い方が簡単にはできませんでした。
Tapo自体には不満はありません。
むしろ映像はかなりきれいです。
ただ、目的に合わないものを無理に使うと、
PCを常時動かしたり別の仕組みを追加したりすることになります。
それでは今回目指していた
「カメラ一台で完結する仕組み」
から離れてしまいます。
そこで、カメラを探し直すことにしました。
第2章 Reolink E1 Zoomにたどり着く
- Wi-Fi対応
- 静止画をFTP送信できる
- 一定間隔で自動送信できる
- 5分程度の間隔を設定できる
- 同じファイル名で上書きできる
- 現地PCを必要としない
調べてみると、
「Wi-Fi+定期静止画FTP」
をきちんと満たす機種は意外と多くありません。
FTP対応でも録画ファイル中心だったり、
動体検知時だけだったり、
機能は理想的でもPoE専用だったりします。
最初はE1 Proも候補だった
E1 Proも候補になりましたが、
今回重要なのは単なる「FTP対応」ではなく、
一定間隔で静止画を送れることです。
ここを確実に満たす機種を探して、
最終的に選んだのが、
Reolink E1 Zoom
でした。

- Wi-Fi対応
- 2.4GHz / 5GHz対応
- 4K・8MP
- パン・チルト対応
- 3倍光学ズーム
- FTPによる静止画の定期送信
さらに、
同じファイルを上書きする設定
もあります。
つまり、
hirizo_now.jpg
という1枚を5分ごとに更新し続ければいい。
サーバーに画像が延々と溜まることもありません。
3倍光学ズームは確認用に便利
E1 Zoomには3倍光学ズームがありますが、
今回の通常表示ではズームは使っていません。
普段は広めの画角で、
港や海面、駐車場など全体の様子が分かるようにしています。
ただ、
個人的に接続波や海面の細かい状態を確認したい時には、
光学ズームで拡大して見られるので便利です。
一般公開用では広く見せる。
必要な時だけ管理者側で拡大して確認する。
そういう使い分けができるのは、
E1 Zoomの良いところだと思います。
画質だけならTapoの方が好み
映像そのものは、個人的にはTapoの方がきれいに感じます。
だからReolinkがすべて上という話ではありません。
今回は画質以上に、
カメラ自身がFTPで画像を外へ出してくれる自由度
が重要でした。
こうしてReolink E1 Zoomを購入。
次は、本当に思った通りに動くのかを試します。
第3章 まずは自宅で全部組む
カメラが届いても、いきなり公民館へは持っていきませんでした。
まず自宅で、カメラからWeb表示まで全部完成させる。
その方が、問題が起きた時に原因を切り分けやすいからです。
Wi-Fiなのか、カメラなのか、FTPなのか、サーバーなのか。
現地で全部を同時に調べるのは面倒です。
スマホで初期設定
最初はReolinkアプリで自宅Wi-Fiへ接続し、
カメラの初期設定を済ませました。
映像、パン・チルト、ズームが正常に動くことを確認します。
細かい設定はPCから
今回はFTPの送信先、保存先、送信間隔、上書き方式まで設定するので、
Windows版Reolink Clientも使用しました。
普通に見るだけならスマホで十分ですが、
こういう設定を詰める作業はPCの方が圧倒的にやりやすい
と感じました。
サクラインターネットに画像用フォルダを作る
WordPress本体のnakagi.jpはXserverですが、
カメラ画像は別のSakuraサーバーにある
nakagi.net
へ置くことにしました。
Web公開領域にFTPで(フォルダ)
/live/
を作り、そこへ最新画像を送ります。
FTP設定の前に、PCから接続確認しておくと安心
ReolinkへFTP設定を入れる前に、
まずPCのFTPソフトからサーバーへ正常に接続できるか確認しておくと安心です。
先にPCから接続できることを確認しておけば、
あとでReolink側でエラーが出た時にも、
- サーバー側の設定なのか
- 認証情報なのか
- Reolink側の設定なのか
を切り分けやすくなります。
今回もFFFTPで先に接続を確認してから、
同じ接続情報をReolinkへ設定しました。
こうしておくと、
FTP設定で迷った時の原因特定がかなり楽になります。
5分ごとの1ファイル上書き
- 画像のみアップロード
- 画像品質:鮮明
- 送信間隔:5分
- サブフォルダ生成:OFF
- Overwrite Single File
- ファイル名:hirizo_now
Reolinkでは、もっと短い間隔での送信も可能です。
今回の用途なら、1分ごとに更新することもできます。
ただ、
海況や港の様子を確認する用途では、そこまで細かい更新は必要ない
と考えました。
1分更新だと通信回数も増えますし、サーバーへの書き込み回数も増えます。
逆に10分以上だと、見た時に少し古く感じることがあります。
そこで、
「十分に現在の様子が分かること」と「無駄に更新しすぎないこと」のバランスを取って5分
にしました。
そして5分後、同じ
hirizo_now.jpg
が新しい画像へ置き換わりました。余計な画像ファイルも増えていません。
これで、
カメラ → Wi-Fi → FTP
の部分は完成です。
窓越し撮影用の設定
公民館では窓越しに撮影するため、
赤外線LEDはOFFにします。ガラスに反射して映り込んでしまうためで、
本来はONにしたいところですが、ここは思い切ってOFF
にしてください。
ミラーリングもOFF。
天井へ逆さに設置する場合だけ、
フリップをONにします(ミラーリングはOFFのまま)。
ここまで自宅で済ませておけば、
現地でやることはかなり少なくなります。
第4章 Webサイトに「今」を表示する
Sakuraサーバーへ送られた画像は、
https://nakagi.net/live/hirizo_now.jpg
画像とWordPressを分離

画像はSakuraの
nakagi.net。
利用者が見るWordPressは
nakagi.jp。
カメラはWordPressへ書き込まず、
Sakuraへ画像を送るだけ。
WordPressはその画像を読み込むだけです。
WordPressへの表示
STORK19のカスタムHTMLブロックへ、
普通の画像タグを入れます。
<img
src="https://nakagi.net/live/hirizo_now.jpg"
alt="現在の中木・ヒリゾ浜方面の様子"
style="width:100%;height:auto;"
>
これだけで表示できます。
なお、この画像URLはWeb上に公開している普通のJPEGなので、
このタグ自体はnakagi.jp専用ではありません。
HTMLを貼れる環境であれば、
他のWebサイトでも同じ画像を表示できます。
つまり今回の仕組みは、
カメラが最新画像を1枚更新し続け、
必要なWebページ側がその画像を読み込んでいるだけです。
ただし、公開しているのは画像だけで、
FTPの認証情報やカメラの管理情報は外部には出していません。
「今日の海況」と非常に相性が良い
実際に毎日の海況ページへ入れてみると、
思っていた以上に便利でした。
文章では風、波、水温、運航状況などを伝え、
画像では空、港、海面、駐車場などを一目で確認できます。
管理者は本当のライブ映像を見られる
一般公開は5分ごとの静止画ですが、
管理者はReolinkアプリから通常のライブ映像を見ることができます。

管理者 → ライブ映像・パン・チルト・光学ズーム
一般利用者 → 5分ごとの静止画
という使い分けです。
最後に出てきたのはキャッシュ問題
一つだけ予想外だったのが、
画像ファイルは更新されているのに、
Webページでは古い画像が残ることがあったことです。
直接画像URLを開けば最新。
FTP上のファイルも最新。
つまり原因はカメラやFTPではなく、
同じURLの画像を使い続けることによるWeb側のキャッシュ
でした。
ここは表示方法をシンプルに保ちながら、
別途キャッシュ対策を詰めることにしました。
第5章 公民館へ設置する
自宅でほぼ完成した状態にしてから、
カメラを公民館へ持っていきます。
公民館のWi-Fiへ切り替える
自宅でFTPやカメラ設定まで完成させておけば、
現地では基本的にWi-Fiの接続先を切り替えるだけです。
ただし、今回はここで少しトラブルがありました。
現地のWi-Fi情報が想定と違っていて、
そのままではすぐに接続できませんでした。
こういう時に役立ったのが、
iPhone側で同じWi-Fi名(SSID)を使って接続テストする方法
でした。
カメラ側はすでに自宅で設定を済ませてあるので、
現地でいきなり全部をやり直すのではなく、
まずiPhoneを使って接続条件を合わせて確認できる状態を作ると、
トラブルの切り分けがかなり楽になります。
「設置場所のSSIDとパスワードが事前に分かるなら、自宅で同じWi-Fi環境を仮に作って接続設定まで済ませておくと、現地作業をさらに減らせます」
今回の経験から、
FTPやカメラ本体の設定は、できるだけ自宅で完成させてから現地へ持っていく
のがおすすめです。
現地で問題が起きても、
残る確認項目をWi-Fiまわりだけに絞れるからです。
FTP設定やファイル名などはカメラ本体に保存されているため、
Wi-Fi接続さえ通れば、
それまで作った設定はそのまま使えます。
窓際へ設置
海の近くなので、屋外設置に比べて雨や塩害の心配を大幅に減らせます。
ただしガラスの反射を減らすため、
カメラはできるだけ窓へ近づけます。
IRオフやフリップ設定など、窓越し撮影のための設定はすでに自宅で済ませてあるので、
現地ではカメラの位置と角度を合わせるだけです。
一番大事なのは画角
今回見せたいのは海だけではありません。
- 空模様
- 中木港
- 海面
- 駐車場
- ヒリゾ浜方面
一枚の中にできるだけ多くの現地情報が入る画角を狙います。
観光写真として一番きれいな構図より、
海況を見る人に情報量の多い構図
を優先します。
最後は5分待つ
設置後は、実際に5分待って
hirizo_now.jpg
が更新されることを確認します。
公民館 → Wi-Fi → FTP → Sakura → WordPress
がすべて正常に動いています。
これで現地PCは不要
設置後、公民館に必要なのは基本的に Reolink E1 Zoomと電源、Wi-Fiだけ。
カメラ自身が定期的に画像を送り続けます。
利用者は特別なアプリもログインも必要ありません。
いつもの「今日の海況」ページを開くだけです。
第6章 月額0円でここまでできる意味
完成して改めて面白いと思ったのは、
専用のライブカメラサービスを契約しなくても、
実用上かなり近いものが作れたこと
です。
5分ごとに hirizo_now.jpg を上書き
nakagi.net
nakagi.jp
新しい月額料金は必要ない
もちろん、既存のインターネット回線やWebサーバーには費用がかかっています。
ただ、
このライブ画像のためだけに新しい月額サービスを契約する必要はありませんでした。
使っているのは昔からある技術
FTP、JPEG、HTML。
特別新しい技術ではありません。

でも、その単純さが今回には向いていました。
問題が起きても、
カメラが画像を作っているか。
FTPへ届いているか。
Webから見えるか。
順番に確認できます。
一般公開するのはJPEG一枚だけ
管理者側
Reolinkアプリ
↓
ライブ映像
パン・チルト
光学ズーム
一般公開側
5分ごとにJPEG生成
↓
FTPでWebサーバーへ送信
↓
WordPressで表示
管理者はライブ映像を確認し、一般利用者には最新の静止画だけを公開
カメラの管理画面やFTP情報を一般公開する必要はありません。
外へ出すのは、
最新のJPEG一枚だけ。
動画にしなかったこともメリットだった
Reolink E1 Zoom自体はライブ映像を見ることができますし、
構成次第では動画を使った配信も可能です。
ただ、本当の動画配信にすると、
通信量、サーバー負荷、同時接続、
配信の安定性など、考えることが一気に増えます。
今回の目的は、
「今の中木の様子を手軽に確認してもらうこと」
です。
その用途なら、
5分ごとの静止画で十分。
ページを開いた瞬間に見られて、
スマートフォンでも扱いやすい。
動画ができないから静止画にしたのではなく、
用途に対して静止画の方がシンプルで合理的だった
という選択です。
TapoとReolink、それぞれの良さ
映像を見るカメラとしては、今でもTapoは気に入っています。
画質や見え方は、個人的にはTapoの方が好みに感じる部分があります。
一方でReolink E1 Zoomは、
画像を自分のWebへ届ける自由度
が非常に高かった。
そしてもう一つ、
実際に使ってみてReolinkの方が良いと感じたのが、
マイクとスピーカーの性能
です。
双方向通話を使った時の音声は、
Reolinkの方が聞き取りやすく、
スピーカー側の音も扱いやすいと感じました。
画質や映像の好みではTapo。
FTPの自由度やマイク・スピーカー性能ではReolink。
どちらが上というより、
目的に合わせた使い分け
だと思います。
分かる人ほど、このシンプルさが面白い
完成したページだけを見れば、
何か有料のライブカメラサービスを使っているように見えるかもしれません。
でも裏側では、
Reolinkが5分ごとにJPEGをFTPしているだけ。

必要のないものを足すのではなく、
必要なものだけで組んだ結果、この形になりました。
結局、一番気に入った機能はFTPだった
4K、光学3倍ズーム、Wi-Fi。
どれも便利です。
でも今回、一番面白かった機能を一つ挙げるなら、
FTPです。
かなり地味な機能です。
でもこのFTPがあることで、
Reolink E1 Zoomは単なる「映像を見るカメラ」ではなく、
自分のWebサイトへ「今」を送り続けるカメラ
になりました。
カメラ一台。
Wi-Fi。
既存のWebサーバー。
5分ごとに更新されるJPEG一枚。
それだけで、
「今の中木」が見える便利な仕組み
ができました。
派手ではない。
でも、かなり面白い。
今回のReolink E1 Zoomは、
そんなカメラでした。
もう一つは、一般ユーザーには少し難しい
FTPには、
- サーバー名
- ポート番号
- ユーザー名
- パスワード
- 保存先フォルダ
- ファイル名
などの設定が必要です。
今回も、
実際にFTPがつながらない場面では、
カメラ、Wi-Fi、サーバー、認証情報を一つずつ切り分けました。
これは、
アプリにログインするだけのカメラより明らかに難しい。
メーカーからすれば、
FTPを搭載すれば設定に関する問い合わせも増えるはずです。
その意味では、
「クラウド中心の方が、メーカーにも一般ユーザーにも扱いやすい」
という事情もあるのでしょう。
それでも、こういう自由度は残っていてほしい
専用アプリやクラウド中心のカメラは、
誰でも簡単に使えるという大きなメリットがあります。
一方で今回のように、
自分のサーバーへ画像を送り、
自分のWebサイトで自由に使いたい
という用途もあります。
Reolink E1 Zoomは、
普段は普通のネットワークカメラとして使いながら、
必要ならFTPを使って外部の仕組みともつなげられます。
今回やってみたのは、
本格的なライブ動画配信ではありません。
5分ごとに更新されるJPEG一枚です。
でも、ヒリゾ浜へ来る人が
「今の中木はどんな感じだろう?」
と確認するには、それで十分でした。
高機能なサービスを追加するのではなく、
必要な機能だけを使って、
できるだけ単純に組む。
結果として、
追加の月額サービスを使わず、
軽く、分かりやすく、
運用しやすい仕組みになりました。


















機能の数だけで決まるものではない。
今回のライブカメラ作りで、
改めてそう感じました。