Raspberry Pi Zero WH を買ってから kintone にPOSTするまで

名前だけは聞いたことがあって、ちっちゃいパソコンというイメージの何かの機器！
と思っていた Raspberry Pi ですが、ついに触ってみることに！

今回は、Raspberry Pi を買うところからOSインストール、kintone にレコード追加するまでについて記事にしてみました。特にブレッドボードなどで回路などを組んだりはせず、まずはただただ Raspberry Pi からkintoneアプリ にレコード登録するだけの内容となっております。
Raspberry Pi 初心者の方にもやさしい記事を目指してみました👀✨✨

※PCはWindows10です

# Raspberry Pi、MicroSDカード、USBケーブルなどを準備する

初めてだけど何を準備すれば😨
というわけで、以下、準備するものです👀

## 😋Raspberry Pi

安いRaspberry Pi がいいなぁと思って、初心者にも扱いやすいという **Raspberry Pi Zero WH** を買いました。

いつもはこういった電子工作系のモノはスイッチサイエンスさんで購入しているのですが。。。

https://www.switch-science.com/catalog/3646/

私が買おうと思った時は在庫がなかったのでヨドバシカメラさんでネット注文しました。
😨今は販売終了になっているようです🙏ｺﾞﾒﾝﾅｻｲ

https://www.yodobashi.com/product/100000001003904466/

## 🙄マイクロSDカード16GBとか32GBとか

マイクロSDカードは家に32GBのモノがあったのでそれを使いました。
ネットで買うならこんなモノ↓でいいかな？16GBのモノでも大丈夫みたいです。

https://www.amazon.co.jp/microSD-32GB-Nintendo-Switch%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8D%E6%B8%88-SDCS2/dp/B07YGZ7FY7/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2P7I0ZDCF4YYA&dchild=1&keywords=%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%ADsd%E3%82%AB%E3%83%BC%E3%83%89+32gb&qid=1629241784&s=computers&sprefix=%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%ADSD%2Ccomputers%2C270&sr=1-3

## 😗カードリーダー
マイクロSDカードが読み込めないPCの場合はカードリーダーも準備しておきましょう。
100円ショップにもあるようです👀

https://www.pizaman.com/entry/100yen-daiso-ogt-microsd-reader-no140/#toc6

## 🔌USBケーブル（電源用です）

USBケーブルは **micro USB Type-B** があればOKです。
100円ショップで見たことあります👀
電源用なので、端っこ側についてるUSBポートに差し込みます。

https://www.pizaman.com/entry/100yen-daiso-100cm-micro-b-no11/

# Raspberry Pi のOSインストール

Raspberry Pi もろもろが準備できたらこんな感じでインストール作業を進めます。

* Windows10 に Raspberry Pi Imager をインストール。
* Raspberry Pi Imager で マイクロSDカードに Raspberry Pi OSイメージを書き込む
* PowerShell で ssh接続する
* OSを更新する
* Pythonを更新する


## Raspberry Pi Imager と Raspberry Pi OS のインストール
OSのインストールについては、色々と沼にハマって困っていましたが、
結局コチラの動画を参考にしたらスッとインストール完了しました。

<iframe width="560" height="315" src="https://www.youtube.com/embed/Nvr_P7aM1k0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## インストールでハマったこと

**🤔Raspberry Pi Zero WH は、5Gには繋がらない**

PCは5Gの方につながってるからか、Raspberry Pi Imagerの設定には自動的に5GのSSIDとPassが入ってたけど、そちらではなくて2.4Ghzの方につなぎましょう。

**🥺 Raspberry Pi のIPアドレス**

PowerShellなどで`apt -a`を叩いて
MACアドレスが`b8`で始まっている端末のIPが Raspberry Pi のIPアドレスのはず。
それが現れるまで待ちましょう👀

## Raspberry Pi につなげる

PowerShellを開いて、次のコマンドを打ちます。
192.168.xxx.xxx はRaspberry Pi のIPアドレスです。
※初回はyesって入力しないといけなかったかも。

`ssh pi@192.168.xxx.xxx`

パスワードを求められ、OS書き込みのときに設定したパスワードを入力したら Raspberry Pi に接続できます。

## OSの更新

sshコマンドでRaspberryPiに接続できたら、

↓コチラのページを参考に更新します。

https://qiita.com/akiraichi5430/items/6b9855f59fb3a3f9de35

以下のコマンドを順に実行します。

1. `sudo apt update`
1. `sudo apt full-upgrade -y`
1. `sudo apt autoremove -y`
1. `sudo apt clean`
1. `sudo reboot`

最後の`sudo reboot` で Raspberry Pi が再起動するので、1～2分後などに再び

PC側のPowerShellから

`ssh pi@192.168.xxx.xxx`

で Raspberry Pi に接続します。

OSの更新には時間かかります。
更新の間に、kintoneアプリの準備をしましょう。

## Python の更新

再び Raspberry Pi に接続できたら、
Raspberry Pi 側から以下の順にコマンドを入力し、
今回必要なrequestsライブラリも一緒にインストールします。

1. `sudo apt-get update`
2. `sudo apt-get install -y python-dev`
3. `sudo apt-get install -y python-pip`
4. `sudo pip install requests`

これで Raspberry Pi の準備は完了！

# kintoneアプリの準備

Raspberry Pi のOSインストール作業の待ち時間にでもkintoneアプリを準備しておきましょう。

フィールド1つだけのかんたんなアプリです。

| フィールド種類 | フィールドコード | 備考|
|:-:|:-:|:-:|
|  文字列(1行) | test  |   |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536148/5d7fd862-15c4-9d31-4dee-5f08062cda60.png)

**😁APIトークン生成お忘れなく。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536148/ce32661f-a4b4-74a1-e83f-239bde00c051.png)

# Pythonで、kintoneアプリにPOSTするプログラムを書く
**🙄テキストエディタについて**
nanoというエディタの使い方を調べながらコードをカキカキしました。

https://itc.tokyo/2021/06/19/3298/

**😋requestsのインストール**
requestsというライブラリでHTTPリクエストしています。
（ライブラリは[Python の更新](#Python の更新)でインストール済みです。）

https://requests-docs-ja.readthedocs.io/en/latest/user/quickstart/

**💻コーディング**

Raspberry Pi 側でまずはコマンドを叩いていきます。

`mkdir ~/PythonProject`
Raspberry Pi 内のhomeにPythonProjectというディレクトリを作ります。

`cd ~/PythonProject/`
PythonProject ディレクトリの中に入ります。

`nano test01.py`
これでtest01.pyというファイルを作りながらテキストエディタが開きます。

Pythonのコードの内容は以下をお使いの環境に合わせて書き換えて貼り付けてください。

```py
import requests
import json

url = 'https://【kintoneのサブドメイン】.cybozu.com/k/v1/record.json'
payload = {'app':'【アプリID】', 'record':{'test':{'value':'from_RaspberryPi'}}}
headers = {'content-type': 'application/json', 'X-Cybozu-API-Token':'【APIトークン】'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print r.text
```

`Ctrl+S、Ctrl+x`
の順でキーを押すと保存して終了

**😎実行！**
実行は↓のようにします
`python test01.py`

# 実行結果

というわけで、以下のように Raspberry Pi Zero WH から kintone に無事 POST できました。
ちょっと難しいかもですが是非やってみてくださいネ👀✨✨楽しいですよ！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536148/2f9b3fa4-9cfe-0239-6fdb-c6b299653216.png)