Raspberry Pi & Python 開発ブログ ☆彡

Raspberry PiとPythonの基本的な使い方をわかりやすく解説。初心者、入門者必見!!

Raspberry Piでsystemdを使ってpythonを自動実行する

この記事の内容はRaspberry Pi 4と3の両方で動作確認済みです ブログ管理者のP. Hです! 今回はpythonプログラムをRaspberry Pi起動時に自動起動する方法を紹介したいと思います。Raspberry Pi起動時からpythonプログラムをサービスとして常駐させるという使…

Pythonで割り込み処理:callback関数の使い方

スイッチを押した時やセンサーが反応したときに、プログラムを実行するには?? そういうときは、割り込みという機能を使えば実現できます。信号を検知したときに、割り込んで処理をしてくれるので、割り込みです。 Raspberry PiにはGPIOピンの立ち上がり、…

Watchdog Timerの使い方

今回は、Watchdog Timer(ウォッチドッグタイマー)の使い方を紹介したいと思います。マイコンでは当たり前の機能ですが、なんとRaspberry Piでも同じことができます。Raspberry Piが予期せずフリーズしても自動で再起動してくれるので、長期に動かす場合は設…

合理的すぎるとうまくいかない?

最近、Raspberry Piも少しずつ使えるようになってきたので、今日は久々にコーヒーブレークで私の思いを記載しようと思います。私は自分でも合理主義だと思っています。合理的な判断であれば他人も納得すると。自分の感情を無にして、合理的に判断すれば間違…

Python scikit-learnの使い方

前回のブログで、TensorFlowで機械学習による分類の手法を紹介しました。今回は、scikit-learnで未来を予測する回帰のアルゴリズムを紹介したいと思います。 (scikit-learnでも分類のアルゴリズムを使うことができます。) 回帰のサンプルコードの概要 Window…

自動ログインする方法

Raspberry Piを開発等で使い始めると、TeraTerm等で何度もSSH接続するようになるのではないでしょうか。毎回、ユーザーIDとパスワードを入れるのはかなり面倒ですね。パスワードを無くして、自動ログインにしてもよいのですが、何となくセキュリティ的に不安…

無線アクセスポイントとして使用する方法

今回はRaspberry Piを無線アクセスポイントとして使用する方法を紹介します。Raspberry Piのオンボードの無線LANを使用しますので、無線アクセスポイントの設定をしておけば、ノートPC(無線LAN搭載)だけで、Raspberry Piをコントロールすることができるよう…

pythonからシェルコマンドを実行する

今回は、pythonプログラムからシェルコマンドを実行する方法を紹介します。subprocessというモジュールを使用します。今まで、os.systemモジュールを使用していましたが、ドキュメントを見ると非推奨となっていますので、subprocessモジュールに置き換えてい…

SwampDragonの使い方 (その4)

前回まででデータベースの値を変更するとリアルタイムでWebページの値が更新されるようにすることができました。今回は、pythonからdjangoシステムにアクセスして、データベースに値を保存する方法を紹介します。 それではpythonコードを紹介します。 swampd…

SwampDragonの使い方 (その3)

前回までで、Webページにテーブルを表示するところまでできました。あと少しで、データベースの値を変更するとリアルタイムでWebページのテーブルの値が更新されるようになります。それではさっそくdjangoシステムから、データベースに値を登録してみましょ…

SwampDragonの使い方 (その2)

前回でswampdragonのプロジェクトの作成ができましたので、今回は実際にWebアプリを作って行きたいと思います。djangoと同じ部分が多いので理解しやすいと思います。 "Djangoの使い方 (その2)"のページと同じコードの場合、本ページでは説明を省略しています…

SwampDragonの使い方 (その1)

前回、djangoフレームワークの基本的な使い方を紹介しました。簡単にデータベースと紐づいたWebアプリを作ることができました。今回はもう少し踏み込んで、Swampdrgonというモジュールを使い、リアルタイムでWebページのデータを更新する方法を紹介します。d…

Python開発環境:Eclipseを使用する方法(Remote System Explorer編)

今回は、EclipseでRemote System Explorerというパースペクティブを使う方法を紹介します。この環境を使うと、Raspberry PiとSSHで接続して、簡単にeclipse上でpythonプログラムの開発ができます。 Remote System Explorerパースペクティブの追加 Raspberry …

ファイルアクセスによるGPIOの制御(/sys/class/gpio)

前回、WiringPi-PHPを使用してWebからGPIOを制御する方法を紹介しました。今回は/sys/class/gpio/exportのファイルにアクセスしてGPIOを操作する方法を紹介したいと思います。 /sys/class/gpio内のファイルにアクセス Raspberry PiにはGPIOを簡単に制御でき…

新人エンジニア、がんばれ!

私も年をとってきたので、最近では新人にOJTで業務やプログラミングを教えることがあります。その時、よく思うのが自分が若い時はどうだったかなぁ、どんな感情を持って仕事をしていたか、ということをよく考えます。 新人教育している暇はない! ”忙しいか…

WiringPi-PHPの使い方(その3)

前回、前々回とWiringPi-PHPを記事を書いていますが、今回で最後の記事になります。 apacheのエラーログに"wiringPiSetup: Must be root. (Did you forget sudo?)"とエラーが出ていたので、権限について調べてみました。わかったことは、wiringPiSetupGpio()…

WiringPi-PHPの使い方(その2)

前回少し大変でしたが、WiringPi-PHPをインストールしました。今回は、実際にWiringPi-PHPを使用して、WebからGPIOを制御してみたいと思います。 以前、PHP(Webページ)でPythonコード(xxx.py)を実行する方法を紹介しました。 このPHPのコードと基本的には同…

WiringPi-PHPの使い方(その1)

以前、PHP(Webページ)でPythonコード(xxx.py)を実行する方法を紹介しました。 この方法でGPIOを制御することができますが、もうひとつ有名なWiringPiを使用する方法を紹介したいと思います。WiringPiをPHPから使えるようにしたWiringPi-PHPという便利なラッ…

インスタンスとは ~メモリの使われ方~

今回はプログラムとメモリの関係について、記載しようと思います。スタック領域、ヒープ領域等の細かい話ではなく、もう少し感覚的な話をしたいと思います。 クラスを勉強していると本等で必ず出てきますね。クラスは書いただけじゃだめだよ、インスタンスに…

早く帰りたい。。。

とにかく忙しい、時間がない!というプログラマの方は多いのではないでしょうか?デスマーチと呼ばれる状況に陥ると気力、体力ともに消耗します。しかしながら、それを乗り越えた時、満足感や充実感があったり自分が成長したと思うこともあり、長時間労働を…

バグの見つけ方

プログラミングの開発を何年も行い、コーディングにも慣れてくると、"バグを無くしたい"と誰もが思うのではないでしょうか。バグにより徹夜して直した、なんていう苦い経験をした方も多いと思います。 今回はバグについての考え方やバグを見つける方法につい…

エンジニアってすごい!

この記事は技術的な内容ではなく、ソフトウェア開発をしてきて感じたことや思いを書こうと思います。コーヒーブレーク等、休憩がてら気軽に読んでください。 先輩エンジニアのおかけで今がある 若いころ、先輩エンジニアと開発をしていました。そのころは私…

オブジェクト指向の勉強

今日はプログラミング技術のオブジェクト指向について記載しようと思います。RaspberryPiをプログラミングの教材として使用している方もいるのではないでしょうか。この記事がプログラミングやオブジェクト指向勉強中という方の助けになれば幸いです。 本を…

Pythonコードのリモートデバック方法 (Visual Studio 2015) (その2)

前回はリモートデバックについて、途中まで記載しました。今回はリモートデバックの手順について最後まで記載しようと思います。 Visual Studioで作成したソースコードをRaspberry Piにコピー まず前回作成したpythonコード(xxx.py)とプロジェクトファイル(x…

Pythonコードのリモートデバック方法 (Visual Studio 2015) (その1)

今回はVisual Studio 2015を使用して、pythonコードをリモートデバックする方法を紹介します。リモートデバックができるようになると、スタックトレースや変数の中身を見たりすることができ、問題発生時に役に立ちます。 Windows側:必要アプリのインストー…

PHP(Webページ)からGPIOを制御する方法(その2)

前回はPHPからGPIOを制御する方法を試したのですが、うまく動作しませんでした。今回はその解決方法を記載したいと思います。 Apacheのエラーログの確認 PHPのWebページでstartボタンを押すと、pythonコードが実行され、LEDが光るようにコードを作成したつも…

PHP(Webページ)からGPIOを制御する方法(その1)

前回、ApacheとPHPをインストールし、動作確認をするところまで記載しました。今回は目標であった、PHPからRaspbery PiのGPIOを制御する方法を記載したいと思います。PHPからGPIOを制御できれば、Webページの作り方次第でいろいろなユーザーインターフェース…

Webサーバーを構築する:Apache+PHP

今回はRaspberry PiでWebサーバーを構築したいと思います。Webであれば、基本的にはどのOSでも使用できるので、便利ですね。Webサーバーを構築して、PHPのページを表示するところまで、紹介したいと思います。 Apacheのインストール PHPのインストール Apach…