20201117のLinuxに関する記事は9件です。

Linux パーミッション

【Linux パーミッション】

パーミッション (例: - rwx rw- r--)

左から、
①番目は、ファイルの種類(- : 通常ファイル、 d : ディレクトリ、 l : シンボリックリンク)
②番目は、ユーザ(所有者)に対するパーミッション
③番目は、グループに対するパーミッション
④番目は、その他のユーザに対するパーミッション

シンボリックモード、オクタルモード

・シンボリックモード : 文字や記号を用いてパーミッション変更

chmod  ①(ユーザ) ②(操作) ③(パーミッション) ファイル名

① u : 所有者、 g : グループ、 o : その他、 a : すべてのユーザ
② + : 許可を与える、 - : 許可を削除する、 = : 許可を設定する
③ r : 読み取り権、 w : 書き込み権、 x : 実行権

・オクタルモード : 目的のパーミッションを8進数の数値を使用して変更

①rwx ②rw- ③r--

① ユーザ rwx : 4+2+1 = 7
② グループ rw- : 4+2+0 = 6
③ その他 r-- : 4+0+0 = 4

(r : 読み取り権、 w : 書き込み権、 x : 実行権)
(読み取り権 : 4、 書き込み権 : 2、 実行権 : 1、 権限なし : 0)

デフォルトパーミッション

ファイル
作成時にアプリケーションが指定するパーミッションは、666(rw- rw- rw-)
umask値は、002(--- --- -w-)
デフォルトのパーミッションは、664(rw- rw- r--)

ディレクトリ
作成時にアプリケーションが指定するパーミッションは、777(rwx rwx rwx)
umask値は、002(--- --- -w-)
デフォルトのパーミッションは、775(rwx rwx r-x)

余談

少し前に、「755」というアプリが人気だったような気がしますが、パーミッションから名前を思いついたんですかね??

755だと、rwx r-x r-x だから、ユーザは読み取り権、書き込み権、実行権がある。
グループとその他は、読み取り権と実行権はあるけど書き込み権がない?ということなのかな。全然知らないけど。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

UNIX ファイルディスクリプタ

【UNIX ファイルディスクリプタ】

3つの標準ディスクリプタ

0  標準入力 (普通はキーボードからの入力)

1  標準出力 (普通は端末画面への出力)

2  標準エラー出力 (普通は端末画面への出力)

リダイレクト、パイプ

リダイレクトとは、入出力はコマンド実行時に切り替えられ、コマンドの入出力をファイルに切り替える機能のこと。

パイプとは、コマンドの出力結果を別のコマンドの標準入力に渡すことが出来る機能のこと。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linux 主なパッケージ管理システム

【Linux 主なパッケージ管理システム】

RPM形式

RedHat LinuxやFedora Linux、CentOS等のRedHat系ディストリビューションで採用されている。
rpmコマンド、yumコマンドを利用してrpmパッケージの管理を行う。

Debian方式

Debian GNU/LinuxやUbuntu LinuxのDebian系ディストリビューションで採用されている。
dpkgコマンド、apt-getコマンド、apt-cacheコマンドを利用して debパッケージの管理を行う。

主なパッケージの形式と管理コマンド

RedHat系
パッケージ形式は、rpm形式 
パッケージ管理コマンドは、rpmコマンド 
リポジトリを利用したパッケージ管理コマンドは、yumコマンド

Ubuntu/Debian系
パッケージ形式は、deb形式
パッケージ管理コマンドは、dpkgコマンド 
リポジトリを利用したパッケージ管理コマンドは、apt-cacheコマンド、apt-getコマンド

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linuxに関する基礎知識

概要

ITエンジニアになるべくプログラミングの勉強をしておりますが、よく「Linuxの基本は知っておくべき」という情報を目にします。確かにAWSの勉強をする際、「OSはLinuxで良いでしょう」など当たり前に使われています。一度基本は学ばなければこの先厳しいと思い、今回Linuxについて調べました。

参考資料

Linuxとは?初心者でもわかる概要や基礎を解説!
Linux(リナックス)とは?種類や導入メリット、Linuxで出来ることを解説!
以上を参照させて頂きました。
OSのお話になるのでPCパーツのサイトも勉強となりました。

Linuxとは

PCを動かすソフトウェアをOS(オペレーションシステム)と呼びますが、Linuxはその一つです。また、OSの中核部のカーネルという部分のLinuxカーネルを指しているという場合もあります。
OSといえばWindows OSやMac OSが有名ですが、その中でもLinux OSの特徴として、オープンソース化されておりカスタマイズができる、サーバー用として多く使用されている点が挙げられます。

Linuxの使用例

サーバー構築
Linuxはサーバー用OSとして多く使用されており、レンタルサーバーの初期OSとして選ばれることが増えている。
システム開発
Linuxカーネルをベースとした、Linuxディストリビューションなど多くのシステムが開発されています。
AndroidもLinuxから派生しているOSです。
IoT
組み込みOSとしても使われており、IoTの普及により製品をインターネットにつなげるため、Linuxをカスタマイズし、製品に組み込む使用されています。

Linuxの種類

Linuxは二つに分けることができます。
Linuxカーネル
Linuxの中核になる部分でLinux OSを動かす上で必要な部分です。中核になる部分ではありますが、これだけではPCを操作することができません。
Linuxディストリビューション
LinuxカーネルをベースとしてカスタマイズさせたものがLinuxディストリビューションです。たくさんの開発者がLinuxカーネルをベースとしてLinuxディストリビューションを作成されており、多くの派生が生まれています。

Linuxディストリビューションの派生

Red Hat系
Red Hat社が提供しているディストリビューションから派生しているものが、Red Hat系です。代表的なものとしてCentOSがあり、サーバー用として活躍しています。
Debian系
ボランティアが中心となって開発されたものがDebian系です。代表的なものはUbuntuが挙げられます。
Slackware系
最も歴史があるSlackwareをベースとしたものがSlackware系です。初期からあるため玄人向けではありますが、安定性、セキュリティ、速度も高いです。

シェル

シェルとはOSユーザーのためにインターフェースを提供するソフトフェアです。シェルを使用することでカーネルの様々な処理を行うことができます。
またコマンドを入力することで、操作することができます。

代表的なLinuxコマンド

pwd
print working directoryの略で、現在のディレクトリを表示します。

$ pwd
/Users/name

cd
change directoryの略で、指定したディレクトリへ移動できます。

$ cd /programing
$ pwd
/Users/name/programing

ls
list segmentsの略で、現在のディレクトリの内容を表示します。
-aを足すと隠しファイルを表示することができます。

$ ls
applications
Desktop
documents
Downloads
Library
$ ls -a
.bash_profile
.history
applications
Desktop
documents
Downloads
Library

mkdir
make directoryの略でディレクトリを作成します。

$ mkdir data

cp
copyの略で、ファイルをある場所へ移動することができます。

$ cp data1.txt data

mv
moveの略で、ファイルやディレクトリの移動、名前の変更を行うことができます。

$ mv data.txt data
$ cd data
$ mv data1.txt data2.txt

rm
removeの略で、指定したファイルを削除することができます。
削除したものは復元が難しいため、操作の際注意が必要です。

$ rm data.txt

cat
catenateの略で、ファイルの中身を表示するコマンドです。
ファイルの名前を複数指定することで、ファイル内容を連結し、結果を表示させることもできます。

まとめ

参照サイト様の内容が非常にわかりやすく、自分の中で曖昧だったLinuxの基本を理解することができました。
サーバー構築にLinuxはかなりの率で使用されているので、今のうちに慣れていきたいです。
コマンドもこの機会に復習できてよかったです。
AWSなどのパブリッククラウドの勉強にも役立つと思うので、まとめることができてよかったです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linux初心者がIoTゲートウェイを触る時に使ったコマンドをメモ

LinuxベースのOSが入ったIoTゲートウェイを触る時によく使うコマンドのメモです。
入門の位置付けなので、それぞれのコマンドのオプションなどの深追いはしていません。ここで挙げていないオプションもたくさんあるので、気になった方は調べてみてください。

※できるだけそのまま使えるように、コマンド開始記号は省いています。

端末への接続に関するもの

シリアル接続する

screen {接続先} {接続先端末のボーレート}
例えば、ボーレートが115200 bps、接続先が /dev/tty.usbserial-xxxxxx の端末に接続したい場合
screen /dev/tty.usbserial-xxxxxx 115200

接続を終えたい場合は command + a + k で セッションを終わらせましょう。セッションが残っていると、再接続の際にうまくいかないことがあります。

SSH接続する

ssh {ログインユーザ}@{送信先のIP}
例えば、 user1 というログインユーザを利用して、IPアドレス 192.168.0.10 の端末に入りたい場合
ssh user1@192.168.0.10

ユーザーに関するもの

ユーザーを切り替える

rootユーザーに切り替える

  • su ← super user
su
  • パスワードが必要です
  • デフォルトのパスワード設定は各機器の初期設定やOSによって異なります

例えば、 user1 に切り替える

su user1

パスワードを変更する

passwd
  • その後、現在のパスワードを入力(currentとある場合)
  • 変更したいパスワードを入力(Retypeと出た場合はもう一度打つ)

実行に関するもの

実行中のプロセスのうちで特定のワードが含まれるものを出力する

  • ps ← process
ps aux | grep {検索したいワード}

実行中のプロセスを強制的に終わらせる

kill {終了させたいプロセスの番号}

過去の実行コマンドの履歴を出力する

history

過去の実行コマンドから特定のワードが含まれるものを出力する

history | grep {検索したいワード}

ファイルに関するもの

ファイル・ディレクトリの一覧表示

  • ls ← list

隠しファイル( .始まり)も表示したい時

ls -a

ファイルサイズを単位つきでわかりやすくしたい時

ls -lh
オプションは組み合わせられます
ls -lah

ファイルコピー

ファイルを別の場所にコピーする

cp {コピー元ファイル名} {コピー先ディレクトリ}

ファイルの中身を別のファイルにコピーする(別名で保存する)

cp {コピー元ファイル名} {コピー先ファイル名}

ファイル検索

全ファイルから、ファイル名に特定のワードが含まれるファイルを出力する

find / -type f -name {検索したいワード}
  • / の検索先が全てのディレクトリ(=全てのファイル)を表します
  • 検索には * のワイルドカードを利用します。利用しない場合は、一意のファイル名検索となります
  • ファイルではなくディレクトリを検索したい場合は、 -type d にします
例えば、ファイル名に test が含まれるファイルを出力したい場合
find / -type f -name `*test*`

全ファイルから、特定の期間に更新されたファイルを出力する

  • mtimemodified time
find / -type f -mtime {数字}

例えば、現在時刻から三日(72時間)以内に更新されたファイルの場合

find / -type f -mtime -3

例えば、現在時刻から三日以上前に更新されたファイルの場合

find / -type f -mtime +3

例えば、現在時刻から三日前(72時間前〜96時間前)の間に更新されたファイルの場合

find / -type f -mtime 3

全ファイルから、特定の期間にアクセスされたファイルを出力する

  • atimeaccessed time
find / -type f -atime {数字}

例は mtimeを参考にしてください。

全ファイルから、特定の日時にアクセスされたファイルを出力する

find / -type f -daystart -atime {数字}
  • -daystartオプションで、1日の始まりを0時とすることができます

例えば、三日前の0時から24時の間にアクセスされたファイルを出力する

find / -type f -daystart -atime 3
  • mtime の例のような期間指定もできます

現在のディレクトリ以下から、ファイル内テキストに特定のワードが含まれるファイルを出力する

grep ./ {検索したいワード} -slr *
  • -s オプションでディレクトリの場合の出力(エラー出力)をスキップします
  • -l オプションでファイル名だけ出力するようにします
  • -r オプションでディレクトリ内のさらにディレクトリに再起的に検索を行います

あるファイルの中で特定のワードが含まれる列を出力する

grep {検索対象のファイル} {検索したいワード} * -sn
  • -n オプションで行数表示させます
例えば、 syslog に出力された rc.local の実行に関するログを見たい場合
grep /var/log/syslog rc.local * -sn

ファイル転送

手元の端末から別端末にファイルを転送する(SSHログインが必要)

scp {送信したいファイル} {ログインユーザ}@{送信先のIP}:{送信先フォルダ}
例えば、 user1 というログインユーザを利用して、IPアドレス 192.168.0.10 の端末に入って、そのディレクトリの /home/ 以下にファイル test_script.sh を置きたい場合
scp test_script.sh user1@192.168.0.10:/home/

ログファイル

ログファイル名を指定し、ファイルの最終行から遡って10行分のログを表示し続ける

tail -F {コンソールに出力したいログファイル名}
  • 途中でログローテートなどによりファイル名が変更された場合は、同名のファイルをもう一度探し、開き直してくれます
  • ファイル名変更後も引き続き同じファイルを参照し続けたい場合は、-F オプションの代わりに -f を使います
  • 行数を指定する場合は -n オプションを利用します
  • コンソールがログ出力で占拠されるので、別ターミナルを開くなどの工夫が必要です

圧縮ファイル

.xz ファイルを解凍する

xz -d {file_name}.xz

圧縮されたファイルとは別のファイルとして解凍ファイルを作成する

xz -d {file_name}.xz --keep

ファイルを .xz 形式で圧縮する

xz -z {file_name}
  • オプション指定で別の形式を選べます

元ファイルとは別のファイルとして圧縮ファイルを作成する

xz -z {file_name} --keep
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

dd の進捗をプログレスバーで見れるようにする

$ brew install pv
$ pv /path/to/disk.img | sudo dd of=/dev/disk2 bs=1m
681MiB 0:03:42 [2.26MiB/s] [==>                               ]  9% ETA 0:36:39
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Windows環境にてWSL+Ubuntu+VSCodeで環境構築してみた

はじめに

Windowsを使ってプログラミング学習をこれから始める!って方に向けて簡単に環境構築をやっていけたらなと思い書きました:relieved:
今回は研究会のみんなにnode.jsでコマンドを叩いて出力結果を表示してほしいと思い、Linux(Ubuntu)導入に走りました

WSLって?Ubuntuって?

WSL

WSLとはWindowsOS上でLinuxの実行環境を実現するサブシステムです。
要するにアプリケーションとしてLinuxを使える!!!!
LinuxもWindowsも1つのパソコンで?!ってのがWSLみたいですね(笑)

Ubuntu

UbuntuとはLinuxディストリビューションのOS(オペレーティングシステム)一つです。
Ubuntuはとにかく使いやすい!ということしかあんまりわからず、、(勉強不足というか理解不足なのか、、)
詳しい説明はWikipedia

環境構築

手順① Linux用Windowsサブシステム(WSL)を有効にする

Windows上にLinuxディストリビューション(Ubuntu)をインストールする前に、まず、”Linux用Windowsサブシステム”を有効にする必要があります。
・’管理者’としてPowerShellを開き、以下のコマンドを実行します
→左下のWindowsアイコンを右クリックし、「Windows PowerShell(管理者)」をクリックします。

  Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

・パソコンを再起動

手順② Ubuntuをインストール

・Microsoft Store」を起動し、「Ubuntu」を検索
・「Ubuntu 20.04 LTS」を開く
・入手をクリックで自動でダウンロード開始
・ダウンロード完了通知が来たら、「起動」をクリック
起動したら、下記内容が表示され、ユーザー名とパスワードを入力してインストールを完了!!!

  Installing, this may take a few minutes...
  Please create a default UNIX user account. The username does not need to 
  match your Windows username.
  For more information visit: https://aka.ms/wslusers
  Enter new UNIX username: user
  Enter new UNIX password:
  Retype new UNIX password:
  passwd: password updated successfully
  Installation successful!
  To run a command as administrator (user "root"), use "sudo <command>".
  See "man sudo_root" for details.

  user@:~$

手順③ Ubuntuの更新

下記コマンドでubuntuを更新。パスワードが聞かれるので、上記入力したパスワードを入力。

sudo apt update
sudo apt upgrade

手順④ WSL(Ubuntu 20.04 LTS)環境にNode.jsをインストール

・リポジトリ追加

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

・aptでnodejsをインストール

sudo apt install -y nodejs

・確認メッセージが来たらYesを選択
・nodejsとnpmがインストールできているか確認

node --version
npm --version

手順⑤VSCodeをインストール

次にVScodeがまだインストールされていない場合はインストールします。
ここで注意ですが、VScodeは必ずWSL側ではなくWindows側にインストールします。

手順⑤VSCodeに拡張機能を追加する

次にRemote DevelopmentのためのVScode拡張機能(Remote - WSL)を追加します。
「Install」ボタンをクリックするとVScodeが起動するのでメッセージに従ってインストールしてください。
index.js - practice [WSL_ Ubuntu-20.04] - Visual Studio Code  2020_11_17 12_52_25 (1).png
Remote - WSL
↓公式ドキュメントにもインストール方法あります!
公式ドキュメント

ようこそ - Visual Studio Code 2020_11_17 12_58_06.png
上画像のように左下の緑部分をクリック
ようこそ - Visual Studio Code 2020_11_17 12_58_18.png
すると上画像のように出てくるのでRemote WSL New Windowをクリック
これでVSCodeでWSLを使えるようになっています!
(一枚目の画像の左下の緑の部分みたいにWSLのときはWSL:Ubuntu-20.04と表記されています)

Node.jsでコマンド出力させてみよう

・VSCodeの上部に「ファイル・編集・選択・表示・移動・実行・ターミナル・ヘルプ」とあるのでターミナルをクリックして「新しいターミナル」をクリック。
・画面下に現れたのがターミナルです!
以下:ターミナル内で実行

Unixコマンドでコマンドを叩いてみよう!!

→ practiceディレクトリを作成

mkdir practice

→practiceディレクトリに移動

cd practice

→mainというjsファイルをpracticeディレクトリの中に作成

touch main.js

これで準備は完了!

入力結果を表示させよう

Open folderからさっき作成した「lesson」を選択
main.jsのファイルがあるのでその中で

console.log('Hello Tech.Uni')

と入力して、保存!!!(忘れがちだから気をつけてね(笑))
今度はターミナルに

node main.js

と入力してEnter!!!!
下の画像のようになれば完璧です:blush:
main.js - lesson [WSL_ Ubuntu-20.04] - Visual Studio Code  2020_11_17 13_33_10.png

お疲れさまでした!

参考文献

Windows 10 用 Windows Subsystem for Linux のインストール ガイド

https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

Visual Studio Codeの「Remote – WSL」がめちゃくちゃ便利

https://syobon.jp/blog/2019/11/04/visual-studio-code-remote-wsl/

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linuxとは

今回は特出して書くことは無いかなって思ってます。
Linuxのインストールなどを行いました。
PowerShellを使っての直接のダウンロードインストールは面白かったです。
改めてマウスって便利なんだなって思いました笑

今回は準備がメインだったため次回また頑張りたいと思います!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

公的空間のイベント混雑状況をレーザー距離計で可視化する

概要 

  • 公的空間で行われるマルシェの混雑状況を2日間に渡りカウントし可視化する実験を試みた
  • 通行量、滞在人数、滞在時間を計測するには入り口、出口を絞る必要がある。今回は会場のあるポイントの人の通過量を混雑度と見なす
  • イベントでの入場者数は貴重なデータである。無人でカウントがどこまでできるのかを試してみる
  • 広島駅北口エリアのエリアマネジメントを行う、エキキタまちづくり会議 (https://ekikita.jp) にご協力頂いた。

【参考】
 エリアマネジメントについて(国土交通省)
 https://www.mlit.go.jp/common/001059393.pdf
 地方創生 まちづくり - エリアマネジメント - (内閣官房まち・ひと・しごと創生本部事務局)
 https://www.kantei.go.jp/jp/singi/sousei/about/areamanagement/areamanagement_panf.pdf

用意するもの

  • Raspberry Pi3 Model B (4でもおそらく大丈夫)
  • Raspberry Pi用のケース
  • Raspberry Pi用のヒートシンク、ファン
  • Raspberry Pi3 Model B B+ 対応 電源セット(5V 3.0A)
  • vl53l1x 超音波距離センサー (最大計測範囲 4m)
  • LED,330Ωの抵抗
  • 100円ショップの三脚
  • 100円ショップで購入したAirPodsのケース (センサーのカバーとして使用)

IMG_0131.JPG
IMG_0197.JPG

準備

組み立て

  • Raspberry Piとレーザー距離センサー、LEDを以下のように接続する スクリーンショット 2020-11-17 9.39.16.png

プログラミング

  • 汎用のライブラリを使うためPython3を使いプログラミング
  • git cloneしたライブラリのexamplesフォルダにあるdistance.pyを改変して使用
  • レーザー距離センサーの値をloopして読み取り、しきい値を下回った数を通過数としてカウント
  • カウントする毎にGPIOピンに接続したLEDを点灯/消灯させる
  • 5分毎のカウント数をAmbientに送信し可視化する
distance.py
#!/usr/bin/env python

import time
import sys
import signal

import VL53L1X

import ambient
import datetime
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT) #LED点滅用
from time import sleep


print("""distance.py

Display the distance read from the sensor.

Uses the "Short Range" timing budget by default.

Press Ctrl+C to exit.

""")

ambi = ambient.Ambient(xxxxx, 'xxxxxxxxxxxxxxxx') # ←ambientのチャネルIDとライトキー
count = 0
sndcnt = 0

# Open and start the VL53L1X sensor.
# If you've previously used change-address.py then you
# should use the new i2c address here.
# If you're using a software i2c bus (ie: HyperPixel4) then
# you should `ls /dev/i2c-*` and use the relevant bus number.
tof = VL53L1X.VL53L1X(i2c_bus=1, i2c_address=0x29)
tof.open()

# Optionally set an explicit timing budget
# These values are measurement time in microseconds,
# and inter-measurement time in milliseconds.
# If you uncomment the line below to set a budget you
# should use `tof.start_ranging(0)`
tof.set_timing(66000, 70)

tof.start_ranging(0)  # Start ranging
                      # 0 = Unchanged
                      # 1 = Short Range
                      # 2 = Medium Range
                      # 3 = Long Range

running = True


def exit_handler(signal, frame):
    global running
    running = False
    tof.stop_ranging()
    print()
    sys.exit(0)


# Attach a signal handler to catch SIGINT (Ctrl+C) and exit gracefully
signal.signal(signal.SIGINT, exit_handler)

while running:
    distance_in_mm = tof.get_distance()
    print("Distance: {}mm".format(distance_in_mm))

    now = datetime.datetime.now()
    minute = '{0:%M}'.format(now)
    second = '{0:%S}'.format(now)

    print(minute)
    print(second)

    if distance_in_mm < 1300:  # カウントするか否かのしきい値(mm)

        count += 1
        GPIO.output(25, GPIO.HIGH)  # LED点滅
        sleep(0.5)
        GPIO.output(25, GPIO.LOW)
        sleep(0.5)

    if int(minute) % 5 == 0 and int(second) == 0:

        if sndcnt < 1:

            r = ambi.send({'d1': count})
            if r.status_code != 200:
                continue

            print(count)
            print("***sended***\n")

            count = 0

        sndcnt += 1

    else:

        sndcnt = 0

    time.sleep(0.1)

現地に設置した様子

IMG_0138.JPG
IMG_0139.JPG
IMG_0140.JPG

結果

  • イベントの開催時間を通して正常なカウントをすることはできなかった。
  • 調整設置場所、しきい値の変更など現地で調整したが、安定したカウントはできなかった。
     赤背景:データ取得されていた部分
     青背景:調整中
     グレー背景:イベント開催時間外
    スクリーンショット 2020-11-17 9.46.31.png スクリーンショット 2020-11-17 9.46.36.png

不具合内容

  • レーザー距離計の値が安定しない。対象物の素材(石、木、紙)や表面の凸凹により安定度が変わってしまう。
  • 1人の通過で2〜3人分とカウントされてしまう。(検知した場合のwaitを入れてある程度改善した)
  • 明るさ、日光が当たらない場合と当たらない場合での安定度の違いが大きい模様。
  • 数時間に一度、ambientのapi URLに対して、HTTP MaxRetryErrorが出る。
     自宅Wifiでは10時間以上稼働していたため、現地でお借りしたWifi設備による可能性が高い。

今後に向けて

  • コロナ渦で屋内イベントの開催が難しい状況であるが、まずは屋内で確実にカウントできるように調整を続ける
  • 屋外でカウントが難しい問題は、他の種類のセンサーを検討することも考える
  • ToFタイプの距離計を使う場合は安定して反射できる対象物を用意する
  • 現地のWifi環境で予め長時間接続に問題がないかテストが必要
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む