tag:blogger.com,1999:blog-6558574304592725596.post1061447416612378378..comments2022-02-08T13:43:07.521+09:00Comments on Raspberry Piで学ぶ電子工作 補足情報: Raspberry Piで学ぶ電子工作 補足情報トップTakashi Kanamaruhttp://www.blogger.com/profile/11364738618850170255noreply@blogger.comBlogger106125tag:blogger.com,1999:blog-6558574304592725596.post-65491611661907431592021-08-08T18:46:31.051+09:002021-08-08T18:46:31.051+09:00niuniupepeさんの状況をもう少し詳しくお知らせください。
まず、用いているOSは、Rasp...niuniupepeさんの状況をもう少し詳しくお知らせください。<br /><br />まず、用いているOSは、Raspberry Pi OS (32bit) の最新版でしょうか?<br /><br />また、「webiopのConfigを変更したあとに」とありますが、<br />その前の内容、例えば<br />「9.2.4 WebIOPiのデモアプリケーションの実行」<br />は問題なくできたのでしょうか?<br /><br />つまり、<br />「WebIOPiのデモアプリケーションは問題なく動いたが、<br />configを書き替えた後に問題が起こった」のか、<br />あるいは<br />「WebIOPiのデモアプリケーションの時点で問題が起こった」<br />のかどうかを知りたい、ということです。<br /><br />また、「sudo webiopi -d -c /etc/webiopi/config」というコマンドを実行した<br />というのも気になります。なぜなら、上記コマンドは本書、<br />およびそのサポートサイトでは紹介していないコマンドだからです。<br />ネット上で WebIOPi の使用法を書いているサイトがあったとしても、<br />その情報は古くなっているかもしれませんし、本書およびサポートサイトに<br />記した内容と矛盾があるかもしれませんのでご注ください。<br /><br />さて、本書「Raspberry Pi で学ぶ電子工作」には、<br />「白黒版 ( https://raspibb.blogspot.com )」<br />「カラー版 ( https://raspibb1.blogspot.com )」<br />「カラーラズパイ4対応版 ( https://raspibb1a.blogspot.com )」<br />の3バージョンあり、サポートサイトはそれぞれ異なります。<br />niuniupepeさんが質問を書いてくださったこのページは<br />白黒版のサポートサイトですのでご注意ください。<br /><br />どのバージョンのサポートサイトでも、WebIOPiの正しいインストールと<br />実行方法は記されておりますが、以下では、最新の<br />「カラーラズパイ4対応版 ( https://raspibb1a.blogspot.com )」<br />のサポートサイトの内容をベースに記していきます。<br /><br />さて、WebIOPiを正しく動作させるには、以下の3つが正確に実行されている必要があります。<br /><br />(1) サポートサイトに基づき、最新の方法でWebIOPiをインストールしていること<br />(2) configを変更する場合、記述した myscript 行が正しいこと<br />(3) Pythonファイル script.py が myscript 行に指定した位置に存在すること<br /><br />これらの条件を満たす方法を以下に記します。<br /><br />まず、<br />「(1) サポートサイトに基づき、最新の方法でWebIOPiをインストールしていること」<br />について。<br /><br />これは、下記ページをもとにWebIOPiのインストールすれば実現できます。<br /><br />書籍で用いたコマンドおよび補足情報<br />(p.228, WebIOPi のインストールコマンド)<br />https://raspibb1a.blogspot.com/2020/04/blog-post.html<br /><br />該当箇所に「(1)~(6)の6コマンド」および「(1)~(2)の2コマンド」<br />がありますので、これらをコピー&貼り付けなどにより<br />ターミナルで確実に実行する必要があります。<br /><br />「もう一度やり直したい場合」の「(1)~(2)の2コマンド」は<br />必要な時のみ実行してください。<br /><br />次に<br />「(2) configを変更する場合、記述したmyscript行が正しいこと」<br />について。<br /><br />本書では、myscript行として<br /><br />myscript = /usr/share/webiopi/htdocs/bb/01/script.py<br /><br />を記すことになっております。<br /><br />この内容を一文字でも間違うと実行できませんので、<br />コピー&貼り付けにより、myscriptの行を正確に書き換えるのが確実です。<br /><br />最後に、「(3) Pythonファイル script.py が myscript 行に指定した位置に存在すること」について。<br /><br />上記のmyscript行を書き込んだ状態で<br />WebIOPiが正常に起動するためには、<br /><br />「script.py」というPythonファイルが、<br />「/usr/share/webiopi/htdocs/bb/01/」という位置に存在すること<br />が満たされる必要があります。<br /><br />それを実現するのは、上記補足ページ<br />(p.241, サンプルファイルを WebIOPi のフォルダにコピーするコマンド)<br />にコピーできる形で記した<br /><br />sudo chown -R pi /usr/share/webiopi/htdocs<br />cp -r 09-samples/bb /usr/share/webiopi/htdocs<br /><br />の2コマンドです。こちらはターミナル上で実行するものであり、<br />コピー&貼り付けで確実に実行するのが安全です。<br /><br />以上でいかがでしょうか。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-58651966887942481042021-08-08T15:18:57.987+09:002021-08-08T15:18:57.987+09:00ラスパイ4で、第9章のwebiopのConfigを変更したあとに、webiopi動作できず、sudo...ラスパイ4で、第9章のwebiopのConfigを変更したあとに、webiopi動作できず、sudo webiopi -d -c /etc/webiopi/configで調べてみたら、AttributeError: module 'webiopi' has no attribute 'GPIO'となっています。どうしたらよろしいでしょうか?<br />niuniupepehttps://www.blogger.com/profile/15950286970852169759noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-74776571021912435972020-08-18T23:10:12.916+09:002020-08-18T23:10:12.916+09:00outの部分は、下記のように大文字でお書きください。
GPIO.setup(25, GPIO.OUT...outの部分は、下記のように大文字でお書きください。<br />GPIO.setup(25, GPIO.OUT)<br /><br />このように、書き間違いがあり得ますので、本書では、<br />サンプルファイルをダウンロードして利用することを推奨しています。<br /><br />もちろん、書き写す方が学習効果は高いのですが、<br />正解が手元にあった方が効率は上がるのではないかと思います。<br /><br />ダウンロード元は、お手持ちの書籍により異なります。<br />お手持ちの書籍に対応したサンプルファイルをダウンロードしないと<br />動作しないことがあり得ますのでご注意ください。<br /><br />旧白黒版(2014/11刊)のサンプルファイル<br />https://bluebacks.kodansha.co.jp/books/9784062578912/appendix/<br /><br />旧カラー版(2016/7刊)のサンプルファイル<br />https://bluebacks.kodansha.co.jp/books/9784062579773/appendix/<br /><br />新カラー版(2020/6)のサンプルファイル<br />https://bluebacks.kodansha.co.jp/books/9784065193396/appendix/<br /><br /><br />なお、本コメント欄は、旧白黒版(2014/11刊)の補足ページ内にあります。<br />もし違うバージョンの書籍をお持ちでしたら、<br />対応した補足ページを利用されることをお勧めします。<br /><br />旧白黒版(2014/11刊)の補足ページ<br />https://raspibb.blogspot.com/<br /><br />旧カラー版(2016/7刊)の補足ページ<br />https://raspibb1.blogspot.com/<br /><br />新カラー版(2020/6)の補足ページ<br />https://raspibb1a.blogspot.com/Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-13190452393186739352020-08-18T22:17:00.002+09:002020-08-18T22:17:00.002+09:00最近ラズベリーパイ3b+を購入したものです。ラズベリーパイで学ぶ電子工作の第4章のプログラミングによ...最近ラズベリーパイ3b+を購入したものです。ラズベリーパイで学ぶ電子工作の第4章のプログラミングによるLEDの点滅でThonnyでプログラムを本通りに書き、書き写しに間違いがないかを確認したうえで実行しようとすると、下のようなエラーが何回試しても出てしまいます。<br />Traceback (most recent call last):<br /> File "/home/pi/circle2.py", line 5, in <br /> GPIO.setup(25, GPIO.out)<br />AttributeError: module 'RPi.GPIO' has no attribute 'out'<br />どうすれば実行できるでしょうか?<br />電気通信系学科2年https://www.blogger.com/profile/06133642327009480801noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-47805750717415468342020-05-13T18:56:44.933+09:002020-05-13T18:56:44.933+09:00エラーメッセージに書かれておりますように、08-04-servo.pyの実行には
sudo (管理者...エラーメッセージに書かれておりますように、08-04-servo.pyの実行には<br />sudo (管理者権限)が必要でs。<br /><br />https://raspibb.blogspot.com/2016/02/blog-post.html<br />p.216:WiringPi2-Pythonを用いたプログラムの実行について<br /><br />に記されているように、下記のどちらかの方法で管理者権限で 08-04-servo.py を実行してください。<br /><br />(1)管理者権限のThonnyで実行<br />ターミナルで下記コマンドを実行し、管理者権限の Thonnyを開きます。<br /><br />sudo thonny &<br /><br />この Thonny で 08-04-servo.py を開いて実行すれば<br />管理者権限での 08-04-servo.py の実行となります。<br /><br />(2) 管理者権限のPython3コマンドで実行<br />ターミナルで以下のコマンドを実行すれば<br />管理者権限での 08-04-servo.py の実行となります。<br /><br />sudo python3 08-04-servo.pyTakashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-91067747270944647942020-05-13T18:36:50.769+09:002020-05-13T18:36:50.769+09:0008-04-servo.pyにてこのようなエラーが出ました。Unable to do this wh...08-04-servo.pyにてこのようなエラーが出ました。Unable to do this when using /dev/gpiomem. Try sudo? wiringpiは入れてあるのですがどうもできません<br /><br />Anonymoushttps://www.blogger.com/profile/13772496268325030081noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-48996363823005884352019-06-24T13:06:03.649+09:002019-06-24T13:06:03.649+09:00ご返信ありがとうございます。
これからも、少しづつになりますが、
pythonや本書を勉強させて頂き...ご返信ありがとうございます。<br />これからも、少しづつになりますが、<br />pythonや本書を勉強させて頂きます。<br /><br />以上、宜しくお願い致します<br />yujihttps://www.blogger.com/profile/00312332395413763660noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-26512405095423286102019-06-24T12:52:09.001+09:002019-06-24T12:52:09.001+09:00> 初期化のcontrast set=0x74になる
> 初期化のpower/icon/...> 初期化のcontrast set=0x74になる<br />> 初期化のpower/icon/contrast control=0x56になる<br />> 認識で宜しいでしょうか?それとも、間違いでしょうか<br /><br />contrast=36の場合はそれで正しいと思います。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-36314823356786899682019-06-24T12:44:13.414+09:002019-06-24T12:44:13.414+09:00質問のご返答ありがとうございます。 また、...質問のご返答ありがとうございます。 また、返信が遅れまして申し訳ありません。<br />詳細の説明をありがとうございます。<br />0x54|c_uppeは、0x54でした。誠に失礼致しました。<br />contrast=36=0010_0100がポイントでした。<br />また、0xf = 0000_1111を1111_0000と勘違いしておりました。<br />これで、初期化のcontrast set=0x74と<br />power/icon/contrast control=0x56が<br />contrast=36を送信していると理解致しました。<br /><br />初期化のcontrast set=0x74になる<br />初期化のpower/icon/contrast control=0x56になる<br />認識で宜しいでしょうか?それとも、間違いでしょうか<br /><br />以上、宜しくお願い致します。<br /><br /><br /><br /> yujihttps://www.blogger.com/profile/00312332395413763660noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-39569339241408620702019-06-21T17:21:40.188+09:002019-06-21T17:21:40.188+09:00上の長いアドレスは一行ですのでご注意ください上の長いアドレスは一行ですのでご注意くださいTakashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-7129300301599170242019-06-21T17:20:55.117+09:002019-06-21T17:20:55.117+09:00結論としましてはプログラムは正しいです。
注意すべきことは、仕様書ではcontrast=32を送る...結論としましてはプログラムは正しいです。<br /><br />注意すべきことは、仕様書ではcontrast=32を送る例が記されていますが、<br />プログラムでは任意のcontrastを送ることにできるようになっていることです。<br /><br />そして、プログラムでは変更可能なcontrastのデフォルト値として<br />contrast=36を採用しています。<br />(それくらい大きな値にしないと文字が読みにくいLCDがあるからです)<br /><br />このcontrastは、仕様書の中の<br />C5, C4, C3, C2, C1, C0<br />の6ビットに対応します。<br /><br />仕様書中で見てほしい位置を以下の写真に記します。<br />長いアドレスをうまくコピーして見ていただくとわかりやすいと思います。<br /><br />https://1.bp.blogspot.com/-6DJWbYIWb3U/XQyR2Y_BGhI/AAAAAAAAGzE/5PDqrEv0vecP7y0fbb-13n3Mykr513VdgCLcBGAs/s1600/IMG_20190621_170555%257E2.jpg<br /><br /><br />順に解説します。<br /><br />contrast(36) = 0010_0100<br />0xf = 0000_1111<br />0x3 = 0011_0000<br /><br />ですので、<br /><br />c_lower = (contrast & 0xf)<br />は<br />0010_0100 & 0000_1111 = 0000_0100<br />のように、contrastの下位4ビットのみを取り出します。<br />これが、仕様書でいうC3, C2, C1, C0になります。<br /><br />また、<br />c_upper = (contrast & 0x30)>>4<br />はまず<br />0010_0100 & 0011_0000 = 0010_0000<br />のように上位4ビット(実際には上位4ビット中の2ビット)を抜き出します。<br />それを>>4により右に4ビットシフトしますので、<br />c_upper = 0010<br />となります。このうち下位二ビットの01が仕様書のC5, C4になります。<br /><br />そのようなわけで、仕様書に書かれているのは<br />あくまでcontrast=32の時の例にすぎないことにご注意いただければ<br />理解しやすいかと思います。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-3925576718159579312019-06-21T15:55:22.530+09:002019-06-21T15:55:22.530+09:00raspberry piで学ぶ電子工作を昨年から購読して、第一章〜九章まで行いました。10章は部品を...raspberry piで学ぶ電子工作を昨年から購読して、第一章〜九章まで行いました。10章は部品を購入して、無く実施しておりません。<br />そのおかげでpythonを勉強する事が出来ました。ありがとうございます。そこでプログラムソースコードで教えて頂きたい事があります。<br />07-02-LCD.pyの一部のプログラムソースになります。<br />1) c_lower = (contrast & 0xf)<br />2) c_upper = (contrast & 0x30)>>4<br />3) 0x70|c_lower<br />4) 0x54|c_upper<br /><br />1)c_lower = (contrast & 0xf)<br /> (contrast=36)は0b100000と思います<br /> st7032データシートを確認しても0xfの記載を発見出来ませんでした<br /> 0xfは、chracter codeの下位bit(b3-b0)からの0fでしょうか?<br /> また、計算は下記の意味でしょうか<br /> 0b100000<br /> &0b1111<br /> (0b100000) =c_lower<br /><br />2) c_upper = (contrast & 0x30)>>4<br /> 0x30は,st7032データシートのどのコマンド命令なりますか<br /> 計算式も教えて下さい<br /> 0b100000<br /> &0b00110000<br /> ・・・?その後に右シフト4<br /><br /> 下記の計算式も教えて下さい<br />3) 0x70|c_lower<br />4) 0x54|c_upper <br /> それと、失礼ながら0x54は、0x56では無いでしょうか<br /> contrast設定のc5 c4 c3 c2 c1 c0(0b100000)から0x56と推測します<br /><br />*投稿すると2進数の位置がズレることをお詫び致しますyujihttps://www.blogger.com/profile/00312332395413763660noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-14063051502385596492019-05-09T23:16:09.172+09:002019-05-09T23:16:09.172+09:00電源をオンする方法は、検索すれば
「GPIO3(SCL)とGNDを接続する」という方法が出てきます。...電源をオンする方法は、検索すれば<br />「GPIO3(SCL)とGNDを接続する」という方法が出てきます。<br /><br />一度Raspberry Piをシャットダウンし、<br />その状態で<br />「GPIO3(SCL)とGNDを接続→接続を離す」<br />とすることでRaspberry Piの電源が入ることを確認できました。<br /><br />また、電子工作とは関係ない範囲での<br />Pythonプログラミングでしたら、下記は学びやすいのではないでしょうか。<br /><br />実践力を身につける Pythonの教科書<br />https://www.amazon.co.jp/dp/4839960240/<br />入門者のPython<br />https://www.amazon.co.jp/dp/4065131634/<br /><br />Pythonの基礎を身に着けた上で本書の電子工作プログラムを見直せば<br />新たな発見があるのではないかと思います。<br /><br />なお、HTML/JavaScriptについては<br />私は体系的な知識を持っているわけではないので、<br />お勧めできる勉強法などはお伝えできません。<br />ご了承ください。<br />Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-3818693940312121732019-05-09T21:55:26.783+09:002019-05-09T21:55:26.783+09:00こんにちは。
RaspberryPi電子工作に関する著書2冊を読み終え、大変勉強になっております。
...こんにちは。<br />RaspberryPi電子工作に関する著書2冊を読み終え、大変勉強になっております。<br />それを踏まえて2点質問がございます。<br /><br />本書10章では、タクトスイッチによるシャットダウン機能が紹介されていますが、個人的には、それに加えて、電源を入れる機能も付加したいと考えております。<br />そこで本書で紹介された方法(ファイル/etc/rc.local にファイルを保存する)以外に、ディスプレイやキーボード等を接続せずにラズパイを運用する方法はございますか。<br />個人的にはラズパイを(ディスプレイやキーボード等を接続せずに)IoT機器のように運用したいと考えているので、もし有益な方法がございましたらご教授頂ければと存じます。<br /><br />また、2冊の著書を通じてハード面での理解は進んだのですが、ソフト面(プログラム)については理解が及ばない点も多々ございます。<br />そこでラズパイ電子工作でのプログラム(プログラミング)を習得するにあたって、有益な書籍等がございましたらご教授いただければと存じます。<br /><br />よろしくお願い致します。Y.Nhttps://www.blogger.com/profile/08069393166761427167noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-62253106192780335852019-04-11T16:27:50.919+09:002019-04-11T16:27:50.919+09:00ご返信ありがとうございます。
引き続き本書で勉強させていただきます。ご返信ありがとうございます。<br />引き続き本書で勉強させていただきます。Y.Nhttps://www.blogger.com/profile/08069393166761427167noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-10730243804071589972019-04-09T14:05:07.835+09:002019-04-09T14:05:07.835+09:00Raspberry Piにはデフォルトでpython2 と python3 の両方、
すなわち2つの...Raspberry Piにはデフォルトでpython2 と python3 の両方、<br />すなわち2つのバージョンがインストールされています。<br />現在のRaspbianでは、お試しいただいたようにコマンド「python」を実行すると<br />python2が実行されるようになっています。<br /><br />次に、開発環境のidleについてですが、こちらについても<br />python2用とpython3用が存在します。<br />これらをコマンドで実行する場合、<br />python2用のidleはコマンド「idle」で<br />python3用のidleはコマンド「idle3」で起動します。<br /><br />ややこしいのはここからなのですが、メニューから起動できるidleは<br />2018年6月より「python3用であるidle3のみ」となっています。<br /><br />メニューから「python2用であるidle」を起動する方法は残されていて、<br />下記のページで解説されています。<br />本書の内容は、python3でも動作確認していますが、<br />python2での実行を推奨しています。<br />(その理由は本コメントの末尾で記します)<br /><br />Raspberry Piで学ぶ電子工作補足情報<br />p.89:NOOBS 2.8.2以降におけるIDLEの起動について<br />https://raspibb.blogspot.com/2016/02/blog-post.html<br /><br />なお、昨日記しました通り、WiringPi-Pythonを用いるプログラムの実行には<br />管理者権限が必要です。<br />そのため、メニューから起動したidleではWiringPi-Pythonを用いるプログラムを<br />実行できません。<br />python2用でしたらコマンド「sudo idle」で、<br />python3用でしたらコマンド「sudo idle3」で<br />起動しなければなりません。<br />これは、(python2用については)旧版(白黒版)書籍のp.89に記されてていることです。<br /><br />最後に、昨日紹介したWiringPi-Pythonのインストール法は、<br />python2用のインストール方法でした。<br /><br />python3用にWiringPi-Pythonをインスト―ルするには、<br />以下を追加で実行する必要があります。<br />昨日のインストール後にWiringPi-Pythonディレクトリが残っていると仮定します。<br />その後、下記の2コマンドを順に実行してください。<br /><br />cd WiringPi-Python<br />sudo python3 setup.py install<br /><br />1つ目のコマンドで既存のWiringPi-Pythonディレクトリ内に移動し、<br />2つ目のコマンドでインストールを行っています。このコマンドが<br />「python」ではなく「python3」で実行されていることがポイントです。<br /><br />なお、上で「python2での実行を推奨」と書いたのは、<br />このWiringPi-Pythonのように、ツールのインストール方法を<br />python2用のインストール方法しか書籍に記していないためです。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-23867050209102431922019-04-09T13:37:57.896+09:002019-04-09T13:37:57.896+09:00ご返信ありがとうございます。
まず結果から申しますと、回路は機能いたしました。
問題の原因はPyt...ご返信ありがとうございます。<br /><br />まず結果から申しますと、回路は機能いたしました。<br />問題の原因はPythonのバージョンにあるようです。<br />しかし、なぜ異なるバージョンが共存しているのか、そこがわかりません。<br /><br />さて、本件の経過についてですが、まず08-04-servo.pyはWiringPi2-Pythonが用いられているため、<br />08-04-servo.pyのうち、import wiringpi2 as wiringpiの部分をimport wiringpiに書き換えたファイル(08-04-servo2.py)で確認を行いました。<br /><br />管理者権限なしに実行した場合、<br />pi@raspberrypi:~/bluebacks $ python 08-04-servo2.py<br />pinMode PWM: Unable to do this when using /dev/gpiomem. Try sudo?<br />と表示され、WiringPi-Pythonが適切にインストールされていることが確認できます。<br /><br />次に管理者権限つきで実行した場合、<br />pi@raspberrypi:~/bluebacks $ python 08-04-servo2.py<br />pinMode PWM: Unable to do this when using /dev/gpiomem. Try sudo?<br />pi@raspberrypi:~/bluebacks $ sudo python 08-04-servo2.py<br />08-04-servo2.py:55: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.<br /> GPIO.setup(SPICLK, GPIO.OUT)<br />08-04-servo2.py:56: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.<br /> GPIO.setup(SPIMOSI, GPIO.OUT)<br />08-04-servo2.py:58: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.<br /> GPIO.setup(SPICS, GPIO.OUT)<br />と表示され、サーボモーターが無事動作いたしました。<br /><br />しかし、今度は翻って、スタートメニューからPythonを起動し、同ファイルを実行した場合、回路は機能しませんでした。<br /><br />つまり、LXTerminalから実行した場合、Python 2.7.13 Shellにおいてファイルは実行され、回路は機能いたしましたが、<br />スタートメニュー(プログラミング→Python3(IDLE))から実行した場合、Python3.5.3 Shellにおいてファイルは実行され、回路は機能しませんでした。<br /><br />これらのことから、Pythonのバージョンの違いが問題に関係しているようなのですが、それがなぜなのか、またなぜ異なるバージョンが共存しているのか、私にはわかりません。<br />これが今後進める上で障害になるのなら、解決したいと存じます。<br />ご確認のほど何卒よろしくお願い致します。<br />Y.Nhttps://www.blogger.com/profile/08069393166761427167noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-83907316727581644502019-04-08T16:39:48.137+09:002019-04-08T16:39:48.137+09:00カラー図解最新Raspberry Piで学ぶ電子工作補足情報
「p.209:WiringPi-Pyt...カラー図解最新Raspberry Piで学ぶ電子工作補足情報<br />「p.209:WiringPi-Pythonのインストールコマンド」<br />https://raspibb1.blogspot.com/2016/07/blog-post_19.html<br />に従ってWiringPi-Pythonがインストールされていると仮定します。<br /><br />下記を実行してその結果をお知らせ頂けますでしょうか。<br /><br />まずLXTerminalを起動し、08-04-servo.pyのあるディレクトリに移動してください。<br /><br />すなわち、08-04-servo.pyがホームディレクトリにあるのならば何もしなくて構いませんし、<br />08-04-servo.pyがbluebacksディレクトリ内にあるのでしたら「cd bluebacks」を<br />実行するのでした。<br /><br />さて、08-04-servo.pyを最新のWiringPi-Pythonで動かす場合、<br />下記の2つの挙動が出るのが正常動作です。<br /><br />(1) 管理者権限なしに実行する<br />python 08-04-servo.py<br />というコマンドを実行すると、<br />pinMode PWM: Unable to do this when using /dev/gpiomem. Try sudo?<br />という、管理者権限が必要だというメッセージが出てプログラムが終了します。<br />書籍に記したようにWiringPiの実行には管理者権限が必要だからです。<br />逆に言えば、上記メッセージが出れば、最新のWiringPi-Pythonが<br />インストールされていると言って良いと思います。<br /><br />(2) 管理者権限つきで実行する<br />sudo python 08-04-servo.py<br />というコマンドを実行すると、書籍に記した通りサーボモーターが動作します。<br />なお、開発環境idleで管理者権限でプログラムを実行したい場合、<br />sudo idle <br />でidleを起動してからプログラムを開くのでした(書籍p.89)。<br /><br />まずは、(1)と(2)を試し、それぞれどうなったかをお知らせください。<br />(1)の場合はどんなメッセージが出たかもお知らせください。<br /><br />なお、08-05-servo-swpwm.pyは動作したとのことですが、<br />08-05-servo-swpwm.pyはGPIO 25<br />08-04-servo.pyはGPIO 18、<br />を使いますのでご注意ください。Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-75742726078705612122019-04-08T16:00:41.885+09:002019-04-08T16:00:41.885+09:00お世話になっております。
「WiringPi-Python」を使って実行しましたが、やはりうまくいき...お世話になっております。<br />「WiringPi-Python」を使って実行しましたが、やはりうまくいきません。<br /><br />補足情報に記載されたとおり、「WiringPi-Python」を念の為一度アンインストールした後、再インストールいたしました。<br />そして「08-04-servo.py」のうち、「import wiringpi2 as wiringpi」の部分を「import wiringpi」に書き換えて実行しましたが、今度はエラーが出なくなった代わりに、回路が機能しません。<br />ちなみに、「08-05-servo-swpwm.py」を実行した際には、回路は機能しましたので、回路の問題ではないようです。<br />なお「WiringPi2-Python」のディレクトリも存在しないので、「WiringPi-Python」の動作を妨げている様子もありません。<br /><br />「WiringPi-Python」の問題だとは思いますが、原因が皆目検討もつきません。<br />度々申し訳ございませんが、解決方法についてご教授頂ければと存じます。<br />何卒よろしくお願い致します。<br />Y.Nhttps://www.blogger.com/profile/08069393166761427167noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-45093980079668540512019-04-07T18:09:05.297+09:002019-04-07T18:09:05.297+09:00恐らく、書籍に記したWiringPi2-Pythonのインストールコマンドに
従って頂いたのではない...恐らく、書籍に記したWiringPi2-Pythonのインストールコマンドに<br />従って頂いたのではないかと思います。<br /><br />書籍発売から長くたっていますので、WiringPi2-Pythonを使うための<br />インストールコマンドが変更を受けています。<br /><br />その新しいインストール法でWiringPi2-Pythonを<br />再インストールして頂けますでしょうか?<br /><br />そのためには、もしユーザーpiのホームディレクトリに<br />「WiringPi2-Python」というディレクトリが存在する場合、<br />下記のコマンドで削除する必要があります。<br /><br />rm -rf WiringPi2-Python<br /><br />その後、補足ページの「本書発売後の追加情報」<br />https://raspibb.blogspot.com/2016/02/blog-post.html<br />の「p.214:WiringPi2-Pythonのインストール」に記した方法で<br />インストールを再度行ってください。<br />(コマンドを一つ一つコピー&貼り付けで実行するのが確実です)<br /><br />具体的には、書籍に記したコマンドと<br />ソースのダウンロード元が変わっています。<br /><br />同様に、9章でWebIOPiというツールを用いますが、<br />そのインストールも、書籍に記したコマンドではなく、<br />https://raspibb.blogspot.com/2016/02/blog-post.html<br />の<br />「p.227:WebIOPiのバージョンとインストール」<br />および<br />「p.229:NOOBS 1.4.2以降(Jessie, Stretch)でのWebIOPI 0.7.1の起動について」<br />に記した方法に従ってください。<br /><br /><br />なお補足ですが、上記に記した方法は、「WiringPi2-Python」という<br />古い(deprecatedな)ライブラリをそのまま使い続ける方法です。<br /><br />一方、より新しいバージョンの「WiringPi-Python」を使う方法もあります。<br /><br />本書のカラー新版ではそちらを使うようになっています。そのインストール法は<br />https://raspibb1.blogspot.com/2016/07/blog-post_19.html<br />の「p.209:WiringPi-Pythonのインストールコマンド」に記されています。<br /><br />しかし、その方法では、プログラム中の<br />「import wiringpi2 as wiringpi」の部分を「import wiringpi」<br />に書き直して使用する必要があります。<br /><br />古い「WiringPi2-Python」を使うか、<br />新しい「WiringPi-Python」に乗り換えるかはお好みでお選びください。<br /><br />Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-5779377546379829912019-04-07T15:35:07.692+09:002019-04-07T15:35:07.692+09:00度々申し訳ございません。
本書8章のサーボモーターの部分で詰まっております。
本書の手順通りに進め...度々申し訳ございません。<br />本書8章のサーボモーターの部分で詰まっております。<br /><br />本書の手順通りに進め、「08-04-servo.py」を実行したのですが、<br />下記のようなエラーが生じてしまいます。<br /><br />Warning (from warnings module):<br /> File "/home/pi/bluebacks/08-04-servo.py", line 4<br /> import wiringpi2 as wiringpi<br />DeprecationWarning: The wiringpi2 module has been deprecated, please 'import wiringpi' instead.<br /><br />そのため、エラーの指示通り、「import wiringpi2 as wiringpi」の部分を「import wiringpi」に書き換えて、再度実行しましたが、今度はエラーが出ない代わりに回路が機能しません。配線を確認しましたが、特に問題はありませんでした。<br />私なりに解決を試みましたが、手詰まり状態です。<br />大変恐縮ですが、解決方法をご教授頂ければと存じます。<br />よろしくお願い致します。Y.Nhttps://www.blogger.com/profile/08069393166761427167noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-40980715528538648272019-04-06T14:49:44.198+09:002019-04-06T14:49:44.198+09:00ご返信いただきありがとうございました。
温度センサのはんだづけに問題があったようで、
はんだづけをや...ご返信いただきありがとうございました。<br />温度センサのはんだづけに問題があったようで、<br />はんだづけをやり直したところ、問題は解決いたしました。<br />解決前は、ターミナルでアドレスが表示されたため、<br />温度センサの接続は問題ないと思っていましたが、<br />実際にははんだづけに問題があったようです。<br />Y.Nhttps://www.blogger.com/profile/08069393166761427167noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-18425601728868301662019-04-03T17:58:18.229+09:002019-04-03T17:58:18.229+09:00このエラーは「Raspberry Piと温度センサの間の通信が失敗している」
際に出るエラーです。
...このエラーは「Raspberry Piと温度センサの間の通信が失敗している」<br />際に出るエラーです。<br /><br />下記のような状況で上記のエラーが出ます。<br /><br />#####<br />(1) Raspberry Piに温度センサが接続されていない場合。<br /> GPIOに何も接続されていない場合にも同じエラーが出ます。<br /><br />(2) Raspberry Piに温度センサが接続されているが、<br /> 配線が間違っている場合。例えばSDAとSCLが逆だとか<br /> 3.3VとGNDが逆だとかというときもこの場合に相当します。<br /> <br />(3)温度センサのはんだづけに失敗している場合。<br /> はんだづけは4か所だけですので、成否はある程度目で確認できます。<br /><br />(4)何らかの理由で温度センサが壊れている場合。<br /> はんだづけの際に熱をかけすぎたとか、3.3VとGNDを逆に接続した<br /> などで壊れた場合が相当します。<br />#####<br /><br />今回がどのケースに相当するかはわかりませんが、<br />(2)を確認すると改善する場合は多いかもしれません。<br /><br />ご確認ください。<br />Takashi Kanamaruhttps://www.blogger.com/profile/11364738618850170255noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-71688773325657578212019-04-03T16:01:51.955+09:002019-04-03T16:01:51.955+09:00お世話になります。
本書7章の温度センサの部分で詰まっております。
本書に記述されているとおりに進め...お世話になります。<br />本書7章の温度センサの部分で詰まっております。<br />本書に記述されているとおりに進めた後、<br />「07-01-temp.py」を実行しましたが、<br />以下のようなエラーが生じてしまいます。<br /><br />Traceback (most recent call last):<br /> File "/home/pi/bluebacks/07-01-temp.py", line 21, in <br /> inputValue = read_adt7410()<br /> File "/home/pi/bluebacks/07-01-temp.py", line 6, in read_adt7410<br /> word_data = bus.read_word_data(address_adt7410, register_adt7410)<br />OSError: [Errno 121] Remote I/O error<br /><br />本書や当HP等を用いて、私なりに解決を試みましたが、解決できません。<br />お忙しいところ誠に恐縮ですが、解決方法についてご教授頂ければと存じます。<br />何卒よろしくお願い致します。<br />Y.Nhttps://www.blogger.com/profile/08069393166761427167noreply@blogger.comtag:blogger.com,1999:blog-6558574304592725596.post-69041921436653981752019-03-01T22:24:11.161+09:002019-03-01T22:24:11.161+09:00早々にご連絡ありがとうございました。
また、ご連絡遅くなりすみませんでした。
Tera Tarmで...早々にご連絡ありがとうございました。<br />また、ご連絡遅くなりすみませんでした。<br /><br />Tera Tarmでls確認し「04-01-led.py」入っていないのに気付きました。<br />SDカードを準備しRaspbianのダウンロードからはじめました。<br />terminalで入力しLチカ出来ました。<br />Raspbianの画面もja設定出来、見やすくなりました。<br /><br />サポート対象外ながらも丁寧なアドバイス頂きありがとうございました。<br />先ずは本を元に一つ一つ進めていきます。nanasanhttps://www.blogger.com/profile/03031316052189467457noreply@blogger.com