日経ビジネス 日本急成長企業2022 売上高を伸ばした100社ランキング
https://business.nikkei.com/atcl/seminar/19/00030/032500343/?P=2
にて40位にランクインしました!
千葉では堂々たる1位に輝いております!
これからも「ECのことならジョーレンに任せれば安心」と言ってもらえるよう
従業員一同精進して参ります!
Blog
https://business.nikkei.com/atcl/seminar/19/00030/032500343/?P=2
にて40位にランクインしました!
千葉では堂々たる1位に輝いております!
これからも「ECのことならジョーレンに任せれば安心」と言ってもらえるよう
従業員一同精進して参ります!
この度、株式会社ジョーレンは
情報セキュリティマネジメントシステム(ISMS)の国際規格である「ISO/IEC 27001:2013」の認証を取得しました。
登録番号:IA210148
認証規格:ISO/IEC 27001:2013/JIS Q 27001:2014
審査登録機関:EQA国際認証センター
初回認証日:2021年7月13日
有効期限:2024年7月12日
お客様の信頼とサービス向上のため、スタッフ一同これからもがんばりますっ!
お世話になっております。株式会社Joolenの白井です。
いつもOSS開発部にてEC-CUBEのカスタマイズ開発とかをやっています。ときどき本体へのコントリビュ〜ションなどもやっています(もうちょっと増やしたいです)。
そんなに派手なことはやっておりませんので、ちまちました設定の話をします。
アイデア商品を投稿してもらい、
商品化を目指す「アイデアステーション」のサイトを今年2月にリリースいたしました。
—————————————————-
—————————————————-
本サイトは、EC-CUBEを用い構築しています。
ユーザーは、自分が考えたワクワクしたアイデア商品を「アイデア登録」ページから投稿!
投稿されたアイデアについては、「いいね」「ほしいね」で他ユーザーから評価され、
その結果はランキングにも反映されます。
投稿されたアイデアについては、コメント機能を用い、ディスカッションが行えるよう実装しました。
日々「アイデアステーション」スタッフとユーザーが、
投稿されたアイデア商品の実現化に向け、ディスカッションが盛んに行われています。
開発中のアイデアもサイト内で共有され、ユーザーは一緒に共創していることを体感できます。
EC-CUBEは、商品販売サイトとして構築されるだけでなく、
こういったアイデア投稿サイトとしても利用できます。
「こういったサイト構築はできる?」等、
ご相談フェーズから承ることもできますので、お気軽にお問い合わせください。
目次
![]() |
![]() |
![]() |
![]() |
![]() |
今回の記事を担当するエンジニアの榎本です。
これまでの記事
・電子ロッカー開発始めます → 電子ロッカー開発に至った経緯など
・ラズパイ で電子ロッカーを作る!(物理構成編)→ 機器や配線など物理的な構成に関する記事
・ラズパイ で電子ロッカーを作る!(ソフトウェア編)→プログラムについて
ここでは、AWSのEC2インスタンス上(EC-CUBE)で動いている「ご近所マルシェ Joolen」がどのようにして「電子ロッカーを開ける」という制御を行っているのかを説明していきます。
このようになっています。AWSとラズパイ 間の通信のプロトコルにはMQTTを採用しました。
MQTTは簡単にいうと、データを配信するためのプロトコルです。
「非力なデバイスやネットワークが不安定な場所でも動作しやすいように、メッセージ通信電文が軽量に設計されていることが特徴(Wikipediaより抜粋)」で、ラズパイ のような小さなコンピュータでも難なく扱えます。
Web socketにも似ていて、メッセージがPublish(送信)されると簡単に受けてはそのメッセージを拾うことができます。
AWSからラズパイ へのメッセージングに Web APIを使うことも検討しましたが、IoT機器にはセキュリテイ上、固定IPを持たせたくないという思いもありましたので今回の構成になりました。
今回のマルシェではEC2インスタンス上で、EC-CUBEは動いていますが「ロッカーの鍵を開けて!」というタイミングで メッセージを 送信(Publish)しています。流れとしては下記の通りで、仕組みとしては非常にシンプルなものです。
・解錠用のメッセージをMQTT Broker に対して 送信 (Publish)
・ロッカー(ラズパイ)は、MQTT Brokerのメッセージを監視(Subscribe)。MQTT BrokerへのPublishを検知したら後続の処理を行う。
さて、ここからが本題です。
MQTTのやりとりをするためのサーバ(MQTT Broker)はAWS IoT Coreを採用しました。このIoT Coreへの接続は証明書を使う必要があります(ドキュメント)。
ラズパイ に 証明書を保存して接続、ということも当然可能ですが、小さなIoT機器にセキュリティ情報となる証明書を入れておくのは最善手とは言えません。
ということでIoT 専用のデータ転送サービスSORACOM Beamを使っての接続を行うことにしました。(SORACOM を使った双方向通信のデザインパターンはSORACOMさんによってまとまっています。)
このサービスは証明書の管理や脆弱性への対応等の煩雑な処理をクラウドにオフロードすることができるので、ラズパイ に証明書を保存する必要はありません。
下記の通り、ラズパイ 側ではAWS IoT Coreの認証情報を意識することなく接続することが可能です。
SORACOM Beamは非常に安価(1 リクエスト(*) あたり 0.00099 円)かつ、 1アカウントあたり月間 100,000 リクエストまでの無料枠もあるのでとても使いやすいサービスだと思います!
IoTは特にセキュアな接続を心がけていきたいですね。
※現在、アトレ松戸 3Fでご近所マルシェ ジョーレン で購入したものを受け取り可能です!(アトレ松戸での2021/5/23まで)
ありがとうございました。
※バナー画像はお友達紹介キャンペーンの一例です。
※バナー画像はお友達紹介キャンペーンの一例です。
目次
※設定>店舗設定>基本設定 の ポイント機能を有効にする必要があります。
※バナー画像はお友達紹介キャンペーンの一例です。
※バナー画像はお友達紹介キャンペーンの一例です。
今回の記事を担当するエンジニアの榎本です。
これまでの記事
・電子ロッカー開発始めます → 電子ロッカー開発に至った経緯など
・ラズパイ で電子ロッカーを作る!(物理構成編)→ 機器や配線など物理的な構成に関する記事
ここからは Raspberry Pi上で動くプログラムについて書いていきます。
Node-REDというビジュアルプログラミングツールを採用しました。Node-REDとは何かというと。。。
Node-REDはハードウェアデバイス、APIおよびオンラインサービスを新しく興味深い方法で接続するためのツールです。ブラウザベースのエディタによってパレットに並ぶ多種多様なノードを結びつけて用意にフローを作成でき、さらにシングルクリックで実行環境にデプロイすることができます。
Node-RED日本ユーザー会トップページより引用
とのこと。
つまり、ブラウザからノードと呼ばれるブロックを線でつなげて思い通りにデバイスを動かせる素敵な言語になります。名前から推察できる様に、Node.js上で構築されてますので、必要に応じて Javascriptでのコーディングまでできるので、編集が容易かつ柔軟性が高い言語となっています。
画面上で「再起動」などと書かれているかボックスがノードとなります。各処理をつなげてやりたいことを実現できます。
Injectノード
上記コードエディタ左側の「timestamp」と書かれているノードです。時間を指定して処理を起動することができます。
Execノード
上記コードエディタで「再起動」と書かれているノードです。このノードでコマンドの実行を行うことができます。この場合は下記のコマンドを実行することで再起動を実現しています。
sudo shutdown -r now
つまり上述2つのノードの組み合わせで、「毎朝7時に再起動をする」という命令が組み立てられます。非常に分かりやすくて便利ですね。
MQTTノード
今回の電子ロッカーは
ECサイトからの命令をAWS IoT CoreのMQTTへPublish
↓
ラズパイ 側で該当のTopicをSubscribeしメッセージの受信をきっかけに鍵を操作
することで解錠・施錠の実行を実現しています。Node-REDはMQTT処理に必要なノードが用意されているので非常に簡単にこの処理を実行することができます。
入力側のmqttが Subscribeで 出力側がPublishになります。
ノードには MQTT Broker となるサーバの情報・トピック・QOS(=Quality Of Service)を設定することで簡単にPublish/Subscribeを実現できます。(見落としがちですが、QOSはPublish側と合わせる様にしましょう!私はここの数値が食い違っていたために数時間ハマりました。。。)
余談ですがMQTT Brokerは AWS IoT Coreを SORACOM Beam経由で使っています。AWS IoT Coreの認証を肩代わりしてくれるので ラズパイ 側に証明書などを持つ必要がないことがメリットになります。(これはまた後日記事にします)
PCA9685ノード
こちらは標準のノードではないので、パレットの管理から自分で追加する必要があります。Node-REDのホームページにサンプルを含め説明が載っています。
基本的には
1. PCA9685 Deviceで対象のデバイスを選択(デバイスの設定方法は下記に記述)
2. Channelはターゲットになる PCA 9685 の チャネルを選択 (直接指定でも良いし、msg.channel という変数に設定した数値でも良い)
3. Unitはサーボモータを動かしたいときは、「microseconds」 LEDを点灯させたりしたいときは「Percent」を選択しましょう。
PCA9685を指定する画面です。ラズパイ 側で下記の通りになっていれば特に変更する必要はありません。
※Addressは下記の画面で 0x40(=64)であることが確認できます。
例) 15個の扉の解錠を行い、操作がされた時にLEDを点滅させるためのフローは下記の様になります。
1. open_1_all へのメッセージの Publishをトリガーにしてフローが起動
2-1. サーボモータを動かす
2-1-1. サーボモータを140度回転した位置にするためmsg.payloadに値を設定
2-1-2. PCA9685 ノードを経由して1〜15チャネルに命令を出す
2-2. LEDを点滅させる
2-2-1. 0番のチャネルに接続されたLEDを点滅させる
2-3. MQTTメッセージを受け取ったことを送信元のプログラムへ返却するため、受け取ったランダムな文字列をそのまま返却用のMQTTトピックにPublishする
他に大きなポイントとして、ラズパイ の死活監視に使っているlwm2ノードがあるのですが、これは監視についての記事で触れたいと思います。
次回は電子ロッカーのネットワークや、利用しているSORACOMのサービスについて触れていきたいと思います!
新規事業を担当している榎本です。
前回の記事で、私たちがなぜ電子ロッカーを作るという決定をしたのか記載しました。では早速、ロッカーを動かすための物理的な構成を書いていきます!
まずは全体図の写真です。かなりシンプルな構成ですね。基本的に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側のピンの名称 |
---|---|---|
1 | 5V Power | VCC |
3 | SDA | SDA |
5 | SCL | SCL |
6 | Ground | GND |
実物の写真はこのようなイメージです。PCA9685は基盤にPINの役割が書いてあるので間違えにくいですね。
ちなみに、PCA9685を使うときにはラズパイ 側のコンフィグを変更してI2Cを有効にする必要があります。こちらの手順についての記事は多いので調べればすぐに分かると思いますが、こちらにも掲載しておきます。
sudo raspi-config
こちらを実行すると表示される画面がこちら。ここで5番の Interfacing Optionsを選択して
I2Cを選択
「はい」を選択して I2C interfaceを有効にしておきましょう!
これでラズパイ を通して複数のサーボモータの制御をするための準備は完了です。サーボモーター はこの様な形で扉に取り付けられています。サーボモータが約140°動くことでギアを経由して鍵が閉まり、ロッカーが施錠されている様子がご覧いただけます。
次回はラズパイ の操作に利用しているプログラム言語、Node-REDについてご紹介していきます!