アイディア:温度・湿度・気圧のデータをLINEで確認する→WEBでグラフ表示
アイディア:サーボでネギ振り+
アイディア:(ラズパイじゃないけど)車載CO2センサーで疲れ居眠防止
アイディア:(ラズパイじゃないけど)撮影画像から距離測定(車載)
面倒だったのでスタータキット購入したため、何もしてない。
sudo apt update sudo apt full-upgrade -y sudo apt autoremove -y sudo apt clean
設定ファイルに記述します
sudo vi /boot/cmdline.txt
以下を追加
usbhid.mousepoll=0
センサーとのベーシックな通信方法。
i2cインターフェースがデフォルトで無効になってるので有効化する。
sudo raspi-config
Interface Option → I2C (EnableとかはいとかYESとかする)
参考:https://rb-station.com/blogs/article/raspberry-pi-i2c-activation
apt-getでi2cのチェックツールをインストール
sudo apt-get update sudo apy-get install i2c-tools
スイッチサイエンスの「BME280搭載 温湿度・気圧センサモジュール」
ライブラリをインストール
sudo pip3 install smbus2
なお、スイッチサイエンスのGitHubリポリトジにサンプルコードあり。ただし、Python2.xのサンプルなので、Python3.xで実行の場合は、”Print”部分を関数にしてやる必要あり。
https://github.com/SWITCHSCIENCE/BME280
(この項目はいづれ分離させるのが良いと思われ)
sudo apt-get install nginx
http://igarashi-systems.com/sample/translation/raspberry-pi/remote/remote-web-server-nginx.html
vi→https://docs.oracle.com/cd/E19253-01/816-3946/editorvi-tbl-83/index.html
取り合えずFlask付属のhtmlサーバーを使う。https://aiacademy.jp/media/?p=57←ここの手順通りにする。ただし、app.run引数に「host='0.0.0.0'」を追加する
登録とかは検索すればページが大量にあるのでそれを見て登録する。「LINE IDでログイン」しておくのが無難。
プッシュ通知は、適当なプログラムから送ればいいが、ユーザーからのメッセージを受けるには「受ける」ためのWEBサーバーが必要になるので必要に応じて建てる。
LINE Bot API (Python):https://github.com/line/line-bot-sdk-python
Messaging APIリファレンス(プッシュメッセージの場所への直リンク):https://developers.line.biz/ja/reference/messaging-api/#send-push-message
サンプルなどは、実は公式のドキュメント・リファレンスが充実しているので、そこを漁った方が案外手間がかからないかも。
大クラウド時代!AWSを使わないのは、やはりWindows系・Office系との連携のしやすさ(いつかするかもしれないからね)
(MSFTの株主だからというのもありますが…)
LINEのボットを作成するには「Azure Function」を使うようです。 この説明が一番しっくり来たので載せておきます(リンク先より)
「Azure Functions」は、さまざまなイベントによって駆動し、 サーバーの構築や保守をすることなくプログラムを実行できるサービスで Azure Portal画面から作成できる。
https://www.purin-it.com/azure-portal-functions
参考情報1→https://matsujirushi.hatenablog.jp/entry/2017/09/02/224305
参考情報2→https://qiita.com/mstakaha1113/items/1c9b8f61452147a87640
IoT HUB→デバイスのデータ送信はサンプルが少ない。→ https://cloudsteady.jp/post/14723/
サンプルがあったのでこれでやってみました。
https://zenn.dev/mochan_tk/articles/d01a24bb576d18
VSCodeにAzureのプラグイン導入→ローカルでプロジェクト作ってコーディング→(Azureに接続して)ローカルで作ったプロジェクトをデプロイ(アップロード)
Azure Portalいろいろいじってたら、Visual Studio Codeで「No subscriptions were found」とか、「Select subscription…」といったような、サブスクリプションの状態がうまく読めていないような感じになった。→[Ctrl]+[Shift]+[P]でコマンド「Azure: Sign in」入力実行でブラウザ開いてログインすると復旧した。
https://docs.microsoft.com/ja-jp/azure-stack/user/azure-stack-dev-start-vscode-azure?view=azs-2108