Hero Image
APIファーストについて

1.APIファーストについて 本システムは、マイクロサービス1をAPIで提供することをコンセプトに構築されています。APIファースト2の視点を取り入れることができれば、APIのURLごとに技術を変えたり、設計の統一ができるようになります。これによってメンテナンス性を向上させたり、マイクロサービス的な視点によってサービスの肥大化を防げるようになります。 2.システム構成 本システムでは、APIを利用することで各種サービスを要求に応じて追加提供できます。このために、バックエンドが複雑になっていますが各種監視まで細かな管理ができ信頼性のおけるシステムです。また、高速な通信技術と最新のセキュリティ技術を導入していますので優れたUXを提供しています。 また、開発・テスト・デプロイまで一連の作業が一部自動化されるなど見通しがよく使いやすい設計となっていますので、メンテナンスや拡張性に優れています。 バックエンドのGo言語は、並行処理や並列処理が言語レベルで備わっており、このCPUで複数の仕事を同時に行う機能により、大量の同時接続に対応できかつコンパイル型なので高速に処理することができます。 3.技術スタック フロントエンド 言語: Javascript フレームワーク: Svelte/Sapper バックエンド 言語: Go プラットフォーム: Micro データベース PostgreSql: リレーショナル データ ストレージ ArangoDB: マスタデータ用のマルチモデル Timescale: 高速時系列データベース Redis: キャッシュ用[Key-value]データベース オーケストレーション Docker KubernetesはMinikubeで動作します。 通信 gRPC: サービス間の高速な通信技術 JSON: データ記述言語 その他 NATS: Pub/sub NGINX: K8sの進捗コントローラ Vault: K8sのパスワード管理 Prometheus: モニタリングツール Grafana: データ可視化ツール 4.マイクロサービス 電子掲示板 SNS チャット SMS(プッシュ通知) アンケート(Google Formを使うが、連絡先のDB化) 広告掲載(SSHにて管理者が行う) API管理(アプリケーション管理)(システム管理者) メトリクス監視(1)(DB:PostgreSQL)(システム管理者) メトリクス監視(2)(DB:AngoraDB)(システム管理者) 以上 マイクロサービス:マイクロサービスとは、複数の独立した小さなコンポーネントやサービスの組み合わせによりアプリケーションを開発する、クラウドネイティブなアプローチのアーキテクチャーです。。 ↩︎ APIファースト:APIは、プログラム的な結び付きを使って他のコードにアクセスできるようにする仕組みです。これを利用するとソフトウェア開発に要する時間が根本的に短縮できます。また、ソフトウェア開発にAPIファーストのアプローチを取ればソフトウェア開発の作業を洗練できます。 ↩︎

Hero Image
JamStackサイト制作手順

1.各種登録 カスタムドメイン登録サイト:例)Google Domain ソース管理サイト:例)Github,Gitlab アプリのビルド&デプロイ:例)Netlify ヘッドレスCMS:例)microCMS、Strapi(自分でクラウドに構築) 2.画面設計と文章・画像の準備 メインアイコン、faviconの作成 アイキャッチ画像の準備(wepb、svg、jpegなど) 顧客の準備できる画像の加工 基本的な顧客情報、商品などの説明 3.Hugoのテーマの選択 Hugoのテーマは、200以上あります。 当社では、「Hugo Serif」を採択しています。 4.HugoのインストールとGitHubへpush ローカルPCへHugoのテーマをインストールします。 当社では、WSLのUbuntu22.04となります。 GitHubへソースをpushします。 5.Hugoの各種設定と配置 基本的な設定をします 画像、文章を配置します。 6.ヘッドレスCMS ヘッドレスCMSは、お客様が必要な場合に準備します。 当社のサイトは、ローカルPCで編集したものをGitHubへpushしています。 ヘッドレスCMSのAPI連携を構築します。 小さな個人・法人サイトでは、microCMSは、無料で使えるの便利です。 Strapiは、ある程度のスペックが必要ですので注意が必要です。 弊社のサンプルアプリは、Strapiを使っています。 7.Netlifyへ連携 Netlifyは、Github,GitLabと簡単に連携できます。 カスタムドメインとSSLの設定をします。 「Google DomainのDNS」で事前にNetlifyのIPを設定しておきます。 8. デモアプリ Strapiを使ったサンプルアプリ(SQLite) Sveltekit×Render.com(Strapi)×Github×Netlify 以上

Hero Image
冷蔵庫の温度監視システムについて

冷蔵庫の温度監視システムの検証 1. ビーコン対応GPSトラッカーGW(SORACOM) センサーからのデータを BLE (Bluetooth Low Energy) 通信で集約しゲートウェイデバイスからアップロードする IoT システムのサンプルとして、「冷蔵庫の温度監視システム」です。利用するデバイスは、BLE ゲートウェイ機能をもち LTE-M 通信による低消費電力で安定したセルラー通信ができる「ビーコン対応 GPS トラッカー GW」です。温湿度センサーには温度・湿度センサー搭載 BLE ビーコン「MM-BLEBC7」(サンワサプライ社) を使います。このレシピでは、以下のようなダッシュボードが作成します。 1-1. ビーコン対応GPSトラッカーGWの特徴 ビーコン対応GPSトラッカーGW ※1:対応ビーコン:iBeaconのみ ※2:対応していないセンサーについても、BLE デバイスがアドバタイズモードでデータを送信すればキッティングツールでの設定により中継できます。詳細はキッティングツール付属のマニュアルをご参照ください。 ※3:ビーコン対応 GPS トラッカー GW 以外の BLE ゲートウェイとして SORACOM が販売しているのは、以下の Acty-G3 です。Android 開発が得意であれば、選択肢になるのではないかと存じます。 ビーコン対応 GPS トラッカー GW の特徴 1台に位置情報(GPS)、温度、湿度、加速度センサーと充電式のバッテリーを内蔵しています。省電力なセルラーLPWANであるLTE-M通信を搭載しているので、電源を入れるだけでどこでも通信が可能です。ブラウザから簡単な設定をするだけで、SORACOMのプラットフォームと連携し、すぐにデータ取得から可視化を始めることができます。 1台で4種類のセンシングができる ブラウザだけで始められる 充電式バッテリー内蔵 消費電力が少ない セルラー通信でどこでも使える ビーコン対応 GPS トラッカー GW の詳細 GNSS (GPS/GLONASS/みちびき) による位置測位ができます。 Bluetooth Low Energy (BLE) ネットワークにおけるオブザーバーとして BLE デバイスからのアドバタイズパケットを受信できます。これにより、BLE センサーのデータを集約して送信できます。 SORACOM の LTE-M 通信に対応した特定地域向け IoT SIM (plan-D、plan-KM1) を使用できます。ビーコン GW のデータはセルラー回線を利用しソラコムプラットフォームに送信されます。 センサーデータは、SORACOM Harvest、SORACOM Lagoon を使用して可視化できます。また、SORACOM Beam や SORACOM Funnel、SORACOM Funk を使用してクラウドサービスやお客様のサーバーにデータを連携できます。 充電式バッテリーが内蔵されており、電源が供給できない場所でも利用できます。また USB Type-C アダプタによる給電をしながらでも利用できます。 防水(IPX5/IPX8)・防塵(IP5X)・耐衝撃性能(MIL-STD-810G Method 516.

Hero Image
BLE測位

1. BLE(Bluetooth Low Energy)への取組 当社では、人やものの流れを把握し「リードタイムの短縮」「原材料・在庫削減」等による生産性の向上手段について検証しています。 BLE(Bluetooth Low Energy)技術を使った3次元測位の検証について 方向検知機能の技術の検討 デバイスの選定と検証 通信の検証 データの見える化の検討 2. Bluetooth5.1について 前半は、Bluetooth5.1の開設動画のドキュメント化です。 2-1. Bluetooth5.1の新機能 方向検知機能が追加されその機能には、AoAとAoDの計算が含まれています。 その他の機能として、GATT1 キャッシング機能強化、アドバタイズチャネルインデックスのランダム化、アバタイズによる定期的な同期情報の転送などアドバタイズ機能の強化が含まれています。 3. 方向検知機能の技術 3-1. RSSI(受信信号強度)の測定 近接ソリューションはBLEを活用して2つのデバイス間の近接性を判断します。 RSSI(受信信号強度)を測定してそれらがどれだけ近いかを判断します。 タグが付いた物の近くにいるユーザーに情報を送ることができます。 例としては、小売店や図書館や美術館、観光地などがあります。 3-2. RTLS(Real-Time Location Services)などの測位システムの使用例 主に屋内で使用され目的のデバイスが置かれているかを検知します。 資産追跡、ユーザー追跡、経路探索ソリューションなどがあります。 Bluetooth5.1より前は、BLEデバイスの近接判断は、RSSI(受信強度)のみに依存していました。 当社の簡単な実験では、障害物、受信装置の設置方法などの要因で数メートルの誤差が確認されています。このような判断でこれまでのBLEによる測位は難しいと考えていました。 Bluetooth5.1では、AoAとAoDの計算により測位システムの制度は1m以内のレベルになるといわれています。 高精度位置情報を実現する方向検知機能と表現されることもあります。 3-3. AoA(Angle of Arrival) AoAは、RTLS(リアルタイム位置情報サービス)と物品検索に役立ちます。 AoAでは、受信機は2つ以上のアンテナが必要ですが、送信機に必要なアンテナは1つです。 例としては、移動物に着ける「移動タグ」、受信機は位置が固定されたデバイス「固定タグ」が移動タグが出す信号を変換して移動タグ(送信デバイス)の方向を計算します。 3-4. AoD(Angle of Departure) AoDの場合、屋内の測位システム(IPS:Indoor Positioning System)に有用です。 Aodでは、送信機は2つ以上のアンテナ、受信機には1つのアンテナが必要です。 例として、送信デバイスは、位置が固定されたデバイスで受信デバイスは移動するスマートファンなどが考えられます。 スマートフォンのアプリは、受信した信号の方向をAoDのデータから判断し、アプリで表示する地図上に位置を表示できます。 3-5. Gattキャッシング Bluetooth5.1で導入された他の機能としてGATTサーバーの属性テーブルを保存するGATTキャッシングがあります。 無線がオンになる時間を短縮できのそ結果消費電力を少なくできます。 接続も高速になります。 3-6. Advertising channel index の使用法と変更 アドバタイズ2パケットを送信するために使用されるアドバタイズチャネルインデックスの順序の新機能です。 プライマリアドバタイズパケットのチャネルは、37,38,39またはこれらのサブチャネルで送信されます。 v5.1以降は、これらのチャネルを任意の順序で使用できるようになりました。 これは、ネットワーク内のデバイス間通信でアドバタイズパケットを利用するような大規模なBluetoothメッシュネットワーク展開に役立ちます。 なぜなら、使用するチャネルの順序をランダム化することでアドバタイズパケットの衝突を軽減できるからです。 アドバタイズによる定期的な動機情報を転送する新機能です。 拡張アドバタイズメントを利用してデバイスを同期するモードが設定できます。 継続的にアドバタイズする別のデバイスと通信し、接続を確立せずに発生した「変更に関するデータ」を受信します。 このモードの最初の段階では、リスニングデバイスがアドバタイズパケットを継続的に追跡できるようになります。 Bluetooth5.