« 2022年4月 | トップページ | 2022年6月 »

2022.05.30

ブログに貼り付ける Syntax Highlighter の html タグを書くのが面倒なのでツールを作ってみた

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

ブログに貼り付けるプログラムのソースコードを Syntax Highlighter に対応した形式 html タグを書くのが面倒くさいので C# でツールを作ってみた。

画面はこんな感じ

画面の赤枠部分を入力して「出力」ボタンを押すと青枠部分の html タグを出力してくれるだけ。

Sytaxhighlighterhtml

C#のソースコードはこんな感じ

		private void btnConvertHtmlCode_Click(object sender, EventArgs e)
{
// 開発言語チェック
if (cboSourceType.Text.Equals(""))
{
ShowWarningMessage("開発言語を選択してください。");
cboSourceType.Focus();
return;
}

// 変換ソースコード部クリア
txtConvertSourceCode.Clear();

// preタグ(開き)
txtConvertSourceCode.AppendText("<pre class=\"brush:" + cboSourceType.Text);
if (chkHTMLScript.Checked == true)
{
txtConvertSourceCode.AppendText(" html-script:true");
}
txtConvertSourceCode.AppendText("\" title=\"" + txtSourceTitle.Text + "\">");

// ソースコードの加工
for (int idx = 0; idx < txtSourceCode.Lines.Count(); idx++)
{
// ソースコード部分をそのまま追加
txtConvertSourceCode.AppendText(txtSourceCode.Lines[idx]);

// 最終行以外は html の改行タグ+改行コード(CRLF)を付ける
if (idx != (txtSourceCode.Lines.Count() - 1))
{
txtConvertSourceCode.AppendText("
\r\n");
}
}

// preタグ(閉じ)
txtConvertSourceCode.AppendText("</pre>\r\n");

// クリップボードにコピー
txtConvertSourceCode.SelectAll();
txtConvertSourceCode.Copy();
}

作った感想

今後も必要になる動作なのでプログラム化したのは良かったと思う。

思いつきで作ったのでバグっていたら直していくということで(;^_^A

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.29

過去記事の整理(2022/05/29)

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

眠すぎて頭が回らないので、スマートホームや IoT 関連の過去記事の整理をしてました。

目次

Nature Remo Cloud API についての記事

Raspberry Pi Pico についての記事(スマートホームというより電子工作かもしれない)

Raspberry Pi Pico の初期設定、Lチカ

Raspberry Pi Pico のピンヘッダはんだ付け、リセットボタン

Raspberry Pi Pico で温度取得のプログラムの紹介と解説、解説して思ったこと

他にまとめるとしたら

  • SwitchBot関連
  • TP-Link関連
  • スマートプラグ関連

といったところかなぁ。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

Raspberry Pi Pico の内蔵温度センサの値取得のプログラムの解説を書いてみて思うこと

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Raspberry Pi Pico で取得する温度が、実際の温度と大分違うんだが…」で紹介したプログラムに解説コメントを付け加えてみた。

ついでにコメントを付け加えてみて、思ったことも書いていくよ。(*^^*)

Raspberry Pi Pico の内蔵温度センサの値取得のプログラム解説コメント付き

import machine
import utime

# 温度センサが接続されている4つ目のADC(アナログデジタルコンバータ)の値を取得
sensor_temp = machine.ADC(4)

# ADCの最大電圧3.3Vを16bit(2の16乗である65536、0スタートの値のため、-1して65535)で割って、
# 16bitの 1 目盛りのあたりの電圧(変換係数)を計算( 約 0.00005V)
conversion_factor = 3.3 / (65535)

while True:

# センサから取得した値(0~65535) を16bitの値に変換係数をかけて電圧値に変換
reading = sensor_temp.read_u16() * conversion_factor

# 温度計算
# ・センサは27℃(0.706V)を基準にしている
# ・1℃に付き0.001721V変化する
# 27℃から温度変化量(温度センサの数値から基準値である0.706を引いた値に1℃ごと電圧変化量が何℃分か計算した値)を引いて現在温度を計算
temperature = 27 - (reading - 0.706)/0.001721

print(temperature)
utime.sleep(2)

理屈が分かってみると

センサーから取得された値を温度に変換する計算式は正しいっぽい。

(公式で公開されているプログラムだから正しいんだろうが…)

ということは、Raspberry Pi Pico 内蔵の温度センサーは、標準の実装のままだと、もともとかなりの誤差が生じるか、何か値を補正する処置が必要ってことなんだろう。

つまり、Raspberry Pi Pico 内蔵の温度センサーから値を取得するより、別途環境センサーをつけて温度を取得したほうが精度が良さそう。

正直、これだと Raspberry Pi Pico 単体でできることって「単色 LED による Lチカ」くらいなんで、かなり微妙な気がする。

以前「Raspberry Pi Pico の初期設定(その1)」に書いたように、Raspberry Pi Pico には標準では無線通信( Wi-Fi や Bluetooth )の機能がないため、IoT(モノのインターネット)に向かない上、値を表示するディスプレイも無いのでセンサーを付けたとしても、センサーの値を表現する方法も「単色 LED でできる表現」だけだからだ。

単色 LED でできる表現

単色 LED で表現できることは、かなり限られていると思う。

  • LEDの消灯
  • LEDの点灯

この2つに加えて良いところ、

  • LEDの点滅速度(速い点滅)
  • LEDの点滅速度(遅い点滅)

このあたりだろう。

つまり、最大でも4つの状態を表すのが限界なんじゃなかろうか?

単色でなく RGB 指定可能な LED であれば、色も加えて「色数 x 4つの状態」でかなりの状態を表現ができるんだけどね。(例えば、 Nature Remo や Nature Remo E lite は、RGB LED のおかげで、点滅状態により、いろいろな状態が分かるようになっている

結論

  • Raspberry Pi Pico は、単体の電子工作デバイスとしてかなり微妙。
  • 単体では通信機能がないため、IoT(モノのインターネット)には向かない。
  • 標準で付いている温度センサーの取得値も誤差がありすぎて、使い物にならない。
  • 単色 LED で表現できる状態が4種類までで、他に単体での出力機能がない。

PCに接続してればデバッグ用のUSBシリアルポートのprintfができるけど、PCに繋いでいないと使えないし…。

何か外付けでつなぐにしてもピンヘッダが必要になる。

ピンヘッダ付きの Raspberry Pi Pico が 990 円であり、それに接続する外付けするものが追加で必要になってくる。

最初から Wi-Fi や BLE が使えて GPIO ピンもあり、Grove互換インターフェースもあり、プログラム可能なボタンと RGB LED を持つ M5Atom Lite が 1,353円なのことを考えると(400円で外付けできるものが限られていることから)電子工作用デバイスとしては、Raspberry Pi Pico は、コストパフォーマンスがかなり微妙な気がする。

もっとも printf ができるから MicroPython の学習用デバイスとしては、良いかなぁくらいだと思う。

ただし、ピンヘッダをつけて、外付けで使えるものをいろいろ揃ってしまえば、使い道はあるんじゃないかと思う。

実際、かげさんも「Groveスターターキット(Raspberry Pi Pico用)」というのを買っていたりする。かげさんが購入した頃より、値上がりしているが…

これについては、別の記事に書こうと思う。

ここまではOKだ



MCU(マイコン):RP2040
RAM:256KB SRAM
電源:1.8V~5.5V
サイズ:21×51.3×3.9mm 約3g
動作環境条件:-20℃~85℃(70℃以下を推奨)
温度センサ搭載


ヘッダー ハンダ付け済み Raspberry Pi Pico


Vesiri Raspberry Pi Pico ラズベリーパイピコセット多機能開発ボード 透明アクリル保護ケース/Mirco USBケーブルライン/20cmデュポン ワイヤー/MB-102ブレッドボード/ブレッドボード接続ワイヤー用 65pce/単列針セット
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.26

とっちらかっているブログ記事

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

仕事が忙しく帰宅が遅いこともあって、ブログの記事がとっちらかってるなぁ…

散らかり具合をちょっとまとめてみるか

目次

Raspberry Pi Pico 関連

内蔵温度計の話が中途半端になってる。

温度取得のプログラムの解説とかを書かないとなと思ってる。

⇒「Raspberry Pi Pico の内蔵温度センサの値取得のプログラムの解説を書いてみて思うこと」を書きました。

Raspberry Pi Pico で書けるのは、後は1.14インチディスプレイの話とか、GROVE関連かなぁ。

スマートプラグ関連

最近、SwitchBot プラグミニと Meross の2個口のスマート Wi-Fi プラグをゲットしたので、そのことを書こうと思ってる。

また、SwitchBot プラグミニのAPIでのアクセス、Meross のスマートプラグのAPIでのアクセスの記事は書く予定。

IFTTT のことも書きたいなと思ってる。

温湿度計の情報取得の Python プログラム

プログラムの公開をまだしてなかったので、プログラム解説の記事を書かないとな。

書いた記事はコチラ▼

Nature Remo E lite と LaMetric TIME の連携

消費電力の情報を LaMetric TIME に表示したい。

その後、そのプログラムを動かすトリガーとして SwitchBot 開閉センサーを使って IFTTT の連携をしたい。

これで電子レンジを開けた時に LaMetric TIME でその時点の消費電力を確認できるようにしたい。

まとめ

パッと思いつく限りでもそれなりにネタがある。

ブログを書く時間の捻出が課題かもねぇ…(´・ω・`)

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.24

多すぎる楽天のメルマガを解除する

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

先日、楽天市場など楽天関連のサービスを利用したところ、やたらと購読メルマガが増えてしまった…

楽天はメルマガが多すぎると思うの(´・ω・`)

ということで、邪魔なメルマガは速攻で解除ということでまとめて解除することにした。

毎回探すのが面倒なので「楽天のメルマガの配信停止手続きやメルマガ利用状況を確認できるURL」をブログに貼ることにした。

それが上のリンクです。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.22

Raspberry Pi Pico で取得する温度が、実際の温度と大分違うんだが…

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Raspberry Pi Pico で取得する温度が、実際の温度と大分違うんだが…
何か違うのかなぁ?

参考にしたサイト

【Raspberry Pi Pico】温度センサーをMicroPythonで読み取る方法」のプログラム通りなんだが

実際のプログラムはこんな感じ

import machine
import utime
sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)

while True:
reading = sensor_temp.read_u16() * conversion_factor
temperature = 27 - (reading - 0.706)/0.001721
print(temperature)
utime.sleep(1)

このプログラム自体は、Raspberry Pi の GitHub で公開されているサンプルプログラム temperature.py と同じなのでプログラムが間違っているわけではなさそうだ。

SwitchBot 温湿度計やアナログの温度計と大分違う値になってる

SwitchBot 温湿度計の示す温度は27.0℃。
アナログの温度計のしめす温度も27.0℃。

そして、Raspberry Pi Pico の示す温度が22.36296…

Raspberry Pi Pico の温度センサーの精度がどのくらいかわからないけど、さすがに5℃の差はおかしいんじゃないだろうか?

▼2022/05.23 追記ここから

精度の問題で、しばらくしたら落ち着くかな?と思って1日放置してみたが、5℃の違いは変わらず…(´・ω・`)

▲2022/05.23 追記ここまで

▼2022/05.29 追記ここから

プログラム解説のコメントを入れた記事はコチラ「Raspberry Pi Pico の内蔵温度センサの値取得のプログラムの解説を書いてみて思うこと

▲2022/05.29 追記ここまで

ここまではOKだ



MCU(マイコン):RP2040
RAM:256KB SRAM
電源:1.8V~5.5V
サイズ:21×51.3×3.9mm 約3g
動作環境条件:-20℃~85℃(70℃以下を推奨)
温度センサ搭載


ヘッダー ハンダ付け済み Raspberry Pi Pico


Vesiri Raspberry Pi Pico ラズベリーパイピコセット多機能開発ボード 透明アクリル保護ケース/Mirco USBケーブルライン/20cmデュポン ワイヤー/MB-102ブレッドボード/ブレッドボード接続ワイヤー用 65pce/単列針セット
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.16

Raspberry Pi Pico リセットボタン Captain Resetti (Pico Reset Button)

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Raspberry Pi Pico の接続の時、BOOTSELボタンを押しっぱなしで USB ケーブルをつなぐのが辛い。

そんな時に便利なのが、Raspberry Pi Pico に付けるリセットボタン「 Captain Resetti (Pico Reset Button)」です。

これがあると普通に USB 接続してから BOOTLSEL ボタンを押しながらリセットボタンを押すだけで良いので楽ちんです。

Captain Resetti

海外の PIMORONI で売っている Pico のリセットボタン。

取り付けた画像がコチラ。赤枠のところがリセットボタンです。

Captain-resetti

https://shop.pimoroni.com/products/captain-resetti-pico-reset-button

Pico の GNDと RUN(物理ピン28と30)の間に Captain Resetti をはんだ付けするだけです。

赤枠の下側の「はんだ」が盛り上がっているところが28~30ピンです。

購入段階の難点は、海外サイトなので住所の入力を日本の住所の逆順で入力するところでしょうか。

そこさえ気をつければ、そんなに難しい買い物じゃありません。

英語の住所入力が不安なら「君に届け」というサイトで日本語住所を英語住所に変換するのも良いですね♪

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.14

充電式電池でコンセントじゃなくてUSB Type-Cから充電できるのはないのかな?

| |コメント (0)

 このエントリーをはてなブックマークに追加

素朴な疑問

充電式電池でコンセントじゃなくてUSB Type-Cから充電できるのはないのかな?

今度調べてみよう

▼2022/05/16追記

USBで直接充電できる単3形/単4形リチウムイオン電池についてあれこれ

海外製のものが中心なのね

▲2022/05/16追記

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.12

体調が悪い、そんなときは…

| |コメント (0)

 このエントリーをはてなブックマークに追加

寝る。

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.11

Raspberry Pi Pico のピンヘッダはんだ付け(その2)

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Raspberry Pi Pico のピンヘッダはんだ付け(その1)」の続きです。

まずはピンヘッダを用意

Raspberry Pi Pico のピンヘッダは、20ピンが2つ必要です。
デバッグ端子も付けるなら、そちらは3ピンが必要です。

かげさんは、20ピンではなく40ピンが10個入りのものを購入しました。



製品名:ピンヘッダー
ピンピッチ:2.54 mm
材質:プラスチック、金属
カラー:ブラック、シルバートーン
20 x 40P単一列 ピンヘッダーストリップ

40ピンも真ん中で2つに割れば、20ピンになるからです。
3ピンだって割れば作れます。(ニッパーがなくても、爪で割れますし)
他のピン数のだって40ピンのなら使えます。

純粋に Raspberry Pi Pico 分だけで良い場合は、スイッチサイエンスでは「Raspberry Pi Pico ピンヘッダキット」というのも売っています。

はんだ付けは敷居が高い?

はんだごてがある場合は、はんだ付けすれば良いだけです。

かげさんの場合、中学生の時に「はんだごて」を作る授業があったので、はんだごては既に持っていました。

ただ、久々すぎるのと、はんだ付けのコツとかあるのかな?と思って Youtube で動画を探しました。

2分でハンダ付け講座 | Raspberry Pi Picoにピンヘッダをハンダ付け超入門

実際にやってみたら、こんな感じになった。

久々すぎて、やってるときは緊張して手がプルプルしてたのは、ここだけの秘密だ(笑)

今回はデバッグ端子は、つけませんでしたが、別売りのリセットボタンをつけてます。写真の手前側のボタン。

リセットボタンについては、「Raspberry Pi Pico リセットボタン Captain Resetti (Pico Reset Button)」で。

ここまではOKだ



MCU(マイコン):RP2040
RAM:256KB SRAM
電源:1.8V~5.5V
サイズ:21×51.3×3.9mm 約3g
動作環境条件:-20℃~85℃(70℃以下を推奨)
温度センサ搭載


製品名:ピンヘッダー
ピンピッチ:2.54 mm
材質:プラスチック、金属
カラー:ブラック、シルバートーン
20 x 40P単一列 ピンヘッダーストリップ


ブランド Manelord
電源 電源コード式
温度定格の上限 450 摂氏
バーナータイプ セラミック
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.10

Raspberry Pi Pico のピンヘッダはんだ付け(その1)

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Raspberry Pi Pico は単体価格が安いのですが、購入後に何かちょっとしたことをしたい時に割と困るのが、ボタンがBOOTSELしかない、ディスプレイがないこと。

ボタンを押したら何かする、条件を満たした時に何かを表示するといったことができません。

そういったことをしたい場合、ピンヘッダを使ってブレッドボード経由でボタンなどのユーザインタフェースをつけたり、ディスプレイを付けたりする必要があります。

Raspberry Pi Pico とピンヘッダ

ピンヘッダが必要な場合、今だとピンヘッダが最初からついている Raspberry Pi Pico も売っているので、そちらを購入するのがお手軽な方法です。

他には、Raspberry Pi Pico のピンヘッダをはんだ付けする方法があります。

Raspberry Pi Zero だと専用のハンマーを使うとはんだ付けせずにピンヘッダをつけられますが、Pico にはハンマーで叩いてピンヘッダをつけるキットは無いと思います。(もしあったら記事を修正するので教えてください)

▼2022/05/23 追記

かげさんの購入当時はピンヘッダ実装版がなかったと記憶しています。

かげさんが購入した当時は、Raspberry Pi Pico が550円

ピンヘッダ付きが出てから金額を見ると990円。

かげさんが購入したところでは40ピンのピンヘッダ10本セットが385円。つまり1本38.5円。

つまり、ハンダ付を気にしなければ、550+38.5円で589円で、はんだ付けの料金が400円という計算

かなり割高と感じたのでした…(´・ω・`)

▲2022/05/23 追記

帰宅が遅かったので時間切れのため、続きは「Raspberry Pi Pico のピンヘッダはんだ付け(その2)」で。

ここまではOKだ



MCU(マイコン):RP2040
RAM:256KB SRAM
電源:1.8V~5.5V
サイズ:21×51.3×3.9mm 約3g
動作環境条件:-20℃~85℃(70℃以下を推奨)
温度センサ搭載


ヘッダー ハンダ付け済み Raspberry Pi Pico
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.09

Google Chromeで表示できなくなったサイトを IE で表示して一時しのぎ

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Google Chrome のバージョンアップにより自前の TracLightning で動かしていたサイトが見れなくなってしまった。

Google Chrome に求められているセキュリティ要件を満たすには、 TracLightning 付属の apache 2.2系ではダメで、apache 2.4系にしないといけない。

しかし、2.2系と2.4系は設定ファイルの書き方が違うので、書き換えに時間がかかる。

だけど、 TracLightning で管理していた wiki は見たい。

完全に移行するまで wiki が見れないかなと思っていたが、ふと IE の存在を思い出した。

正直、良い対策ではないが、IE だと TracLightning のサイトを表示できた。

IE が使える期間は限られているので、一時しのぎにしかならないが、一応、見たいWikiの情報が確認できるので、2.4系への移行を急ごうと思う。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.08

Ambient のダッシュボードを使って複数チャートを同時に表示する

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

これまで IoT データの可視化サービス Ambient を使って3つグラフを作ってきました。

  1. Nature Remo E lite のデータを使った消費電力グラフ
  2. Nature Remo 3 と SwitchBot 温湿度系のデータから温度グラフ
  3. Nature Remo 3 と SwitchBot 温湿度系のデータから湿度グラフ

別々に見ていると切り換えが面倒くさいので、1つのダッシュボードにまとめました。

Ambient

Ambient ダッシュボード機能

Ambient のダッシュボード機能の操作は、公式の動画が参考になります。

まとめ

Ambient_20220508235201

画面上部のツールバーの赤枠のボタンをクリックするたびにグラフが増えます。

グラフの位置とサイズは、ドラッグ&ドロップで調整します。

ここまではOKだ



赤外線リモコンの代わりに、スマホを使って家電を操作できます。外出先からでも家の家電を操作することができるので、家に帰る前にエアコンをつけたりすることができます。Google Home、Amazon Echo、Apple HomePod などのスマートスピーカーと連携させることで、スマート家電ではない家電も音声で操作できるようになります。※スマートスピーカーがなくてもスマホから家電を操作することは可能です。


Nature Remo E liteは、家庭の電力量をリアルタイムにスマホでチェックしたり週、月、年ごとにグラフで比較できる電力モニタリングシステムです。デバイス1つで家全体の消費電力量が確認できます。


より大きく、より頼もしい。3インチのTNパネルを採用し、ディスプレイ表示がより見やすく、どこからでも温湿度が一目でわかります。そして、「乾燥」「快適」「湿潤」の快適レベルで部屋の快適さをよりわかりやすく把握できます。ペットや植物などに合わせた快適レベルのカスタマイズも可能です。


SwitchBot 温湿度計 デジタル スマート家電 高精度 スイス製センサー スマホで温度湿度管理 熱中症対策 アラーム付き グラフ記録 Alexa、Google home、HomePod、IFTTT に対応(ハブ必要)
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.07

Raspberry Pi Pico の L チカのプログラムの解説

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Raspberry Pi Pico の初期設定(その2)」で L チカのプログラムを紹介しました。

簡単な解説をしてみようと思います。

プログラムを再掲

Raspberry Pi Pico の L チカのプログラムはこんな感じです。

import machine
import utime

led_onboard = machine.Pin(25, machine.Pin.OUT)

while True:
led_onboard.value(1)
utime.sleep(1)
led_onboard.value(0)
utime.sleep(1)
  • 1~2行目
    使用するパッケージを import 宣言。
    4行目で使う machine、8行目、10行目で使う utime を使うので、そのパッケージを宣言しています。

    Pythonにはモジュール・パッケージ・ライブラリと呼ばれるものがあります。
    モジュールやパッケージは、何らかの処理を行う関数、関数や変数をまとめたクラスを1つのファイルにまとめたもののことです。
    モジュールやパッケージのことをライブラリと呼んだりしますので、最初のうちは、そんな名前のグループがある程度で覚えておけば良いです。

  • 4行目
    今後も出てきますが、AA.BBのような記述で「.」は「の」と読むとイメージが湧きやすいです。
    「machine.Pin」なら「machine の Pin」という感じです。
    machine = Raspberry Pi Pico なので、Raspberry Pi Pico の 25番ピンを出力ピンとして使う、という意味です。
    下図のように25番ピンが LED になります。

    Raspberrypipico25led

    led_onboard という名前をつけておき、7行目、9行目で使います。

  • 6行目
    while は、○○の間中ループするという命令です。
    True(真)の間中ということなので、常にTrueであるため、電源を切るまで無限にループするという意味になります。

  • 7行目、9行目
    Raspberry Pi Pico の LED に 1 を出力(LEDを点灯させる)、0 を出力(LEDを消灯させる)という意味です。

  • 8行目、10行目
    Sleep=寝かせる=待たせるという意味で1秒間待つという意味です。
    7~10 行目で 1 秒おきに LED を点滅させる、という意味になります。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.06

こむら返りが痛すぎなんだが…

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/

久々に「こむら返り」(ふくらはぎがつった状態)になりまして、床に足をつくのも痛くて、まともに歩けない…

これまでなるのは冬が多かったんだけど、今回はこんな時期にやってしまうとは…

今回も今までも、ずっと朝方に右足ばかりが、こむら返りになっている。

ここ数日、やけに右足が冷えている気がしてはいて、やばそうな気配は感じていたんだが、やってしまった…

とりあえず、痛みが少しでも収まるようにふくらはぎの筋肉をゆっくり膝を伸ばすようにして、足の親指を持って引き伸ばすようにを心がけた。(以前読んだスポーツマンガで足のつりを治すためにやっていたストレッチを参考にした)

ネットで調べたところ、冷え、水分不足、ミネラルやビタミン不足、血行が悪くなっていると起きやすいらしい。

前日の水分補給はコーヒーが多かったので、利尿作用で水分不足気味だったのかもしれない。

ビタミンはB1が不足するとなりやすいみたいで、これは普段からプロテイン摂取など、気をつけていたが、ミネラルの方はあまり気を使っていなかったな…と反省。

ミネラルはカルシウム、マグネシウム、ナトリウム、カリウムなど。

牛乳などの乳製品カルシウム、肉・魚・牛乳などでマグネシウム、野菜などでカリウム、ナトリウムは不足気味だったかも? スポーツ飲料とか飲むと良さそうだが、カロリーを気にして飲まないようにしてたからな。

血行不良ってことは運動不足なんだろう。足の筋トレはスクワットくらいしかしてなかったし、GW中は風が強い雨の日が続いて外を歩き回っていなかったからなぁ。

痛みがない範囲で手を当てて温めたり、カイロを貼ったりしていたら少し痛みが和らいだ。

このため、冷えの影響が大きい?と思ったので、右足を毛布で巻いて温めてみたら大分、痛みがやわらいだ。

週末も大事にして、週明けからしっかり仕事をしよう!

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.04

Raspberry Pi Pico の初期設定(その2)

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Raspberry Pi Pico の初期設定(その1)」の続きで Thonny を起動した後の設定から Lチカまで書いていきます。

Thonny 初回起動時の設定

Thonny は初回起動時に言語の選択画面が表示されます。

Language で「日本語(ALPHA)」を選択し、「 Let's Go 」ボタンをクリックします。

次に、開発言語を指定します。

Thonny を起動すると、どの Python を使っているかが画面下側のコンソール部分と右下に表示されます。

Thonny バージョン「 3.3.13 」の場合、インストールされると Python 3.7.9 が初期インストールされています。

2022/05/04現在、Python 3.10.x が出ているのでかなり古いバージョンです。

ですが、あくまでこの段階で表示されているのは Python のバージョンです。Raspberry Pi Pico で使う MicroPython ではありません。

MicroPython に切り替えるためには、右下の「 Pyton 3.7.9 」と表示されているところをクリックします。

メニューが表示されます。ここで「MicroPython (Raspberry Pi Pico)」を選択します。

これで MicroPython に切り替わりました。

とりあえず簡単なプログラムを動かしてみる

さて、普通なら最初のプログラムは、定番の「Hello Wolrd」なんですが、「Hello Wolrd」を表示するディスプレイが Raspberry Pi Pico にはありません。

なのでマイコン系の定番のプログラム「 L チカ」を作ります。

「 L チカ」は、「 LED をチカチカさせる」の略です。

Raspberry Pi Pico には緑の LED が最初からついているので、これを使います。

プログラムは、こんな感じです。


import machine
import utime

led_onboard = machine.Pin(25, machine.Pin.OUT)

while True:
led_onboard.value(1)
utime.sleep(1)
led_onboard.value(0)
utime.sleep(1)

これを Thonny の中央部分のソースコードエディタに入力します。

入力したソースコードを保存するため、メニュー「ファイル」-「Save as...」をクリックします。

どこに保存するか確認する画面が表示されます。

まず「This Computer」をクリックして PC に保存します。

名前を付けて保存の画面が表示されるので、フォルダやファイル名を指定して保存します。ここではファイル名は、「LedBlink.py」とします。

保存」ボタンをクリックします

もう一度メニュー「ファイル」-「Save as...」をクリックします。

どこに保存するか確認する画面が表示されるので、今度は「Raspberry Pi Pico」をクリックします。

Raspberry Pi Pico に保存する名前を入力する画面が表示されます。ここでは先ほどと同様に「LedBlink.py」と入力します。

OK 」ボタンをクリックします。

これで「 L チカ」プログラムの準備が整いました。

補足説明

先ほどのソースプログラムの保存でセーブのアイコンを使わず、メニュー「ファイル」-「Save as...」を使いました。

また、いきなり「Raspberry Pi Pico」をクリックしても問題ないのに、あえて一度「This Computer」をクリックして PC に保存しています。

これには理由があります。

なぜ一度「This Computer」に保存しているか?

それは今回のように行数の少ない一時的なプログラムなら問題ないのですが、少し複雑なプログラムを組んで翌日続きから作業するといった時に何らかの理由で「Raspberry Pi Pico」に保存したプログラムが消失してしまったときに、最初からプログラムを作り直す必要が出てくるからです。

それを避ける意味で、あえて一度「This Computer」に保存しています。

バックアップがないと不安なのは、システムエンジニアの「職業病」かもしれませんが(笑)

なぜセーブのアイコンを使わず、メニュー「ファイル」-「Save as...」を使うのか?

セーブのアイコンを使う場合、どこに保存するかの画面が表示されないため、「This Computer」に保存しているのか、「Raspberry Pi Pico」に保存しているのか分からなくなるからです。

一応、タイトルバーを見れば「Raspberry Pi Pico::」があるかどうかで分かるといえば分かるのですが、最初は気づかなかったので(;^_^A

なのであえて、どこに保存するか選択する画面が出るメニュー「ファイル」-「Save as...」を使って、意識的に切り替えを使い分けているのです。

プログラムの実行と停止

実行は、メニュー「実行」-「Run current script」か、緑のアイコンの「再生」ボタン
停止は、メニュー「実行」-「Stop/Restart backend」か、赤いアイコンの「STOP」ボタン

で行います。

実行するとLEDが1秒おきに点いたり消えたり、点滅を繰り返します。
プログラムを停止すると LED が点いている時に停止すれば LED が点いたまま、LED が消えている時に停止すれば LED が消えたままとなります。

趣味の問題かもしれませんが、LEDが消えている時に停止した方が良い気がします。(点いている時に止めても何も問題ないんですが)

うまく「 L チカ」が確認できたでしょうか?

次の記事「Raspberry Pi Pico の L チカのプログラムの解説」に続きます。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.03

Raspberry Pi Pico の初期設定(その1)

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

Raspberry Pi Pico を購入しようという記事「IoTで快適空間を作ろう!(温度管理 検討編)」を書いたものの、その後のセットアップしたりした時の記事を書いていませんでした。

実家でも親が Raspberry Pi Pico を購入したものの、全く使っていなかったので初期設定をしました。

忘れないうちに書いてみます。

Raspberry Pi Pico とは



MCU(マイコン):RP2040
RAM:256KB SRAM
電源:1.8V~5.5V
サイズ:21×51.3×3.9mm 約3g
動作環境条件:-20℃~85℃(70℃以下を推奨)
温度センサ搭載

Raspberry Pi という名刺サイズのパソコンのシリーズがあります。

2022/05/03現在、半導体不足の関係であまり出回っていませんが、
初代から数えて第4世代の Raspberry Pi 4というのが出ています。
(初代に近い性能でフリスクサイズの Raspberry Pi Zero や Raspberry Pi 400というキーボードタイプのもあります)

(参考)
初代の Raspberry Pi を購入した時(2013/05/25)に書いた記事はコチラです。
Raspberry Piをゲット

Raspberry Pi という名前から同じシリーズに感じますが、Raspberry Pi シリーズと Raspberry Pi Pico は別物です。

販売してるところは同じなので Raspberry Pi というブランド名がついているってところでしょうか。

サイズ感はこんな感じで小さいです。まさにピコって感じ。

Raspberrypipicosize

Raspberry Pi シリーズとの大きな違いは、OS 上で動くかどうかです。

Raspberry Pi はパソコンなので OS(オペレーティングシステム) をセットアップして、それの上にソフトを入れて使います。後からいろんな用途に活用できる完成されたコンピュータのイメージです。

これに対して Raspberry Pi Pico はマイコン(マイクロコントローラ/マイクロコンピュータ)なので、OS はなく、電子機器の制御用に最適化されたコンピュータです。

制御用にプログラムを組み込んで使います。プログラムを組み込んだ部品みたいなイメージです。

かげさんが思うに、 Raspberry Pi Pico は、いろいろあるマイコンの中でも IoT にはあまり向いていないです。

なぜかというと、 Raspberry Pi Pico には無線通信( Wi-Fi や Bluetooth など)がそのままでは使えないためです。

この点は、SONY から出ている SPRESENSE(スプレセンス) も同様です。

どちらも後付けで Wi-Fi や Bluetooth などが使えるのですが、Arduiono や M5Stack 系統や ESP32 が最初から使える機器の方が IoT には向いているように思います。

IoT (Internet of Things:モノのインターネット)は、インターネットにつながる=何らかの通信ができることが柱の1つ。

なので、センサーとして使うことができたとしても収集した情報をどこにも送れないと、データ活用が難しいと思うからです。

後付けじゃないと「通信機能」や「画面」を使えないというのが、導入上のデメリットですね。

Raspberry Pi Pico は、なんといっても安さが売りなんで手を出しやすいというメリットはあります。

かげさんが購入した時は、スイッチサイエンスで550円。今は値上がりしていますが、それでも他のマイコンより安い

550円の割に「緑の LED 」や「温度センサー」がついているのも良い点だと思います。

ちなみにかげさんの Raspberry Pi Pico の購入動機は、PC 起動中の PC 周辺の温度が知りたかったためです。

夏の暑い時期の PC 周辺の空気を循環させる時の指標に使えるかな?と思ったのです。

PC 起動中という条件だったのでUSBに直刺しで温度が分かれば良かったので丁度良かった。安価な温度センサーとして購入しました。

本格的に何かをする場合、ピンヘッダをはんだ付けするか、ピンヘッダ付きのを Raspberry Pi Pico を購入した方が良いでしょう。

初期設定で用意するもの

  • 作業用 PC ( Windows, Mac, Linux, Raspberry Pi Picoじゃない Raspberry Pi などいずれか)
  • Raspberry Pi Pico
  • PC と Raspberry Pi Pico を接続する USB ケーブル( Raspberry Pi Pico 側は、micro B )

Micro Python のファームウェアをセットアップ

今回は、開発言語として Micro Python を使います。かげさんは、まだやったことがないけど、 C / C++ が使えるように設定することもできます。

後述の Micro Python の開発環境 Thonny にも Raspberry Pi Pico のファームウェアをセットアップする機能があるのですが、うまくセットアップできないので、かげさんは、これから紹介する方法でセットアップしました。

下記のURLに移動します。
https://www.raspberrypi.com/documentation/microcontrollers/micropython.html

MicroPythonを使うためのファームウェアは、上記ページの動画の下にある項番1~5の項番1のリンクからダウンロードします。

2022/05/03 現在だとダウンロードされるファームウェアのファイル名は「 rp2-pico-20220117-v1.18.uf2 」です。

次に USB ケーブルで PC に Raspberry Pi Pico を接続するんですが、ここで注意すべきことがあります、

それは Raspberry Pi Pico の「 BOOTSEL 」ボタンを押しながら接続することです。

PC に「 RPI-RP2 」という大容量ストレージデバイスが認識されるまで「 BOOTSEL 」ボタンを押し続けます。

接続されたら、ダウンロードしたファイル、今回だと「 rp2-pico-20220117-v1.18.uf2 」を「 RPI-RP2 」にドラッグ&ドロップします。

正常にファイルがコピーされた場合、 Raspberry Pi Pico が自動的に再起動されて「 RPI-RP2 」の接続が切れます。

Micro Python の開発環境 Thonny(ソニー)のセットアップ

Thonny の公式サイトは「コチラ

thonny00

右上の方にダウンロードのリンクがあります。インストール対象の OS にあわせたものをダウンロードします。

ここでは、Windows 版をダウンロードします。

2022/05/03 現在だとダウンロードされるのはバージョン「 3.3.13 」です。

インストーラを起動します。

thonny01

Install for me only(recommended)」をクリック。

thonny02

Next」をクリック。

I accept the agreement」を選択し「Next」をクリック。

thonny03

thonny04

必要に応じてインストール先のフォルダを指定し「Next」をクリック。

thonny05

スタートメニューの名称はそのままで「Next」をクリック。

thonny06

デスクトップにアイコンを表示したいので「Create desktop icon」をチェックして「Next」をクリック。

thonny07

Install」をクリック。

thonny08

thonny09

Finish」をクリック。

この記事はここまで、Thonnyの使い方は次の記事「Raspberry Pi Pico の初期設定(その2)」に書きます。

ここまではOKだ



MCU(マイコン):RP2040
RAM:256KB SRAM
電源:1.8V~5.5V
サイズ:21×51.3×3.9mm 約3g
動作環境条件:-20℃~85℃(70℃以下を推奨)
温度センサ搭載


ヘッダー ハンダ付け済み Raspberry Pi Pico


Vesiri Raspberry Pi Pico ラズベリーパイピコセット多機能開発ボード 透明アクリル保護ケース/Mirco USBケーブルライン/20cmデュポン ワイヤー/MB-102ブレッドボード/ブレッドボード接続ワイヤー用 65pce/単列針セット


OSOYOO Raspberry Pi Pico キット, Python プログラミング センサー, MicroPython ビジュアルプログラミング 基本レッスン, ラズパイピコ Pico基板付き, ラズベリーパイ ピコ 初心者向け
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.02

スマート電源タップ「SmartLife NX-SP203」

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

これまで、かげさんが持っているスマートプラグの紹介記事を書いてきました。

今日、判明したのですが、かげさんの親も電源タップ型のスマートプラグを購入してました。

かげさんが持っているのとは違うのを購入していたので記事にしようと思います。

親の製品と購入動機

購入したのは SmartLife NX-SP203。



「昇級バージョン」LITSPED WiFi スマートプラグ USB電源タップ Alexa/Google Home/IFTTT対応 スマートコンセント ハブ不要 タイミング機能付き 4 AC差し込み口

かげさんが持っているMerossの電源タップ型の存在を知って興味を持って去年の10月に購入してたらしい。(正月に帰省した時には、そんな話は聞いていなかったんだが…)

一応、購入にあたり、1個口のスマートプラグよりは電源タップ型の方が口数も多いし、USB充電もできるので良いなという判断はしたらしい。

当初はかげさんも使っている「Merrosの電源タップ型4個口 + USB Type-A x 4」を購入したかったようだが、在庫切れだったので「1個口 x 4」より「電源タップ型で4個口 + USB Type-A x 2 + USB Type-C x 1」のものが良いと判断したとのこと。

なお、うちの親、購入して半年経過しているのにスマートプラグとして使えていなかったという…(´・ω・`)

興味を持つのは良いんだけど、説明書を読まない人だからスマホにアプリを入れるとか気づいていなかったらしい…orz

しかも、スマートプラグを操作するのにスマートリモコンが必要だと思っていたらしく、SwitchBot Hub Mini まで購入しておった…

いつものことだが、なんで買う前に相談したり、年末年始に帰省した時に聞かないんだ…

Merrosの電源タップ型4個口 + USB Type-A x 4との比較



【Amazon Alexa認定】Meross スマート電源タップ スマートプラグ コンセント タップ 延長コード usb wifi 電源タップ 4+4(AC差し込み口 +USBポート) 1.8m 省エネ 遠隔操作 スマートスピーカー アレクサ対応 Echo シリーズ / Google Home / SmartThings対応 有 MSS425FJP

コンセントの口数は4個で同じ。

コンセントの向きは、SmartLife のと Meross では 90度違う。接続するコンセントの形状によっては、この90度の違いは影響が大きいと思う。

USB充電Type-A 4口に比べ、2口と少ない代わりに、Type-Cが1口あるのがポイント。

ただし、かげさんは知らなかったのだけど、Type-Cには 16p と 12p というのがあって、NX-SP203 の Type-C は 16p で iPhone シリーズの Type-C 12p とは規格が異なるので使えないらしい。(ちなみにかげさんの家族は誰も iPhone を使っていない)

USB充電のオン/オフ切り替えは、Merossのと同様、USBの全口のオン/オフを切り替えるため、USBの口ごと個別のオン/オフはできない。

価格は、Merossの方が数百円くらい高い

スマホアプリのセットアップについては、Merossの方が分かりやすく感じた。おそらく Meross は Bluetooth 接続でセットアップしてるので初期設定のスマホと電源タップの接続が Wi-Fi を切り替えながら行う SmartLife の Wi-Fi 設定が面倒くさいからじゃないかと思う。

ここまではOKだ



「昇級バージョン」LITSPED WiFi スマートプラグ USB電源タップ Alexa/Google Home/IFTTT対応 スマートコンセント ハブ不要 タイミング機能付き 4 AC差し込み口


【Amazon Alexa認定】Meross スマート電源タップ スマートプラグ コンセント タップ 延長コード usb wifi 電源タップ 4+4(AC差し込み口 +USBポート) 1.8m 省エネ 遠隔操作 スマートスピーカー アレクサ対応 Echo シリーズ / Google Home / SmartThings対応 有 MSS425FJP


SwitchBot ハブミニとは複数の赤外線リモコンを一つにまとめるコンパクトなスマートリモコンです。ゲートウェイとしてお家のエアコン・テレビ・照明などの家電とSwitchBot製品をインターネットに接続させて、外出先からスマホでコントロールできます。
 このエントリーをはてなブックマークに追加

| |コメント (0)

2022.05.01

書くことガガガ…

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

新しいスマホの設定をいろいろやっていたり、スーパーナチュラルのシーズン11の続きを見ているうちにこんな時間…(´・ω・`)

ということで、書くことガガガ…。

ここまではOKだ

 このエントリーをはてなブックマークに追加

| |コメント (0)

« 2022年4月 | トップページ | 2022年6月 »