grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


ラベル Raspberry Pi の投稿を表示しています。 すべての投稿を表示
ラベル Raspberry Pi の投稿を表示しています。 すべての投稿を表示

2017年7月26日水曜日

Raspberry Pi Zero W:IPカメラ実験(Picamera)

Raspberry Pi Zero Wでやりたかったことの一つにIPカメラがあります。Zero Wにカメラをつないで、他の端末からZero WのIPアドレスにアクセスして監視できるようにするものです。主には、レーザー加工時の監視用カメラ(直接目で確認するより安全なので)です。

カメラの種類:
カメラは以前AliExpressから以下のような赤外線カメラを購入しておりました。このタイプはカメラ両脇に赤外線LED照明がついており、それを照射して暗い部屋の中でもその赤外線反射光を頼りに撮影可能になるらしい。ただし、レンズには赤外線フィルターがついていないため、明るい状況下ではやや色味が実際とは異なってしまうと思います(やや赤紫っぽくなる)。

AliExpress.com Product - Raspberry Pi Camera RPI Focal Adjustable Night Version Camera + Acrylic Holder + IR Light + FFC Cable for Raspberry Pi 2 / 31677円(送料込み)、赤外線LED照明のついた暗視タイプ、5メガピクセル。
また通常のタイプのものであれば以下。こちらは赤外線フィルターがついているため色味は自然なほうかと。
AliExpress.com Product - Free Shipping raspberry pi camera 5mp pixels RASPBERRY PI CAMERA730円(送料込み)、5メガピクセル、これは比較的安価。でも国内で買うと3000円くらい。
どうやら5メガピクセルのカメラV1がV2へバージョンアップして8メガピクセルになったようで、以下。
AliExpress.com Product - Original RPI 3 Camera Raspberry pi Camera V2 Module Board 8MP Webcam Video 1080p 720p Official camera For Raspberry Pi 3 2206円(送料無料)、8メガピクセル。これは純正。こちらは国内価格が5000円くらい。
なぜかカメラが国内では高いのですが、試す程度なら730円のV1でもよさそうです。

カメラ用プログラム:カメラ撮影を可能にするプログラム/アプリケーションがいくつかあるようで、ざっと調べた限りでは、・Motion・MJPG-streamer・Picamera(python)があるようです。こちらの記事を参考にすると、Motionは遅延があるようでMJPG-streamerのほうがいいらしい。また、公式ドキュメンテーションを見ると、Picameraが標準インストールされているらしいので、すぐにコマンドを打てば使えるらしい。ということから、MJPG-streamerは後回しにして、まずはPicameraで軽く実験してみることに。
Picamera:公式ドキュメンテーションのカメラ使用については、RASPBERRY PI CAMERA MODULEというページ(英語)があります。さらに、Picameraのドキュメンテーションとしてはこちらのページに詳しく書かれています。
セッティングと動作チェック:Zero Wでカメラ使用を可能にするための設定として、以下の「Raspberry Piの設定」画面で「カメラ」を「有効」にチェックを入れておきます。そして一度再起動が必要らしいです。このあたりの設定については、ドキュメンテーションのGetting Startedに書いてあります。 

尚、パソコンからWifiを通してZero Wを遠隔操作しているため「VNC」も「有効」にしてあります。どうやら、その後「シリアル」も「有効」にしておいたほうがよさそうですが、いまのとこ無効のまま。Picameraを起動する前に、sudo apt-get updatesudo apt-get upgradeをしておいたほうがいいでしょう。数ヶ月使っていなかったため、10分以上アップグレードに時間がかかりました。
Zero Wを再起動後、ターミナルを開いて、
raspistill -o test.jpg

を入力すれば、test.jpgという名前のファイルで静止画を出力(保存)するようです。実際にやってみると、
このように、test.jpgが/home/piディレクトリ内に出力保存されています。これをクリックし写っていればカメラは問題なく機能しているということになります。

プレビュー画面:ビデオ映像をプレビューするには、raspivid -t 10000を入力すれば、10秒間プレビュー画面がでてくるようです。raspivid -t 0であれば、ctrl+cを押してプログラムを終了するまでずっとプレピューとなるようです。しかしながら、VNCを通してプレビューしようとするとプレビュー画面が現れません。これはVNCにプレビュー画面を転送表示する機能がないからのようです。その場合はでネットワーク表示させろと書いてあります

Webストリーミング:次に本題のWebストリーミングの方法に入っていきたいと思います。ちなみに、これらすべてはVNCを通してMacBook ProからWifi経由で操作しています。いろいろ探してみると、PicameraのドキュメンテーションのAdvanced Recipesに、そのまんま「4.10 Web Streaming」という項目があります。冒頭の説明で、Webを通してのビデオストリーミングは驚くほど複雑だと書いてあります。しかしながら、Pythonによる88行からなるサンプルソースが掲載されています。試しにコピペしてZero W上で確かめてみようと思います。


import io
import picamera
import logging
import socketserver
from threading import Condition
from http import server

PAGE="""\
<html>
<head>
<title>picamera MJPEG streaming demo</title>
</head>
<body>
<h1>PiCamera MJPEG Streaming Demo</h1>
<img height="480" src="stream.mjpg" width="640" />
</body>
</html>
"""

class StreamingOutput(object):
    def __init__(self):
        self.frame = None
        self.buffer = io.BytesIO()
        self.condition = Condition()

    def write(self, buf):
        if buf.startswith(b'\xff\xd8'):
            # New frame, copy the existing buffer's content and notify all
            # clients it's available
            self.buffer.truncate()
            with self.condition:
                self.frame = self.buffer.getvalue()
                self.condition.notify_all()
            self.buffer.seek(0)
        return self.buffer.write(buf)

class StreamingHandler(server.BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/':
            self.send_response(301)
            self.send_header('Location', '/index.html')
            self.end_headers()
        elif self.path == '/index.html':
            content = PAGE.encode('utf-8')
            self.send_response(200)
            self.send_header('Content-Type', 'text/html')
            self.send_header('Content-Length', len(content))
            self.end_headers()
            self.wfile.write(content)
        elif self.path == '/stream.mjpg':
            self.send_response(200)
            self.send_header('Age', 0)
            self.send_header('Cache-Control', 'no-cache, private')
            self.send_header('Pragma', 'no-cache')
            self.send_header('Content-Type', 'multipart/x-mixed-replace; boundary=FRAME')
            self.end_headers()
            try:
                while True:
                    with output.condition:
                        output.condition.wait()
                        frame = output.frame
                    self.wfile.write(b'--FRAME\r\n')
                    self.send_header('Content-Type', 'image/jpeg')
                    self.send_header('Content-Length', len(frame))
                    self.end_headers()
                    self.wfile.write(frame)
                    self.wfile.write(b'\r\n')
            except Exception as e:
                logging.warning(
                    'Removed streaming client %s: %s',
                    self.client_address, str(e))
        else:
            self.send_error(404)
            self.end_headers()

class StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer):
    allow_reuse_address = True
    daemon_threads = True

with picamera.PiCamera(resolution='640x480', framerate=24) as camera:
    output = StreamingOutput()
    camera.start_recording(output, format='mjpeg')
    try:
        address = ('', 8000)
        server = StreamingServer(address, StreamingHandler)
        server.serve_forever()
    finally:
        camera.stop_recording()




とりあえず、デスクトップ上にテキストエディタでwebstream.pyなるファイルをつくって、そこにコピペです。どうやらこれは、Python3用のソースです(このままではPython2.7では動きません)。Zero WにPIXELをインストールしていれば、Python2.7も3も両方入っているので特に問題はありません。
保存したあと、ターミナルを開いて、まずはwebstream.pyのあるDesktopディレクトリへ移動するために、
cd Desktop
そして、Python3でこのスクリプトを起動するのですが、
python3 webstream.py
と打ち込みます。そうすると、特にモニタリング用の画面などは現れずに以下のような画面。
これは、Zero W上のターミナル画面です。サンプルが起動したら、Zero WのIPアドレス:8000/index.htmlに他の端末のブラウザでアクセスするとリアルタイムでの映像を見ることができます。


こんな感じで、193.168.3.2:8000/index.htmlにMacBook ProのChromeでアクセスしてみました。手を揺らしてみましたが、特に目立った遅延などなくスムースに動いています。コードを編集する必要もなく、すぐに動作確認することができました。画面上方の文字が邪魔ですが、コード11行目のHTMLを編集し直せばすぐに消しとることができます。
プログラム終了方法:ctrl+cを押すか、ターミナルを閉じてしまうと終了します。
Zero WのIPアドレス:
ちなみに、Zero WのIPアドレスは、画面右上のWifiアンテナマークにカーソルを重ねると出てきます。
またポート:8000に関しては、コード下から5行目に8000を指定してあるので、変更したい場合はその部分を任意のポートにすればいいと思います。


Python IDLEで起動:
ターミナルが苦手というのであれば、すでにPython 3 (IDLE)がインストールされているので、

コピペしたPythonスクリプトをデスクトップ上で右クリックして、
アプリケーションで開くを選択し、

Python 3(IDLE)を選択すれば、

先程のコードがIDLE上にでてきます。あとはRun Moduleすれば、このプログラムが起動します。
そして、別の端末のブラウザでIPアドレスにアクセスすれば撮影内容を見ることができます。

モバイルバッテリーにつなげばスタンドアロンのIPカメラとして使えるので便利そうです。バッテリーとUSBケーブルの間に電圧電流計をはさんでみましたが、カメラ起動中は約0.2〜0.3A程度の電流になっていました(以下)。
カメラ起動中は、赤いLEDがオンになります。

まとめ:
比較的簡単にWebストリーミングできました。このソースにHTMLの表示内容も書き込んであるので、見た目や配置を変更することも簡単にできそうです。
この実験のあと、Python2.7でも動かせるかどうか確かめてみました。Python3のsocketserverならびにserverモジュールが、python2.7ではSocketServer、SimpleHTTPServerに置き換わるのですが、そのために多少書き直す部分がでてくるので面倒。そのうちやろうと思います。
それから、かなりZero Wのチップが熱くなっていたので、ヒートシンクはつけたほうがよさそうです。

Posted at 2017.7.26
EasyWordMall アルミニウムヒートシンク Raspberry Pi用 6枚入り
Apple Trees E-commerce co., LT
販売価格 ¥198
(2017年7月26日4時48分時点の価格)

2017年7月19日水曜日

Raspberry Pi Zero Wを購入

昨日7/18にようやく日本でもRaspberry Pi Zero Wが販売になりました。やっと技適が通り、これまで海外で売っていたもの(技適なし:技適マークはあるものの、番号がない)とは違うものらしい。

スイッチサイエンスでは、会員登録して入荷通知設定をしておくと上のようなメールが届くシステムになっており、販売日時などは予めわかっていました。7/18の18:00から販売開始でしたが、その時間にログインしてみてもなかなか販売開始にならず、しかもアクセスが集中しているためかほぼ接続できない状況になっていました。アクセスできてもあいかわらず以下のような「この商品は在庫がありません」だけの表示。


このような人気商品がネットショップで発売になる場合、サーバ混雑はよくあることなので、ここは冷静にレスポンスを受け取れるまで何度も再読み込みをしてみました。
18:00開始とは言っても、実際は19:34になってはじめて、商品をカートに追加できるボタンが現れて、ようやくクリック。


どうやらカートには追加されたようでしたが、その後の購入手続きのボタンをクリックすると画面移行後にエラー続出。
以前も似たような経験はしたことがあるので、URLをコピペし再読み込みを繰り返すと、10回に1回くらいの再読込でアクセスできる感じで、次の画面に移行できました(画面移行でエラーがでるといっても、複数買いになってしまうことがあるので「カートへ追加」ボタンなどは何回も押さないほうがいい)。
しかし、購入完了までは何回か画面移行しなければいけなく、その都度移行失敗でエラー画面が出てしまいます。何度もチャレンジして、ようやく支払い画面、もうすでに10分以上はこの手続きのために時間がかかっています。

こんな感じ:
・まず、商品画面の表示(「カートに追加」ボタンがあるかどうか)
・「カートに追加」ボタンを押し、購入手続きへ移行
・購入決定(注文発生)
・支払い画面へ移行
・支払い手続き(Paypal経由のクレジットカード払い)

購入完了までの4〜5回画面移行するたびにエラー画面が現れるので、画面表示されたらそのURLをコピーしておき、次の画面へ移行後エラーが出た場合、前のURLを再入力して再度前画面に戻るか、移行後のURLもコピーしておき、何度もアクセスする感じで、10回に1回くらいの頻度で少しずつ進んで行く感じです。画面移行したら、その画面はキープしておき、また別の画面を用意して元のURLをペーストして再読み込みさせるという感じで、ひとつの画面で先にも進めず、元にも戻れずとはならないように、複数の画面を使い分けるのがいいと思います(とは言っても、こんなアクセス不安定な状況下での注文の機会はあまりありませんが)。
最後のPaypalでの支払いボタンを押すところまで辿りつけたのですが、支払いボタンをクリックした後にまたエラー。これも何度か繰り返し、Paypalアカウントのほうも開いて支払い済みになっているかチェックしてみたものの、まだ支払いが未確認。
そうすると、どうやら登録してあるGmailのほうになにやら返事が来ているようで、みてみると、


このような注文と支払い完了のメールが2通届いていました。
これでどうやら購入できたようです。ようやく安心。
その後Paypalアカウントのほうもチェックしてみると、支払いが発生しており無事購入完了となりました。何度も再読み込みやクリックをしたので、複数支払いが発生していないか心配でしたが大丈夫そうでした。
結局、19:34にカートへ追加の画面が現れて、購入手続きと支払い手続きが完了するまでにエラー画面をくぐりぬけて19:51に購入成立に至りました。どうやら19:30以降の20分程度(アクセス状況が悪い中)で売り切れになったようです。Twitterを見ると、カートに追加はできたけれども、支払い画面でエラーが出て、再度画面を戻るとすでに売り切れ状態になっていて購入できなかったという人も多かったようです。
もしサーバが安定していて、スムースに購入できていれば、5分もたたないうちに売り切れになっていたでしょう。逆にアクセスしにくい状況であったからこそなんとか運良く買うことができたのかもしれません。
もうひとつの販売ショップであるKSYのほうでは、20:00頃でも4320円のセット販売の商品なら売り切れにはなっていませんでしたが、それもいつのまにか売り切れ。
やはり、案の定すぐに売り切れという結末でした。


PimoroniのRaspberry Pi Zero W:
Raspberry Pi Zero Wは、3月頃に発売予定でしたが、技適マークは印刷されてはいるものの番号がまだついておらず、ずっと販売延期になっており、再度新しいタイプ(技適番号付き)を発売するには数ヶ月後になるのではと思っていたので、待ちきれず英国のPimoroniのほうで購入しておりました。
PimoroniのZero Wは技適マークはついているものの、番号まではついていないのでこのままでは正式な技適認証済のものとはならないようです。
最近のPimoroniのZero W(購入当時は送料込みで1970円)は、以下のようにもう技適番号もついているようです。
おそらくしばらくはヤフオクやAmazonで高額転売されると思うのですが、今回購入できなかった場合は、Pimoroni(送料込みで約2000円)で購入すればいいと思います。早ければ1週間程度で届きます。


カメラモジュール:
いずれにせよZero WにカメラモジュールをつけてWifiカメラをつくりたいと思っていたので、

AliExpress.com Product - Raspberry Pi Zero Camera Focal Adjustable Night Vision Camera Module +2 IR Sensor LED Light for RPI Zero 1618円(送料無料)
このような暗視カメラもAliExpressで購入しました。国内でこのようなカメラモジュールはなぜか高い(5MPで3000円くらい、8MPで5000円くらい)。


Raspberry Pi用のカメラモジュールは、いくつか出ていますが、問題はこのフラットケーブルで、Pi3の端子(幅広)とZeroやZero Wの端子(幅細)の幅が違うし(幅変換が必要)、もう少し短いケーブルも欲しかったことから、
この公式のケース(648円)に付属している短いケーブル欲しさのために、これも今回スイッチサイエンスから購入しました(案外このような短い変換ケーブルが売っていないので)。

最初に販売された$5のZeroのほうはWifiがないために、$10のZero Wのほうが圧倒的に便利だろうとZeroは購入しませんでした。
実際にZero Wを使ってみると、Pi3に比べるとスペックは下なので、やはり動きはやや遅いという感じです。モニターをつないで、ブラウザでインターネットをしてみると動画などは少々きついという感じでした。それでも、この小ささでWifiもBLEもついているし、ESP32よりもかなり強力なのではないかと思います(消費電力は高いけれども)。

Zero Wには、MiniUSB端子が2つしかなく、そのうち一つは電源用なので、実際はMiniUSB端子一つしかありません。そのため、キーボードやマウス操作は以前購入したBluetoothキーボード(タッチパッド付き)を使っています。
AliExpress.com Product - Windows PC 59 Keys Ultra Slim Mini Bluetooth Keyboard with Touch Pad Panel RR6V1451円(送料込み)
USBハブがなければ、普通のUSBキーボードとマウスを両方同時に接続することができません。この部分がZero Wの不便な点ですが、以下のVNCを使えばいいかと。

VNCによる遠隔操作:
そもそもZero Wにはモニターやキーボードを直接接続せずに、パソコンからVNCを使ってWifi経由で遠隔操作したほうが使いやすいと思います。そのためWifiのないZeroではなく、すぐにVNC接続可能なZero Wのほうが便利という感じです。
このようにパソコンにVNC Viewerをインストールし、Zero Wのほうでも設定しておけばZero WのIPアドレスにアクセスして操作できます。

パソコン(MacBook Pro)の画面上に現れたZero Wの画面。
この状態でパソコンからZero Wを扱うことができます。最近のPIXELをZero Wにインストールしておけば、VNCは標準装備されていたと思うので、すぐに使えると思います。
「Raspberry Piの設定」画面内でVNCを有効にしておけば使えるようになります。ただし、最初だけこの設定をモニタとつないで設定しなければいけなかったような。

各種サイズ比較:
左から、18650電池ボックス(USB5V出力)、100均単3電池ボックス(USB5V出力/改造:スイッチ付き)、Zero W、ESP32、ESP8266。
Zero W(65mm x 30mm)は、ESP32より少し大きいのですが、それでもこのスペックにしてはかなり小さい感じです。


ということで数日中には、この変換ケーブルつき公式ケースとともに技適認証済みZero Wが届くと思うので、Wifiカメラの実験をしてみようかと考えています。


追記(現物到着):
7/18の注文から2日後の7/20には、Raspberry Pi Zero Wが到着しました。
さっそく中身を確認してみると、
上のほうは少し前にPimoroniで購入したもの(技適マークはあるものの番号がない)。
そして、下のほうが今回スイッチサイエンスで購入したZero W 。新しいタイプが届くのかと思いきや、技適マークと番号がシールで貼られているタイプのものでした。
最初の国内ロットは、このタイプなのかもしれません。
スイッチサイエンスのページに、このシールについて書いてありましたが、このシールは販売店や購入者が勝手に貼ってはいけないらしい。ハードウェア的な上では、シール以外は何ら変わらない感じで、このシールを貼るだけで済んだのかと少々疑問。当然、このシールの偽造は違法行為となるので、こんなシールであっても重要らしい(苦肉の策という感じ)。
ということで、あまり新鮮味は感じませんでしたが、無事届いたのでよかったです。

そして公式ケース(カメラ用の短いフラットケーブル付き)はというと、
こんな感じでカメラと接続してケースに収納してみました。赤いケースに対して、白い蓋が3種類ついています。カメラは以前AliExpressで購入したもの、そして下に見えるのがカメラに付属していた150mmフラットケーブル。

公式ケースに付属していた短いフラットケーブルはコンパクトにまとまりそうでいいのですが、ケースやZero W本体に対してカメラレンズがどっち向きになるかということが問題。
このカメラの場合はこの状態でレンズが上向きなので、フラットケーブルを折り曲げると、白い蓋のほうには向かず、裏側に向いてしまいます。カメラによっても、基板の裏側にフラットケーブル・コネクタがついているものもあるようで、その場合はレンズは逆向きになるというわけです。カメラを購入する場合は、この向きに注意したほうがよさそうです。
そもそも、このカメラはレンズが大きいのでカメラ用の穴がついている白い蓋には合いません。このケースを使うならば、仕方なくこのように裏側にまわして使うしかないでしょう。幸い、このカメラモジュールの基板の裏面には何も実装されておらず、ただの平面なのでそのまま両面テープなどでも固定できそうです。
単に短いフラットケーブルが欲しかったためにこのケースを購入したので、ケース自体は使うかどうかわかりませんが、せっかくあるので使ったほうがいいかと。

関連:

2017年4月22日土曜日

久しぶりのRaspberry Pi3: PIXELとかNode-REDとか

最近はESP8266やESP32を扱っていたので、サーバ用Raspberry Piを使ってみようかと。
しばらくアップデートなどしていなかったのですが、どうやら今はPIXELというのに変わっていて、ブラウザもChromiumが標準となっているようだったので、Web Speech APIを使うにはちょうどいいかなと。
ということで、PIXELにアップデートしてみました。
また最初から設定し直しなので、いちいちターミナルで手入力なのかと思いきや、PIXELに変えてみるともはや普通のOSという感じで、ほとんどの設定がGUIで可能でした。
Bluetoothのペアリングなども、Bluetoothアイコンからすぐに設定できるので、ほぼMacと同じような感じの使い勝手で設定などはスムースに進みました。



Raspberry Piはモニタ、マウス、キーボードなどつなげると配線だらけになってしまうので、少し前にBluetoothのタッチパッドつき小型キーボードにしてしまいました。


AliExpress.com Product - Windows PC 59 Keys Ultra Slim Mini Bluetooth Keyboard with Touch Pad Panel RR6V1451円(送料込み)
サイズ、23x15x0.6cm。充電はミニUSBで。
たぶん、これと同じものを、楽天ポイントがあったので楽天で購入。


Raspberry Piとは簡単に接続でき(再接続も一発)、日本語(青Fn+Qで切り替え)も対応しているので問題なく使えます。タッチパッドの部分もスワイプ可能、押すとクリックも可能、タップでクリックも可能。安いわりになかなか高性能です。厚さ6mmなのでかなり薄いし、その分軽いので持ち運びにもいいかもしれません。思った以上につくりは雑ではないです。
キーボードだけのものにしようかと思いましたが、Raspberry Piにはマウスは繋がないで、これひとつで済ませようとタッチパッドつきにしてしまいました(とは言っても、画面自体がタッチパネルだったので、もはやタッチパッドもマウスもどちらも必要なかった)。
AliExpress.com Product - Raspberry Pi 3 B 7inch HDMI LCD 1024 * 600 Resistive Touch Screen LCD Display5823円(送料無料)
同じ大きさで同じ解像度のモニターを使っていますが、最近だとこのタイプがよさそうです。
裏に直接Raspberry Piを差し込めるピンと専用のHDMIプラグもついているようです。
AliExpress.com Product - Elecrow HDMI Connector for 5 inch HDMI Raspberry Pi Screen Dispaly DIY HDMI Connector Kit 113円(送料無料)この180度折り返しのHDMIプラグを探していたのですが、単品だとここで売っているようです。

この折り返しのプラグがないため、現在は以下のようなアダプタなどで接続。
モニターにアクリル板を取り付け、ケーブル類もコネクターを複数つないで、できるだけコンパクトにしようと試みましたが、現状はこんな感じ。これにさらに電源用USB、マウス、キーボード、その他のUSBなどがつながるとケーブル類はごちゃごちゃになってしまいます。できるだけBluetoothなどでつないだほうがすっきりするし、その他のデバイスもUSB接続できます。
AliExpress.com Product - 180/360 Degree Rotating Adapter HDMI Male to Female HDMI Cable Adaptor Connector extender for 1080P HDTV250円(送料無料)
モニターとは、この360度どちらにも折り曲げ可能で、しかも首振りも180度回転可能なHDMIアダプタでなんとかつないでいます。

AliExpress.com Product - LVSUN 5V 3A 9V 12V Universal Qucik Charger 2.0 Portable Travel AC Adapter USB Wall Charger EU UK US Plug for Mobile Phone Tablet1212円(送料込み)
Raspberry Pi3用の電源は2.5A以上が推奨となっているため、以前こんな感じの5V3A出力のUSB電源を購入しました(当時850円くらい)。

実際Raspberry Piに電源を入れてどのくらいの電流が流れているか調べてみると、
何もしていないと1A前後で、ブラウザを使用すると1.2A前後になります。
たぶん、特別なことをしないかぎり2.5Aにはならないと思うので、2.1Aのモバイルバッテリーを試してみると大丈夫でした。以下。


モバイルバッテリーはAliExpressだとなぜか高いので以前Amazonで購入したもの。10000mAhで1.0Aと2.1A出力のもの(現在のタイプは2.4Aに改良されたみたいです)。Raspberry Pi3は消費電力が高いので、持ち運びのバッテリーを用意するのが難しいのですが、この2.4A(2.1Aでもぎりぎり大丈夫)であれば、わざわざAC100Vにつながなくてもよさそうです。

2.1Aでも大丈夫ということなら、以下のAliExpressで売っている安いUSB電源(115円)ではどうか?
こんな感じの小型なタイプなのに、1.0Aと2.1A、合計で3.1A使えるらしい。以下。

AliExpress.com Product - HOT SALE 5V 1.0A 2.1AHome Travel Dual Port AC USB Wall Charger US Plug for iPhones for smart phones ideal for travel115円(送料無料)。
安いので買ってみましたが、Raspberry Pi3で試してみると、

起動中に5V以下になってしまい無理っぽい。これはAliExpressにありがちなスペック詐欺の商品かもしれません。この手の小型タイプは、せいぜい1Aが限度なはず。内部の保護回路など外して無理やり2.1Aとか言っているのかも。まあ、115円だから仕方ないという感じ(というか、そもそもESP8266用にAC100VからDC5Vをとるための降圧回路が欲しかったので分解用に買ったものです)。

ちなみに、このUSBテスターは3.3〜33V、0〜5A。165Wまで計測できるようです。

AliExpress.com Product - USB tester DC Voltmeter ammeter current voltage meters capacity monitor qc2.0/qc3.0 quick charger Battery Power Bank detector442円(送料無料)

USBプラグ/ソケットがついているワニ口クリップをつなげると、以下のような使い方もできるようです。
AliExpress.com Product - USB Crocodile wire Alligator clips Male/female to USB tester Detector voltage meter ammeter capacity power meter monitor, etc 167円(送料込み)

という感じで、あいかわらずAliExpressでつい買ってしまいます。

Raspberry Piに話はもどりますが、PIXELにしてから、Chromiumが使えるのとすでにNode-REDが入っているので便利そうです。


IoTにはよく出てくるNode-Redですが、これをRaspberry Piで立ち上げておけばいろいろできそうです。また覚えなければいけないことが増えますが、音声認識による部屋の電源のON/OFF制御に使えそうです。
ノードと線をつないで、フローチャートのようなシステムを組んでいくタイプで、一見簡単そうに組めそうですが、ある程度全体像が見えて、それぞれのノードの役割も理解していないと難しそうです。
これとは別に一旦システムを組んだものを、Node-REDに置き換えるというのなら、やりやすいのかもしれません。

それから、Raspberry Pi Zero Wですが、日本仕様はもう少しで発売といいながらなかなか発売しない。発売開始しても、おそらくすぐに完売で、しばらくは入手困難になるはず。
ESP32でもいいのですが、同じような値段であればRaspberry Pi Zero Wのほうが様々なインターフェースを持ち合わせているので便利なはず。
ESP32のほうもたまにやってみてはいるのですが、いまだにSPIFFSを使っての外部ファイル読み込みが難しい。どうやらESP8266とは仕組みが違うようで、かなり面倒な感じ。SDカードを使うサンプルはあるので、外部ファイル読み込みなら今のところそれを使うという感じでしょうか。
ESP32に、Micro PythonやJavaScriptで動かすEspduinoやDuktapeをのせてしまったほうがいいのかもしれないけれども、まだ保留中。おそらくNode.jsを使うことになるので、JavaScriptで統一してしまったほうがよさそう。
しかし、Raspberry Pi Zero Wが発売になってしまうと、少し事態は変わって、ちょっとしたものはESP8266でやって、メモリが必要そうなものは、ESP32を使うというよりも、Raspberry Pi Zero Wでやるという感じになるのかもしれません。そうなるとArduino Unoレベルのマイコンは出番がないかもしれません。

人気の投稿