Blog

ブログ

ラズパイ で電子ロッカーを作る!(物理構成編)

新規事業を担当している榎本です。
前回の記事で、私たちがなぜ電子ロッカーを作るという決定をしたのか記載しました。では早速、ロッカーを動かすための物理的な構成を書いていきます!

全体図

まずは全体図の写真です。かなりシンプルな構成ですね。基本的にECサイトから受け取った「ロッカーの解錠・施錠」に関する命令をラズパイ が受け取って複数のサーボモータに伝達する形で実現しています。

※見やすくするためにサーボモータ などは外した状態で撮影しています。

機器について一つずつ解説していきます。

機器名称役割
Raspberry Pi Zero WH電子ロッカーの心臓部。
内部のソフトウェアは誰でも扱いやすいようにビジュアルプログラミング言語である
Node-REDを採用しました。美味しいものマルシェ(ECサイト)からのロッカー解錠の
命令に従って周辺危機の操作を行っています。
あまり重たい処理は無いためスペックは重視せず、小さくて安価な Zero WHを採用。
AK-020 (Soracom Air)通信は Soracom Air for セルラーを使っています。通信に必要なモデムとしてAK-020を
利用しています。(このモデムの中に SIMが入っています)
Amazonで販売しているSORACOMスターターキットは通信量1,000円分のクーポンも
ついていてお得でした
PCA9685購入者1人につき、1つずつロッカーの扉を割り当てています。それぞれのロッカーの
扉を個別に操作するためにPCA9685を使ってサーボモータを制御しています。
電池ボックスサーボモータを動かすための電源です。プロトタイプでは電池ボックスを
使っていますが、USBからの給電になる予定です。
TowerPro
SG92R
ロッカーを実際に解錠するためのモーターです。扉1つにつき、1つのモーターが
使われます。写真には載せていませんが、PCA9685につなげています。
高輝度
赤色LEDランプ
ロッカーが実際に施錠・解錠されたことをユーザーが認識できるように、操作された
タイミングでLEDを点滅させます。これも写真には載せていませんが、PCA9685に
つなげてます。

配線について

ラズパイ とPCA 9685の配線図です。GPIOは 1,3,5,6 (青枠で囲った部分)を使っています。

ラズパイ のPIN番号ラズパイ側の名称PCA9685側のピンの名称
15V PowerVCC
3SDASDA
5SCLSCL
6GroundGND

実物の写真はこのようなイメージです。PCA9685は基盤にPINの役割が書いてあるので間違えにくいですね。

PCA9685

ちなみに、PCA9685を使うときにはラズパイ 側のコンフィグを変更してI2Cを有効にする必要があります。こちらの手順についての記事は多いので調べればすぐに分かると思いますが、こちらにも掲載しておきます。

sudo raspi-config

こちらを実行すると表示される画面がこちら。ここで5番の Interfacing Optionsを選択して

I2Cを選択

「はい」を選択して I2C interfaceを有効にしておきましょう!

これでラズパイ を通して複数のサーボモータの制御をするための準備は完了です。サーボモーター はこの様な形で扉に取り付けられています。サーボモータが約140°動くことでギアを経由して鍵が閉まり、ロッカーが施錠されている様子がご覧いただけます。

次回はラズパイ の操作に利用しているプログラム言語、Node-REDについてご紹介していきます!

電子ロッカー開発はじめます

今回の記事を担当するエンジニアの榎本です。
トップページにも記載されていますが、松戸の美味しいものマルシェを開催中です!(2021/3/31まで)
ありがたいことに多くのお客様にご利用いただき、めでたく4/23より第2回目の開催も決定しました。

さて、第1回目ではお客様への商品受け渡しを人の手で行っていました。しかし、下記の理由により次回のイベント以降の受け渡しは無人で行うことになっています。理由としては。。。

  1. 1. 購入いただいたお客様にできるだけ幅広い時間でのお受取りをしてもらうため
  2. 2. 受け渡しにかかるコストを削減するため
  3. 3. 受け渡し担当が長時間座ることにより発生する腰痛への対策

3つ目は冗談として…お客様の利便性と当社としての収益性を保つためにロッカーを使った受け渡しを行うことにしたのです。このロッカーの実現にあたっては下記の4案が検討されました。
大雑把に分けると、

  • ・アナログにダイヤル錠を使った運用をするか、電子キーを実装するか。
  • ・扉を共通化するか、受取人毎に別々にするか

です。これらのメリット・デメリットを大きく下記の様に分類しました。

方式メリットデメリット
1. ダイアル錠(共通扉)開発コストが小さい
運用が最も簡単
運用の負荷が大きい
セキュリティの不安が大きい
2. ダイアル錠(個別扉)開発コストが小さい
共有扉よりセキュリティが保たれ易い
運用負荷が大きい
ミスが発生しやすい
3. 電子キー(共通扉)後述の個別扉よりメンテナンスは容易開発コストが発生する
セキュリティの不安が大きい
4. 電子キー(個別扉)運用の
セキュリティ面で安全性が高い
物理面を含めると開発コストが最も大きい。
システムのメンテナンスコストも高い

私たちは上記を検討した結果、セキュリティ面での安全性と確実にお客様が商品を受け取れることを重視して案四の電子キー(個別扉)を採用することに決めました。
まぁ、開発者としては茨の道っぽいのですが… IoTは弊社としては初挑戦で、楽しそうなので良しとしましょう!構成はざっくりとこんな感じ。
ラズパイ 、SORACOM 、AWSを組み合わせた構成でラズパイ 上の言語は Node-REDを使っています。

次回からは、システム的な観点からどの様に私たちがこの電子ロッカーを構築しているのかを公開していきます!