Hieronymus Ver 2.0.6 release
mayumi
前回「使われていないMaix Amigoを活用して、バーコードリーダーにする」というエントリーを書きました。今回は、その勢いで作った 自社商品のAmazon倉庫への納品システム について紹介します。
自分が使うために開発したのでまだ荒削りな部分もありますが、すでに7回の納品実績があります。
Amazonへの納品にはいくつか方法があります。
本当はAmazon SellerのAPIを使うのが理想ですが(存在するはず…?まだ調べたわけではない)、今回は時間優先で Excelアップロード前提 の仕組みにしました。
開発者としては作り込みたい一方、納品担当者としてはとにかく早く出荷したいので、今回はこの方法でいきます。
Amazonに納品するには、まず商品を梱包し、FNSKU(Amazon倉庫で管理するコード)ラベルを貼り付ける必要があります。その上で、商品と数量をAmazonに報告します。
今回の納品システムを使った流れは次のとおりです。
作るにあたり、利用者として以下のようなものが最低限あってほしいと考えました。
前回のエントリと基本構成は変わりませんが、Node-REDをやめて Node.jsアプリ として書き直しました。 Maix Amigoのソフトは前回から流用し、バーコード読み取り+音を鳴らす部分はそのままです。
RaspberryPi4B
出荷現場でディスプレイがないこともあるため、接続して利用します。
Maix Amigo
Kendryte K210搭載のエッジAI開発ボード。今回はバーコードリーダー専用機にします。
MaixAmigo - Sipeed Wiki
こんな感じで接続してアプリを作っていきます。
WebSocketサーバー
Maix Amigoから受け取ったバーコードをクライアントへ送信。
APIサーバー
商品照会や出荷情報を管理。
フロント
最低限の管理UIを用意。
バーコードをスキャンするとAPI経由で商品情報を取得して、表示しつつ、スキャンした数量カウントします。
スキャンした商品の1回目の枚数と現在の枚数を比較し、過不足がないかを確認します。
商品の一覧画面です。とにかく、出荷作業をしたいのが優先だったので、自分がストレスを感じない程度のUIで最低限の機能だけ実装しました。
出荷詳細画面に作成したCSVダウンロードボタンクリックでCSVを生成するようにしました。
こんな感じで出力されます。
商品のバーコードをスキャンすると、その商品情報の表示と数量をカウントしています。
スキャンに集中すると画面確認を忘れがちになります。それでは、梱包ミスに気づけません。Maix Amigoは手元を見ないとスキャンできない構造であることが原因だと思われるので、今後は「手元を見なくても使えるスキャナ」に置き換えたいと思います。(せっかく、「使われていないMaix Amigoを活用して、バーコードリーダーにする」という思いつきで使い始めたのに…)
まれにバーコードが正しく読めないことがあります。ちょっと鬱陶しいのですが、頻度が低く、画面でエラーとして検知できるので現在は様子を見ておくまでにしています。
一番大きな変化は、数え間違えのストレスから解放されたことです。
今までは「数える(結構神経を使う)→数が合わない(絶望感)→最初からやり直す」の繰り返しで、納品が終わる頃にはぐったり疲れていました。
今では、スキャンしていけば自然と出荷準備が整っていきます。 あんなに面倒だった納品作業が、こんなに気楽になるとは思いませんでした。これだけでも十分に役立っていますが、さらに改善を重ねて、より実務で使いやすい仕組みにしていきたいと思います。
将来的には、棚卸しや決算作業の効率化にも活用できると良いですね。