ブレッドボードが小さいので、大きいほうに入れ替えます。今日は、USB-Serial変換器の電源周りとシリアル機能を確認します。
まずは、
●USB-Serial変換器のドライバーの話
https://synapse.kyoto/tips/FTDI_driver/page001.html
USB-Serial変換器ですが、Win7にドライバーが必要なのでインストール。
COM6にて認識してます。
まずは電源周りを確認します。USBバスから出てくる5Vです。
LED直結ですが、最近は抵抗入りという便利なものがあります。これも抵抗入りです。
3端子レギュレーターで5Vを3.3Vにした出力の確認。
こちらも、問題ありません。
シリアルは、TxとRxを接続します。
写真手前側の黄色いラインでTxとRxを接続してます。
あとは、TeraTermでキーボード入力した文字が表示されれば機能確認はOKです。
ちゃんと入力した文字が表示されます。
ここまでで事前準備はOKです。電源周りの5Vと3.3Vの確認。シリアル機能の確認が出来ています。
ハード系は地道に確認していかないと不具合が発生してからどこが悪いというのを後から調べるのは大変です。部品外したり、線を切ったりとしないといけなくなるので、出来たところ毎に確認して進めたほうが手戻りは少ないです。
小型PCのRasspberyPiや各種マイコン(ESP32,STM32)をベースに、Ambientクラウドを連携させたり、モーターやセンサーを連動させたりします。環境構築や出来ましたをまとめたblogです。
2年目のラズパイ...6日目(ESP-WROOM-2)
USBケーブルを間違えて購入し、先週は進みませんでしたが、よくよく確認してmini-bケーブルを入手しました。
まずは先人の知恵をよく調べます。
https://tpedia.tech.gr.jp/20160111434/
https://qiita.com/hnw/items/3869f435405054511fda
要点をまとめると
まずは、電源ラインから、
USB給電の5Vを取り出し、レギュレータに入れて、3.3VにしてESPに給電します。
レギュレータはJRC製のNJU7223F33を使用します。ピンは、向かって左から1.Vout,2.Vin,3.GNDです。
ノイズ対策のためVinには積層セラミックコンデンサ10μF、出力電圧安定化のためVoutには電解コンデンサ470μFを接続します。
まずはこんな感じで
GNDの配線をしていきます。
データシートと現物見ながらやってると疲れます。やっぱり配線図作成してから一気に配線したほうが楽だし間違わない感じですね。
家にいるといろいろと割込みが入り、今日はここまでです。
まずは先人の知恵をよく調べます。
https://tpedia.tech.gr.jp/20160111434/
https://qiita.com/hnw/items/3869f435405054511fda
要点をまとめると
- ESP-WROOM-2は3.3V駆動、結構電力が必要。RL232の3.3V端子では電流が足りない
- USB給電の5Vを3端子レギュレータを使って3.3VにしてESPへ給電する
- ESP-WROOM-02には、書き込みモード、実行モード、SDブートモードがある
まずは、電源ラインから、
USB給電の5Vを取り出し、レギュレータに入れて、3.3VにしてESPに給電します。
レギュレータはJRC製のNJU7223F33を使用します。ピンは、向かって左から1.Vout,2.Vin,3.GNDです。
ノイズ対策のためVinには積層セラミックコンデンサ10μF、出力電圧安定化のためVoutには電解コンデンサ470μFを接続します。
まずはこんな感じで
GNDの配線をしていきます。
データシートと現物見ながらやってると疲れます。やっぱり配線図作成してから一気に配線したほうが楽だし間違わない感じですね。
家にいるといろいろと割込みが入り、今日はここまでです。
2年目のラズパイ...5日目(ESP-WROOM-2)
ラズパイからちょっと離れて、Wi-FiモジュールESP-WROOM-2としばらくは、戯れたいと思います。
それぞれのデータシートはこちら(ESP-WROOM-02、FT232RL)
まずは、足とジャンパーにピンヘッダーを半田付けします。
Wi-Fiモジュールはこちら。銀色のデバイス左側がWi-Fiのアンテナです。
USB-シリアル変換はこちら。USBは、ミニBでした。買ったケーブルはマイクロB(涙)。確認したつもりでしたが。
ブレッドボードに刺した全体はこちら。
10円と比較してますが、それぞれ非常に小さなデバイスです。
それぞれのデータシートはこちら(ESP-WROOM-02、FT232RL)
まずは、足とジャンパーにピンヘッダーを半田付けします。
Wi-Fiモジュールはこちら。銀色のデバイス左側がWi-Fiのアンテナです。
USB-シリアル変換はこちら。USBは、ミニBでした。買ったケーブルはマイクロB(涙)。確認したつもりでしたが。
ブレッドボードに刺した全体はこちら。
10円と比較してますが、それぞれ非常に小さなデバイスです。
2年ぶりのラズパイ...4日目
ラズパイ+センサー+クラウドは、前回までで終了しました。
1週間ほど経ちましたが、問題なく稼働中です。グラフは横軸1メモリ/日です。夕方気温のピークがきて朝方に向かって下がってます。この一週間は日に日に気温のピークが上がってましたが、昨日夕方から急に気温も湿度も下がり過ごし易い環境です。
ラズパイは商用運用中なので突発停電対策はしておかないと、また痛い目にあいます。
モバイルバッテリーで充電と放電を無瞬断でやってくれる優れものがあるそうなので、ただいま探索中です。
先週は、 秋月にいっていろいろ買いこんできました。
2年前から寝かしていたESP-WROOM-2、Wi-Fiモジュールです。マイコンとWi-Fiモジュール、アンテナが付いて650円です。技適も取っているので、電波法違反にもなりません。
ラズパイからちょっと離れて、今日からこれにセンサーをつけて、クラウドと連携させたいと思います。
ハード的には、USB-シリアル変換経由でこいつにアクセスします。ソフトウェアはデフォルトでATコマンドに反応するマイコンが入っています。この部分にmicropythonを送り込むとライトなpythonが動くようなので、そこまで行きたいと思います。
1週間ほど経ちましたが、問題なく稼働中です。グラフは横軸1メモリ/日です。夕方気温のピークがきて朝方に向かって下がってます。この一週間は日に日に気温のピークが上がってましたが、昨日夕方から急に気温も湿度も下がり過ごし易い環境です。
ラズパイは商用運用中なので突発停電対策はしておかないと、また痛い目にあいます。
モバイルバッテリーで充電と放電を無瞬断でやってくれる優れものがあるそうなので、ただいま探索中です。
先週は、 秋月にいっていろいろ買いこんできました。
2年前から寝かしていたESP-WROOM-2、Wi-Fiモジュールです。マイコンとWi-Fiモジュール、アンテナが付いて650円です。技適も取っているので、電波法違反にもなりません。
ラズパイからちょっと離れて、今日からこれにセンサーをつけて、クラウドと連携させたいと思います。
ハード的には、USB-シリアル変換経由でこいつにアクセスします。ソフトウェアはデフォルトでATコマンドに反応するマイコンが入っています。この部分にmicropythonを送り込むとライトなpythonが動くようなので、そこまで行きたいと思います。
2年ぶりのラズパイ...3日目
GW中に終らせようと思っていましたが、そうはいかず。
週末を中心に更新します。
今日は、AmbientというIoT専用のクラウドサーバーに、ラズパイからセンサーデーターをアップすることについて頑張ります。
以下がambientのトップページ。無料で使えます。
https://ambidata.io
クラウドとのやり取りをするpython libをインストール
https://github.com/AmbientDataInc/ambient-python-lib
まずは、ambientのアカウントを作成します。
メールにWebでの認証リンクが送付されクリックするとアカウント作成完了です。
次は、チャンネルの作成。IoT機器との入出力口になるらしい。4桁のIDです。
同時に、送信用と受信用の鍵が作成されます。
先ほどのチャンネルIDと送信用鍵の組み合わせで、ポートの認証を行っているようだ。
画面はこんな感じ。
Google共通言語のpythonも勉強しつつ、サンプルコードを修正してデーターをクラウドに送信することが出来ました。
これまでperlは結構戯れていたので、pythonはお作法がわかれば取り組み易いです。
コード表現の自由度を排除して、誰が書いても同じ動作をするということが狙いだそうで。文末に「;」を打たないとか、インデントは4文字等々慣れるととっつきやすいです。
ラズパイに接続しているBME230センサーから、温度、湿度、気圧を読み出して、Ambientに送信します。cronで1分毎にデータを送信。
クラウド側で送信データーにタイムスタンプを打って、保存してくれます。
データーは、1度に8個まで送れます。
グラフの作成は、WWW上でパラメーター等を設定すれば勝手に表示されます。データがアップデートされるとグラフも自動更新。
ということで、センサーデータをラズパイで読み取り、クラウドに送信するまでは出来るようになりました。
ラズパイのバックアップを取って、しばらくはデータの送信を続けてみます。
今後はラズパイzeroとか違うセンサーの接続、アップしたデーターを読み取って加工するなどを 考えてみます。
週末を中心に更新します。
今日は、AmbientというIoT専用のクラウドサーバーに、ラズパイからセンサーデーターをアップすることについて頑張ります。
以下がambientのトップページ。無料で使えます。
https://ambidata.io
クラウドとのやり取りをするpython libをインストール
https://github.com/AmbientDataInc/ambient-python-lib
まずは、ambientのアカウントを作成します。
メールにWebでの認証リンクが送付されクリックするとアカウント作成完了です。
次は、チャンネルの作成。IoT機器との入出力口になるらしい。4桁のIDです。
同時に、送信用と受信用の鍵が作成されます。
先ほどのチャンネルIDと送信用鍵の組み合わせで、ポートの認証を行っているようだ。
画面はこんな感じ。
Google共通言語のpythonも勉強しつつ、サンプルコードを修正してデーターをクラウドに送信することが出来ました。
これまでperlは結構戯れていたので、pythonはお作法がわかれば取り組み易いです。
コード表現の自由度を排除して、誰が書いても同じ動作をするということが狙いだそうで。文末に「;」を打たないとか、インデントは4文字等々慣れるととっつきやすいです。
ラズパイに接続しているBME230センサーから、温度、湿度、気圧を読み出して、Ambientに送信します。cronで1分毎にデータを送信。
クラウド側で送信データーにタイムスタンプを打って、保存してくれます。
データーは、1度に8個まで送れます。
グラフの作成は、WWW上でパラメーター等を設定すれば勝手に表示されます。データがアップデートされるとグラフも自動更新。
ということで、センサーデータをラズパイで読み取り、クラウドに送信するまでは出来るようになりました。
ラズパイのバックアップを取って、しばらくはデータの送信を続けてみます。
今後はラズパイzeroとか違うセンサーの接続、アップしたデーターを読み取って加工するなどを 考えてみます。
2年ぶりのラズパイ...2日目
クラウドはAWS1年間無料なので、がんばってみようかと思いましたが、AmbientというIoT専用のクラウドを個人で運用されている人が居ます。
簡単そうなので、そちらで試してみます。
久しぶりなので写真も。
●ラズパイ本体(確か2+です)
●BME230センサー(小さい、緑色の基盤の真ん中銀色の部分がセンサーです)
●データーシート(pdfファイルへのリンク)
●ラズパイとセンサーの接続状況(ラズパイ側1本pin間違っている状態)
その前に今回はラズパイに温度湿度センサー接続し、読み取れるように設定です。
★ラズパイGPIO番号と端子位置
https://tool-lab.com/make/raspberrypi-startup-22/
★ラズパイでSPI通信の準備
http://elelab-net.com/hobbytec/?p=533
★ラズパイI2CでBME280と接続
http://karaage.hatenadiary.jp/entry/2016/05/11/073000
★BME230をPythonで読み出す
https://qiita.com/masato/items/027e5c824ae75ab417c1
https://www.erde.co.jp/blog/?p=2927
http://marm.cocolog-nifty.com/jokanaan/2016/12/ae-bme28012-ed4.html
http://karaage.hatenadiary.jp/entry/2017/05/25/073000
-----------
こんな感じでI2C経由でBME280を認識できました。なかなか認識できなかったのですが、本体側のGPIOピンの接続が1本ずれてました。
【反省】「適切に接続したつもり」という思い込みは駄目。ピンヘッダー真上から見ると一目瞭然。ハードウェアは何度も目線を変えて目視確認が重要。
pi@raspberrypi:~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
pi@raspberrypi:~ $
スイッチサイセンスさんがpythonスクリプトを公開しています。
簡単そうなので、そちらで試してみます。
久しぶりなので写真も。
●ラズパイ本体(確か2+です)
●BME230センサー(小さい、緑色の基盤の真ん中銀色の部分がセンサーです)
●データーシート(pdfファイルへのリンク)
●ラズパイとセンサーの接続状況(ラズパイ側1本pin間違っている状態)
その前に今回はラズパイに温度湿度センサー接続し、読み取れるように設定です。
★ラズパイGPIO番号と端子位置
https://tool-lab.com/make/raspberrypi-startup-22/
★ラズパイでSPI通信の準備
http://elelab-net.com/hobbytec/?p=533
★ラズパイI2CでBME280と接続
http://karaage.hatenadiary.jp/entry/2016/05/11/073000
★BME230をPythonで読み出す
https://qiita.com/masato/items/027e5c824ae75ab417c1
https://www.erde.co.jp/blog/?p=2927
http://marm.cocolog-nifty.com/jokanaan/2016/12/ae-bme28012-ed4.html
http://karaage.hatenadiary.jp/entry/2017/05/25/073000
-----------
こんな感じでI2C経由でBME280を認識できました。なかなか認識できなかったのですが、本体側のGPIOピンの接続が1本ずれてました。
【反省】「適切に接続したつもり」という思い込みは駄目。ピンヘッダー真上から見ると一目瞭然。ハードウェアは何度も目線を変えて目視確認が重要。
pi@raspberrypi:~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
pi@raspberrypi:~ $
スイッチサイセンスさんがpythonスクリプトを公開しています。
$ git clone https://github.com/SWITCHSCIENCE/BME280.git
$ cd BME280/Python27/
$ python bme280_sample.py
これではsmbus2というモジュールが無いと言うことでインストール。
★smbus2のインストール
$wget https://github.com/kplindegaard/smbus2/archive/master.zip
$unzip master.zip.1
$cd smbus2-master
$sudo pip install smbus2 これでエラーはなくなりました。
$pi@raspberrypi:~/BME280/Python27 $ python bme280_sample.py $temp : 23.94 ℃ $pressure : 1006.75 hPa $hum : 46.24 % $pi@raspberrypi:~/BME280/Python27 $
ちゃんと温度に湿度、気圧の値をセンサーから取得することが出来ました。
その後、1分毎に計測してファイルに書き出し、昔ながらの(今は使わないらしい)
gnuplotでグラフにしてみました。
センサーはちゃんと動いて、ラズパイで読みと取れているようです。
2年ぶりのラズパイ...1日目
2年ほどお休みだったラズパイを起こすために、OSを入れ直しです。
NOOBSのバージョンも2.8.1に上がってます。ファイルの大きさは1.7GB。でかい。
ダウンロードに20分ほどかかりました。
当時は、バージョン1.4だったような。
この間、ラズパイ3,3+,zero等ハードもいろいろと出たので、それに対応していったのでしょう。
小さいzeroは、ちょっと気になります。
SDカードへの書き込みや初期設定等はこちらを参考にしました。
http://deviceplus.jp/hobby/raspberrypi_entry_003/
https://qiita.com/kanaisawa/items/4723f72a28084263ae1f
https://qiita.com/HeRo/items/c1c30d7267faeb304538
★パッケージの更新とOSの更新
NOOBSのバージョンも2.8.1に上がってます。ファイルの大きさは1.7GB。でかい。
ダウンロードに20分ほどかかりました。
当時は、バージョン1.4だったような。
この間、ラズパイ3,3+,zero等ハードもいろいろと出たので、それに対応していったのでしょう。
小さいzeroは、ちょっと気になります。
SDカードへの書き込みや初期設定等はこちらを参考にしました。
http://deviceplus.jp/hobby/raspberrypi_entry_003/
https://qiita.com/kanaisawa/items/4723f72a28084263ae1f
https://qiita.com/HeRo/items/c1c30d7267faeb304538
★パッケージの更新とOSの更新
$ sudo apt-get update # パッケージリストの更新
$ sudo apt-get upgrade # パッケージの更新 $ sudo apt-get dist-upgrade # OSのアップグレード
★ファームの更新
$ sudo apt-get install rpi-update # インストール
$ sudo rpi-update # 更新実行
$ sudo reboot # 反映のための再起動
★日本語フォントとターミナル
$sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
$sudo apt-get install uim uim-anthy
$sudo apt-get install jfbterm
まずはこの辺までで。
前回の反省を生かしてSDカードはこの時点でバックアップしておきます。
8GBのイメージファイルwindows側にできます。 日付とバージョンをファイル名につけておけば、
どの時点でのバックアップかはある程度推測できるでしょう。
http://www.moonmile.net/blog/archives/6878
登録:
投稿 (Atom)
ラズパイ日記...esp32(arduino)+mpu6050
# esp32で6軸センサー読み出し esp32で6軸センサーを読み出し、値をグラフ表示して動作を確認します。 ## 準備 ハード的な接続は、センサーが3.3V駆動できるので、3.3VとGNDの2線で電源供給します。I2C用にSDAとSCLのデータ線が必要ですが、esp...
-
一通りの配線確認を行い、それなりにセンサーの値を読み取り、モーターも正転、逆転できるところまではきました。 本体を組み立てていきます。 まずは、ギヤボックス。ネジ位置が板とあわないので、カッターでちょっと切り欠きます。後ろにプラスチックの板でユニバーサルプレートをネジ...
-
師匠に触発されて、9軸センサー購入しました。 動き系のセンサーは、どんなものか調べてみるのと、動力系と合わせて倒立振子をつくってみようと思ってます。 どんなものかは、Youtubeに沢山出てます。 センサー情報を元にモーターを制御するのはいろいろと難しい感じですが、結構...
-
# ADS-B信号を受信する 師匠からのお誘いで、航空機が発射している電波を受信して、その位置を特定する実験をしているとのことでお手伝いです。 航空機の発射する電波を複数地点で観測する必要があるので、収集キットを作成し関係者に配布しているそうです。 細部は、「ADS-Bを受信...



















