fc2ブログ

Raspberry Pi Zeroのケースを装着する

 購入してしばらく放置状態だったPi Zeroくんにケースを付けることにしました。基板状態のままだとホコリだらけになり、コネクタの脱着を繰り返しているといつか潰れてしまいそうだったからです。
 Pi Zeroは国内であまり流通していないので、ケースも限られたものしか販売されていませんね。また、本体はないけれど、ケースに周辺機器(ケーブルやコネクタなど)を付けて価格を釣り上げている商品を多く見ます。嫌な商売ですね。
 Pi Zeroは本体が安いので、ケースを高くしても仕方がないと思いましたので、極力安価なケースを探しました。結局、Amazonから以下のアクリル板2枚で挟み込むケース(箱ではないですが・・)を購入しました。 商品は封書で届き、裏面には商店名ではなく、商店代表者の個人名が記載されていたので、一瞬誰から何が送られてきたのだろうと、封を開けるのを躊躇いました(余談)。

 購入したのは、ブルーのタイプでアクリルの厚みは3mm、ボルト、ナット、スペーサ付きでした。事前に40ピンヘッダのはんだ付けを済ませました。(Pi Zeroは40ピンヘッダはもともとついていない。要別購入。)RPi_case0_161030.png 底板に本体基板を乗せ、スペーサを間に挟んで天板をねじ止めしました。こんな感じになりました。RPi_case1_161030.pngRPi_case2_161030.png 思った以上にがっちりと固定されました。ケーブルやコネクタの抜き差しも以前よりは安心して行えるようになりました。これから思いっきり使っていこうと思います。
スポンサーサイト



ESP8266をArduino IDEで操作する(1)

 今回は、Wi-Fiモジュール(ESP-WROOM-02:ESP8266)をアクセスポイント(AP)にして、Web接続でデータを確認する試みです。将来的には、PICとESP8266間をシリアル通信して、PICに接続したセンサのデータをESP8266(Wi-FiのAP)経由で飛ばして、Webにてデータ確認できるようにしようと考えています。(直接、ESP8266にセンサを付ければ、PICなしで済むことかもしれませんが・・。)
 Wi-Fiモジュール側は、ArduinoのIDEで簡単にシステムが組めるとの記事が多数あり、早速、ArduinoのIDEをこのサイトからダウンロードしました。ArduinoInstall_161030.pngバージョンはArduino 1.6.6 Hourly Buildでした。

 Arduino IDEを使うのは初めてなので、試行錯誤でネット情報を参考にしながら、深く理解せずに(良くないですね・・)、まずは動く形にして、その次に細かい所を理解しようと思いました。コードを書く前に、実施した設定は、ESP8266ボードの情報登録関係です。IDEのメニューの「ファイル - 環境設定」でsetting0_161030.png「ツール - ボード設定(ボードマネージャ)」でsetting1_161030.pngsetting2_161030.pngです。
 ESP8266をAPにするコードはこのサイトを参考にしました。APのIPアドレスを192.168.11.200にし、Webでアクセスすると”Hello! ESP8266!”と表示するコードです。
 コードを書き込みする前に、ESP8266のGPIO0(IO0ピン)をLow(GND)に落とし、「書き込みモード(UART Download Mode)」にしました。無事に書き込みが終わって、ESP8266のGPIO0(IO0ピン)をHigh(3.3V)に戻して、パソコンのブラウザからからAPのアドレスを入力してみましたが、「このページを表示できません」のエラーが発生。pingも通りませんでした。

 パソコンのネットワークの設定を確認すると、「ESP_08B04C」という、いかにもの名前の端末が確認されました。setting3_161030.png中身を見ると接続されていなかったので、早速接続してみました。setting4_161030.png
接続後、pingを通すと無事に通りました。この状態で、APのアドレスを打ち込むと、無事に”Hello! ESP8266!”がブラウザに表示できました。Result_161030.png
深く理解しないまま、ここまで来てしまったので、もう一度復習しようと思います。

ESP8266のファームウェアを更新する

 Wi-Fiモジュール(ESP-WROOM-02:ESP8266)とPICの通信を行うために、今まで段階を踏んでトライしていますが、PIC側のプログラムがうまく動かず難儀しているところです。また、Wi-Fiモジュール側も十分理解していないまま進めていたので、ダブルで難儀しています。
 Wi-Fiモジュール側は、ArduinoのIDEで簡単にシステムが組めるとのネット記事を多く見かけましたので、そのIDEをセットアップして仕切り直しです・・。ESP8266はWi-Fiに限らずいろいろな機能がありますので、横道にそれて、その味見をするのもいいかも。正直な所、PICとESP8266でやろうと考えていることも、ESP8266単体でできそうです。

 Arduino IDEでWi-Fiの通信のコードを書いてテストを行っている中で、ATコマンドを受け付けないことに気付きました。そう言えば、個人のシステムを書き込んでしまったら、元のファームウェアが消えてしまう記事を読んだことがありました・・。

 もしものために、システムを元に戻す方法を調べておかなくては・・・。
ネット検索すると、元のファームウェアに戻すためには、SDKとDownload Tool(書き込みツール)が必要であることが分かりました。

早速、SDKDownload Toolをダウンロードしました。今日(2016/10/29)現在の最新版は、SDKはV2.0.0、Download ToolはV3.4.2でした。DL_SDK_161029.pngDL_DowloadTool_161029.png 書き込み作業を行う前に、ESP8266のGPIO0(IO0ピン)をLow(GND)に落とし、「書き込みモード(UART Download Mode)」にします。ESP-WROOM-02_curcuit_161029.png
Download Toolを実行すると、次のウィンドウが表示されましたので、「ESP8266 DownloadTool」ボタンを押します。DownloadToolStart_161029.png Toolが立ち上がりましたので書き込むデータ(データファイルとアドレス)を設定します。settingNG_161029.png 設定内容は、解凍したSDKのフォルダ内のbin\at¥README.mdに記載されています。setting_161029.png 初めは、「Flash size 32Mbit-C1: 1024KB+1024KB」の設定で書き込みました。FLASH SIZEと通信設定(COMポートとボーレート)を行い、STARTボタンを押すと書き込み開始です。無事に書き込みが終わって、ESP8266のGPIO0(IO0ピン)をHigh(3.3V)に戻して、TeraTermにてATコマンドを送ったのですが、全く反応しません。何度もやったのですが、動きません。
 潰れてしまったのかなと思いつつ、「Flash size 32Mbit: 512KB+512KB」を試してみました。settiingOK_161029.png 今度は問題なく動きます。「Flash size 32Mbit-C1: 1024KB+1024KB」設定が動かなかった理由は、現時点で分かっていませんが、取り急ぎ、ATコマンドを受け付ける状態には戻せました。Result_161029.png
更新前のシステムは、
 AT version:0.40.0.0(Aug 8 2015 14:45:58)
 SDK version:1.3.0
 compile time:Aug 11 2015 17:02:18
でしたので、無事に更新ができました。この手順でシステムをもとの状態に戻せそうです。

Raspberry Pi Zeroをセットアップする(2)

 前回で、無事にX Windowが立ち上がる所まで準備できましたので、今回はWiFiの設定を行います。その前に、言語・ロケール、タイムゾーン、WiFiの国設定を変更しました。
 ターミナルからsudo raspi-configを打ち込んで、Raspberry Pi Software Configuration Toolを立ち上げます。Optionsetup1_161016.png まず、言語・ロケールは、5.Internationalisation Options、I1. Change Localeを選択し、以下の通り設定しました。Optionsetup2_161016.png Optionsetup3_161016.pngOptionsetup4_161016.png タイムゾーンは、同様にI2. Change Timezoneを選択し、以下の通り設定しました。Optionsetup5_161016.png
Optionsetup6_161016.pngOptionsetup7_161016.png 最後に、昔のバージョンには設定のなかった、I4. Change WiFi-Countryを選択し、JP(日本)を選択しました。Optionsetup8_161016.png
Optionsetup9_161016.png
 WiFi環境の設定は、このサイトを参考にしました。WiFiアダプタはPLANEX GW-USNano2を使いました。。 USBポートに挿して、lsusbコマンドで確認すると、正しく認識されていました。USB認識OK 結局、wpa_supplicant.confファイルに接続したいWiFiの親機の情報を記入するだけで簡単に接続できました。以前、WiFi接続に苦労した経験がありましたが、あっけなく終わりました。wpa_supplicant.confファイルはもともと以下の通りでしたが、
WiFi設定前161016 これに、ssidとpsk(Pre-Shared Key:パスワード)の情報を追記しました。WiFi設定後161016 再起動後、ブラウザを立ち上げてネット接続を確認すると無事に接続できました。ネット環境構築161016
 ネットがつながったので、今後はノートパソコンからの遠隔コントロールができます。それにしても、このサイズでLinux PCなんですね。驚きです。

Raspberry Pi Zeroをセットアップする(1)

 先月(九月)末に購入したRaspberry Pi Zeroにようやく触ることができました。10月に入ってからの1週間、出張で家を出ていたからです。

 32GBのSDカードを秋葉原メモリ問屋より購入(970円送料込み)して、いざセットアップです。SDカード準備161016 
 セットアップは、通常のRaspberry Piと同じ流れで行いました。詳細は、以前のブログに詳しく書いています。まずは、起動用SDカードの準備(上記ブログ1.1.参照)です。NOOBS(New Out Of Box Software)をこのサイトからダウンロードしました。Raspberry Pi Zeroは昔の古いバージョンのRaspbianでは対応していないとのネット記事を見かけましたので、最新版を準備しました。

最新版は以下の通り。
NOOBS Version : 2.0.0
Release date : 2016-10-05

 1GB以上のファイルでダウンロードに時間がかかるうえ、よくダウンロードに失敗することがあるので要注意です。前回もそうでしたが、今回もまたダウンロードに1度失敗してしまいました・・。次に、SDカードをフォーマットし(ブログ1.2.)、NOOBSをSDカードへ書き込みました(ブログ1.3.)。

 起動ディスクが準備できましたので、インストール開始です。その前に、配線ですが、ここで、電源をどこにつなぐのだろうと調べていたら、きちんと基板上に記載がありました。PWR INの方にACアダプタで変換したDC5Vを投入しました。
接続161016最終配線は写真の通りです。setup全体図161016 電源を入れると、インストール画面が表示されました。セットアップ起動画面 以後の操作も以前書いたブログの通りに進めました。
 インストール後、無事にX Windowが立ち上がりました。昔に比べるとかっこいい壁紙になっていました。desktop161016.png この続きは、次回にて。

PICでWiFiを使う(3)

 しばらく間が空きましたが、その後の続きです。WiFiモジュール(ESP-WROOM-02)とPCの通信を行う前に、まずはPICとPCとの通信も事前に確認しておかなくてはならないと考えました。使用したPICは、PIC16F628Aですが、USARTを使った通信が可能です。
 PICのUSART(Universal Synchronous Asynchronous Receiver Transmitter)については、PICのマニュアルやネット上にたくさんの情報があるので、今回は素通りしますが、7番ピン(RB1/RX/DT)と8番ピン(RB2/TX/CK)を用いて通信を行います。回路図は次の通りです。LCD_UART配線図161001 PICは5V系で、USART(PCのRS-232Cとの変換部)を行うMAX3232ECPEは3.3V系なので、全体的には、5V DCで電源供給し、三端子レギュレータTA48033Sで変換して3.3Vを供給するようにしました。
 PICには、定番のLCDキャラクタディスプレイモジュールSC1602BSLBを設置し、PCからの通信結果を表示させるようにしました。また、PICからPCへの通信は9番ピン(RB3/CCP1)につないだタクトスイッチを押した際に、「PICtoPC」の文字を転送するようにプログラミングしました。
 TeraTermで、まずは、PCからPICへの通信確認です。内部クロック(4MHz)を使っている関係で、9600bpsでつないでいます。PCからPICへ、「PCtoPIC」の文字列を送信すると、PCtoPIC送信161001Ans_PCtoPIC161001.png 無事にLCDに表示されました。文字列を「<Hello>」に変更しても、問題なしです。Hello送信161001Ans_Hello161001.png
 次に、PICからPCへの通信確認ですが、タクトスイッチを押すたびに、TeraTerm上にPICから送信された文字列が表示されました。PICtoPC結果161001 双方向とも通信問題なしです。準備も着々と進んでいるので、次回はようやくWiFiモジュール(ESP-WROOM-02)の通信部分を触ってみようと思います。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

Author: Dr.BobT
興味のおもむくままに生涯考え続けるエンジニアでありたい。

月別アーカイブ

メールフォーム

名前:
メール:
件名:
本文: