---
robots: noindex, nofollow
lang: ja-jp
---
伊藤くん日報
===
# 2021/11
## 2021/11/02
- Start - 17:00
- PCセットアップ、社内ルール説明
- 17:00 - 18:00
- NO!蜜人数カウントの認識手段検討、EnOcean技術を使ってみたいなど方向性を絞る
- 18:00 - 18:33
- 初期環境構築、VPN接続出来ず中断
## 2021/11/04
- Start - 17:45
- 情報企画部 中口さんとミーティング、AD PWを設定しているのにも関わらず端末のPWが変わらず2回入力が必要な問題が増える。
- OSのダウングレードを試行するも時間がかかりすぎるため一時中断。
- トラブルシューティング(様々な手段でAD PW変更するも改善せず。キーチェーンのロック解除に失敗、File Vaultをオフに出来ないなどの問題が発生)
- 11/9 火曜日にオフィスに端末を持っていく予定。
- YubiKeyは端末が変わっても利用可能であるため先に設定。Intuneはダウングレードのため保留。
- 17:45 - 17:55
- 動作検証部門の方に最新OSでこのまま使用を続けても良いか確認を取っていただけることに。今日中に解答をいただける予定。
- 17:55 - 18:00
- EnOceanについて調査
- 18:00 - 18:25
- DanさんがAD PWの件の対処法をご存知だったので教えていただき、対処。(問題なければ火曜日オフィスに端末持参はなし)
- 18:25 - 18:35
- Intuneの導入。OSダウングレードなしで継続利用OK。
- 18:35 - 19:35
- 調査(https://hackmd.io/YeBLidp0RJK410vDBHzvEw)
## 2021/11/05
- Start - 18:30
- EnOceanについてや、管理画面(施設マップに反映する用)ライブラリの調査
- ライブラリのOSSライセンス調査
- プロジェクト前提条件の確認
- 18:30 - 18:40
- KDL Wiki確認
- 18:40 - 19:22
- BLEなど他の手段を検討
## 2021/11/09
- Start - 15:30
- PWマネージャ等の環境構築
- 15:30 - 16:25
- 発電方法、電源供給方法の検討
- 休日中に考えた手法の文字起こし
- 16:25 - 17:00
- KDL Wiki等で社内ルールの確認
- 17:00 - 19:45
- 具体的なシステム構成、マイコンの選定、システム構成など
## 2021/11/10
- Start - 19:35
- スマート農業 ゲートウェイ調査(https://hackmd.io/99FSwbjSR427JQ0kYZx1vQ)
- 報告相談等
## 2021/11/11
- Start - 17:18
- スマート農業調査
- 17:18 - 18:30
- PMS定期教育受講
- 受講報告回答
- 詳細を宮嶋さんに確認(所属部署選択・PJコードの扱いについて)
- 18:30 - 20:34
- スマート農業 周辺機器調査
- スマート農業 最終購入品リストアップ
## 2021/11/12
- Start - 20:28
- Teams対応
- スマート農業 ゲートウェイ最終購入品仮決定
- 中西さんからアドバイスをいただく
## 2021/11/16
- Start - 19:50
- スマート農業 センサ(自作)調査
## 2021/11/18
- Start - 18:20
- メール、Teams等確認
- スマート農業 センサ(自作)調査
- 18:20 - 18:43
- Kiki 確認
- 18:43 - 19:33
- NO!蜜人数カウント 調査
- 19:33 - 18:45
- 調査 + Teams対応
## 2021/11/19
- Start - 15:22
- TeamSpirit申請など
- 15:22 - 19:15
- SDI-12コネクタ調査
- 仕様などに目を通す
- 19:15 - 19:51
- NO!蜜人数カウント 既存フロアマップサイトで使用されているライブラリ調査
- 19:51 - 20:03
- Kintone社内コンテンツ確認
## 2021/11/25
- Start - 15:15
- メール, Teams等確認
- 登校スケジュール変更の可能性に伴って山崎さんにアルバイト日程について相談
- 15:15 - 17:53
- NO!蜜人数カウント 部品選定
- 17:53 - 17:56
- Teams対応
- 17:56 - 18:05
- Teamsの調子が悪い(通知音が鳴らない)のでPC再起動
- 18:05 - 19:34
- No密 管理画面など調査
- 今後の方向性を質問
## 2021/11/26
- Start - 15:00
- メール, Teams等確認
- 15:00 - 20:13
- No密のHPを解析
- APIにmicroCMSを利用してそうだと判明
- とりあえずFlutter Webを使ってサンプルのAPIを叩くところまではプログラミング出来たが、リクエストヘッダのAPIキーが丸見えになってしまう問題がある
- 既存APIとの連携は後で、独立した管理アプリとして仕上げる
- ソフトウェア導入に伴いPC再起動など
- AWS、Azureのユーザ認証サービスを調査
- Amazon Cognitoが使いやすそう
- 個人で開発するには規模がかなり大きくなりつつあるので勤務時間的にも、ミニマムな方向にしていきたい
- microCMSを使ったほうが簡単にデータの入出力をAPIで実現できそうだが、オーバースペックなので類似サービスを調査中
## 2021/11/30
- Start - 16:51
- メール, Teams等確認
- 年末調整対応
- Apple ID作成に伴う確認
- Apple ID作成
- 「このApple IDはまだ App Storeで使用されたことがありません。」無限ループにハマる
- 入力、出力、提出
- 16:51 - 20:59
- Apple IDの情報訂正
- 学校の登校スケジュール変更について連絡
- AWS Apmlify, Nuxt.jsについて調査
- nodebrewインストール
- Arduinoライブラリ商用利用問題
# 2021/12
## 2021/12/1
- Start - 15:16
- メール, Teams等確認
- 休暇申請
- 年末調整関連のやり取り
- 15:16 - 16:23
- Nuxt.jsの環境構築
- 年末調整関連のやり取り(イレギュラーな申告で長引いてます)
- 16:23 - 17:45
- Nuxt.jsの環境構築
- Node.js: nodebrewを使ってStable版インストール(v16.13.0)
- yarn: homebrew使ってインストール(v1.22.17)
- VScode
- 拡張機能など最低限
- Nuxt.js環境完成
- Welcome to your Nuxt Application!!
- 17:45 - 20:19
- Nuxt.jsを触る(公式ドキュメントの「はじめる」を一通りやる)
- ルーティング
- ディレクトリ構造
- コマンドと開発
- アップグレード
- 公式ドキュメントの「コンセプト」を読む
- UIフレームワーク調査
- Vuetifyが良さそう
- Vuetifyを使ったUI設計のテスト
- DynamoDBの設計、仕様、型などを確認
## 2021/12/2
- Start - 15:10
- メール, Teams等確認
- 15:10 - 15:40
- Azureの認証基盤調査
- Azure Active Directory B2Cを採用
- 15:40 - 19:23
- Azure Active Directory B2Cドキュメント読みながら触ってみる
- 一旦固定の認証情報で実装する
- Teams、Backlogアクセス確認
- Backlog PW再設定
- Gitリポジトリの作成をお願いする
- 運用ルール等の確認
- .gitconfig設定
- @nuxtjs/auth-nextを追加
- 認証周りコーディング中
## 2021/12/3
- Start - 15:03
- メール, Teams等確認
- 15:03 - 20:28
- 認証周りコーディング中
- ESLint基準でフォーマットするように調整
- 各ページの骨組みを作成
- $nuxt.$emitと$nuxt.$onを使って子から親(Pages->Layouts)へデータを渡すことが出来た
- 初回ロード時に遅延が発生するので、違う方法を試したい
- headのTitle要素とページ内タイトルを同期
- タイトルテンプレートの活用、トップページは無効化
- VuetifyでUI作成中
- 情報整理
## 2021/12/7
- Start - 16:10
- 社内案内
- AP接続の確認
- 16:10 - 16:55
- ソーラー無停電USB電源キット組み立て
- 16:55 - 18:05
- 進捗会議
- 18:05 - 21:20
- Nuxt.js学習
- Gitにプッシュする
- 質問・相談など
- https://github.com/nekochans/nuxt-boilerplate を読んでみる
- https://storybook.js.org Storybookが流行り
- https://lodash.com/docs lodashに便利関数がたくさんあるので積極的に活用
## 2021/12/8
- Start - 15:10
- 昨日の日報仕上げ
- 情報整理
- TeamSpirit申請
- 15:10 - 19:29
- Nuxt.js学習
- Lodashを使う
- lodash-vueというラッパー導入
- optionキーの組み合わせによる特殊記号が業務に支障をきたすので無効化したい
- 調査したが動作せず
- レイアウトで各ページ情報を管理・設定するように変更
- 2021/12/3の遅延問題が解決
- 認証基盤をFirebase Authenticationに変更?
- 確認等
- PC再起動
- メール確認、Backlogメール設定変更
- KDL Characters確認
- リマインド: 編集
## 2021/12/9
- Start - 14:57
- Teams対応
- 14:57 - 16:12
- Firebaseアカウント認証関連
- firebaseパッケージインストール
- VSCodeアップデート
- 関連情報調査
- 16:12 - 20:50
- Firebaseログイン
- NODE_ENVなどについて調べる
- ショートハンドについて調べる
- https://qiita.com/lemon2003/items/0b1e0b40588dd0bdb5a2
- https://www.metrocode.co/blog/post/firebase-authentication-nuxt-vuejs を参考に認証周りを作成中
- バージョン違いによりエラーが発生
- middlewareやstoreについて勉強
- ユーザ登録は出来た
- コード理解していないので、読みながら理解する
- Vuexの名前空間周りに悩まされる
## 2021/12/10
- Start - 15:07
- Teams対応
- 15:07 - 21:27
- Firebase JS API v8 -> v9
- middlewareの実行順序について
- middleware自体の実行順序
- plugins→middleware→fetch→asyncData
- middlewareの関数の呼び出し方の違いによる実行順序
- nuxt.config.js→layout→page
- 任意の名前空間のgetterが取得出来ない問題
- https://qiita.com/esumura/items/732c4641d47e633367d0
- https://qiita.com/nekonekonetwork/items/db769524f34e32527661
- { "message": "[vuex] do not mutate vuex store state outside mutation handlers.", "statusCode": 500 }
- userオブジェクトをそのままVuexに書き込んでいたのが原因
- ユーザ登録・ログイン成功
- リロード時に挙動がおかしい問題
- vuex-persistedstateを使う?
- パスワードなどのバリデーション
## 2021/12/14
- Start - 15:50
- Teams対応
- 15:50 - 17:05
- フォームバリデーション
- ログイン時挙動がおかしい問題
- 17:05 - 18:24
- 進捗会議
- ログイン時挙動がおかしい問題
- ロード時にSDK叩けばいいのでは?
- 18:24 - 20:18
- ロード時にSDK叩けばいいのでは?
- 若干解決 SDKから返ってくるまでデータがないので永続化が必要
- ボイラープレート
- vue-class-component
- vue-property-decorator
- vuex-module-decorators
## 2021/12/15
- Start - 15:12
- Teams確認
- アップデートなど
- AWS Client VPN確認・設定
- 15:12 - 21:18
- 機材購入価格調べ・リスト化
- 仕様など調査
- 実際にBLEの通信距離を検証
- ベランダ越し10m程度では普通に検出可能
- vuex-persist導入
- Vuex モジュールの場合の復元方法分からず
- オブジェクトとして突っ込む
- 復元できたが、一部ページでエラー発生
- [Vue warn]: The client-side rendered virtual DOM tree is not matching server-rendered content.
- `<client-only>`で対処
- 初回ロード時からログイン状態が保持され数秒後に最新のログイン状態に更新されるように変更
- 本来アクセスできないページのリダイレクトは、ページ遷移時はミドルウェア、初回ロード時はプラグインでログイン状態を取得してから処理
- LodashのdropWhileがうまくいかない
- filterメソッドで対応
- 認証周りで挙がっていた課題をクリアしたのでGitへPush
- Teams確認
## 2021/12/16
- Start - 15:14
- Teams, メール確認
- TeamSpirit通知について連絡・確認 等
- 15:14 - 20:37
- Firebase Realtime Databaseを使う
- シンガポール(asia-southeast1)で作成
- env情報の更新
- 機密情報にアップロード
- DB構造の設計
- UI修正
- uidとemailをVuexに格納
- computedから非同期処理ができない問題
- fetch ()で解決
- 管理画面からDBに書き込み、更新に成功(認証まだ)
- 認証追加、アクセス制限をした上での読み書きに成功
- GitへPush
## 2021/12/17
- Start - 14:55
- Teams, メール確認
- 14:55 - 16:24
- [管理画面] Firebase Realtime Databaseの変更を検知して自動更新
- Vuexアクションに出来ない?
- 16:24 - 21:38
- ウィンドウ切り替えが辛いのでツール導入
- [ゲートウェイ] Initial commitするがPushのブランチの順番を誤り意図しないブランチがデフォルトブランチになったため変更を依頼
- [管理画面] serverTimestamp()でサーバに送られた時にエポックミリ秒が記録される
- [Firebase] ダミーデータをDBに記録
- [ゲートウェイ] Firebaseライブラリ調査
- 古いのしかない https://pypi.org/project/firebase/
- [ゲートウェイ] 機材購入を高橋さんに相談
- [ゲートウェイ] 環境構築
- [ゲートウェイ] firebase ログイン
- 仮想環境に不具合、トラシュー
- READMEおかしい
## 2021/12/21
- Start - 9:17
- Teams, メール確認
- Kiki確認
- 9:17 - 11:24
- [ゲートウェイ] READMEおかしい問題を修正
- [ゲートウェイ/センサ] BTについて調べる
- M5 ATOMは4.2、RPi Zero WHは4.1
- [ゲートウェイ/管理画面] ゲートウェイ、管理画面のコーディング
- [管理画面] leafletを触ってみる
- 11:24 - 11:45
- 高橋さんとMtg
- Kintone
- 物品支出申請
- 支出方法: 精算
- 支出先: ショップ名
- 申請金額: 金額
- 添付ファイル: 領収書など
- 経費負担部署: デジタルビジネス本部
- PJ名: 【共】KDL Progressive Development 共通
- 支出内容: アルバイト業務の研究・検証のため
- 支出目的、所感: 購入内容詳細
- 承認者1を高橋さんに変更
- 11:45 - 12:02
- 上記まとめ
- VPN接続確認
- 13:02 - 14:15
- [ゲートウェイ/センサ] 購入の申請条件の確認
- [ゲートウェイ/センサ] 在庫がなかったので代替ショップの調査
- なかったので送料の都合上2回に分けて購入予定、入荷を依頼
- [ゲートウェイ/センサ] 購入
- 14:15 - 19:41
- [管理画面] leafletを触ってみる
- nuxt-leafletが悪いのかうまく動かない環境作り直したり色々試行錯誤中
- [管理画面] サンプル表示出来た
- [管理画面] 画像探し
- https://unsplash.com/photos/SDesNGbwjXg
- [管理画面] 画像表示、調整
- [管理画面] 施設名取得
- [管理画面] センサデータ取得
- TODO: 施設名記録・更新
## 2021/12/22
- Start - 9:11
- Teams, メール確認, 質問
- 9:11 - 12:06
- [管理画面] 施設名はDB直接操作で変更する
- [管理画面] 実行タイミングをフラグで調整
- [管理画面] DB内容を確認しながらバリデート
- [Firebase] DBのパーミッション修正
- 12:06 - 16:25
- [管理画面] DBのAPIを叩くタイミングが悪くうまくデータを取れない
- [管理画面] マップ背景画像を動的に変更
- [管理画面] 施設データの取得
- [管理画面] 施設IDに紐づいた施設名を確認出来るように変更
- [管理画面] DBアクセス開始タイミングを制御
- [管理画面] 施設名のルールを追加
- [管理画面] デモ用マップ背景画像の追加
- [管理画面] マップ背景画像が登録されていない場合の処理と画像を追加
- 2回リダイレクトしているようでエラーが起きているが動作に影響無し。のちに対処
- Navigation cancelled from〜
- [管理画面] leafletのメソッドを使って制御試し中
- 16:25 - 16:57
- [ゲートウェイ/センサ] 機材購入出来た分の申請(秋月はまだ)
- 16:57 - 19:57
- [管理画面] いろいろ試行錯誤
- [管理画面] センサデータの最終更新を表示
- [管理画面] マップにAttributionを追加
- [管理画面] DB記録エポックミリ秒をDate型に変換
- new Date(Number(Object.keys(this.mapData)[0]))
- [管理画面] センサ座標などデータ加工処理をひたすら書く
- なぜか読めないプロパティあり
- Teams連絡など
## 2021/12/23
- Start - 9:17
- Teams, メール確認, 返信
- Outlook設定
- 9:17 - 12:03
- [管理画面] データ抽出
- [管理画面] カレンダー機能実装
- 表示崩れあり
- FABでボトムシートに変更して対処
- 多分Vuetifyのバグ
- [ゲートウェイ/センサ] 購入機材受け取り
- [管理画面] デザイン調整
- 13:03 - 13:05
- [ゲートウェイ/センサ] 購入機材受け取り
- 開封
- [ゲートウェイ] RPi設定
- brew install raspberry-pi-imager
- Wi-Fi, SSH接続確認
- ケース組み立て
- 以下設定
- sudo apt update && sudo apt upgrade -y
- sudo raspi-config
- 言語設定: ja_JP.UTF-8
- タイムゾーン設定: Tokyo
- Wi-Fi: JP
- sudo apt install -y vim git
- ホスト名変更: nomitsu-mod-gateway
- sudo hostnamectl set-hostname nomitsu-mod-gateway
- sudo vim /etc/hosts
- sudo adduser yu-ito
- sudo usermod -aG adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio yu-ito
- (yu-itoでログイン)
- sudo userdel -r pi
- sudo apt install -y ufw
- sudo ufw disable
- sudo ufw default deny
- sudo ufw allow 22
- sudo ufw enable
- sudo ufw status verbose
- vim ~/.bashrc
- ```bash
# 日本語文字化け対策
case $TERM in
linux) LANG=en_US.UTF-8;;
*) LANG=ja_JP.UTF-8;;
esac
```
- source ~/.bashrc
- [Firebase] DB設計変更
- global_statusを追加
- [管理画面] カレンダー機能完成
- [ゲートウェイ] RPi設定
- mkdir /home/yu-ito/.ssh
- touch /home/yu-ito/.ssh/authorized_keys
- echo "ssh-ed25519 〜〜〜" >> /home/yu-ito/.ssh/authorized_keys
- chmod 700 /home/yu-ito/.ssh
- chmod 600 /home/yu-ito/.ssh/authorized_keys
- sudo cp /etc/ssh/sshd_config{,org}
- sudo vim /etc/ssh/sshd_config
- AuthorizedKeysFile .ssh/authorized_keys
- PermitRootLogin no
- PasswordAuthentication no
- PermitEmptyPasswords no
- sudo systemctl restart ssh
- [ゲートウェイ] ssh config書く
- cyberduckインストール
- [ゲートウェイ] 実行環境構築
- 性能低くて時間かかる
- [ゲートウェイ] illegal instruction SoCが古すぎて動かない?
- Node.jsでやってみる?
- [ゲートウェイ] フルバックアップ rpi-clone
- [管理画面] マップにセンサ座標プロット
- [ゲートウェイ] Node.jsインストール
- You appear to be running on ARMv6 hardware. Unfortunately this is not currently supported by the NodeSource Linux distributions. Please use the 'linux-armv6l' binary tarballs available directly from nodejs.org for Node.js 4 and later.
- curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
- echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
- sudo apt update && sudo apt install --no-install-recommends yarn
- vim ~/.bashrc
- ```bash
# n
export N_PREFIX="$HOME/.n"
export PATH="$N_PREFIX/bin:$PATH"
# Node.js Unofficial Builds
export N_NODE_MIRROR=https://unofficial-builds.nodejs.org/download/release/
```
- source ~/.bashrc
- curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
- bash n lts
- npm install -g n
- rm ~/n
- n lts
- node -v
- v16.13.1
- sudo apt install -y bluetooth bluez libbluetooth-dev libudev-dev
- 検証用適当なディレクトリ作成&移動
- yarn add noble
- ビルドエラー
- ついでにMacのNode.jsをアップデートv16.13.1
## 2021/12/27
- Start - 9:10
- Teams, メール確認
- 9:10 - 12:07
- 機材組み立て
- [ゲートウェイ] 環境リセット
- sudo apt install -y nodejs npm
- sudo npm install n -g
- sudo n stable
- exec $SHELL -l
- sudo apt purge -y nodejs npm
- [センサ環境構築] brew install arduino
- https://kwst.site/202103074804
- PCA9554追加
- フォーマット設定 "C_Cpp.clang_format_style": "{BasedOnStyle: Google, IndentWidth: 4}"
- 13:07 - 19:45
- [センサ] コーディング
- Ext.IO経由で取得するにはライブラリの改変が必要かも (MITなのでOK)
- 超音波センサ (単体接続) のデータ取得完了
- 超音波センサの距離に応じてLEDの色を変える
- Ext.IO使おうと思い色々試しているが、ライブラリの改変を根本的なところからしないといけない可能性 (クラスオブジェクトの渡し方とかがうまくいかない/分からない)
- [ゲートウェイ] 環境構築 (aptにある古いNode.js v10.24.1)
- firebase -> 成功
- yarn add firebase
- noble(コミュニティによりメンテされてるやつ) -> 成功
- sudo apt install bluetooth bluez libbluetooth-dev libudev-dev
- yarn add @abandonware/noble
- [ゲートウェイ] 環境構築 (非公式ビルドLTS版Node.js v16.13.1)
- vim ~/.bashrc
- ```bash
# Node.js Unofficial Builds
export N_NODE_MIRROR=https://unofficial-builds.nodejs.org/download/release
```
- source ~/.bashrc
- sudo -E n lts
- sudo npm install -g npm
- yarn init
- mainとlicenseを削除、privateをtrue
# 2022/1
## 2022/1/6
- Start - 15:34
- Teams, メール確認
- [ゲートウェイ] 新リポジトリにPush
- 休暇申請など
- 15:34 - 19:39
- PC再起動
- [ゲートウェイ] (Gitの状態に合わせるため最初から) noble追加
- sudo apt install bluetooth bluez libbluetooth-dev libudev-dev
- yarn add @abandonware/noble
- vscode-serverが使えないのでCyberDuckでSync設定
- 環境変数ファイルの読み込み
- BLEの調査、商用利用可能な規格の選定
- AltBeacon(なお、iOSでは認識できず)
- Beacon シミュレータで発信したAltBeaconは認識
- [センサ] AltBeaconのアドバタイズ準備
- iBeaconで発信はできた
- BLEBeacon = iBeacon?
- https://srounce.github.io/esp32-snippets/annotated.html
- UUID: 05aa3cf7-47f4-1be2-f65b-1000022c1016
- スイッチサイエンス在庫確認
- PIRセンサがなし
## 2022/1/7
- Start - 15:06
- Teams, メール確認, 返信
- 一部ウェブサイトの挙動がおかしいのでキャッシュ, Cookie等クリア
- それに伴い再ログイン処理など
- AD PW変更など
- 15:06 - 21:04
- [センサ] AltBeacon発信検証
- ライブラリを読む
- 既存ライブラリはiBeacon仕様なので使えない
- ライセンス的にiBeaconでも問題なさそうなので変更
- [センサ] iBeacon既存コードを理解する
- https://qiita.com/SamAkada/items/8860f3ba77233852d24a
- 仕様書、ドキュメントを読む
- setUUIDについて
- UUIDを後ろから2桁ずつ取ってソートしてるだけ
- setFlagsについて
- 常に発信するだけなので、General Discoverable Mode
- https://pe-bank.jp/guide/column/theme/iot_things/20171120
- https://qiita.com/Kosuke_Matsui/items/c46a7e0b2299fe2e611f
- 参考コードをリファクタリング
- ```arduino
std::string convertedUuidFormat() {
String uuid = String(BEACON_UUID);
String ret = "";
uuid.replace("-", "");
Serial.printf("%d. %s\n", uuid.length(), uuid.c_str());
if (uuid.length() != 32) {
return ret.c_str();
}
for (int i = 17; i >= 0; i--) {
switch (i) {
case 13:
case 11:
case 9:
case 7:
ret += "-";
default:
ret += String(uuid[i * 2]);
ret += String(uuid[i * 2 + 1]);
break;
}
}
return ret.c_str();
}
```
- file:///Users/yu-ito/Downloads/Core_V4.0.pdf P1761 BLE仕様
- コーディング、トラブルシューティング
## 2022/1/11
- Start - 15:46
- Teams, メール確認
- 15:46 - 21:19
- ラズパイ接続方法確認
- https://indoor27.com/gadgets/%E3%80%90%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E3%80%91raspberry-pi-zero%E3%81%ABmac%E3%81%A7ssh%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7
- OKネットまだ
- スマート農業の確認
- アドバタイズパケットの解析
- <Buffer 4c 00 02 15 / 05 aa 3c f7 47 f4 1b e2 f6 5b 10 00 02 2c 10 16 / 00 00 / 00 00 / bf>
- 固定値 / UUID / Major / Minor / 符号付き8Bit 16進数 TxPower 0xbf->-65
- iBeaconパース
- ビット演算勉強
- iBeaconパース完成
- 物品支出申請
- Arduinoコンパイル仕組みなどを教えていただく
- ライブラリ改変どうする問題
- パッチファイル
- シンボリックリンク
- コピーする
## 2022/1/12
- Start - 15:04
- Teams, メール確認
- 15:04 - 20:16
- ゲートウェイ
- 判定条件見直し
- MACアドレス偽装問題の対策
- JSDoc導入
- 値が変わった時の検知・記憶
- なぜかオブジェクトのキー有無をinで判定できない
- 上流ブランチへマージ
- Firebaseへの書き込みに着手
- 認証情報用意
- 依存パッケージがぶっ壊れたのでyarn installやりなおし
## 2022/1/18
- Start - 15:05
- Teams, メール確認
- 15:05 - 20:25
- 水平線を描画
- Firebaseログイン
- Webのものではうまく動かず
- AdminSDKを試す
- 環境変数ファイル読み込み処理を変更
- コミット整理
- yarn install
- yarn add firebase-admin
- 環境変数ファイルを機密情報にアップロード
- firebase AdminSDKがis not a functionになる
- console.logも同様なのでおそらく文法ミス?(セミコロン省略による弊害?)
## 2022/1/19
- Start - 14:56
- Teams, メール確認
- 14:56 - 20:49
- AdminSDKを使っていく
- DB取得成功
- IoTアプリは通常のSDKを使うように書いてあるため再度戻してみる(AdminSDKの使い方のままやれば使えそう)
- ローカルGitリポジトリバックアップ
- 歴史改変
- firebase導入
- yarn install && yarn add firebase
- Firebase Authenticationでゲートウェイ用アカウントのログイン
- Firebase Realtime Databaseの全施設データを取得
- コマンドライン引数で施設IDを受け取りする処理を追加
- 施設IDに紐づいた施設名を表示
- 細かな修正
- 開始タイミングの調整が強引なのをなんとかしたい
- DB書き込み用データ抽出
- 1時間以上検出されていないセンサをDB書き込み用データから削除
- Lodashで深いコピー調べる
- センサダミーデータ発信のコーディング(途中)
## 2022/1/20
- Start - 15:11
- Teams, メール確認, 返信
- 15:11 - 19:59
- センサダミーデータ発信のコーディング
- Teams返信
- DB送信用オブジェクトを作る処理
- ラズパイが落ちたので再接続
- TODO: フロントでゲートウェイ用アカウントを弾く
- ntpdateインストール
- センサ情報をDBへ書き込み
- DB書き込み用データを生成
- NTPからシステム時刻の設定を行う処理を追加
- 水平線の描画前に改行するかどうかの引数を追加
- root権限判定を追加
- エラー処理を統一
- ゲートウェイほぼほぼ完成(TODO: ドキュメント)
- PR作成 & マージ
## 2022/1/21
- Start - 15:02
- Teams, メール確認
- 15:02 - 20:48
- アイコン加工のためソフト検索
- Inkscapeインストール
- アイコン探し (https://icooon-mono.com)
- Inkscapeでアイコン加工
- センサアイコン変更
- 座席座標取得
- 座席座標プロット
- アイコンが見にくいので調整
- ダミー座標入力
- データプロット
## 2022/1/26
- Start - 14:59
- Teams, メール確認
- 14:59 - 20:48
- 必要機能の洗い出し
- フロント
- 新規センサ登録機能
- センサ位置調整
- マップ背景変更
- Homeページにコンテンツ追加
- 特定ユーザログインブロック
- ゲートウェイ
- 自動起動
- プロセス永続化
- センサ
- バックエンド
- DBルール変更、ゲートウェイユーザ以外のdata書き込みアクセス制限
- センサ取り組み
- パッチコマンドについて調べる
- ボードの定義ファイルでより新しいものが存在したので適用
- あっさりアドバタイズ止まらない問題が解決
- Intellisenseおかしい問題
- このPRでパッチ当てる https://github.com/microsoft/vscode-arduino/pull/1276/files
- ボードの定義DL
- とりあえず2.0.0にダウングレード
- https://github.com/m5stack/M5Atom/issues/59
- 拡張ハブ経由で超音波センサ動かず
- 動作音の間隔が通常より遅い?
- フロントPush
## 2022/1/27
- Start - 15:08
- Teams, メール確認
- 15:08 - 20:50
- 引き続き超音波センサ問題
- ライブラリとか調査
- 原因切り分け作業
- ライブラリを変えたり試行錯誤したものの改善せず
- データ書き込みはできても読み込みができてなさそう常に同じ値が返ってくる
- お疲れ様です。GPIO拡張ハブの件でご報告です。
使用ライブラリを変更したり書き方を変えてみたり色々試行錯誤しましたが、 digitalWrite() の後に digitalRead() した際、一定のデータしか返ってこない (データが変動しない) 問題が引き続き発生しており使用出来ていません。
超音波センサから聞こえる音の間隔が正常動作時と比べて非常に遅いのは、期待されるデータが返っていないため、タイムアウトして最初の処理に戻っているからでした。
GPIO拡張ハブは選定時点でマイコンのM5 ATOM LiteのGPIO Pinが6個しかなく、合計8つのセンサを繋げないことから採用しましたが、Grove側のポートを無理やり使用することで合計8個使用出来ることを実際に確認しました。
ですので、もったいないですが、一旦GPIO拡張ハブを使用しない方向で進めてみようと思います。
GPIO拡張ハブは既に物品支出申請が通っており、精算済み (473円) なのですが、もし会社に返金などをさせてもらうとしたら最終的に使うか使わないか判断してからで大丈夫でしょうか?
よろしくお願いいたします。
- 幸いAtom LiteのGPIOが無茶すれば8つ取れそうなのでその方向で試す
- 全ポート使用可能なことを確認
- 動的配列クラス std::vectorを使って引数付きコンストラクタクラスのインスタンスを配列で管理
- https://ja.stackoverflow.com/a/59493
- 4つのGPIOに繋がれた超音波センサの距離 (cm) を取得
- LED関連を削除してシリアルにデータを出力
- 定数の変更で超音波センサの増減 (MAX 4つ) に対応するように変更
## 2022/2/1
- Start - 15:10
- Teams, メール確認/返信
- 15:10 - 16:07
- 購入額計算
- 追加物品について相談
- 購入物検討
- #|#SKU|名称|説明|通常価格|割引価格|数量|金額
-|-|-|-|-|-|-|-
1|6245|SEEED-110990210|GROVE - 4ピン - ジャンパオスケーブル(5本セット)|407 円|407 円|2|814円
2|1383|SEEED-101020010|GROVE - 超音波距離センサモジュール|550 円|550 円|3|1,650円
3|3584|SEEED-101020353|GROVE - ミニPIRモーションセンサ|693 円|693 円|3|2,079円
||||||||合計金額: 4,543 円
- 16:07 - 20:46
- PIRセンサの情報取得
- 検出ロジックの検討
- ゲートウェイのアップデート
- ゲートウェイ yarn global add forever
- vim ~/.bashrc
```bash
# yarn global
export PATH="$PATH:$(yarn global bin)"
```
- センサを動かしながら検証・改善・書き込みを繰り返す
- PIRセンサはずっと静止していると無反応になる
- カウンタを用意して、防止ロジックを考える
- 実行間隔の均一化
# 2022/2
## 2022/2/2
- Start - 15:10
- Teams, メール確認/返信
- 15:10
- センサ調整
- BLEをdevelopにマージ
- 今後について相談
- センサ購入
- センサの固定 M2ねじ+ナットでいけそう
- ロジック確定
- Push
- BLEとのコンフリクト解決
- ビット演算途中
## 2022/2/4
- Start - 15:18
- Teams, メール確認/返信
- 購入物品受け取り
- 15:18 - 21:01
- 開封
- 物品支出申請
- Teams対応など
- 休暇関連相談
- 各種アップデート
- 中西さんの案件事前調査
- https://users.soracom.io/ja-jp/guides/dev-boards/m5stack/
- https://blog.taiko19xx.net/entry/2018/11/03/195029
- TinyGPS++ が LGPL v2.1 なので使いにくそう
- https://arduinojson.org/
- ArduinoJson MIT
- 筐体の考案
- 筐体試作
- 必要部品選定(途中)
- ケーブル伸ばし
- センサが多すぎるのでラベリング
- 結束バンドでまとめる
- センサ4つを同時に繋いでみたところうまく動作しており、在席状態を管理画面をリアルタイムで表示可能
- センサ4つを実際に繋いでみて課題も出てきました。
- 筐体がないのでセンサが固定出来ないこと
- センサだけで配線が24本ほどになってしまうので、結束バンド等で頑張って整理してもすごい量になってしまうこと
- 配線の量が多いため、取り回しが良くなく、キッティングの際の手間も増えてしまうこと
- 確認など
- TODO: Flags[2]を調整したい & マージ
- GitPush
- 中西さん対応
- 21:01 - 21:46
- 休憩
- 21:46 - 21:10
- 中西さん対応
## 2022/2/8
- Start - 15:01
- Teams, メール確認/返信
- 15:01 - 18:44
- 中西さん案件下調べ
- 環境構築
- 質問
- https://hackmd.io/3hrBafbERGKQXamXF1kepA
- 18:44 - 20:31
- No蜜説明用写真撮影・転送
- ねじ・筐体調査
- 在席人数に応じてRGBLEDの色を変更する処理を追加
- スライド作成開始
## 2022/2/9
- Start - 15:04
- Teams, メール確認/返信
- 15:04 - 20:40
- 中西さんから到着した機材確認
- 機材組み立て
- M5Stack Basic + M5Stack用 3G 拡張ボード + M5Stack バッテリーボトム
- M5Stack用 3G 拡張ボードのテスト
- ArduinoJsonのテスト
- M5Stack Basic負荷テスト
- プログラム書けるところを書く
- 中西さん返答待ち
- ドキュメントまとめ
- 20:44 - 21:42
- 中西さんへ補足
- 連絡がついたので継続
- SORACOM SAMアカウント発行、ログイン、PW変更
- 2FA設定のため
- brew tap homebrew/cask-drivers
- brew install yubico-authenticator
- 2FA設定
- 21:44 - 22:26
- 休憩
## 2022/2/10
- Start - 15:18
- Teams, メール確認/返信
- 15:18 - 19:41
- はんだづけ
- GPS試す
- シリアルうまく取れない
- 中西さんMtg
- Git参加 -> Push
- JSONの数値頑張って無理なら文字列
## 2022/2/16
- Start - 09:15
- Teams, メール確認
- 09:15 - 12:10
- GPS取れない問題のトラシュー
- 今まで書き込めていたのが急に A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
- PC再起動しても効果なし
- 一時的にUpload Speedを落とせば解決 (115200)
- 一度書き込めたら最速 (921600) に戻しても問題なし
- Serial1 (G2, G5に変更) や Serial2でGPSモジュールからデータを取れない問題
- 共通しているのは、未接続の時には出力されない、接続後ランダムな数値が返ってくる、接続後に切断してもランダムな数値は持続し続ける
- GPSモジュールをPCに繋ぐとデータが返ってくることから、はんだやモジュールの不良ではない
- [M5純正GPS Unit](https://docs.m5stack.com/en/unit/gps)を購入して、サンプルコードをベースにテスト (UARTでデータが取れてボーレートも同一なので動きは似ているはず)
- 書き込んでしばらく放置
- データ取れた
- 12:10 - 19:33
- GPS接続時に音が出てしまう問題の対策を追加
- GPSからの期待されるデータが返ってこない場合 (未接続時など) の判定を追加
- loop() 時に発生したエラーメッセージを表示
- 時間取得など
- 島村さん相談
- GPS接続時に音が出てしまう問題の対策を追加
- GPSからの期待されるデータが返ってこない場合 (未接続時など) の判定を追加
- loop() 時に発生したエラーメッセージを表示
- GPSによるUTC時刻、緯度、経度、北緯(N) or 南緯(S)、東経(E) or 西経(W) を取得
- 過去にGPSから期待されるデータが返ってきたが、時間データが更新されていない場合 (切断等) の判定を追加
- 今後の予定などを中西さんと相談
- 質問追加
## 2022/2/17
- Start - 09:06
- Teams, メール確認
- 09:06 - 12:30
- UTC -> JST
- ライブラリの仕様?バグ?にハマる
- 解決
- GPSによるUTC年月日・時刻からJST日時、整形されたJST年月日・時間を取得
- 有効なUTC年月日・時間が取得出来た場合 (コールドスタートで初期値が返される場合を含む) JST年月日・時間を表示
- GPSとTimeライブラリの年月日・時間を同期する処理を追加
- 13:30 - 17:45
- 小数点以下の扱いについて試行錯誤
- GPSを実際に拾ってテストするなど
- 位置特定品質、使用衛星数の取得
- 17:45 - 18:25
- 小出さんミーティング
- 対応など
- 18:25 - 20:14
- 3Gモジュールの切断判定
- 検証など
- 進捗報告
## 2022/2/18
- Start - 09:15
- Teams, メール確認
- 09:15 - 12:07
- IMEI取れていなかった問題の対処
- 3G・SORACOMへ接続する処理を追加
- 3Gから期待されるデータが返ってこない場合 (未接続/切断等) の判定を追加
- SORACOMから切断されている場合 (IPが取得出来ない/セッション切断/3G圏外等) の判定を追加
- 3GモジュールからIMEIを取得
- フォーマッタの設定を変更 (1行の最大文字数を120文字)
- GET確認
- 3Gモジュールのイレギュラー処理を修正
- 細かな修正
- 13:07 - 19:38
- 一定間隔で送信するアルゴリズムの作成
- ジャンパワイヤの皮膜が割れたので熱収縮チューブで応急措置
- SORACOM Harvest Dataへのデータ送信を追加
- 送信後のレスポンスタイムアウト時間 (ms) を設定
- loop()の最小間隔 (ms) を設定
- 送信先情報を設定
- SORACOM Harvest Dataに接続出来ない場合の判定を追加
- LOOP_TIMEより早く処理が完了した場合に待機
- データ送信先をSORACOM Harvest DataからUnified Endpointに変更
- 送信先からのレスポンスがM5Stack Basicの画面内に収まらない可能性があるのでUSB Serialにも出力するように変更
- 中西さんMtg
- JSON丸めによる誤差
- GPGGAからの手動計算結果と比較
- 位置特定品質 1標準測位サービス, 2干渉測位方式(こっちのがいい)で見比べる
- 衛星数をどれくらい掴めるか
- 時間帯とか
- 言語仕様による丸めとの誤差計算
- 報告
## 2022/2/22
- Start - 09:18
- Teams, メール確認
- 09:18 - 12:18
- 中西さん案件、丸め誤差による影響がないエビデンス作成
- 筐体試作
- 段ボール寸法
- けがき
- カット
- 調整
- 配線など
- 13:18 - 18:22
- PC再起動
- スライド作成
- センサ角度調整
- 画像転送
## 2022/2/24
- Start - 09:08
- Teams, メール確認
- 09:08 - 12:07
- 各種アップデート
- パラメータ調整
- スライド修正
- 中西さん案件調査
- PC、ゲートウェイ共にNode.jsをv16.14.0にアップデート
- 13:07 - 20:26
- フロントのバグ修正
- データ処理関連の判定を修正
- データなしの時に表示する文字列を定数化
- エラー表示の工夫
- イレギュラー操作の再現
- DBパーミッションの変更など
- センサ調整
## 2022/2/25
- Start - 09:15
- Teams, メール確認
- 09:15 - 12:28
- エラー処理・表示のソートなど実験
- 予定調整
- オブジェクト配列におけるArray.includes()とArray.some()の違い
- includes()でやると参照で比較するので一致しててもfalse
- 実装
- テスト
- 中西さんGPS調査
- 13:28 - 20:14
- 中西さん報告
- ゲートウェイソースコード修正
- 中西さんBacklogドキュメント作成、mainブランチへマージ
- ライブラリ、ボード定義アップデート
- ATOM Liteに書き込めなくなる
- PC再起動
- センサのパラメータ調整
- PIRセンサの感度や検出角度が良くないので調査したところキャップの変更で改善するかも
- https://jpn.faq.panasonic.com/app/answers/detail/a_id/7632/~/%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%AE%E6%A4%9C%E7%9F%A5%E7%AF%84%E5%9B%B2%E3%81%AE%E8%AA%BF%E6%95%B4%E3%81%AF%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%EF%BC%9F-vl-wd812k
- 中西さんドキュメント (Wiki) 作成
- カレンダー機能の改良
# 2022/3
## 2022/3/1
- Start - 09:17
- Teams, メール確認
- Zoomパスワード再設定(有効期限切れ)
- 2FA設定
- 09:17 - 12:08
- センサパラメータ調整
- センサ位置調整
- @click.stopについて調査
- カレンダーの閉じるボタン実装
- Firebaseアクセス制限手法の検討
- 13:08 -
- Teams確認、レポートを読むなど
- Leaflet関連の調整・コンポネートの変更
- 細かな修正
- タブを使うとスクロールできない問題
- https://zenn.dev/gz/articles/7a1f701e1ef91b
- タブがスクロール可能な場合に変なスペースが発生する問題
- https://github.com/vuetifyjs/vuetify/issues/8875
- タイムライン作成
- データ生成など
## 2022/3/2
- Start - 09:10
- Teams, メール確認
- 09:10 - 12:02
- v-slotの省略記法でlintワーニング修正
- トランジション追加
- VSCodeが固まる
- マージン調整
- デザイン修正
- ログインなどをEnterで確定
- v-on -> @を使う
- 複数メソッドを実行
- 13:02 - 19:58
- 今週のデータ記録カレンダーやタイムラインのデータがない場合にアラートを表示
- データなしに使用するテキストを追加
- yarn generate
- 失敗
- yarn upgradeを試す
- 成功
- yarn start
- ずっとぐるぐる
- 島村さん予定調整
- Leaflet.Editable
- https://github.com/geopan/vue2-leaflet-editable
- PC移行関連相談
- PCデータ抽出
- SSH秘密鍵どうする問題
- ひとつだけExpansionPanelを複数開けるか試す
- 失敗
- Leaflet.Editableのプラグイン化
- うまくいかず
- https://github.com/schlunsen/nuxt-leaflet はモジュールとして動いている?
- OneDrive設定
- 出社登録
## 2022/3/3 (No密デモ)
- Start - 09:10
- Teams, メール確認
- 09:10 - 12:28
- Outlook使い方調べる
- スライド追加
- 13:00 - 13:38
- No密Demo
- NotionにWikiでエンディングに向けて
- 今後は1週間くらいで、GUIでプロット試す
- 13:38 - 13:50
- いろいろまとめ
- 13:50 - 14:18
- 休憩の続き
- 14:18 - 18:49
- プラグイン作成
- ライセンス的にアウト?
- 別手法を試す
- ブランチ切り分け
- yarn入れ直し
- アイコン作成
- 比率を忘れたため、ImageHashで比較しながら調整
- 背景円 wh100mm
- アイコン w or h 148mm
- 座標登録画面作成
- マップ
- 初期座標が変になる問題
- スライダー
- デバイスの終了
- アップデート
## 2022/3/8
- Start - 09:15
- Teams, メール確認
- 中西さんロッカー返却出来ないため確認中
- 09:15 -
- マップの中央座標がずれる問題
- Expansion Panelsを使っているせいで横幅高さが可変になっているのが原因
- 新しいページを作成
- 中西さん確認完了、返却
- 10:30 - 11:15
- PC引き渡し
- 返却だいたい4/1の1週前くらい
- 郵送でも可。送料立て替え→返金
- 11:15 - 12:06
- PC移行
- 13:06 - 17:00
- PC移行M1のため時間かかる可能性
- Homebrew
- ロゼッタ導入
- Office
- Teams
- Chrome
- Bitwarden
- システム環境設定
- Finder設定
- SSH秘密鍵生成
- 齋藤さん雇用保険書類受取
- 17:00 - 17:20
- 進捗ミーティング
- 良かったこと困ってること
- 農家情報やレタスのいい感じのやつをマッピングする
- 現行ではPC-MAPPINGを使っているが、いまいち
- OSSなもので作りたい
- CQRSパターン
- 17:20 - 19:35
- Bitwarden 2FA設定
- データコピー
- センサ検証
- 高橋さんにNotion招待のお願い
- Wiki執筆
- 暗号化処理失敗
- 持ち出す前にコピーしてしまってデータ消して暗号化
- 基本的な移行が完了したので様子見
- センサのBT MACアドレスの確認
## 2022/3/8
- Start - 10:10
- Teams, メール確認
- Wi-Fi設定
- ディスプレイ設定 (2画面同時出力不可?)
- マウス設定
- キーボード設定
- キーバインディングの設定
- defaults write "Apple Global Domain" com.apple.mouse.scaling 8
- 再起動
- 10:10 - 12:24
- PJ関連のデータコピー (これがないと作業不可)
- gitのパーミッションで差分がないのに差分として取られる問題
- ```
git diff -p \
| grep -E '^(diff|old mode|new mode)' \
| sed -e 's/^old/NEW/;s/^new/old/;s/^NEW/new/' \
| git apply
```
- ボード定義のダウンロード
- ライブラリのダウンロード
- ビルド通るか確認
- ユーザディレクトリバックアップ中
- パーミッションおかしいクローンし直し
- 13:24 - 20:30
- ```
find /path/to/dir -type d -print | xargs chmod 755
find /path/to/dir -type f -print | xargs chmod 644
```
- Wiki執筆: Bluetooth Low Energy (BLE) と iBeaconの記事作成
- Wiki執筆中: ゲートウェイデバイス (Gateway) の環境構築
- 実際に作業して環境を作り直している
- 物品支出申請
- 旧PCユーザディレクトリZIP化
- 旧PCユーザディレクトリZIP暗号化
- 旧PCユーザディレクトリUSBコピー&暗号化
- 旧PCユーザディレクトリ転送
- Wiki執筆: 開発中に出てきたトラブルと対処法
## 2022/3/10
- Start - 09:16
- Teams, メール確認
- 09:16 - 12:39
- 旧PCユーザディレクトリUSB復号化&転送
- イサミさん確認
- Wiki執筆: ゲートウェイデバイス (Gateway) の環境構築
- Wiki執筆: microSDへRaspberry Pi OSの書き込み
- Wiki執筆: USB経由でSSHやインターネット接続出来るようにする
- Wiki執筆: SSH接続する
- Wiki執筆: 環境構築
- ラズパイイメージのクローン
- 13:39 - 18:49
- ラズパイイメージの展開
- ラズパイケース組み立て
- ゲートウェイ環境再構築完了
- クローン後のUSB経由のSSHやインターネットせってをコピーすると起動しない問題のトラシュー
- yarn dev で nuxtの起動がパーミッションエラーのため再導入
- 座標登録機能の実装中
- UI大まかに完了
- 認証情報の記録
## 2022/3/11
- Start - 09:10
- Teams, メール確認
- 10:10 - 12:00
- UI修正
- RDBの確認
- データ整形処理
- 13:00 - 20:22
- アイコン作成
- UI作成
- LeafletのZ-indexが大きすぎる問題
- センサ/座席座標設定機能の追加
- センサ/座席座標設定のページを追加
- センサID (BT MACアドレス) のルールを追加
- リダイレクト処理を追加
- 座席アイコンを追加
- Leafletのz-indexがおかしい問題の対処
- センサ/座席座標をDBに書き込む処理の追加
- プルリク作成
- ドキュメント作成
- 内定者アルバイト終了時点の取り組みをmainブランチにマージ
- 島村さんやりとり
- Teamsのステータス時間表示のバグと戦う(負けた)